Skip to content

Releases: Particular/NServiceBus.NHibernate

6.2.1

20 Jul 14:52
Compare
Choose a tag to compare

As part of this release we had 1 issue closed.

Bug

  • #106 [Regression] NServiceBus generates wrong script for creating the outbox table for PosgreSQL

Where to get it

You can download this release from nuget

6.2.0

27 May 10:04
Compare
Choose a tag to compare

As part of this release we had 4 issues closed.

Improvements

  • #99 When storing a timeout entity NH cannot determine wether it should call Save or Update
  • #93 SQL errors raised when doing schema create/updated when installing an endpoint are swallowed

Bugs

  • #98 Configuration file is validated even though user explicitly overridden it by passing his own Cfg.Configuration object
  • #96 Installers don't work properly when hosting multiple endpoints in a single AppDomain

Where to get it

You can download this release from nuget

6.1.2

11 May 14:57
Compare
Choose a tag to compare

As part of this release we had 2 commits which resulted in 2 issues being closed.

Improvement

  • #71 NHibernateStorageContext is null if no saga is defined in the endpoint.

Bug

  • #90 Storing business data is impossible when using SQL Server transport and Oracle-based saga or outbox persistence

Where to get it

You can download this release from nuget

6.1.1

11 May 11:26
Compare
Choose a tag to compare

We detected a serious problem with the just released version 6.1.1 causing messages to not get processed as a result of not registering a needed behavior properly. We have unlisted this version from Nuget and we have released 6.1.2 with the fixes intended for 6.1.1 as well as the behavior fix. You should not be using version 6.1.1 in your software. If for some reason, you had updated the version before we unlisted the package from Nuget, please update your version to use 6.1.2 instead.


As part of this release we closed 2 issues.

Bugs

  • #90 Storing business data is impossible when using SQL Server transport and Oracle-based saga or outbox persistence

Improvements

  • #71 NHibernateStorageContext is null if no saga is defined in the endpoint.

Where to get it

You can download this release from nuget

6.0.2

24 Apr 20:42
Compare
Choose a tag to compare

This patch release has the following bug fixes:

  • #92 Message is lost after a data access error while updating saga state when outbox is enabled
  • #74 PostgreSql - outboxrecord table not being created

Bugs

#92 Message is lost after a data access error while updating saga state when outbox is enabled

When we investigated a recently reported support incident, we discovered a bug in NServiceBus.NHibernate versions 6.0.0 and 6.0.1 with a potential for message loss. This only happens when using both Sagas and the Outbox feature. If a database error occurred while updating a saga, then the message wasn't forwarded to the error queue and was lost instead. This bug was caused by the Outbox's de-duplication behavior with the way we handled database connections. We've verified that this does not occur in version 6.1.0.

How to know if you're affected:

  • You are using either NServiceBus.NHibernate version 6.0.0 or 6.0.1 and
  • You are using both the Outbox feature and the Sagas feature. This does not affect normal message handlers, even if you are using the Outbox feature.

What to do if you are affected:
If you are unable to upgrade to 6.1.0, please upgrade to the just released version 6.0.2. This fix changes the way outbox de-duplication behavior queries the outbox records. It now creates a separate database connection just for the de-duplication task instead of reusing the main database connection. This allows for the main database connection to be created within the same transaction scope of the saga handler. Therefore if a saga handler fails due to database update glitches or any other reason, then the database changes will rollback and the message will also rollback to the queue ensuring expected behavior and consistency.

#74 PostgreSql - outboxrecord table not being created

How to know if you're affected:

  • You are using the Outbox feature and PostgreSql and you notice that the OutboxRecord table is not being created.

What to do if you are affected:

  • Please upgrade to the released 6.0.2 version.

Where to get it

You can download this release from nuget

6.1.0

02 Mar 11:31
Compare
Choose a tag to compare

As part of this release we had 3 issues closed.

Improvements

  • #82 Remove the src folder from the NuGet package
  • #81 Remove Task.StartNew when setting outbox messages as dispatched
  • #79 Automatically disable reusing of transport connection when SQL Server transport is detected and Outbox is on

Where to get it

You can download this release from nuget

5.0.2

24 Jun 08:22
Compare
Choose a tag to compare

As part of this release we had 10 commits which resulted in 2 issues being closed.

Bugs

  • #108 Missing autoUpdateSchema parameter on UseNHibernateSagaPersister
  • #107 NServiceBus Nuget specs minimum version should be 4.4.2

Where to get it

You can download this release from nuget

4.5.4

24 Jun 08:23
Compare
Choose a tag to compare

As part of this release we had 10 commits which resulted in 2 issues being closed.

Bugs

  • #76 Incorrect assembly version dependency listed in nuget spec
  • #61 Missing autoUpdateSchema parameter on UseNHibernateSagaPersister

Where to get it

You can download this release from nuget

6.0.1

26 Nov 23:29
Compare
Choose a tag to compare

As part of this release we had 13 commits which resulted in 1 issue being closed.

Bugs

#67 Cannot insert duplicate key in object 'dbo.TimeoutEntity'

Using existing message ID for timeout ID doesn't work when:

  • Timeout storage is shared between endpoints
  • and the same message goes through SLR subsequent times;

Fixed by always generating a new sequential GUID for timeout ID.

5.0.1

26 Nov 23:29
Compare
Choose a tag to compare

As part of this release we had 1 issue closed.

Bugs

#67 Cannot insert duplicate key in object 'dbo.TimeoutEntity'

Using existing message ID for timeout ID doesn't work when:

  • Timeout storage is shared between endpoints
  • and the same message goes through SLR subsequent times;

Fixed by always generating a new sequential GUID for timeout ID.