Liquibase v4.18.0
Notable Changes
[PRO] Hashicorp Vault extension and Liquibase Pro
Use together for increased security and convenience of centralized properties. Note: This release works with Vault v1, and a v2 compatible release will follow up soon.
-
Security
Vaults offer much greater security than defaults files or environment variables -
Centralization
Secure your database credentials, Pro license key, secure urls, and more in one central location.
Update your critical properties in one place, and all linked tools and jobs use the new values .
[PRO] rollback-on-error
command argument
- When set to
true
will attempt to rollback a failed update operation. - Note: changesets marked
failonerror=false
, do not count as error, and so do not rollback-on-error
[OSS] Liquibase Environment variables
- Now free to all users, not just Pro users.
- Learn more at https://docs.liquibase.com/concepts/connections/liquibase-environment-variables.html
Enhancements
- [PRO] Added new modifyChangeSets tag to support specification of
runWith
attribute for all change sets ininclude
orincludeAll
API Breaking Changes
- Use PathHandler for writing log files, which allows using S3 and other extensions (DAT-11515) by @abrackx in #3438
Security, Driver and other updates
- Upgrade mockito-inline from 4.8.0 to 4.8.1 by @dependabot in #3382
- Upgrade actions/cache from 3.0.8 to 3.0.11 by @dependabot in #3370
- Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in #3423
- Upgrade postgresql driver from 42.5.0 to 42.5.1 by @dependabot in #3501
- Bump maven-plugin-plugin from 3.6.4 to 3.7.0 by @dependabot in #3450
- Bump sqlite-jdbc from 3.39.3.0 to 3.39.4.0 by @dependabot in #3451
- Bump maven-shade-plugin from 3.4.0 to 3.4.1 by @dependabot in #3422
- Bump gmavenplus-plugin from 1.13.1 to 2.1.0 by @dependabot in #3391
- Bump picocli from 4.6.3 to 4.7.0 by @dependabot in #3432
- Bump jcc from 11.5.7.0 to 11.5.8.0 by @dependabot in #3414
- Upgrade testcontainers-bom from 1.17.3 to 1.17.5 by @dependabot in #3341
Fixes
-
Fixes generate-changelog view comments for Postgres (DAT-9410) by @abrackx in #3403
-
Adds DefaultChangeExecListener, catches and handles migration errors (DAT-9372) by @abrackx in #3431
-
Fixes nullpointer when dealing with LiquibaseException on updates. by @filipelautert in #3447
-
Resets changelog cache upon acquiring lock by @filipelautert in #3396
-
Allows createSequence field "dataType" to be use with DB2 as the database supports it. by @filipelautert in #3328
-
Defines "-- rollback empty" as the way to specify "no rollback needed". by @filipelautert in #3324
-
Fix create index on Postgresql and MSSQL using wrong column names when generating a changelog by @filipelautert in #3366
-
Fixed input string handling in CompareControl constructor by @filipelautert in #3309
-
Add 'ifExists' parameter to the dropView statement by @gzsombor in #3301
-
Fix getResourceAccessor logic to avoid setting changeLogDirectory when searchPath has already set by @MalloD12 in #3347
-
Ensures that Postgresql works with blob types bytea and oid (large objects) by @filipelautert in #3381
-
Improve int/tinyint/smallint/bigint handling in H2 by @MalloD12 in #3274
-
The onSqlOutput attribute does not work for preconditions in formatted SQL changelogs. by @dyadyushko in #3436
-
[DAT-11899] Modifies deploy plugin and distribution management. by @jnewton03 in #3457
-
Adds ChangeExecListener properties to maven plugin (DAT-12219) by @abrackx in #3443
-
make BufferedLogService thread safe by @StevenMassaro in #3470
-
Improved Sybase ASE Support by @carlos940513 in #665
-
Do not write output files for computed columns when executing dbDoc. Fixes #1088 by @rozenshteyn in #3398
-
Sequence owned by a table field must be included in database snapshot by @filipelautert in #3335
-
Fixes snapshot of case-sensitive views by @filipelautert in #3329
-
Fix include/includeAll to correct track relativeToChangelog=true paths using ./ or ../ by @nvoxland in #3355
-
Improved readability in the createCDILiquibaseConfig method. by @musttafayildirim in #3316
-
testing main and sha builds by @jnewton03 in #3481
-
Fix Postgresql autoIncrement Information in snapshot by @filipelautert in #3361
-
Treat "," as "or" when parsing context expressions. Fixes #1103 by @rozenshteyn in #3426
-
CORE-1127: Filter by context when doing a rollback. by @berryh in #898
-
Implement tagExists Maven command (Fix issue 1063) by @rozenshteyn in #3385
-
Fixes transaction handling within changesets on DB2 on z/OS by @MichaelKern-IVV in #3342
-
Improve dropAllForeignKeyConstraints performance by @Spindl in #2155
-
Adds error handling for updateCount (DAT-11950) by @abrackx in #3463
-
Adds error handling to update-to-tag (DAT-11951) by @abrackx in #3468
-
Adds error handling for update-testing-rollback command and updateTestingRollback goal (DAT-11952) by @abrackx in #3474
-
Fixes behaviour of includeAll by keeping the trailing slash on the path by @filipelautert in #3506
-
Restore FileSystemResourceAccessor and add tests. by @filipelautert in #3499
-
Simplify if statements to a single assignment. Avoid extra works. by @arturobernalg in #3375
-
Fixed resolveSibling method by updating URL resource type by @MalloD12 in #3413
-
Fix dependency query for PostgreSQL 15 by @Domm98CZ in #3456
-
Release liquibase-nochangeloglock extension with the others by @nvoxland in #3452
New Contributors
- @gzsombor made their first contribution in #3301
- @carlos940513 made their first contribution in #665
- @rozenshteyn made their first contribution in #3398
- @musttafayildirim made their first contribution in #3316
- @berryh made their first contribution in #898
- @Spindl made their first contribution in #2155
- @arturobernalg made their first contribution in #3375
- @Domm98CZ made their first contribution in #3456
Full Changelog: v4.17.2...v4.18.0
Get Certified
Learn all the Liquibase fundamentals from free online courses by Liquibase experts and see how to apply them in the real world at https://learn.liquibase.com/.
Read the Documentation
Please check out and contribute to the continually improving docs, now at https://docs.liquibase.com/.
Meet the Community
Our community has built a lot. From extensions to integrations, you’ve helped make Liquibase the amazing open source project that it is today. Keep contributing to making it stronger:
Contribute code
Make doc updates
Help by asking and answering questions
Set up a chat with the Product team
Thanks to everyone who helps make the Liquibase community strong!
File Descriptions
- Liquibase CLI -- Includes open source + commercial functionality
- liquibase-x.y.z.tar.gz -- Archive in tar.gz format
- liquibase-x.y.z.zip -- Archive in zip format
- liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
- liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
- Primary Libraries - For embedding in other software
- liquibase-core-x.y.z.jar – Base Liquibase library (open source)
- liquibase-commerical-x.y.z.jar – Additional commercial functionality
- liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
- Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
- Javadocs for all the libraries
- Source archives for all the open source libraries
- ASC/MD5/SHA1 verification hashes for all files