Skip to content

Releases: hashicorp/terraform-plugin-framework

v1.4.2

24 Oct 15:26
Compare
Choose a tag to compare

BUG FIXES:

  • resource: Add Private field to DeleteResource type, which was missing to allow provider logic to update private state on errors (#863)
  • resource: Prevented private state data loss if resource destruction returned an error (#863)

v1.4.1

09 Oct 11:01
Compare
Choose a tag to compare

BUG FIXES:

  • providerserver: Prevented Data Source Type Not Found and Resource Type Not Found errors with Terraform 1.6 and later (#853)

v1.4.0

06 Sep 17:01
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. (#835)

FEATURES:

  • providerserver: Upgrade to protocol versions 5.4 and 6.4, which can significantly reduce memory usage with Terraform 1.6 and later when a configuration includes multiple instances of the same provider (#828)

v1.3.5

17 Aug 17:05
Compare
Choose a tag to compare

NOTES:

  • internal: Changed provider defined method execution logs from DEBUG log level to TRACE (#818)

BUG FIXES:

  • internal/fwserver: Prevented Invalid Element Type diagnostics for nested attributes and blocks implementing CustomType field (#823)

v1.3.4

03 Aug 18:34
Compare
Choose a tag to compare

BUG FIXES:

  • types/basetypes: Prevented Float64Value Terraform data consistency errors for numbers with high precision floating point rounding errors (#817)

v1.3.3

20 Jul 18:44
Compare
Choose a tag to compare

BUG FIXES:

  • types/basetypes: Minor reduction of memory allocations for ObjectValue type ToTerraformValue() method, which decreases provider operation durations at scale (#775)
  • resource: Prevented panic during planning caused by SetNestedAttribute with nested attribute Default and multiple configured elements (#783)
  • tfsdk: Prevented Value Conversion Error diagnostics when using Set() method with base types instead of custom types (#806)
  • providerserver: Significantly reduced memory usage for framework data handling operations, especially during the PlanResourceChange RPC (#792)

v1.3.2

28 Jun 17:31
Compare
Choose a tag to compare

BUG FIXES:

  • resource/schema: Ensured Default implementations received request Path and have response Diagnostics handled (#778)
  • resource/schema: Prevented panics with Default implementations on list, map, and set where no response Diagnostics or PlanValue was returned (#778)
  • providerserver: Ensured Terraform CLI interrupts (e.g. Ctrl-c) properly cancel the context.Context of inflight requests (#782)
  • providerserver: Prevented caching of unused data and managed resource schemas (#784)

v1.3.1

14 Jun 18:49
Compare
Choose a tag to compare

BUG FIXES:

  • datasource/schema: Ensure nested attribute and block Equal methods check nested attribute and block definition equality (#752)
  • provider/metaschema: Ensure nested attribute Equal methods check nested attribute definition equality (#752)
  • provider/schema: Ensure nested attribute and block Equal methods check nested attribute and block definition equality (#752)
  • resource/schema: Ensure nested attribute and block Equal methods check nested attribute and block definition equality (#752)
  • types/basetypes: Prevented panics in ListType, MapType, and SetType methods when ElemType field is not set (#714)
  • resource/schema: Prevented Value Conversion Error diagnostics for attributes and blocks implementing both CustomType and PlanModifiers fields (#754)
  • types/basetypes: Prevented panic with ListTypableWithSemanticEquals and SetTypableWithSemanticEquals when proposed new element count was greater than prior element count (#772)

v1.3.0

07 Jun 14:10
Compare
Choose a tag to compare

NOTES:

  • datasource/schema: The Schema type Validate() method has been deprecated in preference of ValidateImplementation() (#699)
  • provider/metaschema: The Schema type Validate() method has been deprecated in preference of ValidateImplementation() (#699)
  • provider/schema: The Schema type Validate() method has been deprecated in preference of ValidateImplementation() (#699)
  • resource/schema: The Schema type Validate() method has been deprecated in preference of ValidateImplementation() (#699)

ENHANCEMENTS:

  • datasource/schema: Added Schema type ValidateImplementation() method, which performs framework-defined schema validation and can be used in unit testing (#699)
  • provider/metaschema: Added Schema type ValidateImplementation() method, which performs framework-defined schema validation and can be used in unit testing (#699)
  • provider/schema: Added Schema type ValidateImplementation() method, which performs framework-defined schema validation and can be used in unit testing (#699)
  • resource/schema: Added Schema type ValidateImplementation() method, which performs framework-defined schema validation and can be used in unit testing (#699)
  • datasource/schema: Raise validation errors if attempting to use top-level for_each attribute name, which requires special Terraform configuration syntax to be usable by the data source (#704)
  • resource/schema: Raise validation errors if attempting to use top-level for_each attribute name, which requires special Terraform configuration syntax to be usable by the resource (#704)
  • datasource/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language (#705)
  • provider/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language (#705)
  • resource/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language (#705)
  • all: Improved SDK logging performance when messages would be skipped due to configured logging level (#744)

BUG FIXES:

  • datasource/schema: Raise errors with ListAttribute, MapAttribute, ObjectAttribute, and SetAttribute implementations instead of panics when missing required AttributeTypes or ElementTypes fields (#699)
  • provider/metaschema: Raise errors with ListAttribute, MapAttribute, ObjectAttribute, and SetAttribute implementations instead of panics when missing required AttributeTypes or ElementTypes fields (#699)
  • provider/schema: Raise errors with ListAttribute, MapAttribute, ObjectAttribute, and SetAttribute implementations instead of panics when missing required AttributeTypes or ElementTypes fields (#699)
  • resource/schema: Raise errors with ListAttribute, MapAttribute, ObjectAttribute, and SetAttribute implementations instead of panics when missing required AttributeTypes or ElementTypes fields (#699)
  • tfsdk: Raise framework errors instead of generic upstream errors or panics when encountering unexpected values with Set() methods (#715)

v1.2.0

21 Mar 13:24
Compare
Choose a tag to compare

NOTES:

  • New DEBUG level Detected value change between proposed new state and prior state log messages with the offending attribute path are now emitted when proposed new state value differences would cause the framework to automatically mark all unconfigured Computed attributes as unknown during planning. These can be used to troubleshoot potential resource implementation issues, or framework and Terraform plan logic bugs. (#630)
  • 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. (#682)

FEATURES:

  • resource/schema: Introduce packages, interface types, and built-in static value functionality for schema-based default values (#674)

ENHANCEMENTS:

  • internal/fwserver: Added DEBUG logging to aid troubleshooting unexpected plans with unknown values (#630)
  • types/basetypes: Add BoolValue type NewBoolPointerValue() creation function and ValueBoolPointer() method (#689)
  • types/basetypes: Add Float64Value type NewFloat64PointerValue() creation function and ValueFloat64Pointer() method (#689)
  • types/basetypes: Add Int64Value type NewInt64PointerValue() creation function and ValueInt64Pointer() method (#689)
  • types/basetypes: Add StringValue type NewStringPointerValue() creation function and ValueStringPointer() method (#689)
  • resource/schema: Added Default fields to Attribute types, which support schema-based default values (#674)

BUG FIXES:

  • types/basetypes: Fixed Float64Type type ValueFromTerraform method to handle valid, stringified numbers from Terraform (#648)
  • resource: Prevented nested attribute and block plan modifications from being undone (#669)