Releases: rabbitmq/rabbitmq-dotnet-client
v7.0.0
GitHub milestone for RabbitMQ.Client
version 7.0.0
What's Changed
- Fall back to rabbitmqctl (or rabbitmqctl.bat) if RABBITMQ_RABBITMQCTL_PATH or umbrella path are not available by @michaelklishin in #818
- Switch to Verify for API approval test by @bording in #820
- AutorecoveringConnection uses ContinuationTimeout from ConnectionFactory by @AndrzejKrol in #823
- Do not throw on invalid ReplyTo address by @ig-sinicyn in #828
- Introduce PublicationAddress.TryParse and switch BasicProperties.ReplyToAddress to use it by @michaelklishin in #831
- Throw ObjectDisposedException when required by @lukebakken in #832
- Restore Constants class as public by @lukebakken in #833
- Move Constants to RabbitMQ.Client by @lukebakken in #834
- Replacing usage of ManualResetEvent with ManualResetEventSlim by @stebet in #837
- Optimizing memory usage even further. by @stebet in #824
- Using a linked list for fast efficient tracking of [publisher confirm] delivery tags by @stebet in #836
- Adding System.Threading.Channels for simplified, better performing code. by @stebet in #835
- Using interpolated strings for better code readability. by @stebet in #840
- getting rid of a Func allocation by @bollhals in #841
- Making sure AsyncEventHandlers are all run. Fixes issue #838. by @stebet in #839
- simplify WriteShortstr by @bollhals in #845
- Deletion of unreachable code by @Pliner in #847
- Deletion of unused UseBackgroundThreadsForIO by @Pliner in #846
- eliminate allocations from InboundFrame by @bollhals in #848
- Frame optimizations by @stebet in #844
- Delete AutoClose from SessionManager by @Pliner in #852
- Fixing rethrown exceptions to properly preserve stackframes. by @stebet in #850
- throw ArgumentOutOfRangeException when table key is too long (> 255) by @bollhals in #849
- Adding BinaryPrimitives support for NETSTANDARD targets by @stebet in #851
- Minor improvements and optimizations by @bollhals in #842
- simplify missed heartbeat recognition by @bollhals in #854
- remove task yield by @bollhals in #855
- Fix RabbitMQ version parsing by @lukebakken in #862
- Report a Uri scheme of "amqps" in AmqpTcpEndpoint.ToString() iff SslOption is enabled in #864
- Re-merge pull request #855 from bollhals/remove.task.yield by @lukebakken in #863
- Prep for 6.1.1 by @lukebakken in #870
- Fix AppVeyor build by @lukebakken in #871
- Move BinaryTableValue to public section by @BenBorn in #880
- Ability to do concurrent dispatches both on the async as well as the sync consumer by @danielmarbach in #866
- Refactor: extracted RabbitMQ node management functions from IntegrationFixture by @pergh in #884
- Switch WorkPool of ConsumerWorkService to channels by @danielmarbach in #882
- use cached empty BasicProperties when null by @bollhals in #887
- add size hint variable for PublishBatch creation by @bollhals in #888
- fix issue 868 by @bollhals in #878
- Implement BasicPublishBatch with ReadOnlyMemory by @danielmarbach in #865
- 7.x: remove deprecated message publishing method overloads by @danielmarbach in #895
- precompute sizes and and simplify BasicProperties presence by @bollhals in #890
- Edit docs by @JeremyMahieu in #896
- Do DNS resolution before connection attempt by @JeremyMahieu in #893
- Unify on IModel by @danielmarbach in #858
- Missing ConfigureAwait in TcpClientAdapter by @danielmarbach in #897
- Pull ProcessingConcurrency into connection factory interface by @danielmarbach in #899
- Getting rid of Command allocations by @bollhals in #902
- Rename ProcessingConcurrency to ConsumerDispatchConcurrency by @danielmarbach in #905
- More descriptive exception in WriteShortstr by @tmasternak in #908
- Reduce work allocations by @bollhals in #910
- cache the frameHeaderBuffer & rentedArray by @bollhals in #911
- simplify ack/nack handling by @bollhals in #912
- Switch to Mozilla Public License 2.0 (MPL 2.0) by @dcorbacho in #916
- reduce the amount of times we rent / return from arraypool by @bollhals in #919
- Running Tests docs: quotes for setting env vars in windows by @JeremyMahieu in #921
- Typo in Extension class name by @JeremyMahieu in #922
- remove APIGen project by @bollhals in #924
- Command Id instead of class & method id by @bollhals in #925
- change AmqpVersion to struct by @bollhals in #927
- change from Memory to ReadOnlyMemory by @bollhals in #928
- Update dependencies to latest versions by @lukebakken in #929
- Code cleanups by @stebet in #931
- Add FxCop with only ConfigureAwait rule enabled for now by @danielmarbach in #932
- Expose events ConsumerTagChangeAfterRecovery and QueueNameChangeAfterRecovery by @paulomf in #935
- Remove IAsyncConnectionFactory by @danielmarbach in #933
- Use span directly instead of reader / writer for methods & properties by @bollhals in #936
- Switch FxCop to PrivateAssets="All" by @danielmarbach in #941
- Breaking public API change: fold IAutorecoveringConnection [back] into IConnection by @michaelklishin in #943
- Make sure OnCallbackException is executed for AsyncConsumers by @BarShavit in #946
- Replace Travis with GitHub Actions by @asbjornu in #952
- Minor improvements to GitHub Actions CI build. by @stebet in #954
- Update IModel Documentation by @JKamsker in #958
- 7.0: update target framework from net461 to netcoreapp3.1 by @bollhals in #971
- Speeding up shortstr/longstr (de)serialization. by @stebet in #985
- Cleaning up and adding more benchmarks. by @stebet in #983
- Speeding up decimal (de)serialization. by @stebet in #984
- some more wire formatting improvements by @bollhals in #989
- 8.0: imple...
v7.0.0-rc.14
This is release candidate 14, suitable for testing in pre-production environments
What's Changed
- Safeguarding against duplicate sequence numbers by @danielmarbach in #1709
- Xml doc updates for the rate limiting by @danielmarbach in #1711
- Only add
x-dotnet-pub-seq-no
when tracking enabled by @lukebakken in #1710 - Remove
ChannelOptions
internal class by @lukebakken in #1712
Full Changelog: v7.0.0-rc.13...v7.0.0-rc.14
v7.0.0-rc.13
This is release candidate 13, suitable for testing in pre-production environments
What's Changed
- Integrate
Channel
intoChannelBase
by @lukebakken in #1700 - Isolate publisher confirmation code by @lukebakken in #1702
- Enforce maximum outstanding publisher confirms, if set by @lukebakken in #1703
- Upgrade NET6.0 to NET8.0 since NET6.0 is soon EOL by @danielmarbach in #1707
- Leverage
System.Threading.RateLimiting
by @lukebakken in #1706 - Address some more TODOs by @lukebakken in #1708
Full Changelog: v7.0.0-rc.12...v7.0.0-rc.13
v7.0.0-rc.12
This is release candidate 12, suitable for testing in pre-production environments
What's Changed
- Try to address some test flakes by @lukebakken in #1672
- Sequence Number non-blocking by @danielmarbach in #1675
- Make connection events async by @danielmarbach in #1677
- Use unique queue and exchange names by @lukebakken in #1678
- Make session events async by @danielmarbach in #1679
- Make channel events async by @danielmarbach in #1680
- Async flow control by @danielmarbach in #1681
- Event args cancellation by @danielmarbach in #1683
- Move code to appropriate directories that match namespace structure by @lukebakken in #1685
- AsyncDisposable by @danielmarbach in #1684
- Fix exception when refreshing oauth2 token by @BreakingBread0 in #1690
- Track publisher confirmations automatically by @lukebakken in #1687
New Contributors
- @BreakingBread0 made their first contribution in #1690
Full Changelog: v7.0.0-rc.11...v7.0.0-rc.12
v7.0.0-rc.11
This is release candidate 11, suitable for testing in pre-production environments
What's Changed
- Minor cleanup in AutoRecovery classes by @danielmarbach in #1670
- Allow the dispatcher concurrency to be overriden per channel by @danielmarbach in #1669
- Follow-up to #1669 - per-channel dispatch concurrency by @lukebakken in #1671
Full Changelog: v7.0.0-rc.10...v7.0.0-rc.11
v7.0.0-rc.10
This is release candidate 10, suitable for testing in pre-production environments
What's Changed
- Add test to demonstrate
IChannel
thread-safety by @lukebakken in #1665 - Require
IChannel
forAsyncDefaultBasicConsumer
by @lukebakken in #1667
Full Changelog: v7.0.0-rc.9...v7.0.0-rc.10
v7.0.0-rc.9
This is release candidate 9, suitable for testing in pre-production environments
What's Changed
- Consistently use
Task
orValueTask
in APIs by @lukebakken in #1646 - Added ability to use Issuer to receive Token Endpoint for the OAuth2ClientBuilder by @Lyphion in #1656
- Finish up version 7 release by @lukebakken in #1661
- Fix
NextPublishSeqNo
when retrieved concurrently by @lukebakken in #1662 - Clean up
IChannelExtensions
by @lukebakken in #1664
New Contributors
Full Changelog: v7.0.0-rc.8...v7.0.0-rc.9
v7.0.0-rc.8
This is release candidate 8, suitable for testing in pre-production environments
What's Changed
- Refactor credential refresh by @lukebakken in #1649
Full Changelog: v7.0.0-rc.7...v7.0.0-rc.8
v7.0.0-rc.7
This is release candidate 7, suitable for testing in pre-production environments
What's Changed
- use async consumer only by @bollhals in #1638
- Add cancellation token overload to channel extensions by @danielmarbach in #1641
- Support cancellation on the flow control block by @danielmarbach in #1643
- Align Reject with Ack/Nack by @danielmarbach in #1642
- Fix object disposed exception during channel Recovery by @lukebakken in #1648
Full Changelog: v7.0.0-rc.6...v7.0.0-rc.7
v7.0.0-rc.6
This is release candidate 6, suitable for testing in pre-production environments
What's Changed
- Move
Deliver
OTEL activity to consumer dispatchers by @lukebakken in #1633 - simplify IncomingCommand.ReturnBuffers handling by @bollhals in #1636
Full Changelog: v7.0.0-rc.5...v7.0.0-rc.6