ENHANCEMENTS:
- tf5to6server: add
translatepackage containing schema translator helper methods (#352)
NOTES:
- This Go module has been updated to Go 1.25 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#355)
- all: To prevent compilation errors, ensure your Go module is updated to at least terraform-plugin-framework@v1.19.0, terraform-plugin-go@v0.31.1, terraform-plugin-sdk/v2@v2.40.0, and terraform-plugin-testing@v1.15.0 before upgrading this dependency. (#350)
FEATURES:
- all: Upgraded protocols and added types to support
GenerateResourceConfigRPC. (#350)
FEATURES:
- tf6muxserver: Upgraded mux server implementation to support state store types. (#345)
- Added support for attribute and block level deprecation messages via the
DeprecationMessagefield in protocol version conversion between tfprotov5 and tfprotov6 (#346)
NOTES:
- all: This Go module has been updated to Go 1.24 per the Go support policy. It is recommended to review the Go 1.24 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#324)
FEATURES:
- all: Upgraded mux server implementations to support action types. (#314)
- all: Upgraded mux server implementations to support the new list. (#313)
NOTES:
- This alpha pre-release contains the
ListResourceRPC which returns a list of resource identities for a single managed resource type. (#313) - The
ListResourceandValidateListResourceConfigRPCs are considered experimental and may change up until general availability. (#310) - This alpha pre-release contains the
ActionsRPC that allows practitioners to specify and invoke non-CRUD, ad-hoc operations that can cause changes to managed resources. (#314) - The
ActionsandValidateActionConfigRPCs are considered experimental and may change up until general availability. (#317)
BUG FIXES:
- all: Fixed a bug where muxed provider servers were not enforced to implement
GetResourceIdentitySchemas, which is required by Terraform v1.12.1 in the scenario where at least one of the muxed provider servers supports identity. Before upgrading this dependency the Go modules that support identity should also be upgraded to prevent confusing errors, which are: terraform-plugin-go@v0.28.0, terraform-plugin-framework@v1.15.0, terraform-plugin-sdk/v2@v2.37.0, and terraform-plugin-testing@v1.13.0. (#307)
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. (#291)
FEATURES:
- tf5muxserver+tf6muxserver+tf6to5server+tf5to6server: Upgraded protocols and added types to support the new resource identity feature (#278)
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. (#291)
- This alpha pre-release contains the muxing logic for managed resource identity, which can used with Terraform v1.12.0-alpha20250312, to store and read identity data during plan and apply workflows. (#278)
FEATURES:
- all: Upgrade protocol versions to support write-only attributes (#272)
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. (#250)
FEATURES:
- all: Upgrade protocol versions to support ephemeral resource types (#257)
NOTES:
- all: The
v0.15.0release 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 (#227)
ENHANCEMENTS:
- tf5to6server: Add deferred action request and response fields to RPC translations (#237)
- tf6to5server: Add deferred action request and response fields to RPC translations (#237)
ENHANCEMENTS:
- all: Upgrade protocol versions to support modified
CallFunctionRPC which returns a FunctionError rather than Diagnostics (#226)
FEATURES:
- all: Upgrade protocol versions to support the
MoveResourceStateRPC (#220)
NOTES:
- all: Update
google.golang.org/grpcdependency to address CVE-2023-44487 (#203)
FEATURES:
- all: Upgrade protocol versions to support provider-defined functions (#209)
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. (#188)
FEATURES:
- all: 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 (#185)
BUG FIXES:
- tf5muxserver: Ensure
GetProviderSchemaRPC diagnostics are properly returned to Terraform (#176) - tf6muxserver: Ensure
GetProviderSchemaRPC diagnostics are properly returned to Terraform (#176)
BUG FIXES:
- tf5muxserver: Adjust function signature of
NewMuxServer()to return*muxServer, which is required to satisfy thetfprotov5.ProviderServerinterface (#172) - tf6muxserver: Adjust function signature of
NewMuxServer()to return*muxServer, which is required to satisfy thetfprotov6.ProviderServerinterface (#172)
BUG FIXES:
- tf5muxserver: Removed unnecessary resource schema caching, which reduces resident memory utilization (#168)
- tf6muxserver: Removed unnecessary resource schema caching, which reduces resident memory utilization (#168)
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. (#143)
BUG FIXES:
- tf5muxserver+tf6muxserver: Ensure provider acceptance testing can properly detect mux server errors in
GetProviderSchemaresponse (#152)
ENHANCEMENTS:
- tf5muxserver+tf6muxserver: Support Terraform 1.3+ PlanResourceChange on destroy for underlying servers which enable the capability, such as terraform-plugin-framework (#133)
NOTES:
- This Go module has been updated to Go 1.18 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#101)
BUG FIXES:
- tf5muxserver+tf6muxserver: Allow differing provider schema block
MinItemsandMaxItemsas terraform-plugin-framework does not use those fields for configuration validation (#118) - tf5muxserver+tf6muxserver: Deferred combined server implementation errors until
GetProviderSchemaRPC to prevent confusing Terraform CLI plugin startup errors (#121)
NOTES:
- The underlying
terraform-plugin-logdependency has been updated to v0.6.0, which includes log filtering support and breaking changes ofWith()toSetField()function names. Any provider logging which calls those functions may require updates. (#92) - This Go module has been updated to Go 1.17 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#73)
NOTES:
- The underlying
terraform-plugin-logdependency has been updated to v0.3.0, which includes a breaking change in the optional additional fields parameter of logging function calls to ensure correctness and catch coding errors during compilation. Any early adopter provider logging which calls those functions may require updates. (#63)
BUG FIXES:
- tf5muxserver: Prevent
PrepareProviderConfigRPC error for multiplePreparedConfigresponses when combining terraform-plugin-sdk/v2 providers (#54) - tf6muxserver: Prevent
ValidateProviderConfigRPC error for multiplePreparedConfigresponses when combining terraform-plugin-framework providers (#54)
NOTES:
- Providers can now be muxed with a combination of terraform-plugin-sdk and terraform-plugin-framework server implementations. One option is the terraform-plugin-sdk server can be upgraded to protocol version 6, then muxed with the terraform-plugin-framework server. This allows using new protocol features in the framework implementation, such as nested attributes, but requires Terraform CLI 1.1.5 or later. The other option is the terraform-plugin-framework server can be downgraded to protocol version 5, then muxed with the terraform-plugin-sdk server. This prevents using new protocol features in the framework implementation, however it remains compatible with Terraform CLI 0.12 and later. (#42)
BREAKING CHANGES:
- The root package
SchemaServertypes andNewSchemaServerFactoryfunction have been migrated to thetf5muxserverpackage. To upgrade, replacetfmux.NewSchemaServerFactorywithtf5muxserver.NewMuxServerand replace any invocations of the previousSchemaServerFactorytypeServer()method withProviderServer(). The underlying types are no longer exported. (#39)
FEATURES:
- Added
tf5to6serverpackage, for upgrading a protocol version 5 server to protocol version 6 (#42) - Added
tf6muxserverpackage, a protocol version 6 compatible mux server (#37) - Added
tf6to5serverpackage, for downgrading a protocol version 6 server to protocol version 5 (#42)
ENHANCEMENTS:
- Added the
tf_mux_providerkey to all downstream logging calls, decorating them with the muxed server that actually served the request. (#31) - Added trace level logging for mux logic, controlled by the
TF_LOG_SDK_MUXenvironment variable. (#31)
NOTES:
- Upgraded terraform-plugin-go to v0.5.0. Provider built against versions of terraform-plugin-go prior to v0.5.0 will run into compatibility issues due to breaking changes in terraform-plugin-go.
NOTES:
- Upgraded terraform-plugin-go to v0.4.0. Providers built against versions of terraform-plugin-go prior to v0.4.0 will run into compatibility issues due to breaking changes in terraform-plugin-go.
NOTES:
- Upgraded terraform-plugin-go to v0.3.0. Providers built against versions of terraform-plugin-go prior to v0.3.0 will run into compatibility issues due to breaking changes in terraform-plugin-go.
BUG FIXES:
- Compare schemas in an order-insensitive way when deciding whether two server implementations are returning the same schema. (#18)
- Surface the difference between schemas when provider and provider_meta schemas differ. (#18)
Initial release.