Releases: Azure/azure-event-hubs-dotnet
3.0.0
Microsoft.Azure.EventHubs
Bug fixes
- A Fix implemented to omit failures in receive handler. With this change, receive handler will continue working until handler is cancelled. (#354)
Features/Enhancements
- Client to throw EventHubsTimeoutException instead of System.TimeoutException for consistency. (#328)
- Adding send plugin support to SDK. With plugins, you can manipulate or log events/messages right before they are sent. (#324)
- EventHubPartitionRuntimeInformation.IsEmpty will depict whether subject partition has any messages or not. (#352)
- EventData.SystemProperties made public for addressing mockability concerns. (#332)
Microsoft.Azure.EventHubs.Processor
Breaking changes
- ILeaseManager.GetAllLeases removed and ILeaseManager.GetAllLeasesAsync() added. (#357 )
Bug fixes
- Fixing a cleanup issue at processor unregister call stack which was failing the next register call on the same host. (#342)
Features/Enhancements
- Use Azure Storage Account NameValidator to check validity of LeaseContainerName. (#307)
- Lease manager now conducts lease operations in parallel instead of sequential which helps to renew or acuire leases quicker than before. (#333)
- Multiple improvements to reduce the number of storage calls in lease manager. (#357)
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/3.0.0
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/3.0.0
2.2.1
Microsoft.Azure.EventHubs
Bug fixes
- Fixed a bug where client was missing AMQP message properties in the received Event Data. (#302)
- System.IdentityModel.Tokens.Jwt 5.0 supports only .NetCore builds thus moved net461 build dependency to 4.X (#308)
Features/Enhancements
- Runtime operations to retry on SocketException and TaskCanceledException exception types. This change helps to reduce number of intermittent exceptions due to network connectivity issues. (#289)
- RetryPolicy improvement to isolate failures from concurrent operations. (#301)
- Don't retry runtime operations if close called on the client. This helps to stop potential ObjectDisposed exceptions during client close calls. (#313)
Microsoft.Azure.EventHubs.Processor
Bug fixes
- Avoid double counting of owned and expired leases. (#309)
- Wired up proxy settings to storage client when proxy is enabled for the subject host. (#311)
Features/Enhancements
- PartitionContext.Lease made public. (#304)
- Provide last exception when all retries exhausted during register host calls. (#314)
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/2.2.1
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/2.2.1
2.1.0
Microsoft.Azure.EventHubs
Bug fixes
- Fixes a bug at batch size calculation observed when batch is built by small events. (#268)
- Fixes a bug causing ObjectDisposedExceptions when send retried with the same set of EventDatas (#275)
Features/Enhancements
- Custom proxy endpoint support: Event Hubs clients were able to work with system wide proxy settings. With this change client can be configured for custom endpoints. (#252)
Microsoft.Azure.EventHubs.Processor
Bug fixes
- Fixes empty offset error observed when subject partition is idle. (#253)
- Notify partition id in the error callback if lease update call fails. (#257)
Features/Enhancements
- AAD/RBAC Token Provider support for EPH (#276, #281)
- Event Processor Host lease management improvements to reduce partition shuffle across nodes.
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/2.1.0
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/2.1.0
2.0.1 Microsoft.Azure.EventHubs.Processor
Microsoft.Azure.EventHubs.Processor
Dependency changes
- NewtonSoft.Json package dependency reduced to version 10.0.3. https://www.nuget.org/packages/Newtonsoft.Json/10.0.3
Bug fixes
- A lease might have empty offset stored if there are no events on the partitions. This can result in host initialization failures. Fix addresses the issue. (#253)
Here is the corresponding NuGet package:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/2.0.1
2.0.0
Microsoft.Azure.EventHubs
Breaking changes
- Introducing EventPosition class to declare position information while creating a receiver. PartitionReceiver.StartOfStream and PartitionReceiver.EndOfStream are removed.
- IPartitionReceiveHandler introduces MaxBatchSize which needs to be implemented as part of the interface.
Bug fixes
- EventDataBatch with partition-key batch size calculation related issues are fixed. (#198)
- EventData.SystemProperties to inherit System.Dictionary. This helps to avoid overriding event properties when send through IOT endpoints. (#206)
- Fixed a receive stuck issue with receive handlers when the batch size was not provided by implementing client. We set the batch size as 10 with this fix. (#235)
Features/Enhancements
- Receiver identifier. This adds an identifier aka. name to a receiver. The receiver names are used to enhance client side exception messages for debugging purpose. (#226)
- Start from a sequence number. Clients are now able to start receiving from a given sequence number with this new API. (#230)
- Receive handler provides invokeWhenNoEvents flag to control null receive behavior. When set, receive handler callback is invoked on receive timeouts as well. (#238)
- PartitionContext provides a CancellationTokenSource which can be used to stop long running event processes, (#187)
Microsoft.Azure.EventHubs.Processor
Bug fixes
- EventHubsConnectionStringBuilder crashes when shared access signature is provided. (#219)
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/2.0.0
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/2.0.0
2.0.0-preview
This preview release of Azure Event Hubs client supports Role-Based Access Control and Managed Service Identity.
Here is the corresponding NuGet package:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/2.0.0-preview
1.1.0
Microsoft.Azure.EventHubs
- Client entities should inherit retry policy from parent client. (#200)
- Adding receiver runtime metrics support. (#180)
- Moving to runtime 2.0 (#205)
- Adding Diagnostic Source instrumentation for send and receive (#203, #212, #214)
Microsoft.Azure.EventHubs.Processor
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/1.1.0
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/1.1.0
1.0.3
Microsoft.Azure.EventHubs
- Enabling web-sockets support (#177)
- Using ConfigureAwait(false) to avoid context restoration in EventHubPartitionPump.cs, PartitionPump.cs, AmqpPartitionReceiver.cs, AmqpServiceClient.cs (#182)
- Fixing a rare race issue on receiver pump which was emerging during repetitive open/close (#175)
- Fixing receiver-stuck issue which was observed when large receive-timeout values used (#195)
- Moving to Azure AMQP 2.1.1 (#196)
- Fixing an issue on RetryPolicy where parallel async operations of the same client race when incrementing retry counter (#196)
Microsoft.Azure.EventHubs.Processor
- Fixing EPH lease-lost decision logic (#179)
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/1.0.3
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/1.0.3
1.0.2
Microsoft.Azure.EventHubs
- Slim down AsyncLock by removing unnecessary checks and calls. #153
- Allow at least 60 seconds for AMQP session creation. #154
- Adding batch event data API. #157
- Fix wrong audience on the ActiveClientLink which was causing token expiry after 60 minutes. #164
- Adding shared access signature support. #174
Please note that there are no functional changes in Microsoft.Azure.EventHubs.Processor library for this release.
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/1.0.2
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/1.0.2
1.0.1
Microsoft.Azure.EventHubs
- Client to honor remaining time while creating AMQP links. #128
- Receive call will return NULL instead of throwing a TimeoutException under some special conditions like link timeout. #130
- Fixed the issue where unregistering receive handler was throwing OperationCanceledException. #135
Microsoft.Azure.EventHubs.Processor
- VS 2017 NuGet packaging issue fixed. #107
- PartitionPump delivers ReceiverDisconnectedException on processor host. #109
- Processor host will deliver Enumerable.Empty instead of NULL when EventProcessorOptions.InvokeProcessorAfterReceiveTimeout is set. #124
- Processor will failfast when an unhandled exception detected. #127
- Fixed a rare race issue in processor observed during lease initialization. #141
- Processor host will shut down gracefully on ReceiverDisconnectedException. #137
- Fixed an issue where 2 different hosts ending up owning the same lease for a short duration. #117
- Fixed an issue where CheckpointAsync() was not checkpointing current batch but the previous one. #117
- Fixed ExceptionHandled trace from EventSource. #117
Here are the corresponding NuGet packages:
https://www.nuget.org/packages/Microsoft.Azure.EventHubs/1.0.1
https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/1.0.1
For the full list of issues and pull requests for this release, refer to: https://github.com/Azure/azure-event-hubs-dotnet/milestone/5