# Release History

## 4.0.0 (2026-06-24)
### Breaking Changes

- Type of `OperationStatus.PercentComplete` has been changed from `*float32` to `*float64`
- Type of `OperationStatusResult.PercentComplete` has been changed from `*float32` to `*float64`

### Features Added

- New enum type `CreatedByType` with values `CreatedByTypeApplication`, `CreatedByTypeKey`, `CreatedByTypeManagedIdentity`, `CreatedByTypeUser`
- New struct `SystemData`
- New field `SystemData` in struct `CacheAccessPolicy`
- New field `SystemData` in struct `CacheAccessPolicyAssignment`
- New field `SystemData` in struct `FirewallRule`
- New field `SystemData` in struct `LinkedServerWithProperties`
- New field `SystemData` in struct `PatchSchedule`
- New field `SystemData` in struct `PrivateEndpointConnection`
- New field `NextLink` in struct `PrivateEndpointConnectionListResult`
- New field `GroupIDs` in struct `PrivateEndpointConnectionProperties`
- New field `SystemData` in struct `PrivateLinkResource`
- New field `NextLink` in struct `PrivateLinkResourceListResult`
- New field `SystemData` in struct `ResourceInfo`


## 3.3.0 (2025-01-23)
### Features Added

- New enum type `ZonalAllocationPolicy` with values `ZonalAllocationPolicyAutomatic`, `ZonalAllocationPolicyNoZones`, `ZonalAllocationPolicyUserDefined`
- New field `ZonalAllocationPolicy` in struct `CreateProperties`
- New field `ZonalAllocationPolicy` in struct `Properties`
- New field `ZonalAllocationPolicy` in struct `UpdateProperties`


## 3.2.0 (2024-07-25)
### Features Added

- New field `NotifyKeyspaceEvents` in struct `CommonPropertiesRedisConfiguration`
- New field `DisableAccessKeyAuthentication` in struct `CreateProperties`
- New field `DisableAccessKeyAuthentication` in struct `Properties`
- New field `DisableAccessKeyAuthentication` in struct `UpdateProperties`


## 3.1.0 (2023-11-24)
### Features Added

- Support for test fakes and OpenTelemetry trace spans.


## 3.0.0 (2023-09-22)
### Breaking Changes

- Type of `OperationStatus.Error` has been changed from `*ErrorDetailAutoGenerated` to `*ErrorDetail`
- Type of `OperationStatusResult.Error` has been changed from `*ErrorDetailAutoGenerated` to `*ErrorDetail`
- Struct `ErrorDetailAutoGenerated` has been removed

### Features Added

- New value `ProvisioningStateConfiguringAAD` added to enum type `ProvisioningState`
- New enum type `AccessPolicyAssignmentProvisioningState` with values `AccessPolicyAssignmentProvisioningStateCanceled`, `AccessPolicyAssignmentProvisioningStateDeleted`, `AccessPolicyAssignmentProvisioningStateDeleting`, `AccessPolicyAssignmentProvisioningStateFailed`, `AccessPolicyAssignmentProvisioningStateSucceeded`, `AccessPolicyAssignmentProvisioningStateUpdating`
- New enum type `AccessPolicyProvisioningState` with values `AccessPolicyProvisioningStateCanceled`, `AccessPolicyProvisioningStateDeleted`, `AccessPolicyProvisioningStateDeleting`, `AccessPolicyProvisioningStateFailed`, `AccessPolicyProvisioningStateSucceeded`, `AccessPolicyProvisioningStateUpdating`
- New enum type `AccessPolicyType` with values `AccessPolicyTypeBuiltIn`, `AccessPolicyTypeCustom`
- New enum type `UpdateChannel` with values `UpdateChannelPreview`, `UpdateChannelStable`
- New function `NewAccessPolicyAssignmentClient(string, azcore.TokenCredential, *arm.ClientOptions) (*AccessPolicyAssignmentClient, error)`
- New function `*AccessPolicyAssignmentClient.BeginCreateUpdate(context.Context, string, string, string, CacheAccessPolicyAssignment, *AccessPolicyAssignmentClientBeginCreateUpdateOptions) (*runtime.Poller[AccessPolicyAssignmentClientCreateUpdateResponse], error)`
- New function `*AccessPolicyAssignmentClient.BeginDelete(context.Context, string, string, string, *AccessPolicyAssignmentClientBeginDeleteOptions) (*runtime.Poller[AccessPolicyAssignmentClientDeleteResponse], error)`
- New function `*AccessPolicyAssignmentClient.Get(context.Context, string, string, string, *AccessPolicyAssignmentClientGetOptions) (AccessPolicyAssignmentClientGetResponse, error)`
- New function `*AccessPolicyAssignmentClient.NewListPager(string, string, *AccessPolicyAssignmentClientListOptions) *runtime.Pager[AccessPolicyAssignmentClientListResponse]`
- New function `NewAccessPolicyClient(string, azcore.TokenCredential, *arm.ClientOptions) (*AccessPolicyClient, error)`
- New function `*AccessPolicyClient.BeginCreateUpdate(context.Context, string, string, string, CacheAccessPolicy, *AccessPolicyClientBeginCreateUpdateOptions) (*runtime.Poller[AccessPolicyClientCreateUpdateResponse], error)`
- New function `*AccessPolicyClient.BeginDelete(context.Context, string, string, string, *AccessPolicyClientBeginDeleteOptions) (*runtime.Poller[AccessPolicyClientDeleteResponse], error)`
- New function `*AccessPolicyClient.Get(context.Context, string, string, string, *AccessPolicyClientGetOptions) (AccessPolicyClientGetResponse, error)`
- New function `*AccessPolicyClient.NewListPager(string, string, *AccessPolicyClientListOptions) *runtime.Pager[AccessPolicyClientListResponse]`
- New function `*Client.BeginFlushCache(context.Context, string, string, *ClientBeginFlushCacheOptions) (*runtime.Poller[ClientFlushCacheResponse], error)`
- New function `*ClientFactory.NewAccessPolicyAssignmentClient() *AccessPolicyAssignmentClient`
- New function `*ClientFactory.NewAccessPolicyClient() *AccessPolicyClient`
- New struct `CacheAccessPolicy`
- New struct `CacheAccessPolicyAssignment`
- New struct `CacheAccessPolicyAssignmentList`
- New struct `CacheAccessPolicyAssignmentProperties`
- New struct `CacheAccessPolicyList`
- New struct `CacheAccessPolicyProperties`
- New struct `ErrorDetail`
- New field `AADEnabled` in struct `CommonPropertiesRedisConfiguration`
- New field `UpdateChannel` in struct `CreateProperties`
- New field `UpdateChannel` in struct `Properties`
- New field `UpdateChannel` in struct `UpdateProperties`


## 2.3.0 (2023-06-23)
### Features Added

- New field `StorageSubscriptionID` in struct `CommonPropertiesRedisConfiguration`
- New field `StorageSubscriptionID` in struct `ExportRDBParameters`
- New field `StorageSubscriptionID` in struct `ImportRDBParameters`


## 2.2.1 (2023-04-14)
### Bug Fixes

- Fix serialization bug of empty value of `any` type.


## 2.2.0 (2023-03-27)
### Features Added

- New struct `ClientFactory` which is a client factory used to create any client in this module


## 2.1.0 (2022-10-14)

### Features Added

- New field `PrimaryHostName` in struct `LinkedServerCreateProperties`
- New field `GeoReplicatedPrimaryHostName` in struct `LinkedServerCreateProperties`
- New field `GeoReplicatedPrimaryHostName` in struct `LinkedServerProperties`
- New field `PrimaryHostName` in struct `LinkedServerProperties`


## 2.0.0 (2022-09-01)
### Breaking Changes

- Operation `LinkedServerClient.Delete` has been changed to LRO, use `LinkedServerClient.BeginDelete` instead
- Operation `*Client.Update` has been changed to LRO, use `Client.BeginUpdate` instead

### Features Added

- New field `Authnotrequired` in struct `CommonPropertiesRedisConfiguration`
- New field `AofBackupEnabled` in struct `CommonPropertiesRedisConfiguration`
- New field `PreferredDataArchiveAuthMethod` in struct `ImportRDBParameters`
- New field `PreferredDataArchiveAuthMethod` in struct `ExportRDBParameters`


## 1.0.0 (2022-05-17)

The package of `github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redis/armredis` is using our [next generation design principles](https://azure.github.io/azure-sdk/general_introduction.html) since version 1.0.0, which contains breaking changes.

To migrate the existing applications to the latest version, please refer to [Migration Guide](https://aka.ms/azsdk/go/mgmt/migration).

To learn more, please refer to our documentation [Quick Start](https://aka.ms/azsdk/go/mgmt).
