|
1 | 1 | # Release History |
2 | 2 |
|
3 | | -## 5.12.0-beta.3 (Unreleased) |
| 3 | +## 5.12.0 (2025-04-08) |
| 4 | + |
| 5 | +### Acknowledgments |
| 6 | + |
| 7 | +Thank you to our developer community members who helped to make the Event Hubs client libraries better with their contributions to this release: |
| 8 | + |
| 9 | +- tovyhnal _([GitHub](https://github.com/tovyhnal))_ |
4 | 10 |
|
5 | 11 | ### Features Added |
6 | 12 |
|
7 | | -### Breaking Changes |
| 13 | +- Support for the Event Hubs geographic data replication feature has been enabled. Checking for whether or not this feature is enabled for your namespace can be done by querying for Event Hub properties using `EventHubProducerClient` or `EventHubConsumerClient` and referencing the the `IsGeoReplicationEnabled` property of the result. |
| 14 | + |
| 15 | + As part of this feature, the type of offset-related data has been changed from `long` to `string` to align with changes to the Event Hubs service API. To preserve backwards compatibility, the existing offset-related members have not been changed, and new members with names similar to `OffsetString` and string-based parameters for method overloads have been introduced. |
| 16 | + |
| 17 | + The long-based offset members will continue to work for Event Hubs namespaces that do not have GeoDR replication enabled, but are discouraged for use and have been marked as obsolete. |
| 18 | + |
| 19 | + Obsoleted properties: |
| 20 | + - `EventData.Offset` |
| 21 | + - `LastEnqueuedEventProperties.Offset` |
| 22 | + - `PartitionProperties.LastEnqueuedOffset` |
8 | 23 |
|
| 24 | + Obsoleted method overloads: |
| 25 | + - `EventPosition.FromOffset` |
| 26 | + - `EventHubsModelFactory.EventData` |
| 27 | + - `BlobCheckpointStore.UpdateCheckpointAsync` |
| 28 | + - `EventProcessorClient.UpdateCheckpointAsync` |
| 29 | + |
9 | 30 | ### Bugs Fixed |
10 | 31 |
|
| 32 | +- Querying runtime data and other management operations will now correctly guards against the race condition where an AMQP link is in the process of closing as the operation attempts to use it. These errors will now properly be classified as retriable as they are for producer and consumer operations. |
| 33 | + |
| 34 | +- Fixed an obscure edge case in the `EventHubBufferedProducer` client where an unlikely race condition when flushing/enqueuing events concurrently with disposing the producer could cause a semaphore to be released inappropriately. This error superseded the `TaskCanceledException` that should have been surfaced. |
| 35 | + |
11 | 36 | ### Other Changes |
12 | 37 |
|
13 | 38 | - Enhanced retry logic to consider additional cases for web socket-based failures. In many cases, a `WebSocketException` is triggered which wraps a `SocketException` with the details for the specific network conditions. Retry decisions are now based on the internal exception, if present, to ensure retries are correctly applied. |
14 | 39 |
|
| 40 | +- Added annotations to make the package compatible with trimming and native AOT compilation. |
| 41 | + |
| 42 | +- Added Event Hub name to processor load balancing logs for additional context. _(A community contribution, courtesy of [tovyhnal](https://github.com/tovyhnal))_ |
| 43 | + |
| 44 | +- Updated the `Microsoft.Azure.Amqp` dependency to 2.6.9, which contains several bug fixes. _(see: [commits](https://github.com/Azure/azure-amqp/commits/hotfix/))_ |
| 45 | + |
15 | 46 | ## 5.12.0-beta.2 (2025-02-11) |
16 | 47 |
|
17 | 48 | ### Acknowledgments |
@@ -43,7 +74,7 @@ Thank you to our developer community members who helped to make the Event Hubs c |
43 | 74 |
|
44 | 75 | - Querying runtime data and other management operations will now correctly guards against the race condition where an AMQP link is in the process of closing as the operation attempts to use it. These errors will now properly be classified as retriable as they are for producer and consumer operations. |
45 | 76 |
|
46 | | -- Fixed an obscure edge case in the `EventHubBufferedProducer` client where an obscure race condition when flushing/enqueuing events concurrently with disposing the producer could cause a semaphore to be released inappropriately. This error superseded the `TaskCanceledException` that should have been surfaced. |
| 77 | +- Fixed an obscure edge case in the `EventHubBufferedProducer` client where an unlikely race condition when flushing/enqueuing events concurrently with disposing the producer could cause a semaphore to be released inappropriately. This error superseded the `TaskCanceledException` that should have been surfaced. |
47 | 78 |
|
48 | 79 | ### Other Changes |
49 | 80 |
|
|
0 commit comments