BREAKING CHANGES:
- Methods on the
tfsdk.Config
,tfsdk.Plan
, andtfsdk.State
types now return[]*tfprotov6.Diagnostic
instead oferror
(#82) - Most uses of
[]*tfprotov6.Diagnostic
have been replaced with a newdiag.Diagnostics
type. Please update your type signatures, and use one of thediags.New*
helper functions instead of constructing*tfprotov6.Diagnostic
s by hand. (#110) - The
schema.Attribute
andschema.Schema
types have been moved totfsdk.Attribute
andtfsdk.Schema
. No changes beyond import names are required. (#77) - With the release of Go 1.17, Go 1.17 is now the lowest supported version of Go to use with terraform-plugin-framework. (#104)
attr.Value
implementations must now implement aType(context.Context)
method that returns theattr.Type
that created theattr.Value
. (#119)
FEATURES:
- Added support for ModifyPlan functions on Resources. (#90)
- Introduced first-class diagnostics (
diag
package). (#110) - Support
attr.Type
validation (#82) - tfsdk: Attributes, Data Sources, Providers, and Resources now support configuration validation (#75)
ENHANCEMENTS:
- Added a
tfsdk.ValueAs
helper that allows accessing anattr.Value
without type assertion, by using the same reflection rules used in theConfig.Get
,Plan.Get
, andState.Get
helpers. (#119) - Errors from methods on the
tfsdk.Config
,tfsdk.Plan
, andtfsdk.State
types now include rich diagnostic information (#82) - tfsdk: Validate
Attribute
defines at least one ofRequired
,Optional
, orComputed
(#111)
BUG FIXES:
- tfsdk: Diagnostics returned from
(Plan).SetAttribute()
and(State).SetAttribute()
reflection will now properly include attribute path (#133) - tfsdk: Don't attempt validation on the nested attributes of a null or unknown
SingleNestedAttribute
(#118) - tfsdk: Return warning diagnostic when using
Attribute
orSchema
typeDeprecationMessage
field (#93)