logodiffwithgpt jobswithgpt

terraform changelogs since terraform | diffwithgpt

Next →
2025-04-30T19:55:09-07:00

AI Summary

The code adds an example of using the `terraform.applying` function to switch between read-only and write credentials based on whether Terraform is applying or planning. It also updates the documentation to clarify that `terraform.applying` can be used in provider blocks and provisioner/connection blocks, which are ephemeral contexts.

Commit Log

Backport of Add provider example to terraform applying into v1.11 (#36973)

Importance: 8
2025-04-30T14:43:23+02:00

AI Summary

The code adds support for resource identities in plan files and JSON output, allowing tracking of resource identities during import operations. It introduces new fields for before and after identities in the Change and Importing structs, along with associated marshaling and unmarshaling logic to handle these identities in plan files and JSON output. Potential risks include compatibility issues with existing plan files that do not include identity information, and the need to ensure that all related functions correctly handle the new identity fields.

Commit Log

Add resource identities to plan file and JSON output (#36903)

Importance: 9
2025-04-30T08:25:53+00:00

AI Summary

The code adds a test case for verifying the correct handling of identity upgrades during state refresh, ensuring the identity schema version and JSON are updated properly. The change also updates the `upgradeResourceIdentity` function to use the identity schema version instead of the resource schema version, aligning with the new identity handling logic.

Commit Log

backport of commit 7182d361adde5329a4b0f2a0a11c9cf927d27330 (#36942)

Importance: 9
2025-04-29T20:35:56+02:00

AI Summary

The code introduces a new file matcher system to handle different types of Terraform files (test, query, etc.) in configuration directories, replacing older methods with a more flexible and extensible approach. This change improves the ability to load and categorize configuration files, including test and query files, while maintaining backward compatibility through the use of functional options. Potential risks include breaking changes if existing code relies on the old method names (e.g., WithTestFiles) or if the new matcher logic introduces unexpected behavior in file categorization.

Commit Log

file matchers

Importance: 9
2025-04-29T17:44:46+02:00

AI Summary

The code updates the version used in the identity upgrade request to match the identity schema version instead of the resource schema version. This change ensures that the correct schema version is used during identity upgrades, aligning with the expected behavior for identity attributes.

Commit Log

Fix version in resource identity upgrade request (#36940)

Importance: 8
2025-04-29T15:45:51+00:00

AI Summary

The code change replaces an iframe with a VideoEmbed component for embedding a YouTube video. This likely improves maintainability and consistency in rendering videos across the website.

Commit Log

backport of commit 1af5cfcd5b12c7bdb0ffc9f71bb451868b65b273

Importance: 7
2025-04-29T15:45:51+00:00

AI Summary

The code change replaces an iframe with a VideoEmbed component for embedding a YouTube video. This likely improves maintainability and consistency in rendering videos across the website.

Commit Log

backport of commit 1af5cfcd5b12c7bdb0ffc9f71bb451868b65b273

Importance: 7
2025-04-29T15:45:51+00:00

AI Summary

The code change replaces an iframe with a VideoEmbed component for embedding a YouTube video. This likely improves maintainability and consistency in rendering videos across the website.

Commit Log

backport of commit 1af5cfcd5b12c7bdb0ffc9f71bb451868b65b273

Importance: 7
2025-04-29T15:45:51+00:00

AI Summary

The code change replaces an iframe with a VideoEmbed component for embedding a YouTube video. This likely improves maintainability and consistency in rendering videos across the website.

Commit Log

backport of commit 1af5cfcd5b12c7bdb0ffc9f71bb451868b65b273

Importance: 7
2025-04-29T08:45:51-07:00

AI Summary

The code change replaces an iframe with a VideoEmbed component to embed a YouTube video. This likely improves maintainability and consistency by using a dedicated component for video embedding.

Commit Log

update iframe to videoembed

Importance: 8
2025-04-25T17:59:38+01:00

AI Summary

The code refactor introduces the go-hcl-overlay library to handle backend configuration overrides in Terraform, replacing manual nested attribute parsing logic. This change likely improves maintainability and consistency by using a dedicated library for overlay operations, but introduces potential compatibility issues with existing overlay logic.

Commit Log

initial refactoring using hcloverlay

Importance: 8
2025-04-25T14:06:55+01:00

AI Summary

The code change replaces fmt.Sprintln with fmt.Println to print a message when the TF_INMEM_TEST environment variable is set. This change likely aims to simplify the output by removing the newline character added by Sprintln, making the log message cleaner.

Commit Log

Fix println

Importance: 7
2025-04-24T08:52:26+00:00

AI Summary

The code change ensures that removed stack blocks are properly refreshed during refresh plans by updating the logic in the DefinedByStackCallInstance method to return both regular and removed stack call instances. It also introduces a new PlanningMode method in the Main struct to handle different planning modes, and adjusts the PlanChanges method in RemovedComponentInstance to use the correct action based on the planning mode. A new test file, TestRefreshPlan, is added to validate the behavior of refresh plans for both regular and removed components and stacks.

Commit Log

stacks: removed blocks should refresh during refresh plans (#36916) * stacks: removed blocks should refresh during refresh plans * fix copywrite headers * clarify return values of DefinedByStackInstance

Importance: 9
2025-04-23T16:52:05+01:00

AI Summary

The code updates comments to clarify the logic around handling nested fields in the backend configuration override. The changes add context about why a max nesting depth of 1 is assumed and how synthetic values are handled during parsing.

Commit Log

Update code comments

Importance: 7
2025-04-22T08:58:01+02:00

AI Summary

The code introduces a 'light mode' feature for Terraform plans, allowing partial updates by skipping certain resource refreshes and evaluations. This change affects multiple components including the backend, command-line interface, and planning logic to support light mode, with associated tests and documentation updates. Potential risks include incomplete state synchronization and unexpected behavior in scenarios where light mode is not intended, especially with dependencies and resource refreshes.

Commit Log

Plan light

Importance: 9
2025-04-17T14:06:01+02:00

AI Summary

The code introduces a 'test cleanup' command to Terraform, allowing users to clean up resources created during test runs, with options to repair or target specific states. It modifies the test command to support cleanup mode, which changes how test runs are processed and state files are managed, including new flags and logic for handling state cleanup. Potential risks include compatibility issues with existing test workflows, especially if the 'repair' flag is used inappropriately, and edge cases where state files are not properly cleaned up or left in an unexpected state.

Commit Log

Terraform Test: cleanup command (#36847)

Importance: 9
2025-04-16T14:05:51+02:00

AI Summary

The code refactor introduces tree structures for efficient lookups in Terraform's stack management, replacing old collection-based approaches with hierarchical data structures for better performance and maintainability. Key changes include replacing collections.Map with tree-based structures like StackInstance and Removed, which allow for more efficient traversal and lookup of component instances, stack calls, and removed blocks. This refactor impacts multiple packages, including rpcapi, stacks, and stackruntime, with changes to methods like GetComponent, GetDescendentStack, and PlanChanges to use the new tree structures.

Commit Log

stacks: refactor plan, state, and removed tracking with tree structures for efficient lookups (#36850)

Importance: 9
2025-04-10T11:28:07+02:00

AI Summary

The commit updates the Go version from 1.24.1 to 1.24.2 across multiple modules to ensure compatibility with the latest Go release. This change is likely to enable new language features, performance improvements, and security fixes available in Go 1.24.2.

Commit Log

Bump Go version to 1.24.2 (#36870)

Importance: 8
2025-04-09T20:27:53+02:00

AI Summary

The code change removes the bucket name from the S3 prefix in an IAM policy statement. This adjustment likely aims to make the policy more generic or reusable across different buckets.

Commit Log

remove bucket name from s3:prefix condition in IAM policy

Importance: 7
2025-04-07T18:02:06+00:00

AI Summary

The code change updates documentation to clarify how `override_during` works in `mock_resource` and `mock_data` blocks for Terraform. The change ensures users understand that local values override provider defaults and that ARN values for replica tables are shared.

Commit Log

backport of commit 61ab3a1cddcb89d220c8701e2ec9a54bc123671a

Importance: 7
2025-04-03T10:54:50+02:00

AI Summary

The code introduces a fix to handle write-only attributes by setting them to null in internal providers, ensuring they are not persisted or displayed in outputs. It adds a new function `StripWriteOnlyAttributes` to strip write-only attributes from values, and updates multiple internal components to use this function, including providers, test mocks, and validation logic.

Commit Log

backport of write-only attributes: internal providers should set write-only attributes to null (#36828) * write-only attributes: internal providers should set write-only attributes to null * add changelog * fix copywrite headers * fix compile errors

Importance: 9
2025-04-03T10:08:07+01:00

AI Summary

The code change updates the method signature of GetProviderSchema to use StateStoreSchemas instead of StateStores, likely to align with a new schema structure for state stores. This change may be part of an effort to modernize the provider's schema handling, ensuring compatibility with updated Terraform versions or internal APIs.

Commit Log

Update to StateStoreSchemas

Importance: 8
2025-04-03T10:07:13+01:00

AI Summary

The code changes rename 'state_stores' to 'state_store_schemas' in several files to align with updated protocol definitions and internal naming conventions. This change is likely part of a protocol version update (e.g., from tfplugin5 to tfplugin6) to ensure compatibility with new schema-related fields.

Commit Log

Apply suggestions from code review

Importance: 9
2025-04-02T19:25:42+01:00

AI Summary

The code adds an empty map for StateStores in the Terraform provider's GetProviderSchema method, likely to address an issue where the provider reports no state stores. This change may be an attempt to resolve compatibility issues or errors related to state management in Terraform configurations.

Commit Log

`terraform` provider reports it has no state stores

Importance: 8
2025-04-02T16:09:14+00:00

AI Summary

The code adds a new test case for the DiagnosticComparer that includes a specific range definition for comparison. The original test case was removed, likely to simplify or refactor the test logic, while the new test ensures range-based comparisons are handled correctly.

Commit Log

backport of commit c6c21a89a13a04f4492c1a7ebb82edffc0bf18e4

Importance: 8
2025-04-02T13:15:02+00:00

AI Summary

The code adds a test for the AppendWithoutDuplicates function to ensure it correctly handles duplicate diagnostics based on their content. The test covers various scenarios, including nil inputs, duplicate error messages, and different diagnostic locations, ensuring the function behaves as expected.

Commit Log

backport of commit da42f6b29ef718d7a57bc57fa294e421ba09caac

Importance: 8
2025-03-31T11:29:07-07:00

AI Summary

The code updates an example in the lower.mdx file to demonstrate the lower function with a Greek greeting. The change replaces the previous Russian example with a Greek one to better illustrate the function's behavior with different character sets.

Commit Log

Update lower.mdx Updating descriptive example.

Importance: 3
2025-03-27T12:36:10+00:00

AI Summary

The commit updates the version of the github.com/golang-jwt/jwt/v4 dependency from 4.5.1 to 4.5.2 across multiple modules. This change is likely to address a bug, security fix, or new feature introduced in version 4.5.2 of the JWT library.

Commit Log

Backport of Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 into v1.11 (#36789) * no-op commit due to failed cherry-picking * go get github.com/golang-jwt/jwt/[email protected] * go mod tidy * Run `./scripts/syncdeps.sh` ---------

Importance: 8
2025-03-26T13:51:22-07:00

AI Summary

The code updates the `terraform` block reference documentation to align with the new design, including changes to the structure and attributes of the block. It introduces a more detailed and structured format for the `terraform` block, including new attributes like `required_providers` and `cloud` with specific sub-attributes.

Commit Log

Merge pull request #36781 from hashicorp/docs/update-terraform-block-ref updates the terraform block ref to match new design doc

Importance: 9
2025-03-25T15:14:54-07:00

AI Summary

The code change updates the documentation for the `moved` block in Terraform, improving clarity and structure. It restructures the markdown to better explain the arguments and usage of the `moved` block, making it more user-friendly.

Commit Log

updated some of the boilerplate text

Importance: 8
2025-03-25T11:38:45-04:00

AI Summary

The code removes unused interface `graphNodeExpandsInstances` and its associated implementations across multiple files. This change was made to clean up unused code that was no longer needed after the `pruneUnusedNodesTransformer` was simplified.

Commit Log

remove unused interface Forgot to remove `graphNodeTemporaryValue` when the `pruneUnusedNodesTransformer` was simplified to no longer make use of it.

Importance: 8
2025-03-24T14:20:07+00:00

AI Summary

The code refactors test helpers to use the tfdiags package for diagnostic checking, improving consistency and encapsulation. Functions like AssertNoDiagnostics and AssertNoErrors are moved to tfdiags, reducing duplication across test files. Potential risks include breaking changes if the tfdiags package's API changes, or if the new helpers have different behavior than the old ones.

Commit Log

Migrate more testing helpers into tfdiags package (#36474) * Add new `AssertNoDiagnostics` and `AssertDiagnosticCount` test helpers in tfdiags package * Add new `AssertNoErrors` and `LogDiagnostics` test helpers in tfdiags package * Refactor existing tests to use new helpers * Refactor more recent tests * Revert change - wrong function replaced * Refactor to account for function no longer returning a boolean * Fix comment

Importance: 9
2025-03-21T13:00:13+00:00

AI Summary

The code changes address go vet errors by importing the 'local-state' package and updating references to use the new package name. The changes modify the 'opRefresh' function to use the new 'localState.Local' type instead of the old 'Local' type, ensuring compatibility with the updated package structure. The 'TestLocal' function has had its state path assignments removed, likely as part of refactoring or cleanup to align with the new package structure.

Commit Log

Address go vet errors

Importance: 8
2025-03-20T13:50:03-07:00

AI Summary

The code change removes references to the 'check' block and replaces them with 'moved' and 'terraform' blocks, likely to reorganize or deprecate the 'check' block functionality. A new 'Checks' section is added to the website documentation, indicating the introduction of a new feature or reorganization of existing content related to checks.

Commit Log

Take out checks and make a build-a-branch

Importance: 8
2025-03-19T08:58:55-04:00

AI Summary

The code ensures that ephemeral resources with zero instances are handled correctly by adding a root node to the graph to prevent an empty graph during apply. This change addresses a potential issue where the graph validator might fail due to an empty graph when ephemeral resources expand to zero instances.

Commit Log

make sure ephemeral nodes with zero instances work The graph expansion code always wants a valid, non-empty graph now, but the ephemeral apply nodes could expand into zero instances and result in an empty graph. Make sure there is at least a root node to satisfy the graph validator during the apply walk.

Importance: 9
2025-03-14T11:15:03+01:00

AI Summary

The code adds support for marshalling resource identity values into the Terraform state JSON format, including schema version checks and handling of deposed resources. It introduces new fields to the Resource struct for identity schema version and values, and updates marshalling logic to ensure compatibility between state and provider schemas.

Commit Log

Output resource identities in State JSON (TF-23753) (#36615) * jsonstate: Marshal identity values * jsonstate: Test identity marshalling * Add identity to prepareStateV4 * Check identity schema version when marshaling state * Marshal identity for deposed resources * Marshal identity version if `0` * Check for missing resource identity schema

Importance: 9
2025-03-13T17:15:00+01:00

AI Summary

The code diff removes Validate methods from several node types, replacing them with direct calls to Execute, likely to streamline validation by reusing execution logic. This change may reduce code duplication but could introduce risks if the Execute method is not designed to handle validation tasks, potentially leading to incorrect validation behavior.

Commit Log

remove Validate methods

Importance: 8
2025-03-13T09:54:28+01:00

AI Summary

The code change replaces 'Excluded' with 'Defer' in several Terraform components to allow deferred resource evaluation during planning and application. This change enables resources to be deferred when excluded, allowing their state to be evaluated even if they are not created immediately. Potential risks include compatibility issues with existing code that relies on 'Excluded' behavior, and possible unexpected results if deferred resources are not properly handled in the state.

Commit Log

allow evaluation data to still construct deferred resources

Importance: 9
2025-03-13T09:11:55+01:00

AI Summary

The code prevents test runs when leftover state data is detected, ensuring tests only execute if the state manifest is empty. A new test case was added to verify the behavior of handling leftover state files, ensuring cleanup is enforced. The `Empty()` method in the manifest checks if all state files are empty, adding validation during test execution.

Commit Log

Prevent test run when leftover state data is present (#36685)

Importance: 9
2025-03-12T10:19:49+01:00

AI Summary

The code allows the `subscription_id` to be optional, inferred from Azure CLI if not specified, and avoids unnecessary management plane API calls when possible. It introduces a flag `lookup_blob_endpoint` to determine whether to retrieve the blob endpoint via the management plane API, which is necessary when private DNS zones are used.

Commit Log

Backend/azure: `subscription_id` infer from Azure CLI & a way to skip *unnecessary* management plane API call (#36623) * backend/azure: Infer `subscription_id` from Azure CLI if not specified * Avoid management plane call if not necessary There are four auth scenarios of the blob/container: 1. User specifies the SAS token 2. User specifies the shared access key 3. User specified to use AAD auth (and credential provided) 4. None of the above, management plane API call needed to list the shared access key and use it to auth For 1, 2 and 3, the management plane API can be skipped in most of the cases, except the target storage account is using private DNS zone. The blob/container data plane client requires the user to specify the base URI, which is not deterministic if the storage account opt in the private DNS zone. In this case, an additional management plane `GET` is required against the storage account, to retrieve the blob endpoint. While if private DNS zone is not used, the base URI can be composed in a fixed pattern, with the storage account name and container&blob name. Hence no management plane API call is needed. The user is expected to use the `subscription_id` and `resource_group_name` to indicate the above intent: Only if both are specified, the additional `GET` call will be invoked to get the accurate blob endpoint. (NOTE: the `subscription_id` can be inferred from the Azure CLI if unspecified) * No need for AAD auth if shared key or sas is specified

Importance: 9
2025-03-11T11:23:33-04:00

AI Summary

The code adds polling functionality to wait for post-plan tasks to complete in the remote backend, ensuring the CLI does not exit prematurely. It introduces a new method `waitForPostPlanTasks` that retrieves and waits for task stages using `waitTaskStage` and `Poll` to handle asynchronous task completion. Potential risks include compatibility issues with older TFE versions that do not support fetching task stages, and possible infinite loops if task status checks fail.

Commit Log

Add polling to wait for post plan tasks to complete in remote backend

Importance: 9
2025-03-11T11:11:01+01:00

AI Summary

The code introduces support for including and excluding specific resources or modules during Terraform operations, enhancing the targeting functionality. It adds new fields like 'Included' and 'Excluded' to various operation and plan structures, and updates the logic to handle these new targeting rules. Potential risks include compatibility issues with existing code that may rely on the old targeting behavior, and edge cases where the new logic might not handle complex exclusion or inclusion scenarios correctly.

Commit Log

undo targeting changes, add include/exclude

Importance: 9
2025-03-10T18:01:30+01:00

AI Summary

The code updates test cases for resource identity refresh functionality to use a new helper function for setting provider schema responses. It replaces direct calls to deprecated methods with the new helper function to ensure compatibility with updated provider schema handling.

Commit Log

Fix identity refresh tests

Importance: 9
2025-03-10T18:01:28+01:00

AI Summary

The code changes are implementing persistent resource identity tracking in Terraform state by adding support for identity schemas and modifying various parts of the codebase to use these schemas. This change introduces new methods and structures to handle resource identity schemas, including upgrades for state and identity data, and updates to ensure compatibility with existing schemas.

Commit Log

Persist resource identity in Terraform state

Importance: 9
2025-03-10T14:07:40+01:00

AI Summary

The code change introduces a new graph filtering system replacing the old dag.Filter with a custom graphFilter to handle targeting and exclusion logic in Terraform's graph traversal. This change likely aims to improve the handling of targetable resources and exclusion rules during plan execution by providing a more structured and concurrent-friendly filtering mechanism. Potential risks include compatibility issues with existing code that relies on the old dag.Filter interface, and possible bugs in the new graphFilter implementation if not thoroughly tested.

Commit Log

graph_targeting

Importance: 9
2025-03-10T12:38:09+01:00

AI Summary

The code adds an error check to prevent templatestring from returning null when a single interpolation evaluates to null. This ensures templatestring results are not null, aligning with expected behavior and improving robustness.

Commit Log

Return error when the template's single interpolation results in null value (#36658)

Importance: 9
2025-03-10T09:32:02+01:00

AI Summary

The commit adds a bug fix entry to the changelog for version 1.12, addressing an issue where a null value from a single interpolation in a template results in an error. The change ensures that the template engine properly handles null values during interpolation, preventing silent failures or unexpected behavior.

Commit Log

add changelog

Importance: 8
2025-03-10T09:31:18+01:00

AI Summary

The code adds a check to prevent a panic when a template interpolation evaluates to null, returning an error instead. A test case is added to verify that null results in template interpolation are flagged as invalid, while unknown values are handled gracefully.

Commit Log

Fix panic when the single interpolation result is null

Importance: 9
2025-03-04T16:50:40-06:00

AI Summary

This commit reverts the addition of support for remote S3 backends in the mx-central-1 region, which was previously introduced in a previous commit. The change also updates several AWS SDK and related dependencies to older versions, likely to resolve compatibility issues or regressions introduced by the reverted feature.

Commit Log

Revert "add support for remote S3 backends in mx-central-1 region" This reverts commit 427e0e204580b099cedd27c301ef32f93f62ab59.

Importance: 8
2025-03-04T16:33:43+01:00

AI Summary

The code change renames 'schema.Block' to 'schema.Body' across multiple files, indicating a refactoring to align with a new naming convention for schema blocks. This change is likely part of a larger effort to standardize or clarify the terminology used for schema blocks in the Terraform codebase.

Commit Log

Rename schema.Block to Body (#36629)

Importance: 9
2025-03-04T12:40:12-08:00

AI Summary

The code changes focus on updating documentation to clarify the use of write-only arguments for ephemeral values and highlight the importance of capturing these values. The changes include repositioning code examples and adjusting highlights to better explain how ephemeral values are handled in Terraform.

Commit Log

Small teaks and does this work

Importance: 7
2025-03-03T21:11:48+01:00

AI Summary

The code change updates documentation for ephemeral resources, specifically focusing on deferring their creation. This likely aims to improve clarity for users on how to manage ephemeral resources in Terraform.

Commit Log

Update website/docs/language/resources/ephemeral/index.mdx

Importance: 5
2025-03-03T21:07:51+01:00

AI Summary

The code change updates the documentation for ephemeral resources in the Terraform website, likely to clarify or expand on how these resources are used. The change appears to be a documentation update rather than a functional code change, focusing on improving clarity or accuracy for users.

Commit Log

Update website/docs/language/resources/ephemeral/index.mdx

Importance: 4
2025-03-03T20:17:42+00:00

AI Summary

The code change adds documentation for ephemeral resources in the Terraform AWS provider. It likely aims to improve clarity and guidance for users working with ephemeral resources.

Commit Log

backport of commit a2f881fb74896fb4c7aff0b66e2cf5458ec98613

Importance: 7
2025-03-03T20:08:10+00:00

AI Summary

The code change updates the `password_wo_version` attribute to use a secret from AWS Secrets Manager instead of a hardcoded value. This likely improves security by moving sensitive credentials out of the Terraform configuration.

Commit Log

backport of commit b8956d0a78fc03ccd570b0769f9841b4ed244c8e

Importance: 8
2025-03-03T15:46:04+01:00

AI Summary

The code enhancement adds detailed diagnostic output for failed test assertions in Terraform, including JSON diffs and verbose information to help users identify discrepancies. It introduces a new `snippetFormatter` struct to format diagnostic information with source snippets and test assertion details, improving readability and debugging capabilities. The changes include a new `printJSONDiff` function that provides a colorized line-by-line diff of JSON values from failed assertions, making it easier to spot differences.

Commit Log

Produce detailed diagnostic objects when test run assertions fail (#36522)

Importance: 9
2025-03-03T13:01:46-05:00

AI Summary

The RemoveAll function is added to filter out specific marks from a list of PathValueMarks, removing all instances of the specified mark and eliminating paths with no remaining marks. The function modifies the original input directly and does not return a clone, which could lead to unintended side effects if the input is reused.

Commit Log

add marks.RemoveAll RemoveAll filters marks from a set of cty.PathValueMarks, removing all instances of the remove parameter in all paths. If a path has no remaining marks, it is removed entirely.

Importance: 8
2025-03-03T11:40:15+00:00

AI Summary

The commit updates the `hashicorp/cli` dependency from version 1.1.6 to 1.1.7. This change is likely to include bug fixes, security patches, or minor feature improvements from the upstream library.

Commit Log

Update `hashicorp/cli` dependency (#36607) * go get github.com/hashicorp/cli * Run ./scripts/syncdeps.sh

Importance: 8
2025-03-03T10:25:24+00:00

AI Summary

The code change adds backticks around the resource name `aws_secretsmanager_secret_version` in the documentation to improve readability and formatting. This is a documentation update with no functional impact on Terraform behavior.

Commit Log

backport of commit 486b967d5152062e57bc553a54321847489abd8a

Importance: 2
2025-03-03T00:09:28+00:00

AI Summary

The code change replaces a random password resource with a secrets manager setup to securely handle database passwords. It introduces deferring of ephemeral resources to ensure correct evaluation order during apply.

Commit Log

backport of commit ac62910a7e35319d92b2432a7a1c25a23d2dd539

Importance: 8
2025-02-25T14:11:17+01:00

AI Summary

The code change removes a skipped test and updates expected output and error handling to make the test more reliable. The test now separately checks stdout and stderr outputs against expected strings, improving accuracy and reducing flakiness.

Commit Log

Fix flaky test in test_test.go (#36566)

Importance: 8
2025-02-19T18:46:33+00:00

AI Summary

The code change adds logic to the SensitivePaths method to handle null or unknown values by returning an empty result, preventing unnecessary processing. It also introduces a new test case for nested sensitive attributes and updates the test to use CoerceValue for better validation of expected and actual results.

Commit Log

backport of commit 7ac019a941f682c1ecf73aa5a36f7099879a33df

Importance: 8
2025-02-19T15:43:30+01:00

AI Summary

The code adds a `type` attribute to `output` blocks, allowing explicit type constraints for outputs in Terraform configurations. This change enables more precise type handling and validation, distinguishing between explicitly set types and default constraints.

Commit Log

Add `type` attribute to `output` blocks

Importance: 9
2025-02-19T11:57:41+01:00

AI Summary

The code change fixes an issue where applying a saved plan with the -auto-approve flag using the cloud backend caused the operation to hang. The fix involves modifying the logic in the opApply function to bypass confirmation when a saved plan file is present, regardless of the auto-approve flag.

Commit Log

Merge pull request #36453 from hashicorp/IPL-7602/saved-plan-apply-hangs-with-auto-approve-flag (#36532) Fix: Saved plan apply hangs with `-auto-approve` flag using cloud backend

Importance: 9
2025-02-19T09:22:46+01:00

AI Summary

The code introduces parallel execution of test runs in Terraform by adding concurrency control and a graph-based execution model. It modifies the test runner to use a semaphore for limiting parallelism and introduces a graph walker to execute test runs in the correct order based on dependencies and state keys. New test cases are added to verify the correct ordering and behavior of parallel test runs.

Commit Log

Terraform test: Execute eligible test runs in parallel (#36300)

Importance: 9
2025-02-19T08:45:01+01:00

AI Summary

The code introduces parallel execution of test runs in Terraform by adding concurrency control and a graph-based execution model. It modifies the test runner to use a semaphore for limiting parallelism and introduces a graph walker to execute test runs in the correct order based on dependencies and state keys. New test cases are added to verify the correct ordering and behavior of parallel test runs.

Commit Log

Terraform test: Execute eligible test runs in parallel (#36300)

Importance: 9
2025-02-18T19:33:41+01:00

AI Summary

The code adds a test case for a scenario where no state is present, ensuring proper handling of empty states during test execution. The change modifies the logic in `node_state_cleanup.go` to skip cleanup if the state is empty, preventing unnecessary operations.

Commit Log

No state to cleaup when it is empty (#36526)

Importance: 8
2025-02-18T13:51:23+01:00

AI Summary

The code adds a script to remove old changelog entries in the .changes directory, helping to keep the changelog organized. It was likely added to automate the cleanup of outdated changelog entries, ensuring only relevant versions are kept for backporting.

Commit Log

clean up old changeloge entries

Importance: 8
2025-02-18T13:51:23+01:00

AI Summary

The code adds a new function to list GitHub issues associated with a specific release version from YAML files in the .changes directory. It checks for the presence of the yq tool and iterates through YAML files to extract and display issue numbers linked to the release.

Commit Log

add helper to identify PRs with changelog entries

Importance: 8
2025-02-17T13:08:33-05:00

AI Summary

The code adds validation to prevent write-only attributes within nested sets in Terraform configurations. This ensures that write-only attributes are not allowed inside sets, as they cannot be assigned values without making the entire set ephemeral.

Commit Log

add validation for nested write-only within sets We can't use write-only within sets, because there is no way to assign an ephemeral value to an individual attribute within a set, without making the entire set ephemeral. This will be enforced by the provider framework as well to help prevent unusable schemas for reaching Terraform.

Importance: 9
2025-02-12T23:59:41+00:00

AI Summary

The code change refactors the ValidateWriteOnlyAttributes function to handle errors when validating write-only attributes, improving robustness. It introduces a new function nonNullWriteOnlyPaths that returns an error if the schema is nil, and updates call sites to handle errors properly.

Commit Log

backport of commit 91feab6b5d08c434a71d53e817eb11bf2d62ea62

Importance: 8
2025-02-11T14:22:03+00:00

AI Summary

The code adds a new test case to validate that ignore_changes conditional expressions cannot contain the '*' wildcard. It also introduces a new test function to ensure that empty return values in conditional expressions for ignore_changes are handled correctly.

Commit Log

Add more test coverage

Importance: 9
2025-02-11T10:27:57+00:00

AI Summary

The code refactor updates how conditional expressions in ignore_changes are processed to support different expression types, enhancing flexibility. The change introduces a new method for extracting references from expressions, which may affect compatibility with existing logic that relies on the old approach.

Commit Log

Refactor how we check conditions, to allow for different expression types

Importance: 8
2025-02-10T16:30:54-05:00

AI Summary

The change addresses an issue where the order of sensitive attributes in the state format incorrectly indicated changes in a Terraform plan. This fix ensures that the state format accurately reflects the actual changes, preventing false positives in plan outputs.

Commit Log

changelog

Importance: 9
2025-02-06T15:51:23-05:00

AI Summary

The commit adds a CHANGELOG entry for a bug fix addressing hanging behavior when applying a saved plan with -auto-approve using the cloud backend. The fix is related to an issue (ID 36453) that was likely causing unexpected behavior in specific scenarios involving the cloud backend.

Commit Log

add CHANGELOG entry

Importance: 8
2025-02-05T11:04:24-08:00

AI Summary

The commit updates documentation for passing data between Terraform Stacks using `publish_output` and `upstream_input` blocks, fixing minor formatting and casing issues. The changes ensure consistency in terminology (e.g., 'stack' vs 'Stack') and improve clarity for users working with linked Stacks in HCP Terraform.

Commit Log

fix: linked-stacks docs (#36426) (#36439)

Importance: 5
2025-02-05T10:22:13-08:00

AI Summary

The code diff updates documentation to reflect changes in the `upstream_input` block's `type` field, changing it from 'Stack' to 'stack' for consistency. This change ensures documentation aligns with the actual implementation, improving clarity and reducing potential confusion for users.

Commit Log

backport of commit d17593a74df69ca6862afbdf686498cfd0cca1e9 (#36440)

Importance: 8
2025-02-05T09:48:05+01:00

AI Summary

The code adds a CLI option '-parallelism=n' to the Terraform test command, allowing users to control the number of parallel operations during plan/apply. This change introduces a new field 'OperationParallelism' in several structs and updates the test runner to respect this value, ensuring it's passed to the mock client for testing. The change also updates dependencies to newer versions of 'go-tfe', 'jsonapi', and 'golang.org/x/time' to ensure compatibility with the new feature.

Commit Log

Accept CLI option for the number of parallel ops in a test run's plan/apply (#36323)

Importance: 9
2025-02-03T09:27:47+01:00

AI Summary

The commit updates several GitHub Actions workflows to use newer versions of setup-go and upload-artifact actions. This likely aims to benefit from bug fixes, performance improvements, or new features in the updated action versions.

Commit Log

Result of tsccr-helper -log-level=info gha update -latest .github/ (#36409)

Importance: 8
2025-01-31T18:07:48+01:00

AI Summary

The code adds a new 'deprecated' attribute to the Output struct, allowing deprecation messages for outputs. A test case is added to verify that the 'deprecated' attribute is correctly parsed and stored.

Commit Log

Add new deprecated attribute to output blocks

Importance: 8
2025-01-20T12:18:35+01:00

AI Summary

The code change allows unknown variables during apply operations in Terraform stacks, improving flexibility in handling dynamic input values. It modifies the validation logic to permit unknown values during apply, which may affect error handling and compatibility with existing configurations. The change includes test updates to ensure the new behavior is correctly handled, including scenarios with destroyed components and failed components.

Commit Log

stacks: allow unknown variables during apply operations (#36311)

Importance: 8
2025-01-17T15:02:26+01:00

AI Summary

The code change modifies the changelog generation script to use a dynamic footer file based on the release type. It ensures that only experiments are included in dev and alpha releases by switching between different footer files.

Commit Log

only include experiments in dev and alpha releases

Importance: 8
2025-01-17T15:02:26+01:00

AI Summary

The code adds a new function `maintenancerelease` to the changelog script, which modifies the changelog configuration to use the backported folder instead of the unreleased one for maintenance branches. This ensures that backported changes only appear in the patch release of the maintenance branch and not in the development branch's changelog.

Commit Log

setup script for maintenance branch By changing the folder changie uses for the changelog we can make sure that users can put the changelog entries into a specific folder based on if the change will be backported. This way it will only appear in the patch release of the maintenance branch and not in the changelog of the current development branch.

Importance: 8
2025-01-16T12:02:42+00:00

AI Summary

The code updates the Terraform mocking documentation to include the `override_during` attribute, which allows specifying when Terraform should generate values for resources or data sources. This change enhances the flexibility of mocking by enabling per-resource or per-data-source control over value generation during `plan` or `apply` operations.

Commit Log

Backport of docs: update mocking docs with new override_during attribute into v1.11 (#36345) * backport of commit 215414cda13bea0b39b28c9f775f96c308e75478 * backport of commit b9015d8b3d37335ae63d83badc96ab1b3d8c3b0b * backport of commit ed10f3049da3cfa75067226eb3c0a89f2b905189 ---------

Importance: 8
2025-01-16T11:55:48+01:00

AI Summary

The commit removes a section about experiments in the footer documentation. This likely reflects the removal or deprecation of experiment features in Terraform CLI.

Commit Log

remove experiment

Importance: 7
2025-01-16T11:55:48+01:00

AI Summary

The commit fixes a typo in the changelog script by removing an extra space before the 'firstbeta' command. This change ensures the script runs correctly and avoids potential parsing issues.

Commit Log

fix typo

Importance: 7
2025-01-16T11:55:48+01:00

AI Summary

The commit adds a comment explaining the purpose of the changelog script, clarifying it should be run on the last minor release branch. This ensures proper backporting functionality and improves documentation for future users.

Commit Log

add usage comment

Importance: 7
2025-01-16T10:05:25+00:00

AI Summary

The code adds support for write-only arguments in Terraform v1.11, allowing temporary sensitive data to be used without being stored in state or plan files. It updates documentation and navigation to reflect the new feature, including new pages and references to write-only arguments in various contexts.

Commit Log

Backport of Beta outline for write-only fields into v1.11 (#36336) * backport of commit 813fb400b742b619ada1ea4dbaaa2c785e917eb0 * backport of commit 3991aa6c2aaf704ebaf9f7d30db758841cc23bd9 * backport of commit eb019fe3455214b0bbefdd433aceeb54e4ed2b3b * backport of commit 78182f9dfaf81c87fdb00471510569d695b03cf6 * backport of commit 694a154555dde1cc3e11d6fdba41f43de3ffab77 * backport of commit a406e0917860f59d307c9622282f49fb4bb97e8f * backport of commit 94e9b3b86231ed41c9c760a9119c138eb6c5fde7 * backport of commit 69230fdf24eb82f153153450ad5564848eb03009 * backport of commit 1df0acefe1e79f202818da3bb1f44103f0ac54b9

Importance: 9
2025-01-16T00:58:29+01:00

AI Summary

The commit marks S3-native state locking as generally available in Terraform, replacing DynamoDB-based locking. It introduces the `use_lockfile` argument to enable the new locking mechanism and deprecates DynamoDB-related arguments.

Commit Log

changelog: mark S3-native state locking as GA

Importance: 9
2025-01-15T15:23:38+00:00

AI Summary

The commit updates the version to 1.11.0-beta1 and adds new features like write-only attributes and JUnit XML reporting for terraform test. It also includes bug fixes and dependency updates, such as upgrading go-slug to address a security vulnerability.

Commit Log

Prepare before 1.11.0-beta1 release (#36332)

Importance: 9
2025-01-15T15:22:53+00:00

AI Summary

The commit reverts the removal of the experiments section in the Terraform CLI documentation, restoring information about experimental features. It specifically reverts the removal of the `terraform rpcapi` and deferred actions features, which are experimental and not yet available in stable releases.

Commit Log

Revert "Remove all experiments, and EXPERIMENTS section" (#36333) * Revert "Remove all experiments, and EXPERIMENTS section (#36329)" This reverts commit 81f964940bb9c4ad08822e9400953697ba419d75. * Remove JUnit entry in experiments list

Importance: 8
2025-01-15T12:06:47+01:00

AI Summary

The commit adds a new Terraform command `terraform modules -json` to display installed modules in JSON format. This feature enhances transparency by showing which modules are referenced in the current Terraform configuration.

Commit Log

add changelog entry for terraform modules -json

Importance: 8
2025-01-15T11:45:21+00:00

AI Summary

The code allows WriteOnly attributes to require replacement, enhancing Terraform's handling of such attributes during planning and execution. New methods and tests were added to detect and handle WriteOnly attributes across nested blocks and objects, ensuring correct replacement behavior. Potential risks include compatibility issues with existing configurations that rely on previous behavior, and edge cases where WriteOnly attributes might be misinterpreted.

Commit Log

fix: Allow WriteOnly attributes to require replacement (#36313) * fix: Allow WriteOnly attributes to require replacement * address feedback * add test

Importance: 9
2025-01-08T14:46:16+01:00

AI Summary

The commit adds the 1.10.4 release entry to the CHANGELOG.md file. This is likely done to document the release date and any associated changes or fixes.

Commit Log

add 1.10.4 release to changelog

Importance: 5
2025-01-07T15:34:21+01:00

AI Summary

The commit updates the documentation to remove the 'deprecated' note from the 'region' parameter in the S3 configuration. This change likely reflects that the 'region' parameter is no longer deprecated and is still required for specifying the AWS Region.

Commit Log

s3: apply grammar suggestion from @jar-b

Importance: 5
2025-01-07T10:19:51+01:00

AI Summary

The code introduces support for rendering write-only attributes in the Terraform plan UI, allowing users to see these attributes in the diff output with appropriate labels. It adds a new renderer for write-only attributes and modifies existing diff computation logic to handle write-only attributes correctly, including their behavior during updates.

Commit Log

ephemeral: render write-only attributes in plan UI

Importance: 9
2025-01-07T09:41:40-05:00

AI Summary

The code adds a test case to deprecate the 'dynamodb_table' parameter in the S3 backend configuration. It ensures that a warning is generated when 'dynamodb_table' is used, suggesting the use of 'use_lockfile' instead.

Commit Log

backend/s3(test): add `dynamodb_table` deprecation case ```console % go test -count=1 -run="TestBackendConfig_PrepareConfigValidation" ./... ok github.com/hashicorp/terraform/internal/backend/remote-state/s3 0.507s ```

Importance: 9
2025-01-06T17:39:32+01:00

AI Summary

The code adds a check to FormatValue to handle ephemeral values by returning a specific string representation. This change improves clarity by explicitly identifying ephemeral values in formatted output, aiding in debugging and equality checks.

Commit Log

backport of commit f26b82d3ab5d38044364a2b6f5869ed43ef61c37 (#36270)

Importance: 8
2025-01-06T16:27:37+01:00

AI Summary

The code introduces a standardized way to retrieve client capabilities across Terraform components, replacing hardcoded values with a centralized function. This change improves consistency and maintainability by centralizing the definition of client capabilities, which define what Terraform can do when interacting with providers.

Commit Log

standardize client capabilities

Importance: 9
2025-01-02T15:40:06+00:00

AI Summary

The code updates a test to use a more detailed expected output string for debugging module display failures. It introduces platform-specific path separators for Windows to ensure accurate output comparison across operating systems.

Commit Log

command: Update test to aid debugging of failures (#36255)

Importance: 8