Releases: gruelbox/transaction-outbox
6.0.535
Long time since a Maven Central release happened, so sorry about that! Here's everything that's been awaiting release.
What's Changed
- Remove deprecated classes by @badgerwithagun in #533
- Refactored queries to make supporting SQL Server Limit and Skip Logic easier. by @wynan in #592
- Various cleanups to sequenced processing by @badgerwithagun in #605
- Add the ability to override the fetch current version query. by @wynan in #611
- Pulled Select Next Sequence into Dialect in preparation for SQL Server. by @wynan in #633
- Remove javax.inject dependency by @reda-alaoui in #689
- Add MS SQL Server Support by @wynan in #641
Build, test and documentation changes
- Re-use containers by @badgerwithagun in #593
- Better example code for Spring Boot, refactor PR build for speed and reliability by @badgerwithagun in #551
- Split build into package and test by @badgerwithagun in #602
- Fix test race condition causing mis-ordering to be reported by @badgerwithagun in #625
Dependency updates
- Bump io.quarkus.platform:quarkus-bom from 3.6.4 to 3.8.3 by @dependabot in #594
- Bump spring.boot.version from 3.2.3 to 3.2.4 by @dependabot in #597
- Bump com.oracle.database.jdbc:ojdbc11 from 21.9.0.0 to 23.3.0.23.09 by @dependabot in #495
- Bump com.google.inject:guice from 6.0.0 to 7.0.0 by @dependabot in #550
- Bump org.awaitility:awaitility from 4.2.0 to 4.2.1 by @dependabot in #600
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.1 to 3.2.2 by @dependabot in #601
- Bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1 by @dependabot in #609
- Bump org.jooq:jooq from 3.19.6 to 3.19.7 by @dependabot in #608
- Bump io.quarkus.platform:quarkus-bom from 3.8.3 to 3.9.2 by @dependabot in #607
- Bump net.bytebuddy:byte-buddy from 1.14.12 to 1.14.13 by @dependabot in #606
- Bump net.bytebuddy:byte-buddy from 1.14.13 to 1.14.14 by @dependabot in #626
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 by @dependabot in #623
- Bump io.quarkus.platform:quarkus-bom from 3.9.2 to 3.9.4 by @dependabot in #621
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.2 to 3.2.4 by @dependabot in #620
- Bump spring.boot.version from 3.2.4 to 3.2.5 by @dependabot in #619
- Bump org.slf4j:slf4j-api from 2.0.12 to 2.0.13 by @dependabot in #617
- Bump logback.version from 1.5.3 to 1.5.6 by @dependabot in #618
- Bump spring.version from 6.1.5 to 6.1.6 by @dependabot in #613
- Bump io.quarkus.platform:quarkus-bom from 3.9.4 to 3.10.0 by @dependabot in #629
- Bump org.jooq:jooq from 3.19.7 to 3.19.8 by @dependabot in #631
- Bump com.google.guava:guava from 33.1.0-jre to 33.2.0-jre by @dependabot in #632
- Bump jackson.version from 2.17.0 to 2.17.1 by @dependabot in #634
- Bump com.oracle.database.jdbc:ojdbc11 from 23.3.0.23.09 to 23.4.0.24.05 by @dependabot in #635
- Bump org.objenesis:objenesis from 3.3 to 3.4 by @dependabot in #636
- Bump net.bytebuddy:byte-buddy from 1.14.14 to 1.14.15 by @dependabot in #637
- Bump testcontainers.version from 1.19.7 to 1.19.8 by @dependabot in #638
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 by @dependabot in #653
- Bump com.google.guava:guava from 33.2.0-jre to 33.2.1-jre by @dependabot in #652
- Bump net.bytebuddy:byte-buddy from 1.14.15 to 1.14.17 by @dependabot in #651
- Bump org.jooq:jooq from 3.19.8 to 3.19.9 by @dependabot in #650
- Bump io.quarkus.platform:quarkus-bom from 3.10.0 to 3.11.0 by @dependabot in #649
- Bump org.sonatype.plugins:nexus-staging-maven-plugin from 1.6.13 to 1.7.0 by @dependabot in #648
- Bump spring.boot.version from 3.2.5 to 3.3.0 by @dependabot in #647
- Bump com.google.code.gson:gson from 2.10.1 to 2.11.0 by @dependabot in #642
- Bump io.quarkus.platform:quarkus-bom from 3.11.0 to 3.13.3 by @dependabot in #692
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.4.0 by @dependabot in #691
- Bump com.microsoft.sqlserver:mssql-jdbc from 12.6.1.jre11 to 12.8.0.jre11 by @dependabot in #680
- Bump spring.version from 6.1.6 to 6.1.10 by @dependabot in #662
- Bump com.mysql:mysql-connector-j from 8.3.0 to 9.0.0 by @dependabot in #667
- Bump jackson.version from 2.17.1 to 2.17.2 by @dependabot in #669
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.1 to 3.4.2 by @dependabot in #663
- Bump junit.jupiter.version from 5.10.2 to 5.10.3 by @dependabot in #666
- Bump net.bytebuddy:byte-buddy from 1.14.17 to 1.15.0 by @dependabot in #703
- Bump com.h2database:h2 from 2.2.224 to 2.3.232 by @dependabot in #701
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0 by @dependabot in #700
- Bump testcontainers.version from 1.19.8 to 1.20.1 by @dependabot in #698
- Bump org.hamcrest:hamcrest-core from 2.2 to 3.0 by @dependabot in #696
- Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 by @dependabot in #697
- Bump spring.boot.version from 3.3.0 to 3.3.3 by @dependabot in #704
- Bump org.jooq:jooq from 3.19.9 to 3.19.11 by @dependabot in #690
- Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.16.0 by @dependabot in #699
- Bump com.oracle.database.jdbc:ojdbc11 from 23.4.0.24.05 to 23.5.0.24.07 by @dependabot in #713
- Bump me.fabriciorby:maven-surefire-junit5-tree-reporter from 1.2.1 to 1.3.0 by @dependabot in #712
- Bump com.spotify.fmt:fmt-maven-plugin from 2.23 to 2.24 by @dependabot in #711
- Bump org.slf4j:slf4j-api from 2.0.13 to 2.0.16 by @dependabot in #710
- Bump org.postgresql:postgresql from 42.7.3 to 42.7.4 by @dependabot in #708
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.5 by @dependabot in #706
- Bump com.microsoft.sqlserver:mssql-jdbc from 12.8.0.jre11 to 12.8.1.jre11 by @dependabot in #705
- Bump logback.version from 1.5.6 to 1.5.7 by @dependabot in #707
- Bump spring.version from 6.1.10 to 6.1.12 by @dependabot in #709
- Bump io.quarkus.platform:quarkus-bom from 3.13.3 to 3.14.1 by @dependabot in #717
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.4.0 to 3.5.0 by @dependabot in #716
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.8.0 to 3.10.0 by @dependabot in #715
- Bump com.google.guava:guava from 33.2.1-jre ...
5.5.447
Features
- Support for ordered processing by @badgerwithagun, @amseager, @markushc in #588
- Allow for execution to be delayed by @badgerwithagun in #595
- Tested using virtual threads in Java 21 by @badgerwithagun in #547 (note: MySQL Connector/J makes them unusable with MySQL but they work great with Postgres, Oracle and H2)
Dependencies
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.0 to 3.12.1 by @dependabot in #549
- Bump jackson.version from 2.16.0 to 2.16.1 by @dependabot in #548
- Bump org.jooq:jooq from 3.19.1 to 3.19.6 by @dependabot in #579
- Bump spring.version from 6.1.2 to 6.1.4 by @dependabot in #577
- Bump com.spotify.fmt:fmt-maven-plugin from 2.21.1 to 2.23 by @dependabot in #575
- Bump org.postgresql:postgresql from 42.7.1 to 42.7.2 by @dependabot in #571
- Bump org.slf4j:slf4j-api from 2.0.9 to 2.0.12 by @dependabot in #567
- Bump spring.boot.version from 3.2.1 to 3.2.3 by @dependabot in #578
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.0 by @dependabot in #581
- Bump net.bytebuddy:byte-buddy from 1.14.11 to 1.14.12 by @dependabot in #582
- Bump logback.version from 1.4.14 to 1.5.3 by @dependabot in #583
- Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 by @dependabot in #559
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.2.5 by @dependabot in #554
- Bump jackson.version from 2.16.1 to 2.17.0 by @dependabot in #584
- Bump spring.version from 6.1.4 to 6.1.5 by @dependabot in #586
- Bump com.google.guava:guava from 33.0.0-jre to 33.1.0-jre by @dependabot in #585
- Bump org.postgresql:postgresql from 42.7.2 to 42.7.3 by @dependabot in #587
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.0 to 3.2.1 by @dependabot in #589
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 by @dependabot in #590
- Bump junit.jupiter.version from 5.10.1 to 5.10.2 by @dependabot in #580
Full Changelog: 5.4.421...5.5.447
5.4.421
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 thejakarta.inject.*
namespace in. Officially thejavax.inject.*
namespace is still supported, but there may be issues. Guice will be bumped to7.0.0
, removingjavax.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 aninterface
(instead of anenum
). Existing code should be text-compatible (but not binary compatible) as long as you aren't using the dialect withswitch
statements. If you are, use chainedif
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
5.3.370
BREAKING CHANGES for users of the jooq and spring integrations:
- Both now require Java 17
- Spring has made the jump to the
jakarta.*
dependencies rather thanjavax.*
.
Java 11 is supported for everything else.
Changes:
- Breaking change: Bump jooq from 3.16.5 to 3.18.4 (#438).
- Other dependency bumps
- Build improvements
- Publish missing Spring module from last release
5.2.360
5.2.337
- Experimental - Quarkus integration (#320) - thanks @RomainWilbert
- Fix - Deleting expired not working correctly on Postgres (#367) - thanks @kzkvv
- Experimental - Oracle integration (#340) - thanks @RomainWilbert and @skastenholz
- Dependency bumps
5.1.300
4.3.281
-
Enabled multiple java version 11, 15, 17 compatibility build
-
Introduce Jackson serializer which can serialize mostly anything
-
Added instructions on clustering workloads to README
-
Dependency bumps
4.2.268
feature: #223 Support serialization of UUID by default
feature: #239 Replaced CGLIB with ByteBuddy
Dependency bumps
Warning: To maintain compatibility with prior versions, add ByteBuddy and Objenesis to your classpath, e.g. in Maven:
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.12.1</version>
</dependency>
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>3.2</version>
</dependency>
These are only required if proxying classes (rather than interfaces).