Liquibase 4.22.0 Release Notes

Note: We have removed the 4.22.0 release of Liquibase. This version contains an updated algorithm for determining which changes Liquibase needs to deploy to a database. In some situations, the conversion to this new algorithm could result in eligible changes not being deployed to a target database.

Specifically, currently undeployed changesets with the runOnChange=true attribute may not be deployed if they were present in the first execution of Liquibase 4.22.0 against a given target database. If you have not upgraded to Liquibase 4.22.0, you are not impacted by this issue, or if you do not rely on runOnChange changesets which have changed before your upgrade.

To remedy this issue, run the clear-checksums command, then revert to Liquibase 4.21.1, and then run the changelog-sync command to recalculate the v8 checksums.

Liquibase v4.22.0 is a major release.

See GitHub formatted release notes for more information. Full changelog: 4.21.1–4.22.0 (May 11, 2023)

Notable Changes

The checksum changes in Liquibase version 4.22.0 a major change, which improves whitespace handling in views, procedures, Liquibase Pro stored logic objects, and more. New checksums are silently recalculated upon the initial run of Liquibase 4.22.0 or greater.

No actions is required for the vast majority of users. However, for users who rely on the detection of a changed changeset or have complex workflows, it is recommended that you run liquibase clear-checksums with your current version BEFORE your first operation using the new 4.22.0 version against a database. Learn more at Changeset Checksums.

API Breaking Changes

  • DAT-13285 - Fix CheckSum generation issues + improvement by @filipelautert in #3914

Enhancements

Security, Driver, and other updates

Fixes

  • Fixed #3487 Provide precision and scale for currency database datatype and H2. by @jccampanero in #4019
  • Fix search path handle for PostgreSQL with JDBC connection with specified schema by @quonas in #4021
  • Fixes undesired change to CreateProcedureChange checksum generation by @filipelautert in #4161
  • Fixed #3722 auto-increment column starting with a custom value no longer works with H2 v1 by @quonas in #4013
  • Fix addDefaultValue checksum calculation when providing schema name by @filipelautert in #4203
  • Fix flaky Postgres tests by @abrackx in #4234
  • Move dbchangelog-4.21.xsd to liquibase-standard by @nvoxland in #4176
  • include changelog file when running status command from Liquibase class (DAT-14659) by @StevenMassaro in #4201
  • Always use LockService from Factory when running command steps by @filipelautert in #4151
  • SnowflakeDatabase allows catalog name in identifiers in #4092
  • Change the case of sys.extended_properties. by @jccampanero in #4101
  • Load properties from defaults-file fixing variable replacement for refactored commands by @filipelautert in #4204
  • remove helper commands from help output (DAT-14674) by @StevenMassaro in #4207
  • [Pro] DAT-13953: fix integration name log message for native tools by @StevenMassaro in liquibase/liquibase-pro#937
  • [Pro] Fix tests because of output change from Postgres 9.6 to 15. by @filipelautert in liquibase/liquibase-pro#970
  • [Pro] DAT-14642 - Fix Update-one-changeset problem that shows up during checksum upgrade by @filipelautert in liquibase/liquibase-pro#968
  • [Pro] DAT-14177: add changesetsRolledback for failed rollback-on-error rollback by @StevenMassaro in liquibase/liquibase-pro#932

New Contributors