3.13.4 (2025-01-20)
- Fix typo in EXAMPLE.env (973e029), closes #554
- Remove extra entrypoint in dockerfile.tests (fbb3077), closes #555
3.13.3 (2025-01-09)
3.13.2 (2025-01-07)
- Support 'EMPTY' string as an alternative for passing empty string value as environment variable for EXAMPLE_ANALYTICS_TOKEN (047f7a4), closes #548
3.13.1 (2024-12-09)
- Fix authentication when downloading modules that use archives and use a sub-path, when anonymous access is disabled (599261b), closes #547
- Fix supplying module download redirects that contain an encryption key and a path (for modules that use git path and not archive_git_path) (5cff918), closes #547
- Move presign key for downloading source zip file into path, rather than query string argument (15e0915), closes #547
- Switch path arguments for source download URL, so that the 'file' (final path section) is source.zip (947cedf), closes #547
3.13.0 (2024-12-07)
- Fix browser console errors in module provider page (a372be7)
3.12.2 (2024-11-01)
- Allow ampersands in templated URLs for module provider, allowing query string delimiter to not be escaped (c688aa2), closes #546
3.12.1 (2024-11-01)
3.12.0 (2024-09-16)
- Bump tfswitch version to 1.2.2 to support opentofu (d1e2cd3), closes #520
- Update environment variable used for tfswitch to ensure only default terraform version is set (678b4db), closes #520
3.11.0 (2024-09-12)
- Add setuptools requirement (9fa81e2), closes #541
- Remove unused import which was causing a build error (5edb778), closes #539
- Add API endpoint to provide version of Terrareg (0ab040a), closes #539
- Add version to footer of UI (d76a11a), closes #539
3.10.1 (2024-09-04)
3.10.0 (2024-08-09)
- Add support for basic authentication when indexing git repositories over http/https (fead9ef), closes #535
3.9.0 (2024-07-21)
- Add ability to customise module call version template for pre-1.0.0 module releases (5cecd20), closes #525
3.8.0 (2024-07-07)
- Ensure archive-based uploads use the git_path in the same was as git-based indexing is handled. (18f0f7f), closes #513
- Fix use of git_path for archive-based responses and git-based responses when downloading a module version. (9fc6381), closes #513
- Store git_path and archive_git_path in module version. (9cfcc0c), closes #513
- Throw error when git_path cannot be found during extraction (063a0f0), closes #513
- Update description of git_path and archive_git_path to ensure it makes sense with new behavior (2104038), closes #513
- Add configuration to module settings to set whether archives only contain contents of git path (4bf64b6), closes #513
- Add module provider configuration to limit generated archives to only the git_path of the repository. (36a463f), closes #513
3.7.1 (2024-06-21)
- Fix matching terraform module version constraint that is just the version number (96c502d), closes #530
3.7.0 (2024-06-19)
3.6.2 (2024-06-17)
- Fix bug where HTML is only rendered in inputs/outputs when terraform compatibility is configured (09b9e39), closes #527
3.6.1 (2024-06-14)
3.6.0 (2024-06-13)
- Disable logging around disabling OIDC, unless debug is enabled (ef0885a), closes #527
- Handle multi-line types in new display of input variables (fdcbbaf), closes #527
- Improve formatting of tables in inputs tab (08cc3e9), closes #527
- Improve handling of multi-line default values in input variables for module provider (f041908), closes #527
- Split required and optional inputs in inputs tab (f7ef44c), closes #527
- Add support for rendering input/output descriptions as markdown. (9171cb7), closes #527
- Add support for switching between table and expanded view in inputs and outputs (cdd9fda), closes #527
- Add UI support for markdown in input/output descriptions (4f49257), closes #527
- Allow setting default input/output UI view type system-wide (8375e1d), closes #527
- Update output table to no longer use a table and use full page content for description (a710e9b), closes #527
- Update usage builder variables API endpoint to support HTML descriptions (d743030), closes #527
3.5.0 (2024-06-03)
- Pass through exceptions from refresh_versions when publishing provider version to avoid hiding errors (90321ab), closes #478
- Add API endpoint to list provider integration details (7ed205c), closes #478
- Add integrations tab to provider page, allowing indexing of provider version from UI (9b380a3), closes #478
- Add POST method to provider versions endpoint to support indexing a single provider version (50d1af1), closes #478
- Add tabbing functionality to provider page, allowing for content other than documentation (b6fcb72), closes #478
3.4.2 (2024-05-26)
3.4.1 (2024-04-01)
- Pin tfswitch to latest working version - v1 appears to break the installation (35df281), closes #515
3.4.0 (2024-03-28)
- Hide custom git URLs in update module provider settings - removing custom URLs when configuring a Git provider (d4d1e05), closes #502
- Update module provider settings page to update git path when changing to a git provider that specifies a git path (6ec8829), closes #502
- Add git_path template to git provider, allowing templated default values for git_path to be supplied when selecting git provider. (c059820), closes #502
3.3.0 (2024-03-27)
- Support disabling serving modules via Git, forcing modules to be downloaded from archives (f9702a3), closes #490
3.2.2 (2024-03-02)
- Allow renaming module to the same name with different capitalisation (b616f5d), closes #457
- Update module "getting" to be case insensitive, MySQL does this anyway so this aligns SQLite. (0d1f571), closes #457
3.2.1 (2024-02-29)
3.2.0 (2024-02-29)
3.1.0 (2024-02-22)
- Update docker-compose for local development to use mariadb with version 10 as MySQL 8 isn't supported (ffd8636), closes #491
- Add new base classes and factory for handling file storage (1809f6e), closes #491
- Add support for file storage in S3. (daf16b2), closes #491
- Create new configuration for UPLOAD_DIRECTORY. (803a3c7), closes #491
- Update module extractor to use FileStorage classes for uploading files to data directories (9a3ab7b), closes #491
- Update module provider to use file_storage to delete data directories. (724d429), closes #491
3.0.4 (2024-01-28)
- Update gitlab CI/CD workflow for docker build to perform builds for amd64 and arm64 (4d4af30), closes #487
3.0.3 (2024-01-25)
Add new docker build pipeline and Github release process to Github actions
3.0.2 (2024-01-22)
- Pass current URL modified with PUBLIC_URL protocol/domain to avoid OIDC callback throwing errors when terrareg is running with reverse proxy performing SSL offloading (afb0522), closes #484
3.0.1 (2024-01-22)
3.0.0 (2023-12-31)
See UPGRADE.md for breaking changes
- Fix setting database transaction in Database class when running outside of request context (5cbb0ae), closes #23
- Fix warning for expression for semantic match (b5e1418), closes #23
- Pass request kwargs to lambda auth_wrapper kwarg methods, allowing access to request arguments when generating additional authentication kwargs (3565e4d), closes #23
- Replace use of deprecated LooseVersion with custom version that handles versions with arbitrary suffixes (222ba65), closes #482
- Add ability for Terrareg administrators to refresh repositories from Github for a given namespace without authenticating to Github (dd37494), closes #23
- Add ability to set site warning, displayed at the top of all pages (d245c97), closes #23
- Add ability to view, delete and add GPG keys via namespace edit UI (75e4789), closes #23
- Add analytics table and interface class for recording/querying provider download statistics (d86541f), closes #23
- Add API endpoint for providing download stats summary for provider (b255d0d), closes #23
- Add API endpoint for v1 provider and provider version (f1a2286), closes #23
- Add API endpoint to list GPG keys (b80cf13), closes #23
- Add API endpoint to return list of repositories for provider source for authenticated user (f32b7fa), closes #23
- Add API endpoints for returning whether the current user is authenticated to github and an API endpoint for returning a list of their github organisations (257c19c), closes #23
- Add API for provider version download (1e2b787), closes #23
- Add APIs for listing providers and providers by namespace (9b9f653), closes #23
- Add base provider page for viewing provider details (b8b89e8), closes #23
- Add base provider source configuration and classes, for specifying Git SCM applications for authentication and obtaining repositories for providers (ee6a243), closes #23
- Add config and API for provider categories, which are used during the creation of providers (cf7de64), closes #23
- Add creation of repositories after authenticating via provider source (252dcb6), closes #23
- Add description and clone_url to repository and description to provider models (681ab9a), closes #23
- Add extraction of guides from provider and show in provider page (08decd1), closes #23
- Add extraction of provider release source during extraction (db9f51e), closes #23
- Add functionality to obtain list of releases from github with initial code to create each release (f97daf3), closes #23
- Add initial landing page for search, which displays both provider and module results, if present. (cb21b81), closes #23
- Add model for Gpg Key and add API interface to create GPG key (d621db5), closes #23
- Add models to add GPG key, validate and obtain fingerprint (0f1837a), closes #23
- Add new base model for provider (e768ca5), closes #23
- Add new DB model for storing provider versino binaries and add collection of release binaries during extraction (dadc9f2), closes #23
- Add page for performing provider searches and new API for obtaining provider search filters (dad6479), closes #23
- Add page for viewing provider namespaces. (4142cca), closes #23
- Add provider logo to provider details page (c8e4b42), closes #23
- Add provider logos from repository and display in search results. (ca41cc6), closes #23
- Add provider namespace page. (dcdcdb3), closes #23
- Add search query filter to search result pages, setting main search bar on page to default behavior (be2770a), closes #23
- Add support for adding providers using default authentication without being authenticated to Github (cb36b3d), closes #23
- Add UI and API endpoint to publish repository as new provider (60ac332), closes #23
- Add v2 provider endpoint, used to obtain provider ID, which will be used by UI to query download summary (dfbdfda), closes #23
- Add versions API endpoint for provider, returning list of versions and supported operating systems (4e37087), closes #23
- Display documentation for provider in UI. Add v2 APIs for provider docs and add DB colummns for slug, subcategory and language to documentation (42210f4), closes #23
- Extract and populate provider protocol versions in provider version (3c2f849), closes #23
- Extract metadata from provider documentation markdown, extracting subcategory, title and description (e6d64d8), closes #23
- Generate provider documentation during extraction (87b2054), closes #23
- Move Github authentication to use provider sources for handling communication with Github and use provider source in URLs (f560275), closes #23
- Obtain release signature to determine GPG key for Provider Version. Store github access key in repository DB row (5986cd7), closes #23
- Record analytics of provider version downloads (4c4bffa), closes #23
- Show list of available documents in provider page (7185d91), closes #23
- Show source URL, community/official tag and provider terraform code in provider page (789b64e), closes #23
- Store namespace type in database, referencing whether namespace is a github organisation or user (4410287), closes #23
- Use github app installations as method to authenticate to github repos (726883e), closes #23
2.81.4 (2023-12-07)
- Dockerfile to reduce vulnerabilities (ee63466)
- Dockerfile to reduce vulnerabilities (adf5691)
- requirements-all.txt to reduce vulnerabilities (3751c72)
- requirements-dev.txt to reduce vulnerabilities (9f6305d)
- requirements-dev.txt to reduce vulnerabilities (1699789)
- requirements-dev.txt to reduce vulnerabilities (8b573c9)
- requirements-dev.txt to reduce vulnerabilities (a6baffe)
- requirements-dev.txt to reduce vulnerabilities (600ba7d)
- requirements-dev.txt to reduce vulnerabilities (0256460)
- requirements-dev.txt to reduce vulnerabilities (a91bbb1)
- requirements-dev.txt to reduce vulnerabilities (c44af0c)
- requirements.txt to reduce vulnerabilities (7efda33)
2.81.3 (2023-12-06)
2.81.2 (2023-10-31)
- Avoid re-writing HTML elements in markdown that contain invalid name arguments. (8b623e9), closes #456
- Handle exception thrown when a HTML element is present in markdown that contains an attribute without a value (7e1a77f), closes #456
2.81.1 (2023-10-27)
- Fix namespace modules endpoint to valid correct attribute of result metadata to avoid errors (fdae4c6), closes #452
2.81.0 (2023-10-12)
- Update terrareg namespaces endpoint to return original data format if limit is not provided. (f288de0), closes #445
- Add auth method for github authentication (8fe9924), closes #445
- Add login button and API endpoint to initiate Github login (f25b1d8), closes #445
- Add methods to obtain current github usernamd and organisation memeberships (1978112), closes #445
- Add pagination to namespace list page and terrareg namespace API (30ca450), closes #445
- Add support for automatically creating namespaces for Github users and their associated organisations (27eab29), closes #445
- Add support for showing empty namespaces in namespace list page (744ad99), closes #445
- Implement Github authentication callback, handling validating auth code and setting up session (96a2586), closes #445
2.80.5 (2023-10-11)
- Correct typos in code base and API/CONFIG documentation (805ee5c)
2.80.4 (2023-10-10)
- requirements-dev.txt to reduce vulnerabilities (7ce0ea8)
- requirements-dev.txt to reduce vulnerabilities (f1e1f32)
- requirements-dev.txt to reduce vulnerabilities (c777375)
- requirements.txt to reduce vulnerabilities (7d15835)
- Upgrade pyopenssl package to fix compatibility issues with newer versions of cryptography package (2a5529e)
2.80.3 (2023-10-05)
- Add missing import in saml authentication auth method (2ccc00f)
2.80.2 (2023-09-30)
- Obtain terraform module data and terraform version data from submodule when extracting module version (31569c0), closes #444
2.80.1 (2023-09-27)
- Handle tfsec issues found in root of repo, where path contains the base path (fbad20b)
- Update tfsec to 1.28.4 as it was outputting erroneous RDS IAM checks for empty terraform (161c4f9)
2.80.0 (2023-09-27)
- Update module provider list page to use APIs and no longer use templating for rendering result list. (bbdef99), closes #289
- Add ability to disable anonymous access and require authentication (e11f777), closes #289
- Add auth method for verifying OIDC client (2109db7), closes #289
- Add custom IDP token expiry with config to set expiry (d7f999d), closes #289
- Add expiry to authorization token and update default expiration to one hour (8b728b1), closes #289
- Add new auth decorator to only allow terraform to access required APIs (335564c), closes #289
- Add new auth methods for static terraform tokens to authenticate them when unauthenticated access is disabled. (d8ceea0), closes #289
- Add pre-signed URLs for module source downloading if unauthenticated access is disabled (7ae266f), closes #289
- Add Terraform client redirect URIs, sharing configuration with Terraform well-known endpoint (f9f5adc), closes #289
- Add Terrareg API for listing provides for a given module (0518951), closes #289
- Disallow unauthenticated user to use index/publish APIs when unauthenticated access is disabled (f2105a0), closes #289
- Handle redirect from terraform authentication to login page and redirect back from login page, once authenticated. (03d82d7), closes #289
- Redirect user to login when authentication is required. (7a29d65), closes #289
2.79.0 (2023-09-14)
- Correct grammar (bf4e2cd)
- Correct test for import tag failure (9defb65), closes #429
- improve grammar (4bf4834)
- Log error details on failed tag import (36e0f08)
2.78.0 (2023-09-13)
- Use CMD over ENTRYPOINT (017815b)
2.77.0 (2023-09-13)
- Correct spelling of analytics (c0410cd)
- INTERNAL_EXTRACTION_ANALYTICS_TOKEN spelling (3b12bbf)
2.76.1 (2023-09-12)
2.76.0 (2023-09-12)
2.75.5 (2023-09-11)
2.75.4 (2023-09-09)
- Ensure .git directory is not included in generated archives. (314d524), closes #426
- Ensure module is archived before any analysis is performed to avoid generated .terraform directories being included in the archive (6cb1009), closes #426
2.75.3 (2023-09-09)
- Fix typo (th -> the) (fcbe2e8)
2.75.2 (2023-09-09)
- Fix module version publishing when creating a module version (either by hooks or create/upload API endpoints) when AUTO_PUBLISH_MODULE_VERSIONS is enabled. (29a04db), closes #425
2.75.1 (2023-09-07)
- Fix github webhook when using API key for Github secreet to use correct header for SHA256 encoded header. (68043de), closes #424
2.75.0 (2023-08-21)
- Avoid error when passing None value to updat_git_tag_format, which threw an exception in urllib quote method (22a36aa), closes #412
- Handle KeyError exceptions thrown in update_git_tag_format when an unmatched placeholder is present (873bf47), closes #412
- Add handling of git tags with non-semantic versioning in git hooks. (c0f4f7e), closes #412
- Add new API endpoint for importing/indexing module versions by either version or git tag. (89d734e), closes #412 #416
- Fix providing module provider git tag format with placeholders to allow tags that do not use a full semantic version. (cff3da6), closes #412
2.74.0 (2023-08-20)
- Replace link for "show resources depdencies" with buton to make it more obvious (827d646), closes #411
- Add ability to delete module provider redirects in module provider settings in UI (9441429), closes #274
- Add ability to delete namespace from UI (1fb72a4), closes #268
- Add API endpoint to list module provider redirects and endpoint to delete module provider redirect. (5473a4e), closes #274
- Add arguments to module provider settings API to change module's name, provider and namespace. (9215b22), closes #274
- Add configuration to determine how many days worth of module access to check whilst determining if redirect can be deleted (7646546), closes #274
- Add delete method to module provider redirect and functionality to check if redirect is still in use by analytics tokens (a65f5a0), closes #274
- Add DELETE method to namespace details API to support deletion of namespace (93bf63d), closes #268
- Extract all Terraform provider versions and recursive module details during extraction. (7af6fd0), closes #237
- Record namespace name, module name and provider name used in module download URL in analytics to be able to determine redirect usage (3e87227), closes #274
- ui: Add form in module provider settings tab to change namespace, module name and provider (4d6275c), closes #274
2.73.1 (2023-08-18)
- Fix typo in error response in login page when SSO response is invalid (9463749)
2.73.0 (2023-08-08)
2.72.0 (2023-08-01)
- Only perfrom secondary ordering audit events by timestamp descending if the primary sort is not based on the timestamp (d7f4a71), closes #269
2.71.3 (2023-07-08)
- Delete module provider data directory on deletion on module provider (b44b560), closes #406
- Handle deletion of module version directory when there are pre-existing files in the module version directory that aren't managed by Terrareg (4d7a0c8), closes #406
- Remove module version data files and directory when removing the module version (257c6d7), closes #406
2.71.2 (2023-06-23)
2.71.1 (2023-06-21)
- Add handling of non-existent example/submodule in example/submodule details/README API endpoints and Example file list API endpoint (62ea089), closes #387
- ui: Handle non-existent submodule/example in module provider page and showing a warning (238ffa8), closes #387
2.71.0 (2023-06-20)
- Add configuration to add additional file extensions that are extracted from examples to display in UI (cf142af), closes #303
- Include additional syntax highlighting for javascript (json), bash, batch, pl/sql, powershell, python and Dockerfile (c722c41), closes #303
- Update default config to extract .sh, .tfvars and .json files in module examples (151f8e3), closes #303
2.70.1 (2023-06-18)
- Allow line break (br) elements in sanitised HTML (0d21e9b), closes #402
- Fix erronious links in converted README markdown. (21e1925), closes #402
- Update descriptions in input/output tables in module provider page to respect line breaks in descriptions. (0cf0b86), closes #402
2.70.0 (2023-06-14)
- Add Cherry Dark Mode Theme (31a5b88)
2.69.0 (2023-06-05)
2.68.3 (2023-06-02)
- Fix handling of terraform provider block with content before the block in the file. (40b258c), closes #395
2.68.2 (2023-06-02)
- Attempt to find find terraform files with backend configuration and create override file during extraction. (be76ec8), closes #395
2.68.1 (2023-06-01)
2.68.0 (2023-05-09)
- Add target_terraform_version arguments to terrareg module provider/module version details API endpoints, which add version compatibility to the response (975bbdc), closes #295
- Add Terraform constraint version to user preferences and update module search version constraint to get/set the user preference value (b6a9c62), closes #295
- Display Terraform compatibility result on module provider page (368545d), closes #295
- Show module compatibility with selected Terraform version in module search (67c2f84), closes #295
2.67.0 (2023-04-25)
- Populate "dependencies" attribute in API response, with a list of external module dependencies (05553e8), closes #386
- Remove html sanitisation of provider version to remove HTML entities from API response. (1832b04), closes #385
- Add tab to module provider page detailing modules called by current module (f727a48), closes #139
- Display module calls in submodule/example pages (17f1649), closes #139
2.66.4 (2023-04-24)
2.66.3 (2023-04-21)
- Hide 'Settings' tab from module provider page when user does not have write permission to the namespace (5c9936b), closes #369
2.66.2 (2023-04-03)
2.66.1 (2023-03-28)
- Reload current page when any user preferences are changed (e911aa8), closes #376
- Reload current page when preferences are saved after the theme is changed (de5510a), closes #376
- Update cookie set when selecting theme to specify a path, rather than the default, which is the user's current path (6392aad), closes #375
2.66.0 (2023-03-27)
- Fix bug where hostname in example replacement contains port of request. (5690487), closes #372 #347 #348
- Add config to disable analytics tokens entirely (968cccb), closes #372
- Disable analytics tab in module provider page when analytics are disabled (3da61e7), closes #372
- Disable analytics token in usage builder when analaytics is disabled globally (b7a437d), closes #372
- Update example usage and Terraform replaced in README/example files to no longer show analytics token is DISABLE_ANALYTICS is set (9d09253), closes #372
- Update module version download to ignore analytics tokens if DISABLE_ANALYTICS is set (fa7e4ee), closes #372
2.65.0 (2023-03-25)
- Add initial sorting of security issues by filename. This is usually the default outcome of the tfsec output, but test data did not include it. (6eaf023), closes #371
- Show highest severity security issue in security issue badge. (232b1a9), closes #320
- Update security issues label to show breakdown of severities (e3392e0), closes #320
2.64.0 (2023-03-24)
2.63.0 (2023-03-23)
- Add support for links to heading anchors in README/markdown tabs (d2d6ea4), closes #300
- Automatically select tab containing anchor link in module provider page (014dc9b), closes #300
2.62.3 (2023-03-22)
- Fix error when performing terraform init, which tries to use non-existent .terraform.d/plugin-cache directory. (19213ee), closes #364
2.62.2 (2023-03-22)
- Add catching of errors due to invalid placeholder in repo base URL. (0119b36), closes #360
- Add handling of invalid placeholder in repo browse URL template. (e4d9cd1), closes #360
- Add validation of port in git clone URL, ensuring that if it exists, it's a valid port. (dbcf808), closes #360
- Catch errors caused by invalid template placeholders in git clone URL. (d522b23), closes #360
- Update examples of SSH git clone URLs to use forward slash delimeter after domain, rathern than colon (74c055d), closes #360
2.62.1 (2023-03-22)
- Fix tfswitch when using Dockerfile (7fcda64), closes #356
- Show command output when command errors with debug mode enables (82d7197), closes #356
- Update module extraction methods to return exception details when DEBUG is enabled (3c2dbdb), closes #356
2.62.0 (2023-03-21)
- Add example syntax highlighting (c63ef25), closes #304
- Handle syntax highlighting of READMEs (f49455d), closes #304
2.61.1 (2023-03-21)
- Update initial setup to display commands to use API key when uploading/publishing module, if the API keys are set (454e036), closes #351
- Update upload_module script to support environment variables for setting upload/publish API keys (8861214), closes #351
2.61.0 (2023-03-17)
- Add new 'PUBLIC_URL' config which is the source of protocol, domain and port used for end-user communication (79baa0f), closes #347
- Add port to usage example if port is a non-standard port (5c3c024), closes #348
- Add support for using /modules/ endpoint in terraform, allowing the use of the registry without HTTPS (4a3e3a2), closes #347
- Update usage example in module provider page to display "source" url with http download URL, if https is not being used (b06d562), closes #347
- Use new http-accessible source URL in example files and README terraform. (4a2f0b4), closes #347 #349
2.60.2 (2023-03-15)
2.60.1 (2023-03-14)
- Update namespace module list endpoint to return empty module list rather than 404 when a namespace has no modules (6ca3441), closes #328
- Update namespace page to display error about no modules when a namespace exists, rather than an eror that the namespace does not exist. (ec0b3c9), closes #328
2.60.0 (2023-03-14)
2.59.5 (2023-03-14)
- Add steps to initial setup to disable AUTO_CREATE_NAMESPACE and AUTO_CREATE_MODULE_PROVIDER (f18398b), closes #337
2.59.4 (2023-03-14)
- Disable autocreation of namespaces, modules and module providers in module provider details API endpoint (e015a7f), closes #338
2.59.3 (2023-03-13)
- Update unauthenticated/unpriviledged access to module upload/publish endpoints when API keys are not set and access controls are enabled (0afc6a8), closes #339
2.59.2 (2023-03-13)
- Fallback to use openid connect user's email address, if username is not available (c7e057a), closes #276
- Fix authentication using OpenID connect with Azure (29bcb1d), closes #276
2.59.1 (2023-03-11)
- Disable validation of namespace name, allowing namespaces that have an invalid name to still be used. (8443861), closes #330
- Disallow namespace names with double underscores (fe694ef), closes #330
- Improve error message when namespace name is invalid, providing details of what is required for a valid name. (400f6d1), closes #330
- Update namespace endpoint to return 400 on invalid namespace name/display name and duplicate names (85e0010), closes #326
2.59.0 (2023-03-10)
2.58.1 (2023-03-09)
- Fix text color of text inputs in pulse theme (81f3982), closes #336
- Speed up page load and reduce content shift by rendering theme CSS path server-side (6c96faf), closes #336
2.58.0 (2023-02-14)
2.57.0 (2023-01-31)
2.56.0 (2023-01-30)
- Add provider logos for hashicorp products: vault, nomad, vagrant and consul (81c9d8a)
2.55.0 (2023-01-30)
- Add CSFR token validation to namespace create API (bc68795), closes #325
- Fix exception thrown when attempting to create a namespace with a None name or without provide a name attribute (4574778), closes #327
- Fix mis-aligned tags in create module provider page in description of templating for clone/browse URL templates (83db99f), closes #329
- Add support to add 'Display name' to namespace during creation. (4ac011e), closes #294
- Display namespace "display name" in namespace list and module provider page breadcrumbs. (8406815), closes #294
2.54.1 (2023-01-26)
- Always show example cost to 2 decimal places (9b73998), closes #324
- Fix bug with resource cost calculations where each iteration of a module in a for_each will overwrite the previous cost. (a258775), closes #323
2.54.0 (2023-01-23)
- Add comment above example file Terraform version string when using a beta/unpublished/non-latest version of a module (51dde84), closes #317
- Update usage example to include Terraform comment above version if using a beta/unpublished/non-latest version (8dc51b0), closes #317
2.53.2 (2023-01-23)
- Update links on module search results, module list and homepage module to direct to module provider page without a specific version (9e2675d), closes #318
2.53.1 (2023-01-22)
- Add warning to module provider page when new features have been added that require a module version to be re-indexed (416998c), closes #314
2.53.0 (2023-01-22)
- Add ability to configure mode when re-uploaded a previously uploaded module version. (e7c9dc9), closes #299
- Retain publish state when re-indexing module version (3fe6daa), closes #299
2.52.1 (2023-01-22)
2.52.0 (2023-01-21)
2.51.0 (2023-01-21)
2.50.0 (2023-01-20)
- Add '--raw' and '--clean=false' to inframap to retain nodes that are being removed (a0ee490), closes #286
- Add draft Terraform init command run before running inframap to make submodules available (375f6ea), closes #286
- Add red border to resources with costs in resource graph. (7d1f3e9), closes #286
- Implement management of terraformrc file to disable analytics generated from terraform during module extraction (72e5970), closes #286
- Improve layout of graph by spreading out modules based on number of child resources. This is helped by disabling tiling (f2c7036), closes #286
- Update initial graph pan based on size of cy div height/width (bab8f93), closes #286
- Update ModuleExtractor to use terraform graph and terraform-graph-beautifier to generate graph data and JSON (afa4f65), closes #286
- Add graph options to show full resource and module names (796db76), closes #286
- Add page to view resource graph (fe4129c), closes #286
- Add yearly costs to resources in graph view, where available (f7689ba), closes #286
- Revert "ci: Update build_wheel step to use test docker image" (93540a2)
- Revert "ci: Update wheel build to use python3/pip3, since the test container is based Ubuntu" (c21b497)
- Revert "ci: Add installation wheel package for building wheel inside test container" (066ad26)
2.49.1 (2023-01-14)
- Add 'location' argument to all request parsers that expect arguments via query string (36220b1), closes #283
2.49.0 (2023-01-13)
- Do not show Terraform example usage panel in module provider page if module version has not been published. (1fdc0ae), closes #272
2.48.0 (2022-12-31)
2.47.3 (2022-12-31)
- Add warning to login page when no authentication methods are available (170020d), closes #259
- Hide admin authentication login when admin token has not been configured. (153def6), closes #259
- Update initial setup process to automatically redirect user back to initial setup after creating a module (7ae2608), closes #258
- Update initial setup process to automatically redirect user to initial-setup after creating a namespace (05711ee), closes #258
- Update initial setup to check for any forms of authentication configured, rather than requiring admin token (66c43f2), closes #258
2.47.2 (2022-12-31)
- Hide version text on module provider, by default and increase padding of labels (de9e477), closes #282
2.47.1 (2022-12-16)
2.47.0 (2022-12-16)
- Add audit event logging and audit history page (9ed7222), closes #253
- Add audit events for create/delete namespaces, module providers and module versions (97ed1a0), closes #253
- Add audit events for logins (b077ca5), closes #253
- Add audit events for modifications to module provider configuration. (67826e8), closes #253
- Create audit history page and API endpoint to return audit history (0ce7156), closes #253
- Implement audit log querying, limit+offset, sorting and ordering in API and datatable (5132e46), closes #253
2.46.2 (2022-12-12)
- Update internal analaytics token to a config value, set by environment variable. (3013b1b), closes #267
- Revert "db: Add DB migration to handle deletion of erroneous analytics rows" (6f44314)
2.46.1 (2022-12-11)
2.46.0 (2022-12-09)
- Add user groups and user groups namespace permissions, allowing SSO users to be delegated permissionsed per namespace
- Add ability to delete user group permissions and user groups from UI (1674817), closes #255
- Add configurations to output debug for SAML2 and OpenID connect (8248929), closes #255
- Update authenticated endpoint to return list of namespace permissions (4144c1b), closes #255
2.45.3 (2022-11-06)
- Remove 'Description' from start of description in module provider cards in namespace list and search results (8eba7c3), closes #263
2.45.2 (2022-11-06)
2.45.1 (2022-11-05)
2.45.0 (2022-10-29)
- Add support 'number' variable types in usage builder (482d2aa)
- Re-design usage builder (228820e), closes #264
- Update usage builder to provide multiple inputs when populating a list variable (68859c5)
2.44.0 (2022-10-07)
- Update tfsec absolute path replacement to replace paths from the extraction directory. (360b40a), closes #228
- Add tab listing security issues in module (b62d8d7), closes #228
- Add tab listing security issues in module (a0bac97)
- Add tab listing security issues in module (b728c82)
2.43.1 (2022-10-04)
2.43.0 (2022-10-01)
- Add UI to create namespaces and API endpoint to create namespaces (6e81668), closes #256
- Move namespaces into new table (e01c820), closes #178
- Update initial setup page to include step for creation of initial namespace (dd40f13), closes #178
- Update module provider creation page to select namespace from pre-existing namespaces (0e6bdac), closes #178
2.42.0 (2022-10-01)
- Implement OpenID and SAML authentication (c611a7c)
2.41.0 (2022-10-01)
2.40.4 (2022-09-29)
- Add timeout for git clone command execution. (4ee467c), closes #256
- Fix bitbucket hook to return error when one or more tags fail to import (8ac85ff), closes #256
- Stop auto-creation of module providers with Github/Bitbucket hook. (1cf0a3b), closes #256
- Update Bitbucket and Github hook endpoints to rollback database transactions when a single version fails to upload. (3b63ecd), closes #256
2.40.3 (2022-09-27)
- Update HTML title in pages to use customised application name, rather than 'Terrareg' (5597c7c), closes #240
2.40.2 (2022-09-26)
2.40.1 (2022-09-22)
2.40.0 (2022-09-22)
2.39.2 (2022-09-22)
- ui: Update icon used for monthly example cost to money bill, rather than dollar (2f15f37), closes #235
2.39.1 (2022-09-20)
- ui: Hide 'Terrareg Exclusive' tag from Usage builder tab in module provider when this tag is disabled (1e5b396)
2.39.0 (2022-09-14)
- Add total major, minor and patch releases in prometheus metrics endpoint. (b20a9ce)
2.38.0 (2022-09-14)
- Display custom module provider tabs in UI (2034de0), closes #225
- Update module extractor to extract tab files into new module version files table (dd42187), closes #225
- Update terrareg module version API to return list of module version files. (950a831), closes #225
2.37.1 (2022-09-04)
2.37.0 (2022-09-03)
- Sanitise data provided from module provider to ensure data is not injected into module provider page (67d9a11), closes #242
2.36.1 (2022-09-01)
2.36.0 (2022-08-31)
2.35.0 (2022-08-22)
2.34.1 (2022-08-22)
- Remove incorrect colon without port number in integration URLs when using standard http/https ports (987321e), closes #232
2.34.0 (2022-08-20)
- Fix ID match for CSS for yearly-cost text in module provider page (249263a), closes #226
- Remove module description, published date and owner from example page (4e04eb1), closes #226
- Support examples obtaing example cost for modules that use other modules hosted in Terrareg. (446587a), closes #226
- ui: Move module labels in module provider page to be aligned above the name of the module (7aad2f1), closes #226
- Add cost label to top of module provider, showing yearly cost (11dc075), closes #226
- Display estimated monthly cost for module examples in UI (dad7588), closes #226
- Implement infracost scanning of examples during extraction (bca620a), closes #226
2.33.0 (2022-08-17)
- David Soff david@soff.nl
2.32.1 (2022-08-17)
- Revert "ci: Add CI step to test dry-run release on non-main branches" (c7a7833)
2.32.0 (2022-08-05)
- Update check_subdirectory_within_base_directory to not add trailing slash if base_dir is root (19ac2fa), closes #69
- Update safe_join_paths to handle sub_path argument that has a leading slash, which is now converted to a relative path (4933a32), closes #69
- Update safe_join_paths to optionally take argument to allow sub directory to be the same as the base directory. (112cca3), closes #69
- Add methods to return git_path for module provider, version and submodules. (257a2f9), closes #69
- Allow updating git_path attribute of ModuleProvider from settings tab of module provider page. (254c48c), closes #69
- Update module extractor to use git_path directory when extracting module (2d33739), closes #69
2.31.0 (2022-08-05)
2.30.1 (2022-08-05)
- Correct source code URL displayed in submodules and examples to include path to the current code (222ba9f), closes #183
- Update source_url in example/submodules to revert to module version browse URL when there is no templated source URL available (63a424b), closes #183
2.30.0 (2022-07-28)
- Add analytics token usage per module provider in prometheus metrics (0aa1abb), closes #39
- Add basic endpoint for prometheus metrics. (06519e1), closes #39
2.29.3 (2022-07-22)
2.29.2 (2022-07-21)
- Use database transaction when performing module provider creation in server endpoint. (faef873), closes #191
2.29.1 (2022-07-21)
- Update module provider card widths on homepage to increase in size when window is too small to avoid text overflowing (7bd77fc), closes #209
2.29.0 (2022-07-20)
- Add warning to module provider page when viewing the non-latest version of the module. (84d444a), closes #194
2.28.2 (2022-07-20)
- Add connection pool refresh and pool pre-ping settings to avoid errors after database disconnect. (5c677a8), closes #204
2.28.1 (2022-07-20)
- Catch errors when deleting module provider and module version in module provider settings. (f834842), closes #198
- Display user-readable error when an authentication error occurs when creating a module (c1f7708), closes #198
- Provider user-friendly error when attempting to update settings of module provider when not authenticated (b95f90b), closes #198
- Scroll to error message on create module page when an error occurs (bbfd60d), closes #198
2.28.0 (2022-07-20)
- Increase default admin session timeout to 60 minutes from the previous default of 5. (38ef7df), closes #200 #199
- Store sessions in session table in database to hold active sessions. (6cdeb8b), closes #200
2.27.2 (2022-07-19)
- Add interactive and pseudo-terminal flags to docker run command in README (2ff26e9), closes #201 #196
2.27.1 (2022-07-08)
- Fix module provider page when a module provider only has a single unpublished or beta version. (aee4ac1), closes #192
2.27.0 (2022-07-08)
- Replace example terraform module calls in READMEs for root module and sub-modules. (b1550b3), closes #128
2.26.0 (2022-07-08)
2.25.0 (2022-07-08)
- Add in-progress message when indexing/publishing a version on the module provider page. (6e2a77d), closes #182
2.24.0 (2022-07-08)
- Add API endpoint to return data on total module provider usage, based on unique analytics tokens. (e705c71), closes #39
2.23.0 (2022-07-07)
- Display all module providers in namespace page, including those without versions or those with only beta/unpublished versions. (803fbd5), closes #189
- Update module search API endpoint to return terrareg API details for results. (0a39f35), closes #189
- Update most downloaded and most recent module API endpoints to return terrareg data for module/version. (511bb35), closes #189
- Update module card listing to exclude published time for unpublished/beta modules and to show warning in description about module being unpublished. (a3bdc72), closes #189
- Revert "fix: Update most downloaded and most recent module API endpoints to return terrareg data for module/version." (e4ca722)
- Revert "fix: Update module search API endpoint to return terrareg API details for results." (1e65e13)
2.22.0 (2022-07-06)
- Add config to allow the auto-generated variable template variables for the usage builder to be disabled (93a10d0), closes #135
- Add type 'list' to usage builder, which will generate a list with containing the input variable provided. (25dc66e), closes #135
- Use required terraform input variables for module to auto-populate missing variables from 'variable_template' in terrareg metadata (1d8a974), closes #135
2.21.0 (2022-07-06)
- Add security scanning of modules during upload/indexing. (90d6901), closes #150
- db: Move common DB columns of module version and submodule tables into new module_details table (94c54f1), closes #150
- Display number of security issues found in module version as part of labels attached to module (853c1d1), closes #150
- Show security issues for root module, submodules and all examples. (16cd632), closes #150
2.20.3 (2022-07-04)
2.20.2 (2022-07-04)
- Fix display of custom input fields on module provider page when custom module provider Git URLs have been disable. (09c268d), closes #171
- Fix display of custom repository in git provider select on module provider page when custom module provider Git URLs have been disable. (c068916), closes #171
- Fix error thrown from settings endpoint when setting custom git provider URLs to an empty string when custom git URLs is disabled. (6bda8d6), closes #171
2.20.1 (2022-07-04)
- Fix link in initial setup to upload version tab from the git upload tab when an unpublished version has been uploaded (57918ea)
2.20.0 (2022-07-03)
- Remove default 'No description provided' from module blocks and from module page (44db234), closes #154
2.19.0 (2022-07-03)
- Add initial-setup page, providing a step-by-step guide on setting up Terrareg (b493dde), closes #176
- Revert "test: Attempt to move selenium setup to session-wide fixture to ensure display/selenium is only setup once to speed up tests" (e10e543)
2.18.0 (2022-07-03)
2.17.7 (2022-07-02)
2.17.6 (2022-07-02)
- Correctly display success message when indexing a module version on module provider page. (3528284), closes #170
2.17.5 (2022-07-02)
- Fix get_all method of Namespace class to return all namespaces when only_published is False. (7b529c3), closes #167
- Update namespace list page to return all namespaces, including those with only module providers with non-published/beta versions of modules (67798cc), closes #161 #167
2.17.4 (2022-07-01)
- db: Fix DB migration error catching when index does not exist before attempting to delete it (3df8214), closes #169
- db: Fix SQL parameter binding in DB migration ef71db86c2a1 (8fd378d), closes #168
2.17.3 (2022-07-01)
- Fix SQL error thrown in namespace list page (and Terrareg namespace list API endpoint), when using MySQL. (e318ef0), closes #166
2.17.2 (2022-07-01)
- Fix warning around passing a query object into value list of _IN in analytics filter query. (992e526), closes #156
2.17.1 (2022-07-01)
- docs: Correct/update information in README about getting starting: (c8a5879), closes #164
- docs: Update example command to upload module in README, as the namespace was too short (f53408d), closes #164
2.17.0 (2022-07-01)
2.16.0 (2022-06-30)
- Handle None value for published date in functions that return formatted versions of published date (b53a447), closes #12
- Convert module provider, version, submodule and example page to static page using javascript and APIs. (598fc25), closes #12
2.15.0 (2022-06-25)
- Correct name of environment variable that is used to set EXAMPLES_DIRECTORY config (8186f40), closes #141
- Fix ALLOW_UNIDENTIFIED_DOWNLOADS configuration to respect environment variable, rather than always returning False (c8b895e), closes #141
- Fix environment variable used to obtain API keys to publishing module versions (d5d8f79), closes #141
- Hide 'publish' button from integrations tab of modules page if publish API keys have been enabled. (8757f73), closes #141
2.14.0 (2022-06-25)
WARNING: This database change is non-downgradable, due to incorrect naming of previous foreign keys.
If a downgrade from this version is required, the database must be restored from a pre-upgrade backup.
- Update analytics foreign key to module version to perform no action when module version is removed. (757b500), closes #153
- Update module version deletion to remove any analytics and update re-creation of module version to migrate analytics to new module version ID (2ee18e9), closes #153
2.13.1 (2022-06-25)
- Update basic usage and usage builder rendered terraform to use 2-space indentation, rather than 4, as per terraform best practices (2c93eab), closes #151
2.13.0 (2022-06-25)
- Require a value for the 'Git tag format' field and reword the description in the module creation page. (9afb2b4), closes #152
- Add ability to delete module version in UI from settings tab of module provider (c88c24f), closes #145
- Add API endpoint to delete module version (9cc5256), closes #145
- Automatically hide the custom git/browse URL inputs in create module page when selecting a none-custom git provider (0d5a148), closes #152
- Move main.tf to top of list of example files in UI. (5a4faa2)
- Update example UI page to default to show example files (ffe1566), closes #146
2.12.1 (2022-06-15)
- Update module/submodule/example pages to no longer redirect to tab anchor when loading default tab (48a25d4), closes #144
2.12.0 (2022-06-14)
- test: Use assert_equal method in module search selenium tests to allow the counting of result cards to be retries, as the cards may not yet be populated on the page (a4b4716), closes #125
- Update namespace page to include internal modules. (245693b), closes #125
- Update namespace page to show error when no modules exist or namespace does not exist. (4470af6), closes #125
2.11.0 (2022-06-12)
- Update most downloaded and most recently uploaded module functions to exclude internal modules (411209e), closes #137
- Update mostdownloaded endpoint to not return download statistics for beta versions (ac98f6c), closes #137
- Add 'internal' tag to internal modules ui module provider UI view. (59f96ee), closes #137
- Update module search and query filter data to exclude internal modules. (266344f), closes #137
2.10.1 (2022-06-10)
2.10.0 (2022-06-01)
- Fix method call when checking if currently in transaction during creation of transaction (e96c08f), closes #101
- Fix name of init method, which was incorrectly called enter in transaction wrapper. (5ead4f8), closes #101
- Update bitbucket hook to use transaction whilst handling request, meaning any database changes are rolled back if any issue occurs (64f8e39), closes #101
2.9.0 (2022-05-27)
2.8.0 (2022-05-26)
- Fix methods for obtaining variable_template and module details when database columns are empty (ec22e39)
- Handle None database value when decoding blob, which previously threw an exception (9799cc8)
- Revert change to get_readme_content to handle None value before decoding, since this is now handled by the blob decode method (a4aff2d)
2.7.4 (2022-05-25)
- test: Add missing 'published_at' field in database rows for inserted test data (986fe2e), closes #136
2.7.3 (2022-05-24)
2.7.2 (2022-05-24)
- Add 'content' tag to README div, which allows for markup of various types of tags, such as lists (f3cea4a), closes #132
- Force version/submodule/example dropdowns from keeping previous value on page load. (2faa911), closes #131
2.7.1 (2022-05-24)
- Allow empty search, which returns all module providers. (bdd329a), closes #133
- Ensure that first file in examples is left selected, rather than showing the content of the last file. (c57ec87), closes #133
- Fix name of usage builder in UI in Usage example (1898ba0), closes #133
- Fix tiles on homepage occasionally not loading when config request has not completed in time. (ddeb549), closes #133
- Remove trailing/leading new lines in preformatted text for usage builder and example file content. (51c418f), closes #133
- Show currently selected example file in file list panel (e2b04c5), closes #133
2.7.0 (2022-05-23)
2.6.0 (2022-05-22)
- Update DB migration to use batch operation to handle errors caused by sqlite database (bf10420), closes #115
- Update example terraform version string for beta versions to return exact version match. (6d4a677), closes #115
- Update initial module-search page search to occur once document has finished loading. (5b7099d), closes #122
- Add column to module version table to handle 'beta' flag (999cbc6), closes #115
- Add config for custom labels for trusted namespaces and verified modules in the search filters. (f533beb), closes #122
- Add configuration to disable auto-creation of module providers on version creation/import (5654b5b), closes #123
- Add configuration to use custom name for contributed modules in search UI (19cfa6c), closes #122
- Add environment variables for setting SSL public and private key. (acadd38), closes #99
- Add labels to search results with tags for trusted, verified and contributed. (72b2aa3), closes #122
- Add tab to example page to view list of example files and view file contents (6aef439), closes #91
- Extract terraform files from examples during upload and store in example file table. (d1a8d76), closes #91
- Remove beta versions from web interface. (21a12a5), closes #115
- Support version suffixes when creating module version. (efcc72f), closes #115
- Revert "chore: Update safe_iglob to support returning relative results." (538c616)
2.5.4 (2022-05-19)
2.5.3 (2022-05-19)
2.5.2 (2022-05-12)
- Issue #118 Fix endpoint for module version upload in UI (f50b7e6)
- Issue #118 Fix module version import url in UI to contain module provider ID (18e41b8)
- Issue #118 Fix publish endpoint in UI to contain module provider ID (cecfff5)
2.5.1 (2022-05-11)
- Issue #111 Fix validation errors thrown when validation git provider config with provided tag_uri_encoded placeholder (3113ccd)
2.5.0 (2022-05-11)
- Issue #109 Add namespace filtering to module search interface. (f3798af)
- Issue #111 Add URI encoded tag placeholder to browse URL template. (c467bde)
- Issue #113 Add input for analytics token to 'usage builder' to add to module URL in built terraform. (e599366)
- Issue #113 Add placeholder analytics token to 'usage' terraform with note about having to replace it. (240764d)
- Issue #114 Add custom terraform module version template for use in terraform examples in UI. (07bfe72)
2.4.1 (2022-05-10)
- module-extractor: Issue #117 Remove any terraform-docs configuration files before running terraform docs (9d46f26)
2.4.0 (2022-05-09)
2.3.1 (2022-05-09)
- Remove stripping of ssh:// from git clone URL when extracting module (649c281)
2.3.0 (2022-05-09)
- Issue #53 Add provider filter to module search interface. (e137c8e)
- Issue #53 Update search endpoints to accept multiple namespace, provider and module name arguments. (9c3e14c)
2.2.0 (2022-05-08)
- Issue #90 Add API authentication to ModuleVersion create endpoint. (76395f6)
- Issue #90 Add API authentication to ModuleVersion publish endpoint. (90d2c0a)
- Issue #90 Add API key authentication for uploading module. (19f901b)
- Issue #90 Add handling of upload API key as 'secret' from bitbucket web hook. (59ab633)
2.1.1 (2022-05-07)
2.1.0 (2022-05-07)
- ci: Issue #107 Move mysql service within mysql test stage (6050426)
- ci: Issue #107 Update mysql service for tests to use internal docker image (264676d)
- ci: Issue #107 Use local repository for python image to avoid rate limits from dockerhub (bd7e9dc)
- db: Issue #107 Convert BLOB columns to MEDIUMBLOBS (907982a)
- db: Issue #107 Fix migration script to convert columns to mediumblob (d832044)
- db: Issue #107 Fix queries for global stats that attempt to retrieve ID for grouped rows. (8cb2676)
- db: Issue #107 Remove unused database migration (7ab53fe)
- db: Issue #107 Update select_module_version_joined_module_provider to take a list of columns/tables to select from. (1fc42af)
- db: Issue #107 Use medium blob dialect for medium blob columns to stop LargeString from reverting to MySQL blob (0b72a2f)
- models: Issue #107 Fix queries for MySQL, which perform grouping and were obtaining non-grouped fields (such as ID). (5b91fa9)
- module-search: Issue #107 Fix base query used for search results to only include columns from module_provider, as module_version is being aggregated by module_provider.id. (0801f27)
- ci: Issue #107 Split unit/integration test runs in CI and add execution of integration tests against MySQL (7a70ad7)
- tests: Issue #107 Add ability to test against custom database URL in integration tests. (5522690)
- Reduce size of columns that are too large
WARNING: This version does not support migration from previous versions.
- Update all database columns to use MySQL-compatible types.
- Convert large data values to blobs
- Add MySQL connector and document URL format to connect to MySQL
- Fix SQL schema to work with mysql
- Provide ability to pass SSH private key through environment variable
- Update base image to python:10
- Remove update of system packages in Dockerfile
- Add exception to be thrown when upload fails to analyse terraform
- Add tests for module extraction
- Add package updates to Dockerfile
- Initial release