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

Liquibase 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.

Liquibase Open Source

  • Checksums were upgraded to v9, which improved whitespace handling in views, procedures, Liquibase Pro stored logic objects, and more. Users do not need to take any action to benefit from this enhancement. This release is backward compatible with v8 checksums (found in 3.5 to 4.21.1 releases). A console message will inform you when your checksums have been updated.

  • The Liquibase Hub has been decommissioned and decoupled from Liquibase operations. From 4.23.0 forward, Liquibase will not make Hub reporting attempts.

Breaking changes

For MongoDB extension users

  • The Liquibase MongoDB OSS and PRO extensions 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, use the previous 4.x Mongo extension release.

Liquibase Open Source v4.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 implements a new method in the ChangeLogHistoryService interface, which may require updates to your extension code.

  • For Pro users: a bug fix for users of BOTH update-one-changeset AND ignore=true in DAT-13516. If you deploy with both these conditions and have implemented a workaround, you should inspect your workflow for potential changes.

Liquibase Pro. What's changed

Liquibase Open Source. What's changed

  • Add binary, varbinary, and longvarbinary support for Snowflake #4226

  • Liquibase should not fail when the changelog has only a DATABASECHANGELOG tag #4273

  • Add v8 and v9 checksum support (DAT-14872) @StevenMassaro #4310

  • Fix the 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 any classes and packages that are not used 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 the command framework (DAT-6605) by @abrackx in #4238

  • Implement autorollback 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

  • FixJavadoc 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

Liquibase 4.23.0 release notes - Liquibase