# Release History

## 12.23.0 (2024-09-17)

### Features Added
- Added ability to retrieve SAS string to sign for debugging purposes.
- Added support for service version 2024-11-04.

### Other Changes

#### Dependency Updates
- Upgraded `azure-core` from `1.50.0` to version `1.52.0`.
- Upgraded `azure-core-http-netty` from `1.15.2` to version `1.15.4`.
- Upgraded `azure-storage-common` from `12.26.0` to version `12.27.0`.

## 12.23.0-beta.1 (2024-08-06)

### Features Added
- Added ability to retrieve SAS string to sign for debugging purposes.
- Added support for service version 2024-11-04.

## 12.22.0 (2024-07-18)

### Features Added
- Added support for bearer token challenges.
- Added support for encoding messages with Base64, `QueueMessageEncoding.BASE64`.
- Added support for service version 2024-08-04.

### Other Changes

#### Dependency Updates
- Upgraded `azure-core` from `1.49.1` to version `1.50.0`.
- Upgraded `azure-core-http-netty` from `1.15.1` to version `1.15.2`.
- Upgraded `azure-storage-common` from `12.25.1` to version `12.26.0`.

## 12.22.0-beta.1 (2024-06-11)

### Features Added
- Added support for bearer token challenges.
- Added support for service version 2024-08-04.

## 12.21.1 (2024-06-06)

### Other Changes

#### Dependency Updates
- Upgraded `azure-core` from `1.49.0` to version `1.49.1`.
- Upgraded `azure-core-http-netty` from `1.15.0` to version `1.15.1`.
- Upgraded `azure-storage-common` from `12.25.0` to version `12.25.1`.

## 12.21.0 (2024-05-15)

### Features Added
- Added support for service versions 2024-02-04 and 2024-05-04.

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.48.0` to version `1.49.0`.
- Upgraded `azure-core-http-netty` from `1.14.2` to version `1.15.0`.
- Upgraded `azure-storage-common` from `12.24.4` to version `12.25.0`.


## 12.20.4 (2024-04-23)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.47.0` to version `1.48.0`.
- Upgraded `azure-core-http-netty` from `1.14.1` to version `1.14.2`.
- Upgraded `azure-storage-common` from `12.24.3` to version `12.24.4`.


## 12.21.0-beta.1 (2024-04-15)

### Features Added
- Added support for service versions 2024-02-04 and 2024-05-04.

## 12.20.3 (2024-03-20)

### Other Changes

#### Dependency Updates

- Upgraded `azure-storage-common` from `12.24.2` to version `12.24.3`.
- Upgraded `azure-core` from `1.46.0` to version `1.47.0`.
- Upgraded `azure-core-http-netty` from `1.14.0` to version `1.14.1`.


## 12.20.2 (2024-02-22)

### Other Changes

#### Dependency Updates

- Upgraded `azure-storage-common` from `12.24.1` to version `12.24.2`.
- Upgraded `azure-core` from `1.45.1` to version `1.46.0`.
- Upgraded `azure-core-http-netty` from `1.13.11` to version `1.14.0`.


## 12.20.1 (2023-12-04)

### Other Changes

#### Dependency Updates

- Upgraded `azure-storage-common` from `12.24.0` to version `12.24.1`.
- Upgraded `azure-core-http-netty` from `1.13.10` to version `1.13.11`.
- Upgraded `azure-core` from `1.45.0` to version `1.45.1`.

## 12.20.0 (2023-11-08)

### Features Added
- Added support for service versions 2023-11-03.
- Added support for QueueAudience.

## 12.19.1 (2023-10-24)

### Other Changes

#### Dependency Updates

- Upgraded `azure-storage-common` from `12.23.0` to version `12.23.1`.
- Upgraded `azure-core-http-netty` from `1.13.7` to version `1.13.9`.
- Upgraded `azure-core` from `1.43.0` to version `1.44.1`.

## 12.20.0-beta.1 (2023-10-19)

### Features Added
- Added support for service versions 2023-11-03.
- Added support for QueueAudience.

## 12.19.0 (2023-09-12)

### Features Added
- Added support for service versions 2023-05-03 and 2023-08-03.

## 12.18.1 (2023-08-18)

### Other Changes

#### Dependency Updates

- Upgraded `azure-storage-common` from `12.22.0` to version `12.22.1`.
- Upgraded `azure-core-http-netty` from `1.13.5` to version `1.13.6`.
- Upgraded `azure-core` from `1.41.0` to version `1.42.0`.

## 12.19.0-beta.1 (2023-08-08)

### Features Added
- Added support for service versions 2023-05-03 and 2023-08-03.

## 12.18.0 (2023-07-11)

### Features Added
- Added support for the `2023-01-03` service version.

### Other Changes
- Migrate test recordings to assets repo.

## 12.17.2 (2023-06-14)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.39.0` to version `1.40.0`.
- Upgraded `azure-core-http-netty` from `1.13.3` to version `1.13.4`.
- Upgraded `azure-storage-common` from `12.21.1` to version `12.21.2`.

## 12.18.0-beta.1 (2023-05-30)

### Features Added
- Added support for 2023-01-03 service version.

## 12.17.1 (2023-05-23)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core-http-netty` from `1.13.2` to version `1.13.3`.
- Upgraded `azure-core` from `1.38.0` to version `1.39.0`.
- Upgraded `azure-storage-common` from `12.21.0` to version `12.21.1`.

## 12.17.0 (2023-04-13)

### Features Added
- Added support for 2022-11-02 service version.

## 12.17.0-beta.1 (2023-03-28)

### Features Added
- Added support for 2022-11-02 service version.

## 12.16.1 (2023-03-16)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core-http-netty` from `1.13.0` to version `1.13.1`.
- Upgraded `azure-storage-common` from `12.20.0` to version `12.20.1`.
- Upgraded `azure-core` from `1.36.0` to version `1.37.0`.

## 12.16.0 (2023-02-21)

### Features Added
- Added support for 2021-12-02 service version.

## 12.15.3 (2023-02-09)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.35.0` to version `1.36.0`.
- Upgraded `azure-core-http-netty` from `1.12.8` to version `1.13.0`.
- Upgraded `azure-storage-common` from `12.19.2` to version `12.19.3`.

## 12.16.0-beta.1 (2023-02-07)

### Features Added
- Added support for 2021-12-02 service version.

## 12.15.2 (2023-01-10)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.34.0` to version `1.35.0`.
- Upgraded `azure-core-http-netty` from `1.12.7` to version `1.12.8`.
- Upgraded `azure-storage-common` from `12.19.1` to version `12.19.2`.

## 12.15.1 (2022-11-15)

### Other Changes

#### Dependency Updates
- Upgraded `azure-core` from `1.33.0` to version `1.34.0`.
- Upgraded `azure-core-http-netty` from `1.12.6` to version `1.12.7`.
- Upgraded `azure-storage-common` from `12.19.0` to version `12.19.1`.

## 12.15.0 (2022-10-11)

### Features Added
- Added support for 2021-10-04 service version.

#### Dependency Updates
- Upgraded `azure-core` from `1.32.0` to version `1.33.0`.
- Upgraded `azure-core-http-netty` from `1.12.5` to version `1.12.6`.
- Upgraded `azure-storage-common` from `12.18.1` to version `12.19.0`.

## 12.14.2 (2022-09-12)

### Other Changes

#### Dependency Updates
- Upgraded `azure-core` from `1.31.0` to version `1.32.0`.
- Upgraded `azure-core-http-netty` from `1.12.4` to version `1.12.5`.
- Upgraded `azure-storage-common` from `12.18.0` to version `12.18.1`.

## 12.15.0-beta.1 (2022-09-06)

### Features Added
- Added support for 2021-10-04 service version.

## 12.14.1 (2022-08-12)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.30.0` to version `1.31.0`.
- Upgraded `azure-core-http-netty` from `1.12.3` to version `1.12.4`.
- Upgraded `azure-storage-common` from `12.17.0` to version `12.18.0-beta.1`.

## 12.14.0 (2022-07-07)

### Features Added
- GA release for 2021-08-06 service version.

## 12.14.0-beta.1 (2022-06-15)

### Features Added
- Added support for 2021-08-06 service version.

## 12.13.1 (2022-06-08)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.28.0` to version `1.29.1`.
- Upgraded `azure-core-http-netty` from `1.12.0` to version `1.12.2`.
- Upgraded `azure-storage-common` from `12.16.0` to version `12.16.1`.

## 12.13.0 (2022-05-25)

### Other Changes
- GA release for STG 82

## 12.12.2 (2022-05-12)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.27.0` to version `1.28.0`.
- Upgraded `azure-core-http-netty` from `1.11.9` to version `1.12.0`.
- Upgraded `azure-storage-common` from `12.15.1` to version `12.15.2`.

## 12.13.0-beta.1 (2022-05-06)

### Features Added
- Added support for 2021-06-08 service version.

## 12.12.1 (2022-04-07)

### Other Changes
#### Dependency Updates
- Upgraded `azure-core` from `1.26.0` to version `1.27.0`.
- Upgraded `azure-core-http-netty` from `1.11.8` to version `1.11.9`.
- Upgraded `azure-storage-common` from `12.15.0` to version `12.15.1`.

## 12.12.0 (2022-03-09)

### Other Changes
- GA release for STG 79, 80, 81

## 12.11.4 (2022-02-11)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.24.1` to version `1.25.0`.
- Upgraded `azure-core-http-netty` from `1.11.6` to version `1.11.7`.
- Upgraded `azure-storage-common` from `12.14.2` to version `12.14.3`.

## 12.12.0-beta.3 (2022-02-09)

### Features Added
- Added support for 2021-04-10 service version.

### Bugs Fixed
- Fixed a bug in builders that would cause queue name to be erased if specified before the connection string.

## 12.11.3 (2022-01-14)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.22.0` to version `1.24.1`.
- Upgraded `azure-core-http-netty` from `1.11.2` to version `1.11.6`.
- Upgraded `azure-storage-common` from `12.14.1` to version `12.14.2`.

## 12.12.0-beta.2 (2021-12-07)

### Features Added
- Added support for 2021-02-12 service version.

## 12.11.2 (2021-11-10)

### Other Changes

#### Dependency Updates

- Upgraded `azure-core` from `1.21.0` to version `1.22.0`.
- Upgraded `azure-core-http-netty` from `1.11.1` to version `1.11.2`.
- Upgraded `azure-storage-common` from `12.14.0` to version `12.14.1`

## 12.12.0-beta.1 (2021-11-05)

### Features Added
- Added support for the 2020-12-06 service version.

## 12.11.1 (2021-10-12)

### Other Changes
#### Dependency Updates
- Updated `azure-storage-common` to version `12.14.0`
- Updated `azure-core` to version `1.21.0`

## 12.11.0 (2021-09-15)
- GA release

## 12.11.0-beta.1 (2021-07-28)
- Added support for the 2020-10-02 service version.

## 12.10.0 (2021-06-09)
- GA release

## 12.10.0-beta.1 (2021-05-13)
- Added support for the 2020-08-04 service version.

## 12.9.1 (2021-05-13)
### Dependency Updates
- Updated `azure-storage-common` to version `12.11.1`
- Updated `azure-core` to version `1.16.0`

## 12.9.0 (2021-04-29)
- GA release

## 12.9.0-beta.3 (2021-04-16)
- Updated azure-storage-common dependencies.

## 12.9.0-beta.2 (2021-03-29)
- Updated azure-storage-common and azure-core dependencies.

### Support for binary data, custom shapes and Base64 encoding
This release adds a convenient way to send and receive binary data and custom shapes as a payload.
Additionally, support for Base64 encoding in HTTP requests and responses has been added that makes interoperability with V11 and prior Storage SDK easier to implement.

The `QueueClient.sendMessage` and `QueueAsyncClient.sendMessage` consume `com.azure.core.util.BinaryData` in addition to `String`.
`QueueMessageItem` and `PeekedMessageItem` expose new property `getBody()` of `com.azure.core.util.BinaryData` type to access message payload and should be used instead of `getMessageText()`.

See [BinaryData](https://docs.microsoft.com/java/api/com.azure.core.util.binarydata?view=azure-java-stable) for more information about handling `String`, binary data and custom shapes.

#### Receiving message as string
Before:
```java
QueueMessageItem message = queueClient.receiveMessage();
String messageText = message.getMessageText();
```

After:
```java
QueueMessageItem message = queueClient.receiveMessage();
BinaryData body = message.getBody();
String messageText = body.toString();
```

## 12.9.0-beta.1 (2021-02-10)
- Added support for the 2020-06-12 service version. 

## 12.8.0 (2021-01-14)
- GA release

## 12.8.0-beta.1 (2020-12-07)
- Exposed ClientOptions on all client builders, allowing users to set a custom application id and custom headers.
- Fixed a bug where the error message would not be displayed the exception message of a HEAD request.\
- Added a MetadataValidationPolicy to check for leading and trailing whitespace in metadata that would cause Auth failures.

## 12.7.0 (2020-11-11)
- Added support to specify whether or not a pipeline policy should be added per call or per retry.
- Fixed a bug that would cause a NPE when visibilityTimeout was set to null in QueueClient.updateMessage

## 12.7.0-beta.1 (2020-10-01)
- Added support for the 2020-02-10 service version. 
- Fixed a bug where the TokenCredential scope would be incorrect for custom URLs.
- Fixed a bug where Default Azure Credential would not work with Azurite.
- Fixed a bug that would cause message text to be erased when only updating the visibility timeout
- Fixed a bug that would cause auth failures when building a client by passing an endpoint which had a sas token with protocol set to https,http
- Fixed a bug where a custom application id in HttpLogOptions would not be added to the User Agent String.

## 12.6.0 (2020-08-13)
- GA release for 2019-12-12 service version.

## 12.6.0-beta.1 (2020-07-07)
- Added support for the 2019-12-12 service version.

## 12.5.2 (2020-06-12)
- Updated azure-storage-common and azure-core dependencies.

## 12.5.1 (2020-05-06)
- Updated `azure-core` version to `1.5.0` to pickup fixes for percent encoding `UTF-8` and invalid leading bytes in a body string.

## 12.5.0 (2020-04-06)
- Fixed a bug that would prevent client initialization against Azurite in some containerized environments.
- Fixed a bug where the Date header wouldn't be updated with a new value on request retry.

## 12.4.0 (2020-03-11)
- Update `azure-storage-common` to version 12.5.0

## 12.3.0 (2020-02-12)
- Added support for the 2019-07-07 service version.

## 12.2.1 (2020-02-10)
- Updated `azure-core-http-netty` to version 1.3.0
- Update `azure-storage-common` to version 12.3.1

## 12.2.0 (2020-01-08)
This package's
[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.2.0/sdk/storage/azure-storage-queue/README.md)
and
[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.2.0/sdk/storage/azure-storage-queue/src/samples/java/com/azure/storage/queue)

## 12.2.0-beta.1 (2019-12-18)
- Added SAS generation methods on clients to improve discoverability and convenience of sas. Deprecated setQueueName, generateSasQueryParameters methods on QueueServiceSasSignatureValues to direct users to using the methods added on clients.

## 12.1.0 (2019-12-04)
This package's
[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.0.0/sdk/storage/azure-storage-queue/README.md)
and
[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.0.0/sdk/storage/azure-storage-queue/src/samples/java/com/azure/storage/queue)

- Added a check in ClientBuilders to enforce HTTPS for bearer token authentication.
- Upgraded to version 1.1.0 of Azure Core.

## 12.0.0 (2019-10-31)
- Removed QueueMessage from public API
- Removed BaseQueueClientBuilder
- Removed QueueClientBuilder and QueueServiceClientBuilder inheritance of BaseQueueClientBuilder
- Renamed QueueSegmentOptions getMaxResults and setMaxResults to getMaxResultsPerPage and setMaxResultsPerPage
- Removes StorageError and StorageErrorException from public API
- Renamed StorageErrorCode to QueueErrorCode, SignedIdentifier to QueueSignedIdentifier, StorageServiceProperties to QueueServiceProperties, StorageServiceStats to QueueServiceStatistics, CorRules to QueueCorRules, AccessPolicy to QueueAccessPolicy, Logging to QueueAnalyticsLogging, Metrics to QueueMetrics, and RetentionPolicy to QueueRetentionPolicy
- Renamed StorageException to QueueStorageException
- Added QueueServiceVersion and the ability to set it on client builders
- Renamed enqueueMessage to sendMessage and changed the response type from EnqueueMessage to SendMessageResult
- Renamed dequeueMessages to receiveMessages and changed the response type from DequeuedMessage to QueueMessageItem
- Renamed PeekedMessage to PeekedMessageItem and UpdatedMessage to UpdatedMessageResult
- Added support for emulator endpoints
- Renamed QueueSasPermission getters to use has prefix

## 12.0.0-preview.4 (2019-10-08)
For details on the Azure SDK for Java (October 2019 Preview) release, you can refer to the [release announcement](https://aka.ms/azure-sdk-preview4-java).

This package's
[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.0.0-preview.4/sdk/storage/azure-storage-queue/README.md)
and
[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.0.0-preview.4/sdk/storage/azure-storage-queue/src/samples/java/com/azure/storage/queue)

- Getters and setters were updated to use Java Bean notation.
- Added `getQueueName` for fetching the resource names.
- Updated to be fully compliant with the Java 9 Platform Module System.
- Changed `VoidResponse` to `Response<Void>` on sync API, and `Mono<VoidResponse>` to `Mono<Response<Void>>` on async API.
- Fixed metadata does not allow capital letter issue. [`Bug 5295`](https://github.com/Azure/azure-sdk-for-java/issues/5295)
- `getQueueServiceUrl`, `getQueueUrl` API now returns URL with scheme, host, resource name and snapshot if any.
- Removed SAS token generation APIs from clients, use QueueServiceSasSignatureValues to generate SAS tokens.
- Removed `SASTokenCredential`, `SASTokenCredentialPolicy` and the corresponding `credential(SASTokenCredential)` method in client builder, and added sasToken(String) instead.

## 12.0.0-preview.3 (2019-09-10)
For details on the Azure SDK for Java (September 2019 Preview) release, you can refer to the [release announcement](https://aka.ms/azure-sdk-preview3-java).

This package's
[documentation](https://github.com/Azure/azure-sdk-for-java/blob/085c8570b411defff26860ef56ea189af07d3d6a/sdk/storage/azure-storage-queue/README.md)
and
[samples](https://github.com/Azure/azure-sdk-for-java/tree/085c8570b411defff26860ef56ea189af07d3d6a/sdk/storage/azure-storage-queue/src/samples/java/com/azure/storage/queue)

- Added tracing telemetry on maximum overload API.
- Added generate SAS token APIs.
- Throw `StorageException` with error code when get error response from service.
- Renamed `getHandles` to `listHandles`.
- Added `clearRange` API and removed the parameter of `FileRangeWriteType` from `upload` API.
- Moved `ReactorNettyClient` into a separate module as default plugin. Customer can configure a custom http client through builder.
- Throw `UnexpectedLengthException` when the upload body length does not match the input length. [GitHub #4193](https://github.com/Azure/azure-sdk-for-java/issues/4193)
- Added validation policy to check the equality of request client id between request and response.
- Upgraded to use service version 2019-02-02 from 2018-11-09.
- Replaced `ByteBuf` with `ByteBuffer` and removed dependency on `Netty`.
- Added `azure-storage-common` as a dependency.

**Breaking changes: New API design**
- Changed list responses to `PagedFlux` on async APIs and `PagedIterable` on sync APIs.

## 12.0.0-preview.2 (2019-08-08)
Version 12.0.0-preview.2 is a preview of our efforts in creating a client library that is developer-friendly, idiomatic to the Java ecosystem, and as consistent across different languages and platforms as possible. The principles that guide our efforts can be found in the [Azure SDK Design Guidelines for Java](https://aka.ms/azsdk/guide/java).

For details on the Azure SDK for Java (August 2019 Preview) release, you can refer to the [release announcement](https://azure.github.io/azure-sdk/releases/2019-08-06/java.html).

This package's
[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-storage-queue_12.0.0-preview.2/sdk/storage/azure-storage-queue/README.md)
and
[samples](https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.0.0-preview.2/sdk/storage/azure-storage-queue/src/samples/java/com/azure/storage/queue)
demonstrate the new API.

### Features included in `azure-storage-queue`
- This is initial SDK release for storage queue service.
- Packages scoped by functionality
    - `azure-storage-queue` contains a `QueueServiceClient`, `QueueServiceAsyncClient`, `QueueClient` and `QueueAsyncClient` for storage queue operations.
- Client instances are scoped to storage queue service.
- Reactive streams support using [Project Reactor](https://projectreactor.io/).
