Skip to content

Commit f825dca

Browse files
Merge branch 'main' into zhiwei/collections-length-func
2 parents d6fb924 + 5310c68 commit f825dca

File tree

106 files changed

+1320
-538
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+1320
-538
lines changed

.changes/1.16.0.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## 1.16.0 (September 17, 2025)
2+
3+
NOTES:
4+
5+
* all: This Go module has been updated to Go 1.24 per the [Go support policy](https://go.dev/doc/devel/release#policy). It is recommended to review the [Go 1.24 release notes](https://go.dev/doc/go1.24) before upgrading. Any consumers building on earlier Go versions may experience errors. ([#1217](https://github.com/hashicorp/terraform-plugin-framework/issues/1217))
6+
* Support for the new `action{}` block is in technical preview and offered without compatibility promises until Terraform 1.14 is generally available. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
7+
* action: This release contains a new interface (`action.Action`) and packages for implementing action types, available in Terraform 1.14+. An action in Terraform can be defined by providers to model side-effects that practitioners can reference in their configurations via the `lifecycle.action_trigger` block. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
8+
* List support is in technical preview and offered without compatibility promises until Terraform 1.14 is generally available. ([#1150](https://github.com/hashicorp/terraform-plugin-framework/issues/1150))
9+
* list: This release contains a new interface (`list.ListResource`) and packages for implementing list resource types, available in Terraform 1.14+. A list resource in Terraform can be defined by providers to list remote resources within a given scope. ([#1150](https://github.com/hashicorp/terraform-plugin-framework/issues/1150))
10+
11+
FEATURES:
12+
13+
* action: New package for implementing actions. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
14+
* action/schema: New package for implementing action schemas. ([#1183](https://github.com/hashicorp/terraform-plugin-framework/issues/1183))
15+
* types: Exported a previously internal function, `TerraformTypeToFrameworkType`, which converts `tftypes.Type` to a known framework type. ([#1200](https://github.com/hashicorp/terraform-plugin-framework/issues/1200))
16+
* list: New package for implementing list resources. ([#1150](https://github.com/hashicorp/terraform-plugin-framework/issues/1150))
17+
* all: Update Framework to handle new ListResource RPCs. ([#1157](https://github.com/hashicorp/terraform-plugin-framework/issues/1157))
18+
19+
ENHANCEMENTS:
20+
21+
* provider: Added `ProviderWithActions` interface for implementing actions. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
22+
* provider: Added `ActionData` to `ConfigureResponse`, to pass provider-defined data to `action.Action` implementations. ([#1185](https://github.com/hashicorp/terraform-plugin-framework/issues/1185))
23+
* provider: Added `ListResourceData` to `ConfigureResponse`, to pass provider-defined data to `list.ListResource` implementations. ([#1202](https://github.com/hashicorp/terraform-plugin-framework/issues/1202))
24+
* tfsdk: Allow `SetAtPath` to be called with a `tftypes.Value`. ([#1198](https://github.com/hashicorp/terraform-plugin-framework/issues/1198))
25+
* tfsdk: Allow `SetAttribute` to be called with a `tftypes.Value`. ([#1205](https://github.com/hashicorp/terraform-plugin-framework/issues/1205))
26+
* list: Add the `ListResourceWithRawV5Schemas` and `ListResourceWithRawV6Schemas` interfaces to support list implementation on non-framework resources. ([#1198](https://github.com/hashicorp/terraform-plugin-framework/issues/1198))
27+

.changes/1.16.1.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## 1.16.1 (September 29, 2025)
2+
3+
BUG FIXES:
4+
5+
* all: Prevent identity change validation from raising an error when prior identity is empty (all attributes are null) ([#1229](https://github.com/hashicorp/terraform-plugin-framework/issues/1229))
6+
* all: Added an additional validation check to ensure the resource identity object is not null. ([#1193](https://github.com/hashicorp/terraform-plugin-framework/issues/1193))
7+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
kind: BUG FIXES
2+
body: 'fwserver: update validation list result validation to check if an identity''s values are all null'
3+
time: 2025-10-01T15:23:00.976476+02:00
4+
custom:
5+
Issue: "1230"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
kind: FEATURES
2+
body: 'action/schema: Added `WriteOnly` schema field for action schemas.'
3+
time: 2025-10-14T17:37:39.087475-04:00
4+
custom:
5+
Issue: "1233"

.github/workflows/ci-changie.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
# Ensure terraform-devex-repos is updated on version changes.
2222
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2323
# Ensure terraform-devex-repos is updated on version changes.
24-
- uses: miniscruff/changie-action@6dcc2533cac0495148ed4046c438487e4dceaa23 # v2.0.0
24+
- uses: miniscruff/changie-action@5036dffa79ffc007110dc7f75eca7ef72780e147 # v2.1.0
2525
with:
2626
version: latest
2727
args: batch patch --dry-run

.github/workflows/ci-github-actions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
17-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
17+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
1818
with:
1919
go-version-file: 'go.mod'
2020
- run: go install github.com/rhysd/actionlint/cmd/actionlint@latest

.github/workflows/ci-go.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
20-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
20+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
2121
with:
2222
go-version-file: 'go.mod'
2323
- run: go mod download
24-
- uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
24+
- uses: golangci/golangci-lint-action@0a35821d5c230e903fcfe077583637dea1b27b47 # v9.0.0
2525
terraform-provider-corner-tfprotov5:
2626
defaults:
2727
run:
@@ -34,7 +34,7 @@ jobs:
3434
with:
3535
path: terraform-provider-corner
3636
repository: hashicorp/terraform-provider-corner
37-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
37+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
3838
with:
3939
go-version-file: 'go.mod'
4040
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
@@ -60,7 +60,7 @@ jobs:
6060
with:
6161
path: terraform-provider-corner
6262
repository: hashicorp/terraform-provider-corner
63-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
63+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
6464
with:
6565
go-version-file: 'go.mod'
6666
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
@@ -79,16 +79,16 @@ jobs:
7979
runs-on: ubuntu-latest
8080
strategy:
8181
matrix:
82-
go-version: [ '1.24', '1.23' ]
82+
go-version: [ '1.24', '1.25' ]
8383
steps:
8484
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
85-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
85+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
8686
with:
8787
go-version: ${{ matrix.go-version }}
8888
- run: go mod download
8989
- run: go test -coverprofile=coverage.out ./...
9090
- run: go tool cover -html=coverage.out -o coverage.html
91-
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
91+
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
9292
with:
9393
name: go-${{ matrix.go-version }}-coverage
9494
path: coverage.html

.github/workflows/ci-goreleaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
18-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
18+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
1919
with:
2020
go-version-file: 'go.mod'
2121
- uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ jobs:
3232
# More details: https://github.com/actions/checkout/blob/b4626ce19ce1106186ddf9bb20e706842f11a7c3/adrs/0153-checkout-v2.md#persist-credentials
3333
persist-credentials: false
3434
- name: Batch changes
35-
uses: miniscruff/changie-action@6dcc2533cac0495148ed4046c438487e4dceaa23 # v2.0.0
35+
uses: miniscruff/changie-action@5036dffa79ffc007110dc7f75eca7ef72780e147 # v2.1.0
3636
with:
3737
version: latest
3838
args: batch ${{ needs.changelog-version.outputs.version }}
3939
- name: Merge changes
40-
uses: miniscruff/changie-action@6dcc2533cac0495148ed4046c438487e4dceaa23 # v2.0.0
40+
uses: miniscruff/changie-action@5036dffa79ffc007110dc7f75eca7ef72780e147 # v2.1.0
4141
with:
4242
version: latest
4343
args: merge
@@ -84,7 +84,7 @@ jobs:
8484
ref: ${{ inputs.versionNumber }}
8585
fetch-depth: 0
8686

87-
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
87+
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
8888
with:
8989
go-version-file: 'go.mod'
9090

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
## 1.16.1 (September 29, 2025)
2+
3+
BUG FIXES:
4+
5+
* all: Prevent identity change validation from raising an error when prior identity is empty (all attributes are null) ([#1229](https://github.com/hashicorp/terraform-plugin-framework/issues/1229))
6+
* all: Added an additional validation check to ensure the resource identity object is not null. ([#1193](https://github.com/hashicorp/terraform-plugin-framework/issues/1193))
7+
8+
## 1.16.0 (September 17, 2025)
9+
10+
NOTES:
11+
12+
* all: This Go module has been updated to Go 1.24 per the [Go support policy](https://go.dev/doc/devel/release#policy). It is recommended to review the [Go 1.24 release notes](https://go.dev/doc/go1.24) before upgrading. Any consumers building on earlier Go versions may experience errors. ([#1217](https://github.com/hashicorp/terraform-plugin-framework/issues/1217))
13+
* Support for the new `action{}` block is in technical preview and offered without compatibility promises until Terraform 1.14 is generally available. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
14+
* action: This release contains a new interface (`action.Action`) and packages for implementing action types, available in Terraform 1.14+. An action in Terraform can be defined by providers to model side-effects that practitioners can reference in their configurations via the `lifecycle.action_trigger` block. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
15+
* List support is in technical preview and offered without compatibility promises until Terraform 1.14 is generally available. ([#1150](https://github.com/hashicorp/terraform-plugin-framework/issues/1150))
16+
* list: This release contains a new interface (`list.ListResource`) and packages for implementing list resource types, available in Terraform 1.14+. A list resource in Terraform can be defined by providers to list remote resources within a given scope. ([#1150](https://github.com/hashicorp/terraform-plugin-framework/issues/1150))
17+
18+
FEATURES:
19+
20+
* action: New package for implementing actions. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
21+
* action/schema: New package for implementing action schemas. ([#1183](https://github.com/hashicorp/terraform-plugin-framework/issues/1183))
22+
* types: Exported a previously internal function, `TerraformTypeToFrameworkType`, which converts `tftypes.Type` to a known framework type. ([#1200](https://github.com/hashicorp/terraform-plugin-framework/issues/1200))
23+
* list: New package for implementing list resources. ([#1150](https://github.com/hashicorp/terraform-plugin-framework/issues/1150))
24+
* all: Update Framework to handle new ListResource RPCs. ([#1157](https://github.com/hashicorp/terraform-plugin-framework/issues/1157))
25+
26+
ENHANCEMENTS:
27+
28+
* provider: Added `ProviderWithActions` interface for implementing actions. ([#1181](https://github.com/hashicorp/terraform-plugin-framework/issues/1181))
29+
* provider: Added `ActionData` to `ConfigureResponse`, to pass provider-defined data to `action.Action` implementations. ([#1185](https://github.com/hashicorp/terraform-plugin-framework/issues/1185))
30+
* provider: Added `ListResourceData` to `ConfigureResponse`, to pass provider-defined data to `list.ListResource` implementations. ([#1202](https://github.com/hashicorp/terraform-plugin-framework/issues/1202))
31+
* tfsdk: Allow `SetAtPath` to be called with a `tftypes.Value`. ([#1198](https://github.com/hashicorp/terraform-plugin-framework/issues/1198))
32+
* tfsdk: Allow `SetAttribute` to be called with a `tftypes.Value`. ([#1205](https://github.com/hashicorp/terraform-plugin-framework/issues/1205))
33+
* list: Add the `ListResourceWithRawV5Schemas` and `ListResourceWithRawV6Schemas` interfaces to support list implementation on non-framework resources. ([#1198](https://github.com/hashicorp/terraform-plugin-framework/issues/1198))
34+
135
## 1.16.0-beta.1 (July 31, 2025)
236

337
FEATURES:

0 commit comments

Comments
 (0)