Skip to content

Releases: MvRens/Tapeti

3.0

24 Jan 13:30
Compare
Choose a tag to compare

Tapeti

Breaking changes

  • Dropped support for .NET Standard (and therefore .NET Framework 4.x). .NET 6 or higher is now required for the client.

    Note; Tapeti.Annotations continues to support .NET Standard 2.0, and as long as your Messaging packages do too you can still use Tapeti 2 on older projects and the messages published and consumed should be compatible.

  • Removed TapetiAppSettingsConnectionParams. Use TapetiConnectionParams instead using a URL or by specifying the properties manually. Alternatively you can use the ConnectionStringParser in the Tapeti.Helpers namespace. Both of these were already available in Tapeti 2, and if you used those nothing changed.

  • All middleware now uses ValueTask instead of Task.

Changes:

  • ValueTask support for most methods (converge methods in Flow are the exception for now).

  • Added support for queue arguments (message TTL, maximum length, etc.).

  • Fixed #38: durable queues are verified more than once.

2.9

24 Jan 09:09
Compare
Choose a tag to compare
2.9

Tapeti.Flow

Changes:

  • Parallel requests in flows can now add additional requests in an active flow by using IFlowParallelRequest
  • Added NoRequestsBehaviour parameter to ParallelRequestBuilder.Yield to simplify use cases with optional flows

2.8.2

26 Oct 18:38
Compare
Choose a tag to compare

Tapeti.Flow

  1. Disabled validation of the converge method name while loading persisted flows for now, as it turned out not enough information is stored and the validation always fails

2.8.1

26 Oct 11:34
Compare
Choose a tag to compare

Tapeti core

  1. Fixed NullReferenceException on shutdown when an obsolete queue is no longer present
  2. Fixed PrefetchCount being incorrectly applied to the publish channel instead of the consume channel, resulting in all messages on the queue being consumed simultaniously

2.8

07 Oct 14:15
Compare
Choose a tag to compare
2.8

Tapeti.Serilog

  1. Added optional WithMessageHandlerLogging middleware to output the time a message handler takes to the Serilog Logger. Includes a warning treshold and the ability to inject an IDependencyContext to add custom properties.

Repository split

  1. Tapeti.Annotations, Tapeti.DataAnnotations.Extensions have been moved to their own Github repositories and are built separately. As these are rarely updated this stabilizes their version numbers which should improve compatibility for services consuming message packages from other services instead of forcing them to have the same Tapeti version.
  2. Tapeti.Cmd has also been moved to it's own Github repository as it has no dependency on the Tapeti library and vice versa.

2.7.6

16 Sep 10:29
Compare
Choose a tag to compare

Tapeti core

  1. Fixed disposing non-IAsyncDisposable payloads in the message context. This could cause a response handled by Tapeti.Flow to block the consumers as the lock on a flow ID is never released.

If you are using Tapeti 2.4 or higher and are using Tapeti.Flow, upgrading to this version is highly recommended.

2.7.5

09 Sep 13:34
Compare
Choose a tag to compare

Skipped a few versions due to issues with the AppVeyor build which I could only test with tagged builds. Sorry!

Tapeti.Transient

  1. Fixed exception in Tapeti.Transient when message arrives after the timeout

2.7.1

05 Sep 08:06
Compare
Choose a tag to compare

Breaking changes

This version should be compatible for existing clients. One change requires changes to custom IExceptionStrategy implementations:

  1. IExceptionStrategy.HandleException can now be async and returns a Task instead of void

2.6

05 Sep 07:40
Compare
Choose a tag to compare
2.6

Tapeti core

  1. Separated publishing into separate channel and task queue to (hopefully) improve issues with acknowledgement timeouts
  2. Fixed error when consuming a queue with incompatible arguments (like x-deadletter) when using EnableDeclareDurableQueues

Tapeti.Flow

  1. Validate persisted flows on startup to prevent runtime errors if a continuation method is renamed
  2. Fixed edge-case when receiving a flow-related message twice

Tapeti.Cmd

  1. Fixed body corruption in Shovel command
  2. Added DeclareQueue, RemoveQueue, BindQueue and UnbindQueue management commands

Breaking changes

This version should be compatible for existing clients. One change may require changes to custom ILogger implementations:

  1. QueueExistsWarning method has been added to IBindingLogger

2.5.2

05 Sep 07:42
Compare
Choose a tag to compare

This version properly fixes the issue with body corruption since version 2.4 and the upgrade to the RabbitMQ Client 6.