## hashicorp/terraform — v1.17.0-alpha20260729…v1.17.0-alpha20260812

_79 commits._

### Features
- **feat: Implement `DependencyLockingLogger` interface on `StateMigrateJSON`** (e25a839)
- **feat: Implement `StateStoreProviderTrustLogger` interface on `StateMigrateJSON`** (1b63e7b)
- **feat: Add `StateMigrateJSON`, implement `Spacer` interface** (5e8952c)
- **feat: add policy_query_summary output for query operations** (f52b32e)
- **feat: Add methods to state migrate view for events only logged during machine-readable output, add to state migrate command** (6acdf36)
- **Bring validation from legacy config to new graph-based config builder (#38999)** (2e1710b)
- **PSS: Add state store provider installation security features to `state migrate` command (#38813)** (e049113)
- **update moduletest/graph for new dag** (c5fc7c1)
- **add a type to dag.Set** (da5ce3d)
- **command/state-migrate: Implement support for upgrades (#38908)** (cdcb405)
- **version: Add `format_version` field to JSON output (#38930)** (d97ce2c)

### Fixes
- **fix: Make consts use new `stateMigrationFailureMode` type** (1f87245)
- **fix: Fix discrepancy between "automatic" and "automation" in const name and value** (8ef077d)
- **views/query: rename queryPolicyPolicyResult, replace copyIdentity, fix log level, add doc comments** (8559a7c)
- **fix: route PolicyResult hooks through query operation view** (cf0b26d)
- **fix: stop address parser truncating on dots in resource addresses** (b10775a)
- **fix: Ensure diagnostics not discarded when renewing an ephemeral resource (#38989)** (bca24bb)
- **fix: Ensure diagnostics not discarded if someone tries to call `WriteStateBytes` on the builtin `terraform` provider (#38988)** (c9def3e)
- **Fix CLI hang when policy evaluations are pending after task stage fails (#38751)** (89881f3)
- **fix Ancestors comment** (67508f9)
- **fix RemoveEdge** (98c44b7)
- **start with go fix** (ddaa6e4)

### Backend
- **Prepare before 1.17.0-alpha20260812 release (#39006)** (5e83043)
- **Merge pull request #38937 from hashicorp/tfsearch/policy-query-summary-records** (82720b9)
- **command/init: Update backend prompt wording (#38980)** (477b50e)
- **Address unused diagnostics in v4 state file parsing logic (#38990)** (b6daf8b)
- **policy: split replace actions into separate create/delete policy evaluations (#38970)** (c46b718)
- **[TF-38853] Validate provider versions in config match the lock file (#38829)** (53cb118)
- **Merge pull request #38971 from hashicorp/jbardin/root-free** (c6268bd)
- **dag simplification** (882f390)
- **Merge pull request #38962 from hashicorp/jbardin/daggit** (1a59660)
- **Merge pull request #38961 from hashicorp/jbardin/deprecation-perf** (e473e89)
- **remove unused breadth first walks** (7f1102f)
- **unexport internal dag walk method** (965893d)
- **embed addrs.UniqueKey in keyVertex to combine their methods more obviously** (db2c49c)
- **remove unused** (e91b9e0)
- **finally remove the unused set values** (adb9750)
- **remove unused Grapher/SubGrapher interfaces** (efc7061)
- **Final renaming, calrification, and commenting** (b0ec8dc)
- **missing test** (592ec10)
- **iterate of Vertices instead of copying** (4af6b71)
- **hide dag.Set impl to enfore access** (4d31976)
- **rename Up and Down edges** (15c8050)
- **better edge field names** (934d7e0)
- **enforce comparable on graph sets** (79efbd3)
- **remove VertexName** (37394d8)
- **check for deprecation before transforming cty values** (fc47fb1)
- **anything that uses edges can use a simple struct** (ff5be56)
- **remove dag.BasicEdge** (62ca6e1)
- **remove more use of Edge type** (0666b02)
- **update terraform package to work with dag changes** (35505ee)
- **udpate addrs to work with graph changes** (42609cf)
- **used typed Vertex in the graph** (5c81084)
- **remove EdgesFrom and EdgesTo** (7e088ef)
- **remove hashcode and Hasher interface** (0707228)
- **remove edges set from Dag structure** (1d22a6d)
- **Cleanup after 1.17.0-alpha20260729 release (#38946)** (d7196cf)
- **command/show: Emit diagnostics from backend initialisation (#38934)** (975c270)

### Tests
- **test: Update test to reflect the new `state_store_provider_initialization_start` message type, and how it's used as the value of the `type` field in JSON objects.** (324c62b)
- **test: Fix flakey test by avoiding use of `(TestOutput).All()` (#38969)** (5ae7a60)

### Chore
- **refactor: Rename const to DuringWorkDirStateUpdate** (d32a084)
- **refactor: Rename `DependencyLockingLogger` interface to `ProviderLockingLogger`, update method names similarly** (9ef3d3a)
- **refactor: Add method to the state migrate view interface for logging when different types of error occurs** (c1aa3ca)
- **chore: run go fmt** (2b5a741)
- **refactor: Change "initializing" to "installing" when describing provider installation.** (c103e9f)
- **refactor: Make provider trust-related message codes not specific to PSS** (91ed7b8)
- **refactor: Make `LogInitializingStateStoreProviderStart` method no longer use the init message registry when constructing the logged message.** (babb142)
- **refactor: Add `StateStoreProviderTrustLogger` interface that enables a view to log details about establishing trust for a PSS provider** (c4bf6d2)
- **refactor: Add methods to the state migrate view interface for logging when a migration starts and completes, and when the overall command has finished.** (4d37895)
- **refactor: Add `LogConfigurationCopyingStart` method to `init` command's view implementations** (85588d6)
- **Refactor: Change how the `init` human view prepares messages (#38973)** (da3a115)
- **refactor(init): Add `LogModuleUpgrade` and `LogModuleInitialization` methods to the `ModuleInstallationLogger` interface, refactor `init` command to use methods. (#38979)** (afa5687)
- **refactor: Change code related to establishing trust in providers used for PSS to use word "trust" over "safe"** (4f08425)
- **refactor(init,get): Add new `ModuleInstallationLogger` interface and replace the old interface used to hook into the module installer (#38964)** (add1bf6)
- **refactor(init,state_migrate): Introduce new `DependencyLockingLogger` interface, use new methods for logging about events involving dependency lock files (#38963)** (1088568)
- **chore(deps): bump the github-actions-backward-compatible group across 1 directory with 4 updates (#38956)** (26d3680)
- **chore(deps): bump actions/setup-go in the github-actions-breaking group (#38955)** (0ea925e)
- **refactor: Rename`views.ProviderInstaller` to `views.ProviderInstallationLogger` (#38945)** (d2be3a7)
- **chore: Remove unused `AppliedActionInvocation` method from JSONView, and related const. (#38936)** (071a358)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/hashicorp/terraform?utm_source=github-action)._