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

Enhancements

  • 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 'Integer.compare' 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 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 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 https://learn.liquibase.com/.

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