diff --git a/.changes/1.3.0.md b/.changes/1.3.0.md new file mode 100644 index 000000000..7a2a522ef --- /dev/null +++ b/.changes/1.3.0.md @@ -0,0 +1,30 @@ +## 1.3.0 (June 07, 2023) + +NOTES: + +* datasource/schema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/metaschema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/schema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* resource/schema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) + +ENHANCEMENTS: + +* datasource/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/metaschema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* resource/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* datasource/schema: Raise validation errors if attempting to use top-level `for_each` attribute name, which requires special Terraform configuration syntax to be usable by the data source ([#704](https://github.com/hashicorp/terraform-plugin-framework/issues/704)) +* resource/schema: Raise validation errors if attempting to use top-level `for_each` attribute name, which requires special Terraform configuration syntax to be usable by the resource ([#704](https://github.com/hashicorp/terraform-plugin-framework/issues/704)) +* datasource/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language ([#705](https://github.com/hashicorp/terraform-plugin-framework/issues/705)) +* provider/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language ([#705](https://github.com/hashicorp/terraform-plugin-framework/issues/705)) +* resource/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language ([#705](https://github.com/hashicorp/terraform-plugin-framework/issues/705)) +* all: Improved SDK logging performance when messages would be skipped due to configured logging level ([#744](https://github.com/hashicorp/terraform-plugin-framework/issues/744)) + +BUG FIXES: + +* datasource/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/metaschema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* resource/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* tfsdk: Raise framework errors instead of generic upstream errors or panics when encountering unexpected values with `Set()` methods ([#715](https://github.com/hashicorp/terraform-plugin-framework/issues/715)) + diff --git a/.changes/unreleased/BUG FIXES-20230329-102850.yaml b/.changes/unreleased/BUG FIXES-20230329-102850.yaml deleted file mode 100644 index d01d68f1e..000000000 --- a/.changes/unreleased/BUG FIXES-20230329-102850.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: BUG FIXES -body: 'datasource/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, - and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or - `ElementTypes` fields' -time: 2023-03-29T10:28:50.525346-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/BUG FIXES-20230329-102851.yaml b/.changes/unreleased/BUG FIXES-20230329-102851.yaml deleted file mode 100644 index cbb2f3066..000000000 --- a/.changes/unreleased/BUG FIXES-20230329-102851.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: BUG FIXES -body: 'provider/metaschema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, - and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or - `ElementTypes` fields' -time: 2023-03-29T10:28:51.525346-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/BUG FIXES-20230329-102852.yaml b/.changes/unreleased/BUG FIXES-20230329-102852.yaml deleted file mode 100644 index 8f70cf3f3..000000000 --- a/.changes/unreleased/BUG FIXES-20230329-102852.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: BUG FIXES -body: 'provider/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, - and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or - `ElementTypes` fields' -time: 2023-03-29T10:28:52.525346-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/BUG FIXES-20230329-102853.yaml b/.changes/unreleased/BUG FIXES-20230329-102853.yaml deleted file mode 100644 index 8dbd4d215..000000000 --- a/.changes/unreleased/BUG FIXES-20230329-102853.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: BUG FIXES -body: 'resource/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, - and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or - `ElementTypes` fields' -time: 2023-03-29T10:28:53.525346-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/BUG FIXES-20230404-211215.yaml b/.changes/unreleased/BUG FIXES-20230404-211215.yaml deleted file mode 100644 index ca882a73f..000000000 --- a/.changes/unreleased/BUG FIXES-20230404-211215.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: BUG FIXES -body: 'tfsdk: Raise framework errors instead of generic upstream errors or panics - when encountering unexpected values with `Set()` methods' -time: 2023-04-04T21:12:15.85706-04:00 -custom: - Issue: "715" diff --git a/.changes/unreleased/ENHANCEMENTS-20230329-102106.yaml b/.changes/unreleased/ENHANCEMENTS-20230329-102106.yaml deleted file mode 100644 index 9f4c43d7d..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230329-102106.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'datasource/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined - schema validation and can be used in unit testing' -time: 2023-03-29T10:21:06.251285-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/ENHANCEMENTS-20230329-102107.yaml b/.changes/unreleased/ENHANCEMENTS-20230329-102107.yaml deleted file mode 100644 index dddc5c0cc..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230329-102107.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'provider/metaschema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined - schema validation and can be used in unit testing' -time: 2023-03-29T10:21:07.251285-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/ENHANCEMENTS-20230329-102108.yaml b/.changes/unreleased/ENHANCEMENTS-20230329-102108.yaml deleted file mode 100644 index b7d745ad8..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230329-102108.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'provider/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined - schema validation and can be used in unit testing' -time: 2023-03-29T10:21:08.251285-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/ENHANCEMENTS-20230329-102109.yaml b/.changes/unreleased/ENHANCEMENTS-20230329-102109.yaml deleted file mode 100644 index 6dc8d6e05..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230329-102109.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'resource/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined - schema validation and can be used in unit testing' -time: 2023-03-29T10:21:09.251285-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/ENHANCEMENTS-20230330-104744.yaml b/.changes/unreleased/ENHANCEMENTS-20230330-104744.yaml deleted file mode 100644 index 2fbd95bb9..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230330-104744.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: ENHANCEMENTS -body: 'datasource/schema: Raise validation errors if attempting to use top-level `for_each` - attribute name, which requires special Terraform configuration syntax to be usable by - the data source' -time: 2023-03-30T10:47:44.609561-04:00 -custom: - Issue: "704" diff --git a/.changes/unreleased/ENHANCEMENTS-20230330-104745.yaml b/.changes/unreleased/ENHANCEMENTS-20230330-104745.yaml deleted file mode 100644 index a629bbe1c..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230330-104745.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: ENHANCEMENTS -body: 'resource/schema: Raise validation errors if attempting to use top-level `for_each` - attribute name, which requires special Terraform configuration syntax to be usable by - the resource' -time: 2023-03-30T10:47:45.609561-04:00 -custom: - Issue: "704" diff --git a/.changes/unreleased/ENHANCEMENTS-20230330-105617.yaml b/.changes/unreleased/ENHANCEMENTS-20230330-105617.yaml deleted file mode 100644 index 128cfafd2..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230330-105617.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'datasource/schema: Raise validation errors if attempting to use attribute names - with leading numerics (0-9), which are invalid in the Terraform configuration language' -time: 2023-03-30T10:56:17.789569-04:00 -custom: - Issue: "705" diff --git a/.changes/unreleased/ENHANCEMENTS-20230330-105618.yaml b/.changes/unreleased/ENHANCEMENTS-20230330-105618.yaml deleted file mode 100644 index e2615cf71..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230330-105618.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'provider/schema: Raise validation errors if attempting to use attribute names - with leading numerics (0-9), which are invalid in the Terraform configuration language' -time: 2023-03-30T10:56:18.789569-04:00 -custom: - Issue: "705" diff --git a/.changes/unreleased/ENHANCEMENTS-20230330-105619.yaml b/.changes/unreleased/ENHANCEMENTS-20230330-105619.yaml deleted file mode 100644 index 8813c176a..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230330-105619.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'resource/schema: Raise validation errors if attempting to use attribute names - with leading numerics (0-9), which are invalid in the Terraform configuration language' -time: 2023-03-30T10:56:19.789569-04:00 -custom: - Issue: "705" diff --git a/.changes/unreleased/ENHANCEMENTS-20230531-172655.yaml b/.changes/unreleased/ENHANCEMENTS-20230531-172655.yaml deleted file mode 100644 index 7cc3cd35d..000000000 --- a/.changes/unreleased/ENHANCEMENTS-20230531-172655.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: ENHANCEMENTS -body: 'all: Improved SDK logging performance when messages would be skipped due to - configured logging level' -time: 2023-05-31T17:26:55.326194-04:00 -custom: - Issue: "744" diff --git a/.changes/unreleased/NOTES-20230329-124336.yaml b/.changes/unreleased/NOTES-20230329-124336.yaml deleted file mode 100644 index ef5bd7f75..000000000 --- a/.changes/unreleased/NOTES-20230329-124336.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: NOTES -body: 'datasource/schema: The `Schema` type `Validate()` method has been deprecated - in preference of `ValidateImplementation()`' -time: 2023-03-29T12:43:36.636825-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/NOTES-20230329-124337.yaml b/.changes/unreleased/NOTES-20230329-124337.yaml deleted file mode 100644 index fd94027d4..000000000 --- a/.changes/unreleased/NOTES-20230329-124337.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: NOTES -body: 'provider/metaschema: The `Schema` type `Validate()` method has been deprecated - in preference of `ValidateImplementation()`' -time: 2023-03-29T12:43:37.636825-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/NOTES-20230329-124338.yaml b/.changes/unreleased/NOTES-20230329-124338.yaml deleted file mode 100644 index 6d883d93f..000000000 --- a/.changes/unreleased/NOTES-20230329-124338.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: NOTES -body: 'provider/schema: The `Schema` type `Validate()` method has been deprecated - in preference of `ValidateImplementation()`' -time: 2023-03-29T12:43:38.636825-04:00 -custom: - Issue: "699" diff --git a/.changes/unreleased/NOTES-20230329-124339.yaml b/.changes/unreleased/NOTES-20230329-124339.yaml deleted file mode 100644 index a2bdb04ba..000000000 --- a/.changes/unreleased/NOTES-20230329-124339.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: NOTES -body: 'resource/schema: The `Schema` type `Validate()` method has been deprecated - in preference of `ValidateImplementation()`' -time: 2023-03-29T12:43:39.636825-04:00 -custom: - Issue: "699" diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f6f4552c..4cd42c80d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +## 1.3.0 (June 07, 2023) + +NOTES: + +* datasource/schema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/metaschema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/schema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* resource/schema: The `Schema` type `Validate()` method has been deprecated in preference of `ValidateImplementation()` ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) + +ENHANCEMENTS: + +* datasource/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/metaschema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* resource/schema: Added `Schema` type `ValidateImplementation()` method, which performs framework-defined schema validation and can be used in unit testing ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* datasource/schema: Raise validation errors if attempting to use top-level `for_each` attribute name, which requires special Terraform configuration syntax to be usable by the data source ([#704](https://github.com/hashicorp/terraform-plugin-framework/issues/704)) +* resource/schema: Raise validation errors if attempting to use top-level `for_each` attribute name, which requires special Terraform configuration syntax to be usable by the resource ([#704](https://github.com/hashicorp/terraform-plugin-framework/issues/704)) +* datasource/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language ([#705](https://github.com/hashicorp/terraform-plugin-framework/issues/705)) +* provider/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language ([#705](https://github.com/hashicorp/terraform-plugin-framework/issues/705)) +* resource/schema: Raise validation errors if attempting to use attribute names with leading numerics (0-9), which are invalid in the Terraform configuration language ([#705](https://github.com/hashicorp/terraform-plugin-framework/issues/705)) +* all: Improved SDK logging performance when messages would be skipped due to configured logging level ([#744](https://github.com/hashicorp/terraform-plugin-framework/issues/744)) + +BUG FIXES: + +* datasource/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/metaschema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* provider/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* resource/schema: Raise errors with `ListAttribute`, `MapAttribute`, `ObjectAttribute`, and `SetAttribute` implementations instead of panics when missing required `AttributeTypes` or `ElementTypes` fields ([#699](https://github.com/hashicorp/terraform-plugin-framework/issues/699)) +* tfsdk: Raise framework errors instead of generic upstream errors or panics when encountering unexpected values with `Set()` methods ([#715](https://github.com/hashicorp/terraform-plugin-framework/issues/715)) + ## 1.2.0 (March 21, 2023) NOTES: