NServiceBus 7.2.2 - Patch release available

Hi everyone,

We’ve just released NServiceBus 7.2.2.

NOTE: The mentioned changes where meant to be released in 7.2.1. See below for a full post-mortem on the 7.2.1 release.

This patch release fixes a message loss issue when Gateway InMemory deduplication is used. 7.2.2 also contains a fix that allows C# 8 nullable reference types to be used for interface messages.

Fixed bugs

How to know if you are affected

All Gateway users that are using InMemory deduplication storage. You are not affected if you are using the InMemory storage bundled with Gateway 3.1.

Symptoms

When retrying failed requests to the gateway, requests are discarded with the following log statement:

"Message with id: {message-id} has already been dispatched, ignoring incoming gateway message."

Should you upgrade immediately

Upgrade immediately if you are using InMemoryPersistence as your persistence option for the gateway.

Where to get it

You can download the updated version directly from NuGet: NuGet Gallery | NServiceBus 8.0.3

Post-mortem on the failed 7.2.1 release

2020-01-29

NServicBus 7.2.1 was released to address the bugs mentioned above. The release went according to plan and no problems were detected.

2020-02-09

We’re getting reports that the bug with C# 8 nullable reference types still remains in 7.2.1. This causes us to start an investigation to find the root cause.

2020-02-10

Investigation shows that the released binaries don’t contain either of the two bugfixes that they were supposed to address. It turns out that the wrong build was pushed via our deployment pipeline. Our manual smoke tests performed for each release are meant to catch this type of mistake, but this time the smoke testing was done on packages on our build server and not the packages staged on our MyGet feed. This meant that tests didn’t detect that the wrong build was pushed to our deployment pipeline, so the wrong build was released to NuGet.

2020-02-11

The correct binaries are released as NServiceBus 7.2.2, and 7.2.1 is deprecated.

Adjusted procedures to prevent similar incidents

We have adjusted our internal procedures to always require final smoke tests and verification to be performed on packages staged on our MyGet feed. This will make sure that incorrectly staged packages are detected before they are being released.

We’re truly sorry for the inconvenience this might have caused.

With thanks,
The team in Particular

Please read our release policy for more details. Follow @ParticularNews to be notified of new releases and bug fixes.