Changelog History
Page 1
-
v6.3.1 Changes
November 28, 2020๐ฑ ๐ Features
- โฌ๏ธ Bump internal LightInject version #1161
-
v6.3.0 Changes
November 22, 2020๐ฑ ๐ Features
- โจ Enhanced support of amqp connection string #1155
๐ The goal of this release is to support this kind of connection string:
amqp://user:pass@host:10000/vhost?persistentMessages=false&prefetchCount=2&timeout=1&publisherConfirms=true&name=unit-test&mandatoryPublish=true&connectIntervalAttempt=2&product=product&platform=platform
๐
ConnectionConfiguration.AmqpConnectionString
is deprecated and preferred way to getConnectionConfiguration
from amqp connection string is to callConnectionStringParser.Parse
. -
v6.2.0 Changes
November 15, 2020๐ฑ ๐ Features
- Publishing with mandatory flag #1150
A global setting
MandatoryPublish
(ormandatoryPublish=true
in the connection string) has been added to allow to FuturePublish, Publish, Request or Send to publish with mandatory flag. If mandatory flag is set for publish and a message is impossible to route to any queue, thenEasyNetQ.Producer.PublishReturnedException
is raised.Mandatory Publish
works only ifPublisher Confirms
is on.๐ง Example of a configuration:
using var bus = RabbitHutch.CreateBus("host=localhost;mandatoryPublish=true;publisherConfirms=true")
-
v6.1.0 Changes
November 10, 2020๐ฑ ๐ Features
- Non-generic FuturePublish, Publish, Send and Request #1148
-
v6.0.3 Changes
November 09, 2020๐ฑ ๐ Bug Fixes
- โฌ๏ธ Downgrade of Microsoft.Extensions.DependencyInjection to 2.0 #1146 to let EasyNetQ.DI.Microsoft be used with AspNetCore < 2.2
-
v6.0.2 Changes
November 06, 2020๐ฑ ๐ Bug Fixes
- ๐ Fix logging: arguments could be null #1144
-
v6.0.0 Changes
November 01, 2020๐ This major release has aimed at two following goals:
โฌ๏ธ 1. Upgrading of the public interface to comply with modern requirements
- Fixing various bugs which were hard to eliminate without complex changes in the internals of the library.
A full list of changes can be found here.
โฑ IBus has been split into many interfaces(
IPubSub
,IRpc
,ISendReceive
,IScheduler
)Previously,
IBus
contained interfaces of three different things(Publish-Subscribe, Rpc and Send-Receive). Also, FuturePublish stuff was an extension toIBus
.โฑ Now, there are four interfaces(
IPubSub
,IRpc
,ISendReceive
,IScheduler
) andIBus
exposes them.Async-first API
๐ Most of the synchronous methods have been replaced by their asynchronous versions and have been exposed as extensions. In addition,
CancellationToken
has been added almost everywhere(if you see an async method without it, feel free to create a PR) and it is respected as much as possible.Exchange, Queue, Consumer declaration
๐ These declerations have been reworked for better extensibility: now it is possible to use custom arguments everywhere.
Reconnection mechanics have been reworked
EasyNetQ
completely relies on RabbitMQ.Client reconnection logic, butTopologyRecovery
is still disabled.Channel per operation
๐ Several channels are created on the publisher side to mitigate timeout issues caused by a mix of async and rpc commands on the same channel. See #1063 for more details.
Pulling Consumer
๐
PullingConsumer
has been introduced as a replacement forIAdvancedBus.IBasicGetResult Get(IQueue queue)
: auto ack or manual ack are supported as well as batch acks.โฑ Messages priority support in
IPubSub
,IRpc
,ISendReceive
andIScheduler
Nack from
IAdvancedBus
consumer callback.๐ Enchanced support of BasicReturn
โฑ Removal of class constraint from
IPubSub
,IRpc
,ISendReceive
andIScheduler
Strong naming
๐ Basic support of
Quorum Queues
andSingle Active Consumer
SendReceive.SendAsync
doesn't declare a queue anymoreOther patterns(PubSub, Rpc) worked a bit different from SendReceive before v6: only a consumer side(Subscribe, Respond methods) was responsible for a queue declaration, but the behaviour of SendReceive was different(as you mentioned queue declaration was on a consumer side(Receive method) and on publisher side(Send method) as well).
๐ง Declaration of a queue on a publisher side(Send method) limits the way how the queue could be declared(lazy, message TTL, queue limits and a lot of other things) because it looks like mixing both publisher and queue configuration could lead to a mess on a publisher side. -
v5.6 Changes
October 10, 2020๐ฑ ๐ Features
- โฑ Deprecation of ExternalScheduler #1125
โฑ ExternalScheduler has been deprecated and DeadLetterExchangeAndMessageTtlScheduler is a default implementation of Scheduler.
โฑ All related code for ExternalScheduler has been moved to https://github.com/EasyNetQ/EasyNetQ.Scheduler. -
v5.5 Changes
October 05, 2020๐ฑ ๐ Bug Fixes
- ๐ Fix topic support in DLE+TTL Scheduler #1124
โฑ It's a breaking change. Please use
EnableLegacyDeadLetterExchangeAndMessageTtlScheduler
if you need previous behaviour. -
v5.4.1 Changes
October 04, 2020๐ฑ ๐ Features
- Hosepipe. Publish messages to a queue instead of an exchange #1122