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.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 (#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
CallFunction
RPC which returns a FunctionError rather than Diagnostics (#226)
FEATURES:
- all: Upgrade protocol versions to support the
MoveResourceState
RPC (#220)
NOTES:
- all: Update
google.golang.org/grpc
dependency 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
GetProviderSchema
RPC diagnostics are properly returned to Terraform (#176) - tf6muxserver: Ensure
GetProviderSchema
RPC diagnostics are properly returned to Terraform (#176)
BUG FIXES:
- tf5muxserver: Adjust function signature of
NewMuxServer()
to return*muxServer
, which is required to satisfy thetfprotov5.ProviderServer
interface (#172) - tf6muxserver: Adjust function signature of
NewMuxServer()
to return*muxServer
, which is required to satisfy thetfprotov6.ProviderServer
interface (#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
GetProviderSchema
response (#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
MinItems
andMaxItems
as terraform-plugin-framework does not use those fields for configuration validation (#118) - tf5muxserver+tf6muxserver: Deferred combined server implementation errors until
GetProviderSchema
RPC to prevent confusing Terraform CLI plugin startup errors (#121)
NOTES:
- The underlying
terraform-plugin-log
dependency 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-log
dependency 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
PrepareProviderConfig
RPC error for multiplePreparedConfig
responses when combining terraform-plugin-sdk/v2 providers (#54) - tf6muxserver: Prevent
ValidateProviderConfig
RPC error for multiplePreparedConfig
responses 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
SchemaServer
types andNewSchemaServerFactory
function have been migrated to thetf5muxserver
package. To upgrade, replacetfmux.NewSchemaServerFactory
withtf5muxserver.NewMuxServer
and replace any invocations of the previousSchemaServerFactory
typeServer()
method withProviderServer()
. The underlying types are no longer exported. (#39)
FEATURES:
- Added
tf5to6server
package, for upgrading a protocol version 5 server to protocol version 6 (#42) - Added
tf6muxserver
package, a protocol version 6 compatible mux server (#37) - Added
tf6to5server
package, for downgrading a protocol version 6 server to protocol version 5 (#42)
ENHANCEMENTS:
- Added the
tf_mux_provider
key 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_MUX
environment 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.