- automatic modules
- flyway 10.10.
- Note this is now modularized as
flyway-core
andflyway-database-postgresql
- This brings in the
flyway-database-postgresql
andjackson-dataformat-toml
as runtime optional dependencies. - Note Flyway requires java 17
- Note this is now modularized as
Note for internal OT users: This is compatible with otj-SBT3, but not otj-SBT2.
- commons compress 1.26.0 (used by testcontainers) updated for a CVE.
- testcontainers 1.19.6
- Additional options for configuring Flyway Preparer. In order of precedence (first is highest)
- FlywayPreparer.fromClassPath has an optional first argument to specify a Map of Flyway configurations.
- Environmental Variables. These are upper cases and periods converted to underscores.
- Class Path - a file named
flyway.properties
in the class path.
- Using more recently Flyway in tests.
- Internally split off from otj-parent to allow compatibility between different otj stacks and not pull as much otj-ness.
- Parent POM-328 changes see here
All the RC release features and fixes plus:
- Add network alias option
- Expose full bind mount function
- fix equals/hashcode in builder.
- Stop excluding junit4 from testcontainers - check the README for the sordid details.
- Pass host and port to the ConnectionInfo bean. We strongly recommend you prefer getDatasource or getUrl, these will be more portable in usage. We ran into a few use cases where this was handy, however.
- LegacySingleInstancePostgresExtension to do the old Junit5 lifecycle behavior.
- 60 seconds default startup wait.
- Expose bind mounts (optional, none by default) in builder, currently hard coded as Read only.
- Expose network (optional, none by default) in builder.
- Restore Java 8 compatibility
- Update to testcontainers 1.16.3
- A completely rewritten version of
otj-pg-embedded
. Uses "testcontainers" for docker, while preserving API compatibility.
Advantages
- multi arch (m1 etc) support
- Works the same way on every OS - Mac, Windows, Linux. Please note the maintainers only test on Mac Linux
- You need a tarball for every linux distribution as PG 10+ no longer ship a "universal binary" for linux.
- Easy to switch docker image tag to upgrade versions.
- More maintainable and secure (you can pull docker images you trust, instead of trusting our tarballs)
Admittedly, a few disadvantages
- Slower than running a tarball
- A few compatibility drops and options have probably disappeared. Feel free to submit PRs
- Docker in Docker can be dodgy to get running.
=== legacy tarball versions ===
- POM 287, Flyway 7
-
POM 220, which includes OSS expose-versions maven plugin, solving issues for OSS users
-
#124: Separate the handling of the embedded dir in a directory provider interface (PgDirectoryResolver), and moves all logic to handle existing bundles from the main class to a separate one (UncompressBundleDirectoryResolver ) which implements the PgDirectoryResolver interface.
Eg:
EmbeddedPostgres pg = EmbeddedPostgres.builder().setPostgresBinaryDirectory(new File("/usr/local")).start();
- Expose contexts for LiquibasePreparer (#106)
- Add OpenJDK 11 to the Travis test matrix and cache dependencies (#118)
- adds optional prefix to logger (#113)
- Issue #116 Server startup fails with "port out of range:-1" error (#117)
- Overwrite existing extracted files if they exist. (#120)
- ProcessOutputLogger: don't prevent jvm shutdown (#123)
- Update POM
- Upgrade to Flyway 6 API (#126)
- PR #104 - improved logging names
- Postgres 10.6
- PR #84 - Speed up binary extraction.
- Add builder option to override working directory (otherwise uses java.io.tmpdir or the ot.epg.working-dir system properties)
- PR #83 - Logging of initDB process
- PR #85 - Fixed Caching of Prepared DBs
- PR 97 (Support for Liquibase)
- PR 95 (user in connection uri)
- PR 94 (shorten thread name) applied and reverted, since it required java 9
- PR #93 - Add separate Junit5 support directory
- Apache commons upgrade for CVE
- Bug forced re-release
- Update POM, fixing some build issues.
- Cleanup resulting PMD, Spotbugs issues
- PR #89 - Corrected locale parameter format and detected windows locale
- Update README on Windows issue
- PR #79 - add license to POM
- PR #81 - restore lost 'this' reference
- PR #77 - better server customizers
- Postgres 10.3
- Exposed getConnectionInfo in PreparedDBRule, PreparedDBProvider. The use case is if you need to access the port and database name and pass them to a NON-java process. In normal circumstances, you should just use getDataSource(), which will return a fully ready DataSource for Java.
- Update POM to Spring released versions.
- use a non-milestone Spring release, sorry!
- fixed output logging bug (immediate close after first read)
- quieted down initialization connect logging
- add
setPGStartupWait
method to builder to override the default time (10 seconds) for waiting for Postgres to start up before throwing an exception. - fix dataDirectory creation under nested subdirectories
- allow specifying jdbc connection parameters
- configurable startup time
- postgres 10
- redirected subprocess output to logger (fixes surefire bug)
- fixed subprocess stderr redirection bug (unconditionally using stdout settings)
- latest OT parent pom
- PMD fixups
- improved documentation
- ancient history