Skip to content

Releases: rabbitmq/rabbitmq-dotnet-client

6.6.0-beta.0

03 Oct 14:47
v6.6.0-beta.0
66f499a
Compare
Choose a tag to compare
6.6.0-beta.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v6.5.0...v6.6.0-beta.0

6.5.0

25 Mar 14:33
v6.5.0
4c91cae
Compare
Choose a tag to compare

GitHub Milestone

What's Changed

New Contributors

Full Changelog: v6.4.0...v6.5.0

6.4.0

15 Jun 18:58
v6.4.0
ec8e552
Compare
Choose a tag to compare

6.3.1

08 Jun 14:41
v6.3.1
510b2f7
Compare
Choose a tag to compare

6.3.0

09 May 14:25
v6.3.0
e65cb60
Compare
Choose a tag to compare

6.2.4

24 Feb 16:41
v6.2.4
c9201e4
Compare
Choose a tag to compare

6.2.3

09 Feb 20:30
v6.2.3
4628927
Compare
Choose a tag to compare

6.2.1

21 Aug 08:56
v6.2.1
01c07c8
Compare
Choose a tag to compare

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.

    GitHub issue: #865, #892

6.1.0

08 Jul 08:57
v6.1.0
Compare
Choose a tag to compare

Changes Between 6.0.0 and 6.1.0

This release continues with improvements to memory use and object allocations.

A full list of changes can be found in the GitHub milestone: 6.1.0.

6.0.0

08 Jul 08:57
v6.0.0
a50334f
Compare
Choose a tag to compare

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