Skip to content

Releases: pardahlman/RawRabbit

Bugfix for subscription

17 Feb 15:39
Compare
Choose a tag to compare

Fixes a problem with subscriptions being terminated that was introduced in 1.8.8.

  • #58 - Subscribers are terminated +fix

Commits: 8b627ae...c6f928a

Performance improvement + Autofac

17 Feb 13:41
Compare
Choose a tag to compare

The first step in a refactoring has been taken. The aim is to increase thoughput by using async methods and allowing for multiple threads to publish messages.

Also, a new NuGet package, RawRabbit.DependencyInjection.Autofac has been created.

  • #57 - Refactor Operations: Publisher
  • #55 - Support Autofac

Commits: 8b627ae...13b86c7

ConnectionString and one bug fix

14 Feb 16:47
Compare
Choose a tag to compare

In this release the ConnectionStringParser has been polished by Originalutter. It now supports all configuration parameters available in the configuration object. There are also some nice default values, like port 5672 which can be omitted from connection string.

An KeyNotFound issue that sometimes occurred when performing multiple request synchronous (with await) was fixed.

  • #53 - Avoid opening channels on Respond
  • #50 - Unexpected connection close when multiple RPC
  • #47 - Add default attributes
  • #44 - Update QueueArgument with LazyQueue
  • #42 - Allow connection strings without parameters
  • #25 - Support more parameters to connectionString

Commits: f0d5128...09aaea5

SSL, Non-generic interface and 1x bugfix

10 Feb 12:21
Compare
Choose a tag to compare
  • #39 - Introduce non-generic interface IDefaultBusClient +feature
  • #36 - Guard against KeyNotFound in RequestTimer dictionary +fix
  • #33 - Add support for SSL in configuration object +feature

Commits: f8ae9b4...09051dd

1.8.4

03 Feb 11:08
Compare
Choose a tag to compare

The major update in this release is the workaround for issue rabbitmq/rabbitmq-dotnet-client#153, that allows RawRabbit to initially connect to the first specified host.

The release contains addresses the following issues and pull requests

Commits: 5d1a0d5...7752893

Documentation, README + minor fixes

26 Jan 14:31
Compare
Choose a tag to compare
  • #23 - Add context agnostic method for BusClientFactory.CreateDefault
  • #21 - Unexpected connection close when publishing multiple messages
  • #15 - Corner case: PublishAcknowledge times out and recieves ack in parallell
  • #13 - Update documentation
  • #12 - Move test projects to seperate folder
  • #11 - IoC: Honour registered IConnectionFactory

Commits: 308b750...970e75a

Re-implement AutoClose feature

16 Jan 20:22
Compare
Choose a tag to compare

In 1.8.0 we removed the IConnectionBroker and by doing so we accidentally removed the AutoClosefeature. It has been re-introduced in this release

RabbitClient 3.6.0, Multiple hosts and Recovery updates

16 Jan 19:53
Compare
Choose a tag to compare

In this release, we're updating the RabbitMQ.Client to the latest version 3.6.0. The client has support for multiple hosts and selection strategies (rabbitmq/rabbitmq-dotnet-client#81), which has been incorporated in 1.8.0 of RawRabbit. Previously, we used implementations of IConnectionBroker to get a connection from any of the brokers defined in the configuration. This layer has been removed since it is no longer needed. This also gave us the follwoing changes

  • New format of connectionString, since we are limited to one virtual host, username and password over all hosts.
  • New format on for RawRabbitConfiguration object the Brokers property has been replaced by Hostnames, a list of strings.
  • IConnectionBroker interface is removed

Recovering from lost connections or closed channels is now more stable, since we're listening to the Recovery event on channels and connections and use it as a trigger for completing the async operation of receiving the channel/connection

We are also staying current with underlying serialization framework, Newtonsoft.Json, that has been updated to 8.0.2

1x bugfix + auto close feature

11 Dec 12:54
Compare
Choose a tag to compare

This release contains support for RabbitMq AutoClose functionality. By setting AutCloseConnection in the the RawRabbitConfiguration object, a connection will be closed when the last channel is closed.

The DefaultStrategy for when unhanded exceptions are thrown in the message handler now looks if the consumer has set NoAck to true, and in that case doesn't try to Nack the message. Nacking a message that is delivered as NoAck caused the consumer to be shut down by RabbitMq.

Introducing error handling strategies

26 Nov 23:04
Compare
Choose a tag to compare

With version 1.6.0 of RawRabbit, we introduce a new feature, Error Handling Strategy. It gives you the possibility to handle unhandled exceptions in the message handler. The default implementation, DefaultStrategy.cs has the following behavior:

  • Nack the message that was being handled when the exception occurred.
  • Propagate the exception back to the caller and re-throw it there, so that the requester (in the RPC scenario) doesn't need to wait for a time out exception due to request timeout.