Skip to content

5.4.421

Compare
Choose a tag to compare
@badgerwithagun badgerwithagun released this 23 Dec 18:51
· 307 commits to master since this release
bc5c2b7

Deprecations (forthcoming or partial breaking changes):

  • All classes outside transactionoutbox-core (such as those relating to Guice, Spring, Jackson etc) have been moved to a related sub-package (e.g. com.gruelbox.transactionoutbox.spring). The original classes remain in place but marked as deprecated for removal. Please update your code to reference the new locations. The old classes will be removed in the next release (6.0.x). This is to resolve issues preventing use with the Java Module System (see #505).
  • Guice support has been bumped to version 6.0.0, which brings the jakarta.inject.* namespace in. Officially the javax.inject.* namespace is still supported, but there may be issues. Guice will be bumped to 7.0.0, removing javax.inject.* support entirely, in the next release. If this is a problem for you, feel free to just copy the (two!) Guice-related classes into your own code and flip the dependency.
  • Quarkus has been bumped to the latest version, with similar effects in terms of the Jakarta EE dependencies. The same solution applies if this affects you: just copy the classes and change the package names.
  • Dialect has been converted to an interface (instead of an enum). Existing code should be text-compatible (but not binary compatible) as long as you aren't using the dialect with switch statements. If you are, use chained if statements instead.

Bug fixes:

  • When first adding TXNO_OUTBOX table to applications, if the upgrade occurred in parallel on multiple application instances, it could cause a conflict. This has been resolved to correctly apply database locks (e29b932)
  • Many, many dependency bumps (see full changelog for full list: 5.3.370...5.4.421)

New features:

  • Official support for Java 21 (superseding 20) (#528)
  • Official support for Postgres 16 (#492 ) - thanks @mkjensen
  • Provide access to the database schema (#493) - thanks @mkjensen
  • Tests refactored to allow secondary modules to more easily write acceptance tests (#522, #523)
  • Dialect converted to interface, allowing new database support to be added more easily (83d0035)

Full Changelog: 5.3.370...5.4.421