diff --git a/.changes/1.8.0.md b/.changes/1.8.0.md new file mode 100644 index 000000000..2a1edb16d --- /dev/null +++ b/.changes/1.8.0.md @@ -0,0 +1,25 @@ +## 1.8.0 (April 18, 2024) + +BREAKING CHANGES: + +* function: Removed `Definition` type `Parameter()` method ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) + +NOTES: + +* function: Provider-defined function features are now considered generally available and protected by compatibility promises ([#966](https://github.com/hashicorp/terraform-plugin-framework/issues/966)) +* attr/xattr: The `TypeWithValidate` interface has been deprecated in preference of the `ValidateableAttribute` interface. A `ValidatableParameter` interface has also been added to the `function` package ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) + +FEATURES: + +* attr/xattr: Added `ValidateableAttribute` interface for custom value type implementations ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) +* function: Added `ValidateableParameter` interface for custom value type implementations ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) +* `function`: Add `BoolParameterValidator`, `DynamicParameterValidator`, `Float64ParameterValidator`, `Int64ParameterValidator`, `ListParameterValidator`, `MapParameterValidator`, `NumberParameterValidator`, `ObjectParameterValidator`, `SetParameterValidator`, and `StringParameterValidator` interfaces for custom function parameter validation implementations. ([#971](https://github.com/hashicorp/terraform-plugin-framework/issues/971)) +* `function`: Add `ParameterWithBoolValidators`, `ParameterWithInt64Validators`, `ParameterWithFloat64Validators`, `ParameterWithDynamicValidators`, `ParameterWithListValidators`, `ParameterWithMapValidators`, `ParameterWithNumberValidators`, `ParameterWithObjectValidators`, `ParameterWithSetValidators`, and `ParameterWithStringValidators` interfaces to enable parameter-based validation support ([#971](https://github.com/hashicorp/terraform-plugin-framework/issues/971)) + +BUG FIXES: + +* types/basetypes: Prevented panic in the `MapValue` types `Equal` method when the receiver has a nil `elementType` ([#961](https://github.com/hashicorp/terraform-plugin-framework/issues/961)) +* types/basetypes: Prevented panic in the `ListValue` types `Equal` method when the receiver has a nil `elementType` ([#961](https://github.com/hashicorp/terraform-plugin-framework/issues/961)) +* types/basetypes: Prevented panic in the `SetValue` types `Equal` method when the receiver has a nil `elementType` ([#961](https://github.com/hashicorp/terraform-plugin-framework/issues/961)) +* resource: Ensured computed-only dynamic attributes will not cause `wrong final value type` errors during planning ([#969](https://github.com/hashicorp/terraform-plugin-framework/issues/969)) + diff --git a/.changes/unreleased/BREAKING CHANGES-20240404-182004.yaml b/.changes/unreleased/BREAKING CHANGES-20240404-182004.yaml deleted file mode 100644 index 56477030b..000000000 --- a/.changes/unreleased/BREAKING CHANGES-20240404-182004.yaml +++ /dev/null @@ -1,5 +0,0 @@ -kind: BREAKING CHANGES -body: 'function: Removed `Definition` type `Parameter()` method' -time: 2024-04-04T18:20:04.534677+01:00 -custom: - Issue: "968" diff --git a/.changes/unreleased/BUG FIXES-20240319-085739.yaml b/.changes/unreleased/BUG FIXES-20240319-085739.yaml deleted file mode 100644 index 86e99cab1..000000000 --- a/.changes/unreleased/BUG FIXES-20240319-085739.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: BUG FIXES -body: 'types/basetypes: Prevented panic in the `MapValue` types `Equal` method when - the receiver has a nil `elementType`' -time: 2024-03-19T08:57:39.837509-04:00 -custom: - Issue: "961" diff --git a/.changes/unreleased/BUG FIXES-20240319-085908.yaml b/.changes/unreleased/BUG FIXES-20240319-085908.yaml deleted file mode 100644 index 6f7824894..000000000 --- a/.changes/unreleased/BUG FIXES-20240319-085908.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: BUG FIXES -body: 'types/basetypes: Prevented panic in the `ListValue` types `Equal` method when - the receiver has a nil `elementType`' -time: 2024-03-19T08:59:08.576502-04:00 -custom: - Issue: "961" diff --git a/.changes/unreleased/BUG FIXES-20240319-085928.yaml b/.changes/unreleased/BUG FIXES-20240319-085928.yaml deleted file mode 100644 index a45876280..000000000 --- a/.changes/unreleased/BUG FIXES-20240319-085928.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: BUG FIXES -body: 'types/basetypes: Prevented panic in the `SetValue` types `Equal` method when - the receiver has a nil `elementType`' -time: 2024-03-19T08:59:28.116063-04:00 -custom: - Issue: "961" diff --git a/.changes/unreleased/BUG FIXES-20240325-101108.yaml b/.changes/unreleased/BUG FIXES-20240325-101108.yaml deleted file mode 100644 index 74cafbb89..000000000 --- a/.changes/unreleased/BUG FIXES-20240325-101108.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: BUG FIXES -body: 'resource: Ensured computed-only dynamic attributes will not cause `wrong final - value type` errors during planning' -time: 2024-03-25T10:11:08.813527-04:00 -custom: - Issue: "969" diff --git a/.changes/unreleased/FEATURES-20240404-154339.yaml b/.changes/unreleased/FEATURES-20240404-154339.yaml deleted file mode 100644 index 4d1ce742f..000000000 --- a/.changes/unreleased/FEATURES-20240404-154339.yaml +++ /dev/null @@ -1,5 +0,0 @@ -kind: FEATURES -body: 'attr/xattr: Added `ValidateableAttribute` interface for custom value type implementations' -time: 2024-04-04T15:43:39.796606+01:00 -custom: - Issue: "968" diff --git a/.changes/unreleased/FEATURES-20240404-154439.yaml b/.changes/unreleased/FEATURES-20240404-154439.yaml deleted file mode 100644 index adc5392bc..000000000 --- a/.changes/unreleased/FEATURES-20240404-154439.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: FEATURES -body: 'function: Added `ValidateableParameter` interface for custom value - type implementations' -time: 2024-04-04T15:44:39.289946+01:00 -custom: - Issue: "968" diff --git a/.changes/unreleased/FEATURES-20240405-183917.yaml b/.changes/unreleased/FEATURES-20240405-183917.yaml deleted file mode 100644 index d2270bf69..000000000 --- a/.changes/unreleased/FEATURES-20240405-183917.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: FEATURES -body: '`function`: Add `BoolParameterValidator`, `DynamicParameterValidator`, `Float64ParameterValidator`, `Int64ParameterValidator`, - `ListParameterValidator`, `MapParameterValidator`, `NumberParameterValidator`, `ObjectParameterValidator`, `SetParameterValidator`, - and `StringParameterValidator` interfaces for custom function parameter validation implementations.' -time: 2024-04-05T18:39:17.640444-04:00 -custom: - Issue: "971" diff --git a/.changes/unreleased/FEATURES-20240405-184527.yaml b/.changes/unreleased/FEATURES-20240405-184527.yaml deleted file mode 100644 index 187ea5b56..000000000 --- a/.changes/unreleased/FEATURES-20240405-184527.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: FEATURES -body: '`function`: Add `ParameterWithBoolValidators`, `ParameterWithInt64Validators`, - `ParameterWithFloat64Validators`, `ParameterWithDynamicValidators`, `ParameterWithListValidators`, - `ParameterWithMapValidators`, `ParameterWithNumberValidators`, `ParameterWithObjectValidators`, - `ParameterWithSetValidators`, and `ParameterWithStringValidators` interfaces to enable - parameter-based validation support' -time: 2024-04-05T18:45:27.979266-04:00 -custom: - Issue: "971" diff --git a/.changes/unreleased/NOTES-20240329-133959.yaml b/.changes/unreleased/NOTES-20240329-133959.yaml deleted file mode 100644 index cd15ebdb6..000000000 --- a/.changes/unreleased/NOTES-20240329-133959.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: NOTES -body: 'function: Provider-defined function features are now considered generally available - and protected by compatibility promises' -time: 2024-03-29T13:39:59.085147-04:00 -custom: - Issue: "966" diff --git a/.changes/unreleased/NOTES-20240404-155606.yaml b/.changes/unreleased/NOTES-20240404-155606.yaml deleted file mode 100644 index baf0885a4..000000000 --- a/.changes/unreleased/NOTES-20240404-155606.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: NOTES -body: 'attr/xattr: The `TypeWithValidate` interface has been deprecated in preference - of the `ValidateableAttribute` interface. A `ValidatableParameter` interface has - also been added to the `function` package' -time: 2024-04-04T15:56:06.494328+01:00 -custom: - Issue: "968" diff --git a/CHANGELOG.md b/CHANGELOG.md index e4da8756c..92cf24c38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +## 1.8.0 (April 18, 2024) + +BREAKING CHANGES: + +* function: Removed `Definition` type `Parameter()` method ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) + +NOTES: + +* function: Provider-defined function features are now considered generally available and protected by compatibility promises ([#966](https://github.com/hashicorp/terraform-plugin-framework/issues/966)) +* attr/xattr: The `TypeWithValidate` interface has been deprecated in preference of the `ValidateableAttribute` interface. A `ValidatableParameter` interface has also been added to the `function` package ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) + +FEATURES: + +* attr/xattr: Added `ValidateableAttribute` interface for custom value type implementations ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) +* function: Added `ValidateableParameter` interface for custom value type implementations ([#968](https://github.com/hashicorp/terraform-plugin-framework/issues/968)) +* `function`: Add `BoolParameterValidator`, `DynamicParameterValidator`, `Float64ParameterValidator`, `Int64ParameterValidator`, `ListParameterValidator`, `MapParameterValidator`, `NumberParameterValidator`, `ObjectParameterValidator`, `SetParameterValidator`, and `StringParameterValidator` interfaces for custom function parameter validation implementations. ([#971](https://github.com/hashicorp/terraform-plugin-framework/issues/971)) +* `function`: Add `ParameterWithBoolValidators`, `ParameterWithInt64Validators`, `ParameterWithFloat64Validators`, `ParameterWithDynamicValidators`, `ParameterWithListValidators`, `ParameterWithMapValidators`, `ParameterWithNumberValidators`, `ParameterWithObjectValidators`, `ParameterWithSetValidators`, and `ParameterWithStringValidators` interfaces to enable parameter-based validation support ([#971](https://github.com/hashicorp/terraform-plugin-framework/issues/971)) + +BUG FIXES: + +* types/basetypes: Prevented panic in the `MapValue` types `Equal` method when the receiver has a nil `elementType` ([#961](https://github.com/hashicorp/terraform-plugin-framework/issues/961)) +* types/basetypes: Prevented panic in the `ListValue` types `Equal` method when the receiver has a nil `elementType` ([#961](https://github.com/hashicorp/terraform-plugin-framework/issues/961)) +* types/basetypes: Prevented panic in the `SetValue` types `Equal` method when the receiver has a nil `elementType` ([#961](https://github.com/hashicorp/terraform-plugin-framework/issues/961)) +* resource: Ensured computed-only dynamic attributes will not cause `wrong final value type` errors during planning ([#969](https://github.com/hashicorp/terraform-plugin-framework/issues/969)) + ## 1.7.0 (March 21, 2024) BREAKING CHANGES: