all: For data handling consistency with attributes, unconfigured list and set blocks will now be represented as a null list or set instead of a known list or set with zero elements. This prevents confusing situations with validation and plan modification, where it was previously required to check block values for the number of elements. Logic that was previously missing null value checks for blocks may require updates. (#604)
tfsdk: The Config, Plan, and State type PathMatches() method logic previously returned Invalid Path Expression for Schema Data errors based on implementation details of the underlying data, which prevented returning zero matches in cases where the expression is valid for the schema, but there was no actual data at the path. Providers can now determine whether zero matches is consequential for their use case. (#602)
ENHANCEMENTS:
path: Added Expressions type Matches method for checking if any expression in the collection matches a given path (#604)
tfsdk: Automatically prevented Terraform nested blocks must be empty to indicate no blocks errors for responses containing Plan and State types (#621)
BUG FIXES:
datasource/schema: Prevented ListNestedBlock and SetNestedBlock type DeprecationMessage field from causing Block Deprecated warnings with unconfigured blocks (#604)
datasource: Prevented ConfigValidators from unexpectedly modifying or removing prior validator diagnostics (#619)
provider/schema: Prevented ListNestedBlock and SetNestedBlock type DeprecationMessage field from causing Block Deprecated warnings with unconfigured blocks (#604)
provider: Prevented ConfigValidators from unexpectedly modifying or removing prior validator diagnostics (#619)
resource/schema: Prevented ListNestedBlock and SetNestedBlock type DeprecationMessage field from causing Block Deprecated warnings with unconfigured blocks (#604)
resource: Prevented ConfigValidators from unexpectedly modifying or removing prior validator diagnostics (#619)
tfsdk: Fixed false positive Invalid Path Expression for Schema Data error to be schema-determined instead of data-determined (#602)
types/basetypes: Fixed ObjectType type ApplyTerraform5AttributePathStep method to return an error instead of nil for invalid attribute name steps (#602)
v1.0.1
BUG FIXES:
resource/schema/planmodifier: Prevented assignment to entry in nil map panic for Object type plan modifiers (#591)
types/basetypes: Prevented type mutation via the ObjectType type AttributeTypes() method return (#591)
types/basetypes: Prevented value mutation via the ListValue, MapValue, and SetValue type Elements() method return (#591)
types/basetypes: Prevented value mutation via the ObjectValue type AttributeTypes() and Attributes() method returns (#591)
v1.0.0
NOTES:
The Terraform Plugin Framework is now generally available with semantic versioning compatibility promises. (#578)
types: Framework type implementations have been moved into the underlying basetypes package. Value creation functions and type aliases have been created in the types package that should prevent any breaking changes. (#567)
BREAKING CHANGES:
provider: The Provider interface now requires the Metadata method. It can be left empty or set the MetadataResponse type TypeName field to populate datasource.MetadataRequest and resource.MetadataRequest type ProviderTypeName fields. (#580)
resource: The RequiresReplace() plan modifier has been removed. Use a type-specific plan modifier instead, such as resource/schema/stringplanmodifier.RequiresReplace() or resource/schema/stringplanmodifier.RequiresReplaceIfConfigured() (#576)
resource: The RequiresReplaceIf() plan modifier has been removed. Use a type-specific plan modifier instead, such as resource/schema/stringplanmodifier.RequiresReplaceIf() (#576)
resource: The Resource type GetSchema method has been removed. Use the Schema method instead. (#576)
resource: The StateUpgrader type PriorSchema field type has been migrated from tfsdk.Schema to resource/schema.Schema, similar to other resource schema handling (#573)
resource: The UseStateForUnknown() plan modifier has been removed. Use a type-specific plan modifier instead, such as resource/schema/stringplanmodifier.UseStateForUnknown() (#576)
tfsdk: The AttributePlanModifier interface has been removed. Use the type-specific plan modifier interfaces in the resource/schema/planmodifier package instead. (#576)
tfsdk: The AttributeValidator interface has been removed. Use the type-specific validator interfaces in the schema/validator package instead. (#576)
tfsdk: The Attribute, Block, and Schema types have been removed. Use the similarly named types in the datasource/schema, provider/schema, and resource/schema packages instead. (#576)
tfsdk: The ListNestedAttributes, MapNestedAttributes, SetNestedAttributes, and SingleNestedAttributes functions have been removed. Use the similarly named types in the datasource/schema, provider/schema, and resource/schema packages instead. (#576)
types: The type-specific Typable and Valuable interfaces have been moved into the underlying basetypes package. (#567)
all: For data handling consistency with attributes, unconfigured list and set blocks will now be represented as a null list or set instead of a known list or set with zero elements. This prevents confusing situations with validation and plan modification, where it was previously required to check block values for the number of elements. Logic that was previously missing null value checks for blocks may require updates. (#604)
tfsdk: The Config, Plan, and State type PathMatches() method logic previously returned Invalid Path Expression for Schema Data errors based on implementation details of the underlying data, which prevented returning zero matches in cases where the expression is valid for the schema, but there was no actual data at the path. Providers can now determine whether zero matches is consequential for their use case. (#602)
ENHANCEMENTS:
path: Added Expressions type Matches method for checking if any expression in the collection matches a given path (#604)
tfsdk: Automatically prevented Terraform nested blocks must be empty to indicate no blocks errors for responses containing Plan and State types (#621)
BUG FIXES:
datasource/schema: Prevented ListNestedBlock and SetNestedBlock type DeprecationMessage field from causing Block Deprecated warnings with unconfigured blocks (#604)
datasource: Prevented ConfigValidators from unexpectedly modifying or removing prior validator diagnostics (#619)
provider/schema: Prevented ListNestedBlock and SetNestedBlock type DeprecationMessage field from causing Block Deprecated warnings with unconfigured blocks (#604)
provider: Prevented ConfigValidators from unexpectedly modifying or removing prior validator diagnostics (#619)
resource/schema: Prevented ListNestedBlock and SetNestedBlock type DeprecationMessage field from causing Block Deprecated warnings with unconfigured blocks (#604)
resource: Prevented ConfigValidators from unexpectedly modifying or removing prior validator diagnostics (#619)
tfsdk: Fixed false positive Invalid Path Expression for Schema Data error to be schema-determined instead of data-determined (#602)
types/basetypes: Fixed ObjectType type ApplyTerraform5AttributePathStep method to return an error instead of nil for invalid attribute name steps (#602)
1.0.1 (December 19, 2022)
BUG FIXES:
resource/schema/planmodifier: Prevented assignment to entry in nil map panic for Object type plan modifiers (#591)
types/basetypes: Prevented type mutation via the ObjectType type AttributeTypes() method return (#591)
types/basetypes: Prevented value mutation via the ListValue, MapValue, and SetValue type Elements() method return (#591)
types/basetypes: Prevented value mutation via the ObjectValue type AttributeTypes() and Attributes() method returns (#591)
1.0.0 (December 13, 2022)
NOTES:
The Terraform Plugin Framework is now generally available with semantic versioning compatibility promises. (#578)
types: Framework type implementations have been moved into the underlying basetypes package. Value creation functions and type aliases have been created in the types package that should prevent any breaking changes. (#567)
BREAKING CHANGES:
provider: The Provider interface now requires the Metadata method. It can be left empty or set the MetadataResponse type TypeName field to populate datasource.MetadataRequest and resource.MetadataRequest type ProviderTypeName fields. (#580)
resource: The RequiresReplace() plan modifier has been removed. Use a type-specific plan modifier instead, such as resource/schema/stringplanmodifier.RequiresReplace() or resource/schema/stringplanmodifier.RequiresReplaceIfConfigured() (#576)
resource: The RequiresReplaceIf() plan modifier has been removed. Use a type-specific plan modifier instead, such as resource/schema/stringplanmodifier.RequiresReplaceIf() (#576)
resource: The Resource type GetSchema method has been removed. Use the Schema method instead. (#576)
resource: The StateUpgrader type PriorSchema field type has been migrated from tfsdk.Schema to resource/schema.Schema, similar to other resource schema handling (#573)
resource: The UseStateForUnknown() plan modifier has been removed. Use a type-specific plan modifier instead, such as resource/schema/stringplanmodifier.UseStateForUnknown() (#576)
tfsdk: The AttributePlanModifier interface has been removed. Use the type-specific plan modifier interfaces in the resource/schema/planmodifier package instead. (#576)
tfsdk: The AttributeValidator interface has been removed. Use the type-specific validator interfaces in the schema/validator package instead. (#576)
tfsdk: The Attribute, Block, and Schema types have been removed. Use the similarly named types in the datasource/schema, provider/schema, and resource/schema packages instead. (#576)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/hashicorp/terraform-plugin-framework from 0.11.1 to 1.1.0.
Release notes
Sourced from github.com/hashicorp/terraform-plugin-framework's releases.
... (truncated)
Changelog
Sourced from github.com/hashicorp/terraform-plugin-framework's changelog.
... (truncated)
Commits
67eb102
Update CHANGELOG for 1.1.0032f768
internal/fwserver: Unit testing and changelog for ConfigValidators diagnostic...620823f
internal/toproto*: Convert null list/set block values to empty (#621)beaf82a
internal/fwserver: Prevent ConfigValidators from dropping diagnostics (#619)499f24a
.github/workflows: Pin actions versions to SHAs (#616)b90f22a
types/basetypes: Fixed Float64Type validation to handle valid, stringified nu...6139030
ci: Enable paralleltest linter (#610)ac1a8c5
Increase timeout for golangci-lint (#609)301de86
.github/workflows: Fix label name in issue comment workflow (#608)19c7ca7
build(deps): Bump github.com/hashicorp/terraform-plugin-go (#607)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)