Releases: rabbitmq/rabbitmq-dotnet-client
6.6.0-beta.0
What's Changed
- Backport 1332 to 6.x by @Zerpet in #1336
- Misc updates by @lukebakken in #1339
- Fix #1370 by making copy of default AuthMechanisms by @evolvedlight in #1371
- Bump to net462 by @lukebakken in #1384
- Port OAuth2 support to 6.x by @lukebakken in #1387
- Start main reader loop using the default TaskScheduler by @lukebakken in #1388
New Contributors
- @evolvedlight made their first contribution in #1371
Full Changelog: v6.5.0...v6.6.0-beta.0
6.5.0
What's Changed
- Merge pull request #1256 from rabbitmq/lukebakken/ci-updates by @lukebakken in #1266
- fix: add unsigned short support in table protocol by @gytsen in #1271
- Update Apigen to support .NET 6 by @Zerpet in #1300
- Add event for recovering consumer by @Zerpet in #1304
- Add custom filtering and exception handling to topology recovery on 6.x by @rosca-sabina in #1316
- Misc updates by @lukebakken in #1322
- Delete recorded consumers when autorecovering model is disposed by @lukebakken in #1317
- Fix consumer recovery with server-named queues by @lukebakken in #1324
- Start MainLoop with a Task marked as LongRunning by @d-jagoda in #1321
- 6.5.0 CHANGELOG by @lukebakken in #1327
New Contributors
Full Changelog: v6.4.0...v6.5.0
6.4.0
6.3.1
6.3.0
6.2.4
GitHub milestone: 6.2.4
This release contains some important bug fixes:
6.2.3
Please refer to the changelog and associated milestones:
6.2.1
Changes Between 6.1.0 and 6.2.1
This releases primarily focuses on efficiency improvements and addressing
bugs introduced in 6.x
releases.
A full list of changes can be found in the GitHub milestone: 6.2.0
.
Key highlights include:
-
Concurrent publishing on a shared channel is now safer. We still recommend avoiding it when possible
but safety properties have been improved by changing how outgoing frame sequences are serialised.Contributed by @bollhals.
GitHub issue: #878
-
Batch publishing using
System.ReadOnlyMemory<byte>
payloads instead of byte arrays.Contributed by @danielmarbach.
6.1.0
6.0.0
Changes Between 5.2.0 and 6.0.0
This major release of this client introduces substantial improvements
in terms of memory footprint and throughput. They come at the cost
of minor but important breaking API changes covered below.
The client now requires .NET Framework 4.6.1 or .NET Standard 2.0.
Earlier versions are no longer supported by the 6.x
series.
Key improvements in this release have been the result of hard work by
our stellar community members (in no particular order): @stebet, @bording,
@Anarh2404, @danielmarbach, and others.
A full list of changes can be found in the GitHub milestone: 6.0.0
.
The Switch to System.Memory (and Significantly Lower Memory Footprint that Comes with It)
The client now uses the System.Memory
library for message and command payloads. This significantly
reduces object allocation and GC pressure for heavy workloads but also
potentially requires application changes: consumer delivery payloads are now of instance System.ReadOnlyMemory<byte>
instead of byte[]
.
While there's an implicit conversion for these types,
instances of System.ReadOnlyMemory<byte>
must be copied or consumed/deserialised before delivery handler completes.
Holding on to delivered payloads and referencing them at a later point is no longer safe.
The same applies to publishers and the IModel.BasicPublish
method: prefer using System.ReadOnlyMemory<byte>
over byte[]
and dont' assume that this memory can be retained and used outside of the scope of the publishing
function.
GitHub issue: #732
Timeouts Use System.TimeSpan
All timeout arguments now use System.TimeSpan
values.
GitHub issue: #688
Reduced Public API Surface
No major changes here but this is potentially breaking. Only public classes that were never meant
to be publicly used have been turned internal to the client.
GitHub issue: #714
Requires .NET Framework 4.6.1 or .NET Standard 2.0
The client now requires .NET Framework 4.6.1 or .NET Standard 2.0. Earlier versions are no longer
supported.
GitHub issue: #686
Microsoft.Diagnostics.Tracing.EventSource
Dependency Dropped
Microsoft.Diagnostics.Tracing.EventSource
dependency has been removed. It was an annoying
dependency to have for some environments.
Source Linking
The library now supports source linking.
GitHub issue: #697
NuGet Source Packages
Source packages are now also distributed via NuGet.
CRL Checks for Server x.509 (TLS) Certificates
Added a TLS option to enforce CRL checks for server certificates.
GitHub issue: #500