Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Release 0.40.16 Spring Boot 3.2.*

Pre-release
Pre-release

Choose a tag to compare

@cloudcreate-dk cloudcreate-dk released this 29 Sep 09:15
· 162 commits to main since this release
9312627

What's Changed

Full Changelog: 0.40.15...0.40.16

  • Ensured Types compatibility with Jackson 2.18.0 by adding explicit String (for subclasses of CharSequenceType)  or Number (for subclasses of NumberType) constructors to concrete semantic types
  • Made providing an Exception optional when marking a DurableQueue message as a dead-letter message
  • Added support for providing an optional String description/cause when marking a DurableQueue message as dead-letter message
  • Added test to DurableQueuesIT, for a case where a Message handler during consumption manually marks the message as a dead-letter message, to confirm that the message is marked as a dead-letter message
  • Changed PostgresqlDurableQueues#acknowledgeMessageAsHandled(AcknowledgeMessageAsHandled) to only delete a message if it's NOT marked as a dead-letter message
  • Changed MongoDurableQueues#markAsDeadLetterMessage(MarkAsDeadLetterMessage) to not require that the message is marked is isBeingDelivered. The operation now also resets nextDeliveryTimestamp to null. This aligns with PostgresqlDurableQueues behaviour
  • Changed MongoDurableQueues#acknowledgeMessageAsHandled(AcknowledgeMessageAsHandled) to only delete a message if it's NOT marked as a dead-letter message and not require that the message is marked is isBeingDelivered
  • Since many operations are initiated by a new UnitOfWork, the DBFencedLockManager's version of withUnitOfWork and usingUnitOfWork now requires an error handler to make error handling explicit
  • The internal DBFencedLockManager#confirmAllLocallyAcquiredLocks no longer releases locks in case of an IO Exception during call to lockStorage.confirmLockInDB. If DB connectivity is broken it's better to retain the lock ownership as all nodes accessing the DB will likely experience the same behaviour
  • Added tests to DBFencedLockManagerIT, thereby PostgresqlFencedLockManagerIT and MongoFencedLockManagerIT, that tests the behaviour in case database connectivity is interrupted
  • Fixed potential NoClassDefFoundException in IOExceptionUtil
  • Added tests to DurableQueue integration tests to verify the behaviour in case database connectivity is interrupted
  • Improved EventStoreSubscription javadoc
  • Introduced PersistedEventSubscriber in EventStoreSubscriptionManager to handle all EventStore#pollEvent related logic, event forwarding and error handling related to asynchronous subscriptions
  • Added EventStoreSubscriptionManager tests that verify behaviour when the database connectivity is interrupted

Updated 3rd party dependencies:

  • Spring-Boot 3.2.10
  • Spring-Data-MongoDB 4.2.10
  • Spring-Data-JPA 3.2.10
  • MongoDB Driver Sync 4.11.4
  • log4j 2.24.0
  • snakeyaml 2.3
  • micrometer 1.12.10
  • micrometer-tracing 1.2.10
  • netty 4.1.113.Final
  • Junit 5.11.1
  • Jackson 2.18.0
  • Reactor 2023.0.10
  • Spring 6.1.13
  • Mockito 5.14.0
  • Logback 1.5.8

Updated maven plugins:

  • maven-failsafe-plugin / maven-surefire-plugin 3.5.0
  • dependency-check-maven 10.0.4
  • maven-gpg-plugin 3.2.7