Release Notes

Liquibase 4.19.0 – January 17, 2023

Liquibase v4.19.0 is a patch release with an XSD upgrade.

Full changelog: v4.18.0...v4.19.0


  • Simplify assert calls and replaced with simpler and equivalent calls. by @arturobernalg in #3497
  • Delete unused import statement. by @arturobernalg in #3522
  • Added call to modifyChangeSet during execute method to allow the changeSet to be correctly set on the executor DAT-12388 by @wwillard7800 in #3511
  • Remove unnecessary local variables that add nothing to the comprehensibility of a method. by @arturobernalg in #3373
  • Allow loading gzipped data files by @mike-seger in #3379
  • Use try-with-resources Statement when is possible. by @arturobernalg in #3374
  • Define and reuse constants. Use an empty array styles to convert a collection to an array. by @arturobernalg in #3500
  • Add support for block comment rollback commands on SQL changesets by @krishnaenugandula in #1399
  • Allow primary key on addColumn for H2 by @nick318 in #3372
  • Additional (optional) tableType attribute on the CreateTableChange by @MartinRied in #3108
  • Include "path" in databasechangelog's description column for all change types with "path" attributes by @MichaelKern-IVV in #3244
  • #1466: Add ignore:true changeset attribute to Formatted SQL changeLogs by @skrivenko in #3377
  • #1290: Forbid empty changeSet id and author by @skrivenko in #3397
  • Allow to drop and create a view for a Postgres database if replacing the view would fail by @rozenshteyn in #3399
  • Rename DatabaseObjectComparator class to be DatabaseObjectCollectionComparator for clarity DAT-10112 by @wwillard7800 in #3544
  • Do not lower case the ProvidedValue description if the string is capitalized, i.e. it starts with 2 upper-case characters DAT-12614 by @wwillard7800 in #3589
  • Use '' instead by @arturobernalg in #3528
  • Simplify 'Map' operations. by @arturobernalg in #3527
  • Remove unnecessary semicolon. by @arturobernalg in #3571
  • Missing Override annotations. by @arturobernalg in #3558
  • Prevents redundant loop iterations. Early loop exit in 'if' condition. by @arturobernalg in #3547
  • DAT 6635 - Implement TagCommand by @filipelautert in #3570
  • DAT-12576 update release workflow to attach artifact by run_id by @ap-liquibase in #3629
  • DAT-12365 update install4j script to version 10.x by @jnewton03 in #3641
  • Upgrades installer JDK version for next release. by @filipelautert in #3440
  • remove licenses that were moved to individual extensions (DAT-12784) by @StevenMassaro in #3646
  • DAT-12597 include commercial sources and javadoc in reversion by @ap-liquibase in #3671

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 to 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 to by @dependabot in #3414
  • Upgrade testcontainers-bom from 1.17.3 to 1.17.5 by @dependabot in #3341


  • 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 changelog. 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

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

Read the Documentation

Please check out and contribute to the continually improving docs, now at Liquibase Documentation.

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:

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions