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. (#307)
FEATURES:
- actionvalidator: Introduce new package with declarative validators for action configurations (#302)
- listresourcevalidator: Introduce new package with declarative validators for list resource configurations (#298)
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. (#276)
BUG FIXES:
- all: Fixed bug with PreferWriteOnlyAttribute validator not running when client is capable of using write-only attributes. (#287)
FEATURES:
- boolvalidator: Added
PreferWriteOnlyAttributevalidator (#263) - dynamicvalidator: Added
PreferWriteOnlyAttributevalidator (#263) - float32validator: Added
PreferWriteOnlyAttributevalidator (#263) - float64validator: Added
PreferWriteOnlyAttributevalidator (#263) - int32validator: Added
PreferWriteOnlyAttributevalidator (#263) - int64validator: Added
PreferWriteOnlyAttributevalidator (#263) - listvalidator: Added
PreferWriteOnlyAttributevalidator (#263) - mapvalidator: Added
PreferWriteOnlyAttributevalidator (#263) - numbervalidator: Added
PreferWriteOnlyAttributevalidator (#263) - objectvalidator: Added
PreferWriteOnlyAttributevalidator (#263) - resourcevalidator: Added
PreferWriteOnlyAttributevalidator (#263) - stringvalidator: Added
PreferWriteOnlyAttributevalidator (#263)
FEATURES:
- listvalidator: Added
NoNullValuesvalidator (#245) - mapvalidator: Added
NoNullValuesvalidator (#245) - setvalidator: Added
NoNullValuesvalidator (#245) - dynamicvalidator: New package which contains
types.Dynamicspecific validators (#249)
BUG FIXES:
- Fixed bug with
ConflictsWithandAlsoRequiresvalidators where unknown values would raise invalid diagnostics duringterraform validate. (#251)
FEATURES:
- ephemeralvalidator: Introduce new package with declarative validators for ephemeral resource configurations (#242)
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. (#229)
- all: Previously, creating validators with invalid data would result in a
nilvalue being returned and a panic fromterraform-plugin-framework. This has been updated to return an implementation diagnostic referencing the invalid data/validator during config validation. (#235)
FEATURES:
- boolvalidator: Added
Equalsvalidator (#232)
ENHANCEMENTS:
- all: Implemented parameter interfaces for all value-based validators. This allows these validators to be used with provider-defined functions. (#235)
NOTES:
- all: This Go module has been updated 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 (#198)
FEATURES:
- int32validator: New package which contains int32 type specific validators (#222)
- float32validator: New package which contains float32 type specific validators (#222)
ENHANCEMENTS:
- listvalidator: Added
ValueInt32sAreandValueFloat32sArevalidators (#222) - mapvalidator: Added
ValueInt32sAreandValueFloat32sArevalidators (#222) - setvalidator: Added
ValueInt32sAreandValueFloat32sArevalidators (#222)
BUG FIXES:
- Add the attribute from the request to the at-least-one validator's error message (#199)
ENHANCEMENTS:
- boolvalidator: Added
All,Any, andAnyWithAllWarningsvalidators (#158) - datasourcevalidator: Added
All,Any, andAnyWithAllWarningsvalidators (#158) - providervalidator: Added
All,Any, andAnyWithAllWarningsvalidators (#158) - resourcevalidator: Added
All,Any, andAnyWithAllWarningsvalidators (#158)
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. (#117)
ENHANCEMENTS:
- int64validator: Added
equalToProductOfvalidator (#129)
BUG FIXES:
- stringvalidator: Removed double quoting in
Descriptionreturned fromNoneOf,NoneOfCaseInsensitive,OneOfandOneOfCaseInsensitivevalidators (#152)
ENHANCEMENTS:
- listvalidator: Added
IsRequiredvalidator (#107) - setvalidator: Added
IsRequiredvalidator (#107) - objectvalidator: Added
IsRequiredvalidator (#107)
ENHANCEMENTS:
- listvalidator: Added
UniqueValuesvalidator (#88) - stringvalidator: Added
UTF8LengthAtLeast,UTF8LengthAtMost, andUTF8LengthBetweenvalidators (#87)
NOTES:
- all: Support terraform-plugin-framework version 1.0.0 types handling (#83)
BREAKING CHANGES:
- all: Migrated implementations to support terraform-plugin-framework version 0.17.0
datasource/schema,provider/schema, andresource/schemapackages with type-specific validation (#80) - listvalidator: The
ValuesArevalidator has been removed and split into element type-specific validators in the same package, such asStringValuesAre(#80) - mapvalidator: The
ValuesArevalidator has been removed and split into element type-specific validators in the same package, such asStringValuesAre(#80) - metavalidator: The
AllandAnyvalidators have been removed and split into type-specific packages, such asstringvalidator.Any(#80) - schemavalidator: The
AlsoRequires,AtLeastOneOf,ConflictsWith, andExactlyOneOfvalidators have been removed and split into type-specific packages, such asstringvalidator.ConflictsWith(#80) - setvalidator: The
ValuesArevalidator has been removed and split into element type-specific validators in the same package, such asStringValuesAre(#80)
FEATURES:
- boolvalidator: New package which contains boolean type specific validators (#80)
- objectvalidator: New package which contains object type specific validators (#80)
NOTES:
- all: This Go module has been updated for deprecations in terraform-plugin-framework version 0.15.0 (#72)
- all: This Go module has been updated to make it compatible with the breaking changes in terraform-plugin-framework version 0.16.0 (#77)
BUG FIXES:
- mapvalidator: Updated
KeysAre()to return all errors instead of just the first (#74)
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. (#55)
FEATURES:
- Introduced
datasourcevalidatorpackage withAtLeastOneOf(),Conflicting(),ExactlyOneOf(), andRequiredTogether()validation functions (#60) - Introduced
providervalidatorpackage withAtLeastOneOf(),Conflicting(),ExactlyOneOf(), andRequiredTogether()validation functions (#60) - Introduced
resourcevalidatorpackage withAtLeastOneOf(),Conflicting(),ExactlyOneOf(), andRequiredTogether()validation functions (#60)
BUG FIXES:
- all: Included missing attribute path details in error diagnostics since they are currently not output by Terraform (#61)
FEATURES:
- Introduced
metavalidatorpackage withAny(),AnyWithAllWarnings(), andAll()validation functions (#43) - Introduced
schemavalidatorpackage with 4 new validation functions:RequiredWith(),ConflictsWith(),AtLeastOneOf(),ExactlyOneOf()(#32)
ENHANCEMENTS:
- int64validator: Added
AtLeastSumOf(),AtMostSumOf()andEqualToSumOf()validation functions (#29)
FEATURES:
- Introduced
listvalidatorpackage withValuesAre()validation functions (#37) - Introduced
mapvalidatorpackage withKeysAre()andValuesAre()validation functions (#38) - Introduced
numbervalidatorpackage withOneOf()andNoneOf()validation functions (#42) - Introduced
setvalidatorpackage withValuesAre()validation function (#36)
ENHANCEMENTS:
- float64validator: Added
OneOf()andNoneOf()validation functions (#42) - int64validator: Added
OneOf()andNoneOf()validation functions (#42) - listvalidator: Added
SizeAtLeast(),SizeAtMost()andSizeBetweenvalidation functions (#41) - mapvalidator: Added
SizeAtLeast(),SizeAtMost()andSizeBetweenvalidation functions (#39) - setvalidator: Added
SizeAtLeast(),SizeAtMost()andSizeBetweenvalidation functions (#40) - stringvalidator: Added
OneOf()andNoneOf()(case sensitive), andOneOfCaseInsensitive()andNoneOfCaseInsensitive()(case insensitive) validation functions (#45)
BREAKING CHANGES:
- Fixed package naming for
int64validator: was misnamedvalidate(#25)
FEATURES:
- Introduced
float64validatorpackage withAtLeast(),AtMost(), andBetween()validation functions (#18) - Introduced
int64validatorpackage withAtLeast(),AtMost(), andBetween()validation functions (#21) - Introduced
stringvalidator.RegexMatches()validation function (#23) - Introduced
stringvalidatorpackage withLengthAtLeast(),LengthAtMost(), andLengthBetween()validation functions (#22)