Skip to content

Releases: hashicorp/terraform-plugin-sdk

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)

v2.28.0

24 Aug 17:21
Compare
Choose a tag to compare

NOTES:

  • helper/schema: The Resource type EnableApplyLegacyTypeSystemErrors and EnablePlanLegacyTypeSystemErrors fields can be enabled to more easily discover resource data consistency errors which Terraform would normally demote to warning logs. Before enabling the flag in a production release for a resource, the resource should be exhaustively acceptance tested as there may be unrecoverable error situations for practitioners. It is recommended to first enable and test in environments where it is easy to clean up resources, potentially outside of Terraform. (#1227)

ENHANCEMENTS:

  • helper/schema: Added Resource type EnableLegacyTypeSystemApplyErrors field, which will prevent Terraform from demoting data consistency errors to warning logs during ApplyResourceChange (Create, Update, and Delete) operations with the resource (#1227)
  • helper/schema: Added Resource type EnableLegacyTypeSystemPlanErrors field, which can be used to prevent Terraform from demoting data consistency errors to warning logs during PlanResourceChange operations with the resource (#1227)

v2.27.0

28 Jun 16:26
Compare
Choose a tag to compare

NOTES:

  • helper/schema: Consumers directly referencing the Resource type Schema field should switch to the SchemaMap method to ensure new SchemaFunc field data is properly retrieved (#1217)

ENHANCEMENTS:

  • all: Improved SDK logging performance when messages would be skipped due to configured logging level (#1202)
  • helper/schema: Added Resource type SchemaFunc field and SchemaMap method, which can reduce resident memory usage with large schemas (#1217)

v2.26.1

21 Mar 13:17
Compare
Choose a tag to compare

BUG FIXES:

  • helper/resource: Prevented build errors with type aliasing added in v2.26.0 (#1176)

v2.26.0

20 Mar 19:14
Compare
Choose a tag to compare

NOTES:

  • This Go module has been updated to Go 1.19 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#1163)
  • helper/resource: Deprecated PrefixedUniqueId() and UniqueId(). Use the helper/id package instead. These deprecations are to assist in migrating to terraform-plugin-testing (#1167)
  • helper/resource: Deprecated RetryContext(), StateChangeConf, and associated *Error types. Use the helper/retry package instead. These deprecations are to assist in migrating to terraform-plugin-testing (#1167)

ENHANCEMENTS:

  • helper/id: New helper/id package added. resource.PrefixedUniqueId() and resource.UniqueId() are deprecated, helper/id should be used instead. helper/resource now contains aliases to the migrated code (#1167)
  • helper/retry: New helper/retry package added. resource.RetryContext(), resource.StateChangeConf, and associated *Error types are deprecated, helper/retry should be used instead. `helper/resource now contains aliases to the migrated code (#1167)

v2.25.0

15 Feb 13:57
Compare
Choose a tag to compare

BUG FIXES:

  • helper/schema: Allow diagnostic messages with incorrect UTF-8 encoding to pass through with the invalid sequences replaced with the Unicode Replacement Character. This avoids returning the unhelpful message "string field contains invalid UTF-8" in that case. (#1111)
  • helper/schema: Prevented unexpected difference for timeouts on first plan after import (#1146)

v2.24.1

14 Nov 15:47
5dfe31a
Compare
Choose a tag to compare

BUG FIXES:

  • helper/resource: Fixed TestStep type ImportStateCheck field so that it only matches against resources following a change in behaviour in Terraform 1.3 that imports both resources and data sources into state (#1089)
  • helper/resource: Prevented go-plugin goroutine leak per Terraform command (#1095)
  • helper/resource: Prevented goroutine leak per Terraform command when testing terraform-plugin-sdk based providers via Providers or ProviderFactories (#1091)
  • helper/resource: Prevented provider configuration already given error when TestStep type Config field already contained provider configuration block (#1092)

v2.24.0

13 Oct 14:47
Compare
Choose a tag to compare

ENHANCEMENTS:

  • helper/resource: Added TestStep type RefreshState field, which enables a step that refreshes state without an explicit apply or configuration changes (#1070)

BUG FIXES:

  • helper/resource: Fixed TestStep type ImportStateVerify field so that it only matches against resources following a change in behaviour in Terraform 1.3 that imports both resources and their dependent data sources (#1077)

v2.23.0

15 Sep 14:16
a0ace48
Compare
Choose a tag to compare

ENHANCEMENTS:

  • helper/resource: Added Terraform configuration to TRACE logging (#1059)
  • helper/resource: Added terraform plan output to TRACE logging (#1058)

BUG FIXES:

  • helper/resource: Prevented Inconsistent dependency lock file errors when using ExternalProviders outside the hashicorp namespace (#1057)