Liquibase 4.23.0 Release Notes
Liquibase 4.23.0 is a major release.
See GitHub formatted release notes for more information. Full changelog: 4.22.0–4.23.0 (June 26, 2023)
Warning: For Liquibase Pro users of native executors, there are known issues deploying updates with this release. Please download and use Liquibase 4.23.2 release or newer.
Notable Changes
[PRO]
- Introducing Custom and Private Data in Structured Logs. You can now include custom and pipeline-specific fields and exclude any private data for your Structured Logs and Liquibase operation data streams. Learn more here: Custom and Private Data in Structured Logs and custom-log-data-file
- The flow, history, status, and version commands have Structured Logging enhancements for improved compatibility with automated monitoring and analysis tools.
- Learn more about Liquibase's Observability and Structured Logging capabilities to generate more meaningful reports and dashboards at Liquibase Observability
[OSS]
- Checksums upgraded to v9, which improves whitespace handling in views, procedures, Liquibase Pro stored logic objects, and more.
- No action is required of users to benefit from this enhancement
- This release is backwards compatible with v8 checksums (found in 3.5 to 4.21.1 releases)
- Console message will inform you when your checksums have been updated
- Liquibase Hub de-commissioned and de-coupled from Liquibase operations. From 4.23.0 forward, Liquibase will make no Hub reporting attempts.
Breaking Changes
- FOR MONGO DB EXTENSION USERS
The Liquibase MongoDB OSS and PRO extension are major version releases compatible starting with Liquibase 4.23.0, and are not backward compatible with previous Liquibase versions.- For users of Liquibase core versions between 4.19.0 and 4.21.1, please use the previous 4.x Mongo extension release.
-
OSS v 4.23.0 MongoDB Extension Compatibility Matrix:
-
MongoDB Extension Version Liquibase Compatible Version MongoDB OSS Extension v4.23.0 Liquibase v4.23.0 MongoDB PRO Extension v1.1.1 Liquibase v4.23.0 MongoDB OSS Extension v4.21.0 Liquibase v4.19.0 - 4.21.1 MongoDB PRO Extension v1.0.0 Liquibase v4.19.0 - 4.21.1
- For Developers of community-supported extension:#4310
- This implement new method in ChangeLogHistoryService interface which may requires updates to your extension code.
- For Pro users: a bug fix for users of BOTH update-one-changeset AND ignore=true in DAT-13516 (see below)
- If you deploy with both these conditions, and have implemented a work-around, you should inspect your work-flow for potential changes.
[PRO] What's Changed
- Add or excluded custom user metadata to logs by @StevenMassaro in liquibase/liquibase-pro#956
- DAT-13292: Decomission hub by @abrackx in liquibase/liquibase-pro#898 and #3996
- DAT-14121: add failOnError MDC and always show changesetOutcome MDC by @StevenMassaro in liquibase/liquibase-pro#945
- DAT-12946 disable snapshot generation for PRO objects for Redshift by @vitaliimak in liquibase/liquibase-pro#933
- DAT-10024: show MDC when running --version by @StevenMassaro in liquibase/liquibase-pro#969
- DAT-14110 API ability to add user metadata to the Flow model by @wwillard7800 in liquibase/liquibase-pro#941
- Test with java 20 instead of 18 by @nvoxland in liquibase/liquibase-pro#964
- DAT-13124 Finished with implementation of MDC for Flow command by @wwillard7800 in liquibase/liquibase-pro#954
- DAT-14163: mdc for status command by @StevenMassaro in liquibase/liquibase-pro#979
- DAT-14162: MDC for history command by @StevenMassaro in liquibase/liquibase-pro#981
- DAT-6620: Refactors rollbackOneUpdate, rollbackOneUpdateSql, rollbackOneChangeset, rollbackOneChangesetSql to use command framework by @abrackx in liquibase/liquibase-pro#991
- DAT-13946 Fix issue with catalogName property not being honored by @wwillard7800 in liquibase/liquibase-pro#992
- DAT-14804: fix docs links by @StevenMassaro in liquibase/liquibase-pro#998
- fix/include_liquibase_version by @sayaliM0412 in liquibase/liquibase-pro#1010
- DAT-13516: update-one-changeset command should ignore changesets with ignore=true set by @StevenMassaro in liquibase/liquibase-pro#997
- DAT-13283: improve join for snapshotting check constraints in MySQL by @StevenMassaro in liquibase/liquibase-pro#994
- DAT-14807: case-insensitive matching on keys by @StevenMassaro in liquibase/liquibase-pro#999
- DAT-13037 For rollback not required changes, do not complain about EmptyChange by @wwillard7800 in liquibase/liquibase-pro#984
- DAT-14283 Add SEARCH_PATH setting to run script for PsqlRunner by @wwillard7800 in liquibase/liquibase-pro#995
- DAT-14897: add check settings file DTO hidden parameter by @StevenMassaro in liquibase/liquibase-pro#1033
- liquibase-pro changetype metadata by @adrian-velonis1 in liquibase/liquibase-pro#942
- DAT-14307: Append keep.path to psql logFile property to create log files in temp directory by @abrackx in liquibase/liquibase-pro#1031
- DAT-12478 by @sayaliM0412 in liquibase/liquibase-pro#1007
- DAT-15167 by @sayaliM0412 in liquibase/liquibase-pro#1045
[OSS] What's Changed
- Add binary, varbinary and longvarbinary support for Snowflake #4226
- Liquibase should not fail when change log has only databaseChangeLog tag #4273
- Add v8 and v9 checksum support (DAT-14872) @StevenMassaro #4310
- Fix index descending column snapshot test by @wwillard7800 in #4251
- add failOnError MDC and always show changesetOutcome MDC (DAT-14121) by @StevenMassaro in #4158
- DAT-12945: support JSON logging in the maven plugin by @StevenMassaro in #4152
- show MDC when running --version (DAT-10024) by @StevenMassaro in #4218
- For SQL Server, if a delimiter has not been specified, then add one. DAT-13998 by @wwillard7800 in #4202
- Log when no changesets have been rolled back (DAT-11575) by @abrackx in #4209
- [DAT-6608] Refactors DropAll command as CommandStep by @filipelautert in #4171
- Test with java 20 instead of 18, as 18 is no longer supported by oracle by @nvoxland in #4208
- SQL Anywhere was never owned by Siebel, but only by SAP, Sybase, Powersoft, Watcom. by @mkarg in #4178
- Remove not using imported classes and packages in the source file. by @arturobernalg in #3836
- Replace if statements with switch statements. by @arturobernalg in #3720
- Delete unused comment code. by @arturobernalg in #3666
- Code clean up around isUpToDateFastCheck by @MalloD12 in #4016
- Refactor db-doc command to use command framework (DAT-6605) by @abrackx in #4238
- Implement autorollback for and changes by @jccampanero in #4103
- execute-sql command refactor (DAT-6609) by @abrackx in #4217
- Fix "Running Changeset: " logs written directly to stdout instead of using the maven logger by @mensinda in #4157
- Improve Javadoc. by @arturobernalg in #3841
- Remove fields that are not used or unreachable from the entry points. by @arturobernalg in #3741
- Fix javadoc references, links and spaces. by @arturobernalg in #3768
- Implement "author" command argument for diffChangelog command by @vitaliyg2 in #3990
- Prefer ThreadLocalScopeManager when working with Maven by @rogierslag in #4037
- Code cleanup: avoid re-calling methods by @arturobernalg in #3721
- Replace with Collections.singletonList(), Collections.emptyList(), or… by @arturobernalg in #3837
- add support for the TRAN keyword (T-SQL) by @AlexGruebel in #4099
- Switch to distribute jars generated by Java 11 allowing Jakarta cdi 4 upgrade by @filipelautert in #4119
- refactor future-rollback-sql family of commands (DAT-6610, DAT-6611, DAT-6612) by @StevenMassaro in #4243
- refactor mark-next-changeset-ran command family (DAT-6615, DAT-6616) by @StevenMassaro in #4253
- Add serialVersionUID to classes that implement Serializable. by @arturobernalg in #3680
- mdc for status command (DAT-14163) by @StevenMassaro in #4259
- Refactor validate command (DAT-6643) by @abrackx in #4281
- Show MSSQL PRINT output by showing SQL Warnings if they exist DAT-8708 by @wwillard7800 in #4263
- add MDC for release locks outcome (DAT-14166) by @StevenMassaro in #4229
- refactor unexpected changesets command (DAT-6637) by @StevenMassaro in #4278
- DAT-6632: refactor snapshot-reference command by @StevenMassaro in #4262
- refactor update-testing-rollback command (DAT-6640) by @StevenMassaro in #4282
- Make sure drop FK changes are first in the list generated by diffChangelog DAT-14101 by @wwillard7800 in #4272
- Cleanup logging for releasing locks. by @abrackx in #4296