Skip to content

Releases: hashicorp/terraform-plugin-sdk

v2.37.0-alpha.1

20 Mar 14:21
Compare
Choose a tag to compare
v2.37.0-alpha.1 Pre-release
Pre-release

NOTES:

  • all: This Go module has been updated to Go 1.23 per the Go support policy. It is recommended to review the Go 1.23 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#1445)
  • This alpha pre-release contains an initial implementation for managed resource identity, which can used with Terraform v1.12.0-alpha20250319, to store and read identity data during plan and apply workflows. A managed resource identity can be used by defining an identity schema in the resource.Identity field. Once the identity schema is defined, you can read and store identity data in the new IdentityData struct that is available via the new Identity() method on ResourceData and ResourceDiff structs. (#1444)

v2.36.1

19 Feb 14:52
Compare
Choose a tag to compare

NOTES:

  • Write-only attribute support is in technical preview and offered without compatibility promises until Terraform 1.11 is generally available. (#1375)

BUG FIXES:

  • helper/schema: Fixed bug that allowed write-only attributes within set nested blocks. Any attribute within a set nested block with WriteOnly set to true will now trigger an error message. (#1427)

v2.36.0

04 Feb 16:40
Compare
Choose a tag to compare

NOTES:

  • Write-only attribute support is in technical preview and offered without compatibility promises until Terraform 1.11 is generally available. (#1375)

FEATURES:

  • helper/schema: Added WriteOnly schema behavior for managed resource schemas to indicate a write-only attribute. Write-only attribute values are not saved to the Terraform plan or state artifacts. (#1375)
  • helper/validation: Added PreferWriteOnlyAttribute() validator that warns practitioners when a write-only version of a configured attribute is available. (#1375)
  • schema/resource: Added ValidateRawResourceConfigFuncs field which allows resources to define validation logic during the ValidateResourceTypeConfig RPC. (#1375)

v2.35.0

31 Oct 18:35
Compare
Choose a tag to compare

NOTES:

  • all: This Go module has been updated to Go 1.22 per the Go support policy. It is recommended to review the Go 1.22 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#1373)
  • helper/schema: While this Go module will not receive support for ephemeral resource types, the provider server is updated to handle the new operations, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future. (#1390)

v2.34.0

17 May 18:39
Compare
Choose a tag to compare

NOTES:

  • all: The v2.33.0 release updated this Go module to Go 1.21 per the Go support policy. It is recommended to review the Go 1.21 release notes before upgrading. Any consumers building on earlier Go versions may experience errors (#1318)
  • This release contains support for deferred actions, which is an experimental feature only available in prerelease builds of Terraform 1.9 and later. This functionality is subject to change and is not protected by version compatibility guarantees. (#1335)

FEATURES:

  • helper/schema: Added (Provider).ConfigureProvider function for configuring providers that support additional features, such as deferred actions. (#1335)
  • helper/schema: Added (Resource).ResourceBehavior to allow additional control over deferred action behavior during plan modification. (#1335)

v2.33.0

23 Feb 15:12
Compare
Choose a tag to compare

NOTES:

  • helper/schema: While this Go module will not receive support for provider defined functions, the provider server is updated to handle the new operation, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future (#1316)

v2.32.0

29 Jan 16:15
Compare
Choose a tag to compare

NOTES:

  • helper/schema: While this Go module will not receive support for moving resource state across resource types, the provider server is updated to handle the new operation, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future. (#1307)

v2.31.0

14 Dec 17:17
Compare
Choose a tag to compare

NOTES:

  • helper/schema: While this Go module will not receive support for provider-defined functions, the provider server is updated to handle the new operations, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future. (#1288)

v2.30.0

09 Nov 11:06
Compare
Choose a tag to compare

NOTES:

  • meta: The SDKVersion variable, SDKPrerelease variable, and SDKVersionString() function have been deprecated. Use the Go standard library runtime/debug package build information instead. (#1257)

BUG FIXES:

  • meta: Fixed version in SDKVersion variable and SDKVersionString() function (#1257)
  • helper/schema: Ensured (ResourceData).GetRawConfig() data is populated for Provider.ConfigureFunc and Provider.ConfigureContextFunc (#1270)
  • helper/schema: Ensured (ResourceData).GetOkExists() second result is true when configuration contains zero-value data in Provider.ConfigureFunc and Provider.ConfigureContextFunc (#1270)

v2.29.0

06 Sep 16:48
Compare
Choose a tag to compare

NOTES:

  • all: This Go module has been updated to Go 1.20 per the Go support policy. It is recommended to review the Go 1.20 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#1245)

FEATURES:

  • helper/schema: Upgrade to protocol version 5.4, which can significantly reduce memory usage with Terraform 1.6 and later when a configuration includes multiple instances of the same provider (#1234)

ENHANCEMENTS:

  • helper/validation: Added AllDiag and AnyDiag, which are SchemaValidateDiagFunc variants of All and Any (#1155)
  • helper/validation: Added quoting in StringInSlice error diagnostic output to prevent confusion with values that contain spaces (#464)