Skip to content

Releases: rabbitmq/rabbitmq-stream-dotnet-client

v1.0.1

10 Jan 09:34
v1.0.1
f6efcc8
Compare
Choose a tag to compare

GitHub Milestone

The client is distributed via NuGet.

Enhancements

Full Changelog: v1.0.0...v1.0.1

v1.0.0

19 Dec 16:10
v1.0.0
05e33ae
Compare
Choose a tag to compare

GitHub Milestone

The client is distributed via NuGet.

Breaking changes

Enhancements

Full Changelog: v1.0.0-rc.8...v1.0.0

v1.0.0-rc.8

24 Nov 09:35
v1.0.0-rc.8
157cd79
Compare
Choose a tag to compare

GitHub Milestone

The client is distributed via NuGet.

Enhancements

  • Add GetAwaiter().GetResult(); on MessageHandler in #184 . It avoids thread pool exhaustion. Thanks to @ricsiLT for testing it.
  • Expose MessagesBufferSize in #183

Full Changelog: v1.0.0-rc.7...v1.0.0-rc.8

v1.0.0-rc.7

15 Nov 10:52
v1.0.0-rc.7
656fcaa
Compare
Choose a tag to compare

GitHub Milestone

The client is distributed via NuGet.

Note

This release contains important performance improvements.

Enhancements

New Contributors

Full Changelog: v1.0.0-rc.6...v1.0.0-rc.7

v1.0.0-rc.6

02 Nov 10:32
v1.0.0-rc.6
95d05b8
Compare
Choose a tag to compare

GitHub Milestone

The client is distributed via NuGet.

Breaking changes

This version contains a few braking changes; please read the following documentation.

  • Why so many changes?

    The idea is to give a similar JavaStream client user experience.

  • Classes concepts:

    Class Description How to get Note
    RawProducer Low-Level producer system.CreateRawProducer(new RawProducerConfig("stream")
    RawSuperStreamProducer Low Level Super Stream Producer `system.RawCreateSuperStreamProducer(new
    RawSuperStreamProducerConfig("superStream")`
    Producer Hight Level producer. Producer.Create(new ProducerConfig(system, stream)) -Handle RawProducer and
    RawSuperStreamProducer
    - Auto reconnect
    - Auto publishing id
    - Confirm Messages with errors (timeout..etc)
    RawConsumer Low Level consumer system.CreateRawConsumer(newRawConsumerConfig("stream")
    RawSuperStreamConsumer Low Level Super Stream Consumer `system.RawCreateSuperStreamConsumer(new
    RawSuperStreamConsumerConfig("superStream")`
    Consumer Hight Level Consumer. Consumer.Create(new ConsumerConfig(system, stream)) -Handle RawConsumer and
    RawCreateSuperStreamConsumer
    - Auto reconnect
  • Class mapping from version: v1.0.0-rc.5 to v1.0.0-rc.6

    <=v1.0.0-rc.5 >= v1.0.0-rc.6
    Producer RawProducer
    Consumer RawConsumer
    ReliableProducer Producer
    ReliableConsumer Consumer

Update example:

<=v1.0.0-rc.5 from >= v1.0.0-rc.6 to
await system.CreateProducer(new ProducerConfig() {stream = "mystream"}) `await system.CreateRawProducer(new
RawProducerConfig(streamName))`
await system.CreateConsumer(new ConsumerConfig() {stream = "mystream"}) `await system.CreateRawConsumer(new
RawConsumerConfig(streamName))`
await ReliableProducer.CreateReliableProducer(new ReliableProducerConfig() {..} `await Producer.Create(new
ProducerConfig(system,stream)`
await ReliableConsumer.CreateReliableConsumer(new ReliableConsumerConfig() {..} `await Consumer.Create(new
ConsumerConfig(system,stream)`
  • Configuration changes:

    All the *Config classes contain a constructor with the mandatory fields. So it is easier for the user understand how to use the class.

    For example:
    new RawProducerConfig(stream) <-- the stream is mandatory

  • Exceptions

    All the validations are now under the ArgumentException Exception
    For example:
    new RawProducerConfig("") <-- raises ArgumentException

  • Questions:

    Q: Why the Producer/Consumer classes are not provided directly by system?
    A: We'd like to leave the low-level classes as easy as possible. A user can implement a similar Producer starting from RawProducer
    and RawSuperStreamProducer as we did.

    Q: Which classes should I use?
    A: We suggest using Producer/Consumer classes

    Q: When to use RawProducer?
    A: When you want a low-level producer and you what to handle the reconnections/confirmation differently. Note: RawProducer could be faster than
    the Producer under certain situations since it doesn't have to handle the sent/received messages.

Release notes

Enhancements

Bug Fix

  • Fix occurrences of sync-over-async by @Hawxy in #164
  • Fix Reconnect ReliableProducer/ ReliableConsumer in case leader is down by @Gsantomaggio in #163
  • Add client cert example to readme by @ricsiLT in #169
  • AMQP Parser: Change the Read and Write for Strings by @Gsantomaggio in #176

Breaking changes

New Contributors

Full Changelog: v1.0.0-rc.5...v1.0.0-rc.6

v1.0.0-rc.5

05 Sep 13:27
v1.0.0-rc.5
9e3e4f7
Compare
Choose a tag to compare

The client is distributed via NuGet.

Enhancements

Bug Fix

New Contributors

Full Changelog: v1.0.0-rc.4...v1.0.0-rc.5

v1.0.0-rc.4

23 Jun 07:40
v1.0.0-rc.4
86f924d
Compare
Choose a tag to compare

The client is distributed via NuGet.

Enhancements

Bug Fix

Full Changelog: v1.0.0-rc.3...v1.0.0-rc.4

v1.0.0-rc.3

25 May 13:24
v1.0.0-rc.3
e4959cf
Compare
Choose a tag to compare

The client is distributed via NuGet.

Bug Fix

  • Change the DNS validation in #126

Full Changelog: v1.0.0-rc.2...v1.0.0-rc.3

v1.0.0-rc.2

24 May 07:48
v1.0.0-rc.2
62217de
Compare
Choose a tag to compare

The client is distributed via NuGet.

Enhancements

New Contributors

Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2

v1.0.0-rc.1

17 May 16:16
v1.0.0-rc.1
547812b
Compare
Choose a tag to compare

The client is distributed via NuGet.

Enhancements

Bug Fix:

  • Fix close consumer in #113

New Contributors

Full Changelog: v1.0.0-beta.5...v1.0.0-rc.1