Liquibase Versions Save

Main Liquibase Source

v4.27.0

1 month ago

Liquibase 4.27.0 is a major release

[!IMPORTANT] Liquibase 4.27.0 contains several New Capabilities and Notable Enhancements for Liquibase Pro users: DATABASECHANGELOGHISTORY table, Quality Checks Chains, Rollback Reports

[!NOTE] See the Liquibase 4.27.0 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Liquibase DATABASECHANGELOGHISTORY table: See all changes that have been applied to your database

  • With the new DatabaseChangeLogHistory (DBCLH) Table, get a complete history of changes made to your database through Liquibase operations, including updates, rollbacks, dropAlls, tags, changelogsyncs, and repeated updates to the same ChangeSet. The DBCLH table is disabled by default, so Users must turn it on to start capturing historical data.
  • Learn more https://docs.liquibase.com/databasechangeloghistory

Quality Checks Chains: Perform multiple policy evaluations with a single Quality Check

  • Chain multiple Quality Checks together with logic conditionals (AND, OR, and NOT) for more flexibility to perform multiple evaluations in a single check. Useful to confirm complex best practices or governance issues. Check Chains are run like traditional single-condition existing Quality Checks
  • Learn more https://docs.liquibase.com/quality-checks

Observability: Rollback Reports: Understand and share the data on the execution of rollback commands

  • Easily scan and understand a high-level overview of the ChangeSets rolled back. Get a detailed view of both successful and failed rollbacks. Collaborate with your team with shareable report in PDF format
  • Learn more https://docs.liquibase.com/observability

Breaking Change

  • (#5584) throw exception if drop all fails (DAT-16718) @StevenMassaro

[PRO] Changelog

đŸ€– [PRO] Security, Driver and Other Updates

39 change * Bump liquibase/build-logic from 0.6.4 to 0.6.6 dependencies github_actions #1616 by dependabot bot
  • Bump org.projectlombok:lombok from 1.18.30 to 1.18.32 #1614 by dependabot bot

  • Bump org.apache.maven.plugins:maven-assembly-plugin from 3.6.0 to 3.7.1 #1613 by dependabot bot

  • Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 #1612 by dependabot bot

  • Bump com.networknt:json-schema-validator from 1.3.3 to 1.4.0 #1610 by dependabot bot

  • Bump actions/delete-package-versions from 3 to 5 dependencies github_actions #1551 by dependabot bot

  • Bump org.postgresql:postgresql from 42.7.2 to 42.7.3 #1604 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-core from 2.16.2 to 2.17.0 #1597 by dependabot bot

  • Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.16.2 to 2.17.0 #1595 by dependabot bot

  • Bump org.sonarsource.scanner.maven:sonar-maven-plugin from 3.10.0.2594 to 3.11.0.3922 #1599 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-databind from 2.16.2 to 2.17.0 #1596 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-annotations from 2.16.2 to 2.17.0 #1594 by dependabot bot

  • Bump com.github.jsqlparser:jsqlparser from 4.8 to 4.9 #1583 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-annotations from 2.16.1 to 2.16.2 #1588 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-core from 2.16.1 to 2.16.2 #1586 by dependabot bot

  • Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.16.1 to 2.16.2 #1584 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-databind from 2.16.1 to 2.16.2 #1585 by dependabot bot

  • Bump ch.qos.logback:logback-classic from 1.5.1 to 1.5.2 #1568 by dependabot bot

  • Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.15.3 to 2.16.1 #1449 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-annotations from 2.15.3 to 2.16.1 #1450 by dependabot bot

  • Bump com.oracle.database.jdbc:ojdbc8 from 19.21.0.0 to 19.22.0.0 #1563 by dependabot bot

  • Bump org.mariadb.jdbc:mariadb-java-client from 3.2.0 to 3.3.3 #1555 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-core from 2.15.3 to 2.16.1 #1451 by dependabot bot

  • Bump com.fasterxml.jackson.core:jackson-databind from 2.15.3 to 2.16.1 #1452 by dependabot bot

  • Bump com.github.jsqlparser:jsqlparser from 4.7 to 4.8 #1558 by dependabot bot

  • Bump com.github.wvengen:proguard-maven-plugin from 2.6.0 to 2.6.1 #1557 by dependabot bot

  • Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.1 to 3.5.2 #1559 by dependabot bot

  • Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 #1560 by dependabot bot

  • Bump commons-codec:commons-codec from 1.16.0 to 1.16.1 #1561 by dependabot bot

  • Bump org.mvel:mvel2 from 2.5.0.Final to 2.5.2.Final #1562 by dependabot bot

  • Bump com.fasterxml.jackson.dataformat:jackson-dataformat-yaml from 2.15.3 to 2.16.1 #1453 by dependabot bot

  • Bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.11 dependencies java #1309 by dependabot bot

  • Bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 #1547 by dependabot bot

  • Bump org.assertj:assertj-core from 3.24.2 to 3.25.3 #1548 by dependabot bot

  • Bump ch.qos.logback:logback-classic from 1.4.11 to 1.5.1 #1543 by dependabot bot

  • Revert * Bump actions/delete-package-versions from 3 to 5 #1546 by StevenMassaro

  • Bump org.postgresql:postgresql from 42.6.0 to 42.7.2 #1530 by dependabot bot

  • Bump org.postgresql:postgresql from 42.6.0 to 42.6.1 in /pro dependencies java #1541 by dependabot bot

  • Bump org.postgresql:postgresql from 42.6.0 to 42.7.2 in /liquibase-pro-extension-testing dependencies java #1527 by dependabot bot

[OSS] Changelog

đŸ’„ Breaking Changes

  • (#5584) throw exception if drop all fails (DAT-16718) @StevenMassaro

🚀 New Features

  • (#5692) Add force option to dropAll DAT-16418 @wwillard7800
  • (#5630) DAT-16798: Add new parameters to rollback report @abrackx
  • (#5649) Add CustomChangeChecksum interface @robinjhector
  • (#5147) database changelog history record-keeping (DAT-16178) @StevenMassaro
  • (#5709) feat: add commons-lang3 as a required dependency for core @filipelautert
  • (#5670) 5507-performance_improvements @filipelautert
  • (#5667) Exception handler for when a service cannot be loaded @filipelautert
  • (#5650) DAT-16513 - Upgrade installer Java version to 21 @filipelautert
  • (#5456) Extended formatted sql preconditions by table-/viewExists @JulienMa94
  • (#5597) Format spring package. @asashour
  • (#5592) Bring update summary options to all update-related goals of the maven plugin @KeepItSimpleStupid
  • (#5530) Use static final Pattern to avoid regexp compilation each time replaceAll is called @turbanoff
  • (#3185) Better error message when no test system has been found @abrackx
  • (#5501) add sqlParserExceptionLogAtLevel param to checks.run maven target (DAT-16309) @StevenMassaro
  • (#5593) Format sql server urls in reports (DAT-16559) @abrackx
  • (#5506) fix: Parse all utf8 symbols @filipelautert
  • (#5500) Adding maven wrapper support @filipelautert
  • (#5548) Allow override of snapshot control creation for snapshotReference command DAT-16683 @wwillard7800
  • (#5545) Handle java.lang.StackOverflowError when running generate-changelog (DAT-16812) @filipelautert
  • (#5469) enable DB2 tests (DAT-16658) @StevenMassaro
  • (#5527) expand values for url, username, password that use secrets vaults in maven plugin (DAT-16431) @StevenMassaro
  • (#5525) Add labels, context and rollback on error info to report (DAT-16531) @abrackx
  • (#5490) DAT-16675: add support for command aliases @StevenMassaro
  • (#5406) Allow snapshot control creation to be overridden for snapshot filters DAT-16054 @wwillard7800
  • (#5256) Added exclusion for MVEL DAT-16282 @wwillard7800
  • (#5494) skip integration tests during unit test build (DAT-16719) @StevenMassaro
  • (#5329) Support runWith executors committing after the change set completes @dzeigler
  • (#5493) automatically run dropall before and after all integration tests @StevenMassaro
  • (#5452) Log the exception in case of failure in ChangeSet.execute @bignoncedric
  • (#5043) Improve support for DB2[z] empty table precondition @MichaelKern-IVV
  • (#5424) Moved saved_state/compareGenerateSql.. directory from java source to resources bundle @MalloD12
  • (#5336) add default constructor + setters to RanChangeSet & related classes @rursprung
  • (#5340) Fixes #2352 by adding support for loading embedded jar files @hayeskl
  • (#5462) map testcontainers to random available host port @StevenMassaro
  • (#5457) prevent multiple databases in test classes @StevenMassaro
  • (#5416) do not clear a subset of MDC keys when scope exits (DAT-16500) @StevenMassaro
  • (#5164) Write changelog only if changes exist @brachi-wernick
  • (#5360) Introduce support for primitive types in new changes @fbiville
  • (#5417) switch integration tests to use h2 where possible (DAT-16015) @StevenMassaro
  • (#5274) Use mariadb UUID when specify UUID type @mohamed-ahrrass-nw
  • (#5347) Added extra space for command help arguments display DAT-13864 @wwillard7800
  • (#5413) add changeset identifier to exceptions thrown from LiquibaseSqlParser (DAT-16397) @StevenMassaro
  • (#5402) Adds pending changesets to update report (DAT-16332) @abrackx
  • (#3581) Support create table if not exists @taeyeon-Kim
  • (#4635) generateChangelog optionally creates runOnChange=true and replaceIfExists=true for createView changes @mkarg

Changes

  • (#5329) Support runWith executors committing after the change set completes @dzeigler

🐛 Bug Fixes 🛠

  • (#5707) [DAT-16135] add new scope flag for modifyChangeSet flow @KushnirykOleh
  • (#5695) Handle empty or null schema for CreateView with replace option DAT-16446 @wwillard7800
  • (#5686) add ignore property to includeAll XSD (DAT-14921) @StevenMassaro
  • (#5700) FIX: SimpleSQLGrammar quote parsing regression @jasonlyle88
  • (#5668) load driver from global argument as well as command argument (DAT-16381) @StevenMassaro
  • (#5634) improve update summary count calculations (DAT-16656 and DAT-16357) @StevenMassaro
  • (#5629) Fix SQL generation when having a column defined with startWith and incrementBy in Postgres @MalloD12
  • (#5626) Add support for SnakeYaml to be able to parse timestamps correctly when timezone is set or not @MalloD12
  • (#5657) [DAT-16428] Reenable ChangelogSyncIntegrationTest tests @filipelautert
  • (#5665) fix: ClearChecksums should not throw Exception in empty databases @filipelautert
  • (#5660) Default implementation of handleInvalidEmptyPreconditionCase added in AbtractFormattedChangeLogParser to avoid breaking extensions @MalloD12
  • (#5555) Fix unique constraint and primary key generator issues for Postgres and H2 @Guschtel
  • (#5583) Add backwards compatibility for procedureBody in createProcedureChange @StevenMassaro
  • (#5617) fix: uses ThreadLocal to prevent concurrent modification on ScopeManager @filipelautert
  • (#5446) Proposed fix for #5442 - command "unexpectedChangesets" always reports at least 1 unexpected changeset with initial tag in database @Tylorjg
  • (#5506) fix: Parse all utf8 symbols @filipelautert
  • (#5606) fix: treats potential nullpointer exception after a lock exception @filipelautert
  • (#5581) Handle stored logic with parameters in the dependency graph DAT-15747 @wwillard7800
  • (#5566) chunk long strings on insert for Oracle (DAT-16774) @StevenMassaro
  • (#5522) MariaDB boolean: back to TINYINT(1) instead of TINYINT (MySQL) @famod
  • (#5524) Don't execute CustomSqlChanges to generate logs @Alf-Melmac
  • (#5498) Add missing OSGI settings @filipelautert
  • (#5391) fix SQLFileChange.generateCheckSum() to calculate checksum without property substitution @jglass524
  • (#5398) Fix issue #3516 addColumn ignores deleteCascade=true @andreiyusupau
  • (#5479) do not skip over duplicate tags when doing rollback (DAT-16277) @StevenMassaro
  • (#5484) Workaround failing test containers startup for mysql by falling back to previous version. @abrackx
  • (#5397) Fix DatabaseFactory db loading when Database implementation is specified (fix for Issues 5371 & 5396 ) @dhsmith1001
  • (#5202) 4464 fix generated default column value using in PostgreSQL and Oracle for char/clob data types @LonwoLonwo
  • (#5350) Fix getSerializableFieldValue when dealing with rollback object @MalloD12
  • (#5414) Fix NPE in generateChangelog and diffChangelog DAT-16534 @wwillard7800
  • (#5267) fix #5266: comma separated dbms-attribute for createProcedure-change triggers validation-check @jclohmann
  • (#5304) Fix for DAT-15716 :: Include 'OR REPLACE' instruction for a view when generate-changelog/diff-changelog command are executed @MalloD12

đŸ€– Security, Driver and Other Updates

41 changes
  • (#5712) Bump org.projectlombok:lombok from 1.18.30 to 1.18.32 @dependabot
  • (#5641) Bump actions/delete-package-versions from 3 to 5 @dependabot
  • (#5616) Bump org.mariadb.jdbc:mariadb-java-client from 3.3.2 to 3.3.3 @dependabot
  • (#5615) Bump com.microsoft.sqlserver:mssql-jdbc from 12.4.1.jre8 to 12.6.1.jre8 @dependabot
  • (#5612) Bump org.postgresql:postgresql from 42.7.1 to 42.7.2 in /liquibase-dist @dependabot
  • (#5588) Bump com.oracle.database.jdbc:ojdbc8 from 19.21.0.0 to 19.22.0.0 @dependabot
  • (#5614) Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.1 to 3.5.2 @dependabot
  • (#5589) Bump release-drafter/release-drafter from 5 to 6 @dependabot
  • (#5568) chore(deps): Bump org.slf4j:slf4j-jdk14 from 2.0.11 to 2.0.12 @dependabot
  • (#5558) chore(deps-dev): Bump org.assertj:assertj-core from 3.25.1 to 3.25.3 @dependabot
  • (#5380) Bump github/codeql-action from 2 to 3 @dependabot
  • (#5324) Bump actions/checkout from 2 to 4 @dependabot
  • (#5301) Bump actions/setup-java from 3 to 4 @dependabot
  • (#5281) Bump actions/github-script from 6 to 7 @dependabot
  • (#5621) Bump org.testcontainers:testcontainers-bom from 1.19.3 to 1.19.6 @dependabot
  • (#5557) chore(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.10.1 to 5.10.2 @dependabot
  • (#5556) chore(deps): Bump org.junit:junit-bom from 5.10.1 to 5.10.2 @dependabot
  • (#5464) Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 @dependabot
  • (#5448) Bump maven-surefire-plugin.version from 3.2.2 to 3.2.5 @dependabot
  • (#5449) Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.2 to 3.2.5 @dependabot
  • (#5613) Bump org.postgresql:postgresql from 42.7.1 to 42.7.2 @dependabot
  • (#5596) Pin mysql testing version to latest major release (DAT-16706) @abrackx
  • (#5563) Update master with release @rberezen
  • (#5472) Bump liquibase/build-logic from 0.5.8 to 0.6.1 @dependabot
  • (#5447) Bump org.slf4j:slf4j-jdk14 from 2.0.9 to 2.0.11 @dependabot
  • (#5454) Bump org.apache.maven.plugins:maven-plugin-plugin from 3.10.2 to 3.11.0 @dependabot
  • (#5433) Bump org.firebirdsql:firebird-testcontainers-java from 1.3.0 to 1.4.0 @dependabot
  • (#5432) Bump org.assertj:assertj-core from 3.24.2 to 3.25.1 @dependabot
  • (#5418) Bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 @dependabot
  • (#5409) Bump org.mariadb.jdbc:mariadb-java-client from 3.2.0 to 3.3.2 @dependabot
  • (#5333) Bump net.snowflake:snowflake-jdbc from 3.14.3 to 3.14.4 @dependabot
  • (#5287) Bump org.firebirdsql.jdbc:jaybird from 5.0.2.java8 to 5.0.3.java8 @dependabot
  • (#5289) Bump org.xerial:sqlite-jdbc from 3.43.2.2 to 3.44.1.0 @dependabot
  • (#5393) Bump actions/upload-artifact from 3 to 4 @dependabot
  • (#5392) Bump actions/download-artifact from 3 to 4 @dependabot
  • (#5313) Bump org.liquibase.ext:liquibase-sdk-maven-plugin from 0.10.22 to 0.10.23 @dependabot
  • (#5311) Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.3 @dependabot
  • (#5306) Bump targetMavenVersion from 3.9.5 to 3.9.6 @dependabot
  • (#5286) Bump org.codehaus.mojo:build-helper-maven-plugin from 3.4.0 to 3.5.0 @dependabot
  • (#5275) Bump com.opencsv:opencsv from 5.8 to 5.9 @dependabot
  • (#5269) Bump org.testcontainers:testcontainers-bom from 1.19.1 to 1.19.3 @dependabot

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 https://docs.liquibase.com/.

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:

Contribute code Make doc updates Help by asking and answering questions Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

v4.26.0

3 months ago

Liquibase 4.26.0 is a major release

[!IMPORTANT] Liquibase 4.26.0 contains several Notable Changes for Liquibase Pro users: Advanced IF conditionals, Simpler Regex-based pattern checks, and Checks Run Reports.

[!NOTE] See the Liquibase 4.26.0 Release Notes for the complete set of release information.

Notable Changes

Liquibase Pro

Liquibase Flow: Advanced IF conditionals

  • In Liquibase flow files, use AND (&&), OR (||), and NOT (!) logic options, in single or grouped conditions, as well as substring matching and checking if a key or file exists.
  • Learn more https://docs.liquibase.com/flow

Quality Checks: Simpler Regex-based pattern checks

  • Check four advanced patterns without having to figure out the complicated regex needed to do it—just supply the patterns and Quality Checks will link and execute them.
  • Learn more https://docs.liquibase.com/quality-checks

Observability: Checks Run Reports

  • Understand and share the data on the execution of Quality Checks with a new Checks Run Report. Easily scan and understand your results with the summary section, Analyze your checks by viewing details by ChangeSet, by check, and by database. And collaborate with your team with shareable report.
  • Learn more https://docs.liquibase.com/observability

Formatted SQL changelogs can use rollback scripts

  • Previously, Formatted SQL ChangeLogs could only run in-line rollback commands. But, sometimes you need something more complex, like a full rollbackSqlFile. This functionality has been available for XML, JSON, and YAML formatted changelogs.
  • Learn more https://docs.liquibase.com/concepts/changelogs/sql-format.html

Liquibase Open Source and Liquibase Pro

Liquibase capability enhancements

  • The diffChangeLog command has been updated only to create a changelog when changes are detected. This is a change from the previous behavior of creating an empty changelog.
  • Adds new generateChangelog options:
    • --run-on-change-types=createView,createProcedure will set runOnChange="true" for each changeSet which contains solely createView and createProcedure changes. For backward compatibility, the default is an empty list.
    • --replace-if-exists=createView,createProcedure will set replaceIfExists="true" for each createView and createProcedure changes. For backward compatibility, the default is an empty list.
  • Fix a bug that previously included substituted properties in the checksum calculation for SQLFile change types

JDBC driver updates

  • MariaDB JDBC driver updated from 3.2.0 to 3.3.2
  • Snowflake JDBC driver updated from 3.14.3 to 3.14.4
  • Firebird SQL JDBC driver updated from 5.0.2.java8 to 5.0.3.java8
  • SQLite JDBC driver updated from 3.43.2.2 to 3.44.1.0

Database platform improvements

General
  • Adds create table if not exists support for the following databases: CockroachDB, DB2 LUW, H2, HSQL, Informix, Ingres9, MariaDB, MySQL, Postgres, and SQLite.
  • Fix the generated default column value in PostgreSQL and Oracle for char/clob data types.
Maria DB
  • Adds Liquibase support for Maria DB 10.10.6 and later's new UUID data type.
  • For boolean columns on MariaDB, revert the change made in Liquibase 4.25.1. It has been returned from TINYINT back to TINYINT(1).
DB2 z/OS
  • Improves support for the empty table precondition.

Java API Changes

  • AbstractJdbcDatabase now delegates the execution of Changes to the executor, which allows the executor more control over how Changes are executed. This gives executors access to Changes and ChangeSets which enables the management of transaction commits.
  • Failure exceptions in ChangeSet.execute are now logged as a SEVERE level for easier access to a concise error message.

Changelog

[PRO] Changelog

đŸ€– [PRO] Security, Driver and Other Updates

1 change * Bump com.oracle.database.jdbc:ojdbc8 from 19.20.0.0 to 19.21.0.0 #1339 by dependabot bot

[OSS] Changelog

🚀 New Features

  • (#5525) Add labels, context and rollback on error info to report (DAT-16531) @abrackx
  • (#5490) DAT-16675: add support for command aliases @StevenMassaro
  • (#5406) Allow snapshot control creation to be overridden for snapshot filters DAT-16054 @wwillard7800
  • (#5256) Added exclusion for MVEL DAT-16282 @wwillard7800
  • (#5336) add default constructor + setters to RanChangeSet & related classes @rursprung
  • (#5340) Fixes #2352 by adding support for loading embedded jar files @hayeskl
  • (#5164) Write changelog only if changes exist @brachi-wernick
  • (#5360) Introduce support for primitive types in new changes @fbiville
  • (#5274) Use mariadb UUID when specify UUID type @mohamed-ahrrass-nw
  • (#5413) add changeset identifier to exceptions thrown from LiquibaseSqlParser (DAT-16397) @StevenMassaro
  • (#5402) Adds pending changesets to update report (DAT-16332) @abrackx
  • (#3581) Support create table if not exists @taeyeon-Kim
  • (#4635) generateChangelog optionally creates runOnChange=true and replaceIfExists=true for createView changes @mkarg

Changes

  • (#5329) Support runWith executors committing after the change set completes @dzeigler
  • (#5452) Log the exception in case of failure in ChangeSet.execute @bignoncedric
  • (#5043) Improve support for DB2[z] empty table precondition @MichaelKern-IVV
  • (#5424) Moved saved_state/compareGenerateSql.. directory from java source to resources bundle @MalloD12
  • (#5462) map testcontainers to random available host port @StevenMassaro
  • (#5457) prevent multiple databases in test classes @StevenMassaro
  • (#5416) do not clear a subset of MDC keys when scope exits (DAT-16500) @StevenMassaro
  • (#5417) switch integration tests to use h2 where possible (DAT-16015) @StevenMassaro
  • (#5347) Added extra space for command help arguments display DAT-13864 @wwillard7800

🐛 Bug Fixes 🛠

  • (#5522) MariaDB boolean: back to TINYINT(1) instead of TINYINT (MySQL) @famod
  • (#5524) Don't execute CustomSqlChanges to generate logs @Alf-Melmac
  • (#5498) Add missing OSGI settings @filipelautert
  • (#5391) fix SQLFileChange.generateCheckSum() to calculate checksum without property substitution @jglass524
  • (#5398) Fix issue #3516 addColumn ignores deleteCascade=true @andreiyusupau
  • (#5479) do not skip over duplicate tags when doing rollback (DAT-16277) @StevenMassaro
  • (#5484) Workaround failing test containers startup for mysql by falling back to previous version. @abrackx
  • (#5397) Fix DatabaseFactory db loading when Database implementation is specified (fix for Issues 5371 & 5396 ) @dhsmith1001
  • (#5202) 4464 fix generated default column value using in PostgreSQL and Oracle for char/clob data types @LonwoLonwo
  • (#5350) Fix getSerializableFieldValue when dealing with rollback object @MalloD12
  • (#5414) Fix NPE in generateChangelog and diffChangelog DAT-16534 @wwillard7800
  • (#5267) fix #5266: comma separated dbms-attribute for createProcedure-change triggers validation-check @jclohmann

đŸ€– Security, Driver and Other Updates

17 changes
  • (#5447) Bump org.slf4j:slf4j-jdk14 from 2.0.9 to 2.0.11 @dependabot
  • (#5454) Bump org.apache.maven.plugins:maven-plugin-plugin from 3.10.2 to 3.11.0 @dependabot
  • (#5433) Bump org.firebirdsql:firebird-testcontainers-java from 1.3.0 to 1.4.0 @dependabot
  • (#5432) Bump org.assertj:assertj-core from 3.24.2 to 3.25.1 @dependabot
  • (#5418) Bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 @dependabot
  • (#5409) Bump org.mariadb.jdbc:mariadb-java-client from 3.2.0 to 3.3.2 @dependabot
  • (#5333) Bump net.snowflake:snowflake-jdbc from 3.14.3 to 3.14.4 @dependabot
  • (#5287) Bump org.firebirdsql.jdbc:jaybird from 5.0.2.java8 to 5.0.3.java8 @dependabot
  • (#5289) Bump org.xerial:sqlite-jdbc from 3.43.2.2 to 3.44.1.0 @dependabot
  • (#5393) Bump actions/upload-artifact from 3 to 4 @dependabot
  • (#5392) Bump actions/download-artifact from 3 to 4 @dependabot
  • (#5313) Bump org.liquibase.ext:liquibase-sdk-maven-plugin from 0.10.22 to 0.10.23 @dependabot
  • (#5311) Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.3 @dependabot
  • (#5306) Bump targetMavenVersion from 3.9.5 to 3.9.6 @dependabot
  • (#5286) Bump org.codehaus.mojo:build-helper-maven-plugin from 3.4.0 to 3.5.0 @dependabot
  • (#5275) Bump com.opencsv:opencsv from 5.8 to 5.9 @dependabot
  • (#5269) Bump org.testcontainers:testcontainers-bom from 1.19.1 to 1.19.3 @dependabot

Participate in the Community

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 https://docs.liquibase.com/.

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

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

v4.25.1

4 months ago

Liquibase 4.25.1 is a patch release

[!NOTE] See the Liquibase 4.25.1 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Observability: Update Reports

  • These reports give you insights into the status of your database and enable you to quickly find and resolve errors in your automation pipeline. These reports can also help you detect patterns of failures that you can catch with Quality Checks or use to inform internal training and education for your teams.
  • Learn more about Update Reports

Observability: Drift Report extended to diffchangelog command

  • With our new HTML format, you can quickly see the differences between databases, including detailed object differences. This easy-to-read and shareable report makes it faster than ever to detect and fix database drift.
  • Learn more Drift Reports

Observability: Structured Logging Enhancement

Thanks to your feedback, we’ve added a new set of keys that improves data analysis capabilities surrounding exceptions and Quality Checks. Learn more at Structured Logging

Convenience: new liquibase connect command

  • A new command to test your database's url, username, and password are all configured correctly and that Liquibase can reach your database -- and no changelog required.
  • Learn more liquibase connect command

Convenience: Global endDelimiters

  • Global endDelimiters decrease the friction of incorporating work from different teams and save you time from the manual process of updating existing code.
  • Learn more Global endDelimiters

[PRO]

Changes and Bug Fixes

  • (#1417) DAT-16405: make report arguments visible on update-family commands by StevenMassaro
  • (#1361) DAT-16064: Added test for exception details by wwillard7800
  • (#1420) DAT-16429: Handle no license key in checks run command by wwillard7800
  • (#1411) DAT-16063: include changeset identifier in log message for failing comment removal by StevenMassaro
  • (#1408) DAT-15379: Updated pattern matching for 'USE DATABASE' statements by filipelautert
  • (#1404) DAT-16157: do not upgrade checks file if autoUpdate is off by StevenMassaro
  • (#1390) DAT-14570: add checks run results to MDC by StevenMassaro
  • (#1401) DAT-16322: add liquibase connect command by StevenMassaro
  • (#1398) DAT-16318: Handle rollback changes during modifyChangeSets logic by wwillard7800
  • (#1389) DAT-16207: Styled update reports by abrackx
  • (#1383) DAT-16136: expand TableMustHaveAComment check to check changelogs by StevenMassaro
  • (#1366) DAT-15394: Generate report for diff-changelog by abrackx
  • (#1387) Init checksSettingsFiles list to avoid NPE by wwillard7800
  • (#1364) DAT-15404: Tweak endDelimiter name and remove hidden flag by wwillard7800
  • (#1351) DAT-15640: Report for updateToTag by wwillard7800
  • (#5366) add duplicatedChangesets to MDC (DAT-16452) @StevenMassaro
  • (#1400) DAT-16268: Fix unexpected objects verbiage by abrackx
  • (#1342) Fixes problematic V8 checksums for pro CreateFunctionChange by filipelautert

đŸ€– Security, Driver and Other Updates

  • (#1410) upgrade liquibase.sdk.maven.plugin 0.10.23 by sayaliM0412

[OSS]

Changes

  • (#567) Improve deferrable validation for AddForeignKey constraints generator @alero
  • (#5101) Remove a forgotten . in README.md @Benjamin-Loison
  • (#4959) Remove unnecessary conditions in IndexComparator @asashour
  • (#5013) exclude compiler jar from dist (DAT-15636) @StevenMassaro

🚀 New Features

  • (#5186) Adding exception details key and implementation DAT-16064 @wwillard7800
  • (#5323) Updated PrimaryKeyExistsPrecondition to require table name for H2 databases @filipelautert
  • (#5268) Rework update summary to support reporting, add new update report fields (DAT-16207) @abrackx
  • (#5130) Update MySQL boolean behaviour from TinyInt(1) to TinyInt @MalloD12
  • (#5300) output entire exception in StandardServiceLocator (DAT-16305) @StevenMassaro
  • (#5131) Allows to set older checksum versions for testing purposes @filipelautert
  • (#5151) Bump com.oracle.database.jdbc:ojdbc8 from 19.20.0.0 to 19.21.0.0 @dependabot
  • (#5166) Exclude QUEUE tables from snapshoting @filipelautert
  • (#5232) Show a better message if a boolean configuration argument has bad input DAT-16276 @wwillard7800
  • (#5167) Added tag attribute to update report parameters DAT-15640 @wwillard7800
  • (#4577) SQL Anywhere: Recompile all views after last change of update @mkarg
  • (#5117) Implementing a ChangeSetService for modification of model objects DAT-16079 @wwillard7800
  • (#4584) Allow changing default UI service + change Spring default UI service allowing log level control @filipelautert
  • (#5087) Handles snapshot of Oracle temporary tables + ignore queue tables @filipelautert
  • (#5077) showSummaryOutput property added for update command @MalloD12
  • (#4991) Update MySQL default value handling to allow defaultValueComputed on MySQL 5.7 @Axel-1
  • (#5042) Makes picocli dependency optional for core @filipelautert
  • (#5041) add rollback-to-date report (DAT-15660) @StevenMassaro
  • (#5045) add rollback-count report (DAT-15659) @StevenMassaro
  • (#5047) show failed changesets in verbose show-summary output (DAT-15141) @StevenMassaro
  • (#4301) Simplified expressions, removed redundant expressions, fixed javadocs @anton-erofeev
  • (#4104) Support system properties as a way of providing configuration options to the CLI @jccampanero
  • (#4919) Add '@Deprecated' annotation to update() methods @tati-qalified
  • (#4996) Check for other duplicate JAR files in classpath DAT-15963 @wwillard7800
  • (#4463) Split calculate-checksum parameter changeSetIdentifier into changeSetPath / changesetId / changeSetAuthor @JulienMa94
  • (#4904) add empty mdc values to all commands (DAT-15671) @StevenMassaro

🐛 Bug Fixes 🛠

  • (#5305) DAT-16354: fix reading snapshots when columns array does not exist in an index @StevenMassaro
  • (#5348) Make message grammar correct @wwillard7800
  • (#5341) Don't execute CustomTaskChanges twice @filipelautert
  • (#5283) [4.24 Regression] Checksum error while performing update and then rollback with a changelog parameter - Fix for issue #5278 @ebussieres
  • (#5293) Disable Derby shutdown in Spring Boot context @tleipzig
  • (#5296) Global flag to restore behaviour of not failing on duplicated changeset identifiers @filipelautert
  • (#5315) Allow DiffResults to be reused in pipeline after running DiffChangelogCommandStep (DAT-16374) @abrackx
  • (#5282) Fix #5271: ColumnExistsPrecondition throws error when table is missing @Januson
  • (#5291) Run all Liquibase.rollback commands inside scope. @filipelautert
  • (#5288) Add missing classes to osgi.serviceloader @filipelautert
  • (#5108) Improve SQL parsing of character literals (quoted strings) @erasmussen-first
  • (#5156) Decode encoded URLs from Spring resources @Ayrossi
  • (#5166) Exclude QUEUE tables from snapshoting @filipelautert
  • (#5249) Fixed query for actual data type for column @MalloD12
  • (#5235) Fix calculateCheckSum issue when using Liquibase API method @MalloD12
  • (#5172) Search ran changeset by key @n-13
  • (#5150) Fixes problematic V8 checksums for pro CreateFunctionChange @filipelautert
  • (#5165) Do not warn when env var matches argument alias (DAT-16117) @abrackx
  • (#5099) Apply SQL visitors to prepared SQL @mches
  • (#5141) Fix Liquibase changeset relative path check @filipelautert
  • (#5134) Makes sure that precondition onErrorMessage and onFailMessage are logged when an error happens @filipelautert
  • (#5143) load services using ServiceLocator if allInstances is empty @yairogen
  • (#5087) Handles snapshot of Oracle temporary tables + ignore queue tables @filipelautert
  • (#4801) CreateIndex associatedWith property deserialization issue @spacepost
  • (#5127) 5126 fix extra column info for mariadb database @LonwoLonwo
  • (#5122) Fix Liquibase.validate scope execution. @filipelautert
  • (#5078) Fix Liquibase.rollback scope execution @filipelautert
  • (#5090) Fixed changelog parsing performance issue @filipelautert
  • (#4293) Fix DB2 integration tests DAT-13113 @wwillard7800
  • (#4424) Fix custom SQL generation issue - Github issue 4369 @wwillard7800
  • (#5062) Modify MSSQL query for when obtaining autoincrement column information GH-4719 @wwillard7800
  • (#5054) Handle duplicates of the commercial JAR DAT-16059 @wwillard7800
  • (#5039) Add changelog file path to upToDateFastCheck cache key (#4891) @ggwadera
  • (#4994) execute-sql command logic updated to not display select columns sorted @MalloD12
  • (#4664) Fixed: #4662 - PostgreSQL: Doesn't support (n CHAR) syntax, but only (n) syntax. @mkarg
  • (#5064) Handle some potential NPEs @wwillard7800
  • (#5028) Fix some typos. @asashour
  • (#4754) Corrected determination of the DB2 version for the support of BOOLEAN columns. (patch for #4723) @haltenwe
  • (#4549) generateChangelog creates crippled view definition SQL @mkarg
  • (#4985) Fix liquibase bat @erasmussen-first
  • (#4995) [DAT-16006] Fixing v8 Checksum calculation issue when using sql dbms attribute @filipelautert
  • (#4988) Do not remove relation attribute for column if the relation object has a snapshot ID DAT-15709 @wwillard7800
  • (#5007) Handle CREATE OR ALTER VIEW when replaceIfExists = true DAT-14147 @wwillard7800
  • (#5009) Do not convert if global flag is false DAT-15745 @wwillard7800
  • (#4945) Filter additional credential-like strings in the URL sanitization process DAT-9973 @wwillard7800

đŸ€– Security, Driver and Other Updates

34 changes
  • (#5368) Bump liquibase/build-logic from 0.5.7 to 0.5.8 @dependabot
  • (#5325) Bump org.postgresql:postgresql from 42.7.0 to 42.7.1 @dependabot
  • (#5260) Remove Apache Derby test dependency from pom.xml @dependabot
  • (#5310) Bump org.mockito:mockito-core from 5.7.0 to 5.8.0 for java 11+ tests @dependabot
  • (#5187) Bump actions/cache from 3.3.1 to 3.3.2 @dependabot
  • (#5169) Bump org.apache.maven.plugins:maven-plugin-plugin from 3.10.1 to 3.10.2 @dependabot
  • (#5151) Bump com.oracle.database.jdbc:ojdbc8 from 19.20.0.0 to 19.21.0.0 @dependabot
  • (#5168) Bump maven-surefire-plugin.version from 3.1.2 to 3.2.2 @dependabot
  • (#5162) Bump org.junit:junit-bom from 5.10.0 to 5.10.1 @dependabot
  • (#5161) Bump org.junit.jupiter:junit-jupiter from 5.10.0 to 5.10.1 @dependabot
  • (#5279) Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.1.2 to 3.2.2 @dependabot
  • (#5173) Bump net.snowflake:snowflake-jdbc from 3.14.1 to 3.14.3 @dependabot
  • (#5250) Bump net.java.dev.javacc:javacc from 7.0.12 to 7.0.13 @dependabot
  • (#5251) Bump com.ibm.db2:jcc from 11.5.8.0 to 11.5.9.0 @dependabot
  • (#5261) Bump org.postgresql:postgresql from 42.6.0 to 42.7.0 @dependabot
  • (#5241) Bump liquibase/build-logic from 0.4.7 to 0.5.7 @dependabot
  • (#5065) Bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.11 @dependabot
  • (#5094) Bump org.glassfish.jaxb:jaxb-runtime from 4.0.3 to 4.0.4 @dependabot
  • (#5095) Bump org.glassfish.jaxb:jaxb-core from 4.0.3 to 4.0.4 @dependabot
  • (#5140) Bump org.xerial:sqlite-jdbc from 3.43.0.0 to 3.43.2.2 @dependabot
  • (#4989) Bump org.codehaus.gmavenplus:gmavenplus-plugin from 3.0.0 to 3.0.2 @dependabot
  • (#5020) Bump targetMavenVersion from 3.9.4 to 3.9.5 @dependabot
  • (#4918) Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 @dependabot
  • (#5096) Bump org.apache.maven.plugins:maven-plugin-plugin from 3.9.0 to 3.10.1 @dependabot
  • (#5135) Update installer JDK @filipelautert
  • (#4927) DAT-15922 FOSSA Support @jnewton03
  • (#5026) Bump org.jboss.weld.se:weld-se-core from 5.1.1.Final to 5.1.2.Final @dependabot
  • (#4839) Bump actions/checkout from 3 to 4 @dependabot
  • (#4914) Bump org.sonarsource.scanner.maven:sonar-maven-plugin from 3.9.1.2184 to 3.10.0.2594 @dependabot
  • (#5001) Bump org.testcontainers:testcontainers-bom from 1.19.0 to 1.19.1 @dependabot
  • (#4860) Bump actions/cache from 3.3.1 to 3.3.2 @dependabot
  • (#4866) Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.0 to 3.4.1 @dependabot
  • (#4949) Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.0 to 3.5.1 @dependabot
  • (#4929) Bump com.h2database:h2 from 2.2.222 to 2.2.224 @dependabot

v4.25.0

5 months ago

Liquibase 4.25.0 is a major release

[!IMPORTANT] For Liquibase Pro native executor users, if you've experienced checksum issues in Liquibase 4.19.0 through 4.23.1, please skip those releases and upgrade to this release, Liquibase 4.25.0.

[!NOTE] See the Liquibase 4.25.0 Release Notes for the complete set of release information.

[!NOTE] In one Liquibase 4.25.0 file, the version was set as "release-SNAPSHOT" when it should have been "4.25.0". This file, liquibase-core-4.25.0.jar/pom.xml, has been updated. This text-only change contains no code or functional impact, but does result in a different checksum.

Notable Changes

[PRO]

Observability: Drift Reports

  • With our new HTML format, you can quickly see the differences between databases, including detailed object differences. This easy-to-read and shareable report makes it faster than ever to detect and fix database drift.
  • Learn more https://docs.liquibase.com/drift-reports

Quality Checks Packages

Observability: Structured Logging Enhancement

[PRO] Changelog

đŸ€– [PRO] Security, Driver and Other Updates

17 changes

[OSS] Changelog

🚀 New Features

  • (#5182) Invoke database.commit only if needed (DAT-16225) @filipelautert
  • (#4577) SQL Anywhere: Recompile all views after last change of update @mkarg
  • (#5117) Implementing a ChangeSetService for modification of model objects DAT-16079 @wwillard7800
  • (#5148) Implement global end delimiter prioritized flag DAT-16166 @wwillard7800
  • (#4584) Allow changing default UI service + change Spring default UI service allowing log level control @filipelautert
  • (#5087) Handles snapshot of Oracle temporary tables + ignore queue tables @filipelautert
  • (#5077) showSummaryOutput property added for update command @MalloD12
  • (#4991) Update MySQL default value handling to allow defaultValueComputed on MySQL 5.7 @Axel-1
  • (#5042) Makes picocli dependency optional for core @filipelautert
  • (#5047) show failed changesets in verbose show-summary output (DAT-15141) @StevenMassaro
  • (#4301) Simplified expressions, removed redundant expressions, fixed javadocs @anton-erofeev
  • (#4104) Support system properties as a way of providing configuration options to the CLI @jccampanero
  • (#4919) Add '@Deprecated' annotation to update() methods @tati-qalified
  • (#4996) Check for other duplicate JAR files in classpath DAT-15963 @wwillard7800
  • (#4463) Split calculate-checksum parameter changeSetIdentifier into changeSetPath / changesetId / changeSetAuthor @JulienMa94
  • (#4893) Quality Checks Packages (DAT-15553) @StevenMassaro

Changes

  • (#567) Improve deferrable validation for AddForeignKey constraints generator @alero
  • (#5101) Remove a forgotten . in README.md @Benjamin-Loison
  • (#4959) Remove unnecessary conditions in IndexComparator @asashour
  • (#5037) chore(build-branch.yml): update workflow to only trigger on labeled p
 @jandroav

OSS: Sonar Refactor @jandroav

  • (#4904) add empty mdc values to all commands (DAT-15671) @StevenMassaro
  • (#4984) DatabaseTestSystem: commit after executing statement @StevenMassaro

🐛 Bug Fixes 🛠

  • (#5185) generate deployment ID for all update family commands (DAT-16240) @StevenMassaro
  • (#5165) Do not warn when env var matches argument alias (DAT-16117) @abrackx
  • (#5099) Apply SQL visitors to prepared SQL @mches
  • (#5080) Fix tests DAT-16053 @wwillard7800
  • (#5141) Fix Liquibase changeset relative path check @filipelautert
  • (#5134) Makes sure that precondition onErrorMessage and onFailMessage are logged when an error happens @filipelautert
  • (#5143) load services using ServiceLocator if allInstances is empty @yairogen
  • (#5087) Handles snapshot of Oracle temporary tables + ignore queue tables @filipelautert
  • (#4801) CreateIndex associatedWith property deserialization issue @spacepost
  • (#5127) 5126 fix extra column info for mariadb database @LonwoLonwo
  • (#5122) Fix Liquibase.validate scope execution. @filipelautert
  • (#5078) Fix Liquibase.rollback scope execution @filipelautert
  • (#5090) Fixed changelog parsing performance issue @filipelautert
  • (#4424) Fix custom SQL generation issue - Github issue 4369 @wwillard7800
  • (#5062) Modify MSSQL query for when obtaining autoincrement column information GH-4719 @wwillard7800
  • (#5054) Handle duplicates of the commercial JAR DAT-16059 @wwillard7800
  • (#5039) Add changelog file path to upToDateFastCheck cache key (#4891) @ggwadera
  • (#4994) execute-sql command logic updated to not display select columns sorted @MalloD12
  • (#4664) Fixed: #4662 - PostgreSQL: Doesn't support (n CHAR) syntax, but only (n) syntax. @mkarg
  • (#5064) Handle some potential NPEs @wwillard7800
  • (#5028) Fix some typos. @asashour
  • (#4754) Corrected determination of the DB2 version for the support of BOOLEAN columns. (patch for #4723) @haltenwe
  • (#4549) generateChangelog creates crippled view definition SQL @mkarg
  • (#4985) Fix liquibase bat @erasmussen-first
  • (#4995) [DAT-16006] Fixing v8 Checksum calculation issue when using sql dbms attribute @filipelautert
  • (#4988) Do not remove relation attribute for column if the relation object has a snapshot ID DAT-15709 @wwillard7800
  • (#5007) Handle CREATE OR ALTER VIEW when replaceIfExists = true DAT-14147 @wwillard7800
  • (#5009) Do not convert if global flag is false DAT-15745 @wwillard7800 - (#4982) DAT-15880 @sayaliM0412
  • (#4945) Filter additional credential-like strings in the URL sanitization process DAT-9973 @wwillard7800

đŸ€– Security, Driver and Other Updates

16 changes
  • (#5095) Bump org.glassfish.jaxb:jaxb-core from 4.0.3 to 4.0.4 @dependabot
  • (#5140) Bump org.xerial:sqlite-jdbc from 3.43.0.0 to 3.43.2.2 @dependabot
  • (#4989) Bump org.codehaus.gmavenplus:gmavenplus-plugin from 3.0.0 to 3.0.2 @dependabot
  • (#5020) Bump targetMavenVersion from 3.9.4 to 3.9.5 @dependabot
  • (#4918) Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 @dependabot
  • (#5096) Bump org.apache.maven.plugins:maven-plugin-plugin from 3.9.0 to 3.10.1 @dependabot
  • (#5135) Update installer JDK @filipelautert
  • (#4927) DAT-15922 FOSSA Support @jnewton03
  • (#5026) Bump org.jboss.weld.se:weld-se-core from 5.1.1.Final to 5.1.2.Final @dependabot
  • (#4839) Bump actions/checkout from 3 to 4 @dependabot
  • (#4914) Bump org.sonarsource.scanner.maven:sonar-maven-plugin from 3.9.1.2184 to 3.10.0.2594 @dependabot
  • (#5001) Bump org.testcontainers:testcontainers-bom from 1.19.0 to 1.19.1 @dependabot
  • (#4860) Bump actions/cache from 3.3.1 to 3.3.2 @dependabot
  • (#4866) Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.0 to 3.4.1 @dependabot
  • (#4949) Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.0 to 3.5.1 @dependabot
  • (#4929) Bump com.h2database:h2 from 2.2.222 to 2.2.224 @dependabot

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 https://docs.liquibase.com/.

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:

Contribute code Make doc updates Help by asking and answering questions Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

v4.24.0

7 months ago

Liquibase 4.24.0 is a major release

[!IMPORTANT] For Liquibase Pro native executor users, if you've experienced checksum issues in Liquibase 4.19.0 through 4.23.1, please skip those releases and upgrade to this release, Liquibase 4.24.0.

[!NOTE] See the Liquibase 4.24.0 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Liquibase Flows

  • Flow file variables are now shared across "nested" flow files and can be passed through multiple flow files.
  • Flow files running quality checks will now exit with a return code from the highest return code triggered by any check.

Structured Logging (Observability)

  • You can now add custom (user-defined) tags to your structured logs. These tags can be used later to segment your reporting. For instance, you can add tags that indicate the team, pipeline, or environment (and any other attributes that are meaningful to your organization) when reporting on Liquibase events.
  • Custom data is now included in every log message. This enables you to use dashboard queries and reports, which depend on these custom key:value pairs.

Security Improvement

  • Sensitive information is now obfuscated for people using passwords in their JDBC URL strings in structured logging.

[OSS and PRO]

  • Database platform improvements for: SQL Anywhere, MySQL, MariaDB, Oracle, DB2 LUW, DB2 z/OS, PostgreSQL, H2, and HSQLDB.
  • Performance improvements
  • JAVA API improvements
  • General Enhancements
    • The generate-changelog and diff-changelog commands now support the --labels and --contextFilter arguments. The specified values will be included as attributes for each generated changeset.
    • The diff, diff-changelog, and snapshot-reference commands now allow you to specify the referenceLiquibaseCatalogName and referenceLiquibaseSchemaName arguments.
    • The update command summary reports that you can enable with the --show-summary argument can now be selectively sent to the console, log, or all with the --show-summary-output argument (prior to this release, they went to both the console and log).
    • The includeAll tag now supports an optional endsWithFilter attribute that directs Liquibase to only include files ending with the value specified by the new attribute. All other files located by the specified path attribute will be skipped and will not be included as deployable changes.
    • The Maven integration now supports the logLevel property. This gives Maven integration users control over the severity level of log messages sent to the Liquibase log file.

🚀 Changelog

[PRO]

  • DAT-15343 Allow logFile and logLevel to be specified as globalArgs to Action by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1172
  • DAT-15799: show flow-specific userMetadata in all log messages executed as part of Flow command execution by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1202
  • DAT-15130 Make Flow variables available in called flows by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1178
  • Add an explicit FlowFile constructor by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1207
  • DAT-15753 Handle flow exit code when both drift and QC checks are run by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1184
  • DAT-15455 Refactor ChangelogRewriters to follow general Factory approach by @vitaliimak in https://github.com/liquibase/liquibase-pro/pull/1195
  • DAT-15860: obfuscate user/pass in urls entered in MDC by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1233
  • DAT-10223: use syntax which allows for parsing multiple SQL statements in a single changeset by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1160
  • DAT-12612: add Lombok by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1166
  • DAT-15572: custom log data key-value pairs are injected multiple times per operation by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1150
  • DAT-15214: custom log data property substitution using environment variables by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1165
  • DAT-15471 Implement a global severity for drift exit code by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1163
  • DAT-12827 Always honor end delimiter for SQLPLUS by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1169
  • DAT-15367 Added build directory for Azure dependencies by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1121
  • DAT-15749: do not serialize warningMessage to checks settings file by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1180
  • DAT-15511 Use the checks exit code when running in Flow by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1173
  • DAT-15774: add missing short name, name and description when upgrading checks settings config file by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/1190
  • DAT-15845: Fix drift detection configuration key hierarchy by @abrackx in https://github.com/liquibase/liquibase-pro/pull/1216
  • DAT-14924 Set the default schema name before running by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1206
  • DAT-15857 Remember the original value of splitStatements for native executor change checksum by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/1223
  • Downgrades Oracle version by @filipelautert in https://github.com/liquibase/liquibase-pro/pull/1237
  • Xsd and flow file for 4.24.0 by @filipelautert in https://github.com/liquibase/liquibase-pro/pull/1266

[OSS]

  • (#4574) Implement showSummaryOutput parameter @EvaristeGalois11
  • (#4395) Improve update summary usability @EvaristeGalois11
  • (#4697) Replacing special constants specific to SQL Anywhere by commonly supported JDBC Escape Functions @mkarg
  • (#4805) include tag in history tabular output (DAT-15244) @StevenMassaro
  • (#4692) add update report (DAT-15576) @StevenMassaro
  • (#4352) Adding support to parameters referenceLiquibaseCatalogName and referenceLiquibaseSchemaName. @filipelautert
  • (#3978) Introducing removeChangeSetProperty feature @kirangodishala
  • (#4461) support concurrent build in maven plugin @piotrwielgolaski-tomtom
  • (#4537) SQL Anywhere: Switching off view definition checks to allow creation of dependent views even if dependency does not yet exist. @mkarg
  • (#4658) Upgrade installer version to 17.0.8+7 @filipelautert
  • (#4387) Use more parameter markers for DB2z catalogue queries @MichaelKern-IVV
  • (#4148) maven-plugin: Support increasing maven log level @mensinda
  • (#4534) Fix database test system external driver load. @filipelautert
  • (#4680) Allow both include and includeAll to appear in modifyChangeSets tag @wwillard7800
  • (#4605) custom log data key-value pairs are injected multiple times per operation (DAT-15572) @StevenMassaro
  • (#4628) DAT -15524 Clear-Checksums implementation using command scope @MalloD12
  • (#4905) Check for duplicate core and commercial JARs DAT-15837 @wwillard7800
  • (#4799) parameter binding for DB2luw to improve performance and other trifles @MichaelKern-IVV
  • (#4926) Adding properties to the update report template to allow all the update family commands to use reports DAT-15638 @wwillard7800
  • (#4688) MySQL/MariaDB add extra info for date/timestamp columns for the diffChangeLog @filipelautert
  • (#4579) Use native oracle BOOLEAN for >=23c | fixes #4576 @mensinda
  • (#4834) Optimise the logic for tableIsEmpty check constraint @filipelautert
  • (#4729) DAT-15603 Attach Azure jar to liquibase release artifacts @jandroav

🐛 Bug Fixes 🛠

[OSS]

  • (#4827) Handle XML data types for DB2 DAT-12878 @wwillard7800
  • (#4812) More consistent message when included file is empty DAT-15551 @wwillard7800
  • (#4670) Fixed: Fails to detect LONG VARCHAR as CLOB and LONG BINARY as BLOB @mkarg
  • (#4648) Fixed: SQL Anywhere reports fancy precision with LONG NVARCHAR @mkarg
  • (#4845) Fix liquibase.bat java home handling under Windows @filipelautert
  • (#4726) Allow update command to handle additional properties that are passed on the command line DAT-15769 @wwillard7800
  • (#4841) Update README link to contribution docs @nwcm
  • (#4589) Fixes JdbcExecutor's uses of RawParameterizedSqlStatement @andrew-simmons
  • (#4683) Fixed: #4682 - MSSQL: Doesn't support (n CHAR) syntax, but only (n) syntax @mkarg
  • (#4798) Fix poor performance of listunrunchangesets @filipelautert
  • (#4803) Fix liquibase 4.23.1 won't work on windows if there is no JAVA_HOME system variable set @filipelautert
  • (#4502) Fixed: generateChangelog creates invalid changelog @mkarg
  • (#4772) Make sure that the correct argument name is displayed in help for commands with aliases DAT-15681 @wwillard7800
  • (#4441) Fix primaryKeyTablespace when attribute value is an empty string @delayk
  • (#4651) Fixing issue #4650 @mkarg
  • (#4404) enable REPLACE OR EXISTS for procedures on DB2 @MichaelKern-IVV
  • (#4541) remove dependency on javax.activation @filipelautert
  • (#4520) Fixed: SQL Anywhere reports fancy precision with DOUBLE, SMALLINT and TINYINT @mkarg
  • (#4609) fix standardlockservice when changelog-lock-wait-time-in-minutes is set to 0 and lock does not exist in database @jgarec
  • (#4591) Added changelog parameters to rollback commands @blaghed
  • (#4531) SQL Anywhere does not support "NO ACTION", but reports it for "SET DEFAULT" foreign keys @mkarg
  • (#4653) Allow DatabaseChangelog object to be passed as a parameter to DatabaseChangelogCommandStep @filipelautert
  • (#4613) Fix sequence from serial pre-condition validation for Postgresql @filipelautert
  • (#4507) Fixing Issue #4429: SQL Anywhere: generateChangeLog fails when column's default value is an expression (e. g. Unexpected error running Liquibase: Unknown boolean value: if "mycol" is null then 0 else 1 endif) @mkarg
  • (#4090) Fixes MySQL BIT / TINYINT(1) Boolean Behaviours @nwcm
  • (#4052) Fix H2 database case-sensitive identifier issues + upgrades JUnit tests cases to version 5 @mches
  • (#4709) Fix Regression in 4.23.1 where Log table is created multiple times for H2 and HSQLDB @filipelautert
  • (#4480) not to use class field for thread safe. @Wenkee
  • (#4515) Fixed: LONG VARCHAR DEFAULT NULL instead of LONG VARCHAR DEFAULT 'NULL' @mkarg
  • (#4534) Fix database test system external driver load. @filipelautert
  • (#4702) DAT-15602 @sayaliM0412
  • (#4689) Make operation start time be UTC DAT-15593 @wwillard7800
  • (#4585) DAT-15470 @sayaliM0412
  • (#4611) [DAT-15439] Fix adding redundant semicolon character for generateChangelog for MSSQL @vitaliimak
  • (#4625) Handle leading spaces in formatted SQL changelog DAT-15221 @wwillard7800
  • (#4672) DAT-15602 @sayaliM0412
  • (#4654) Correctly escape spaces in table name when it is used in a query DAT-11529 @wwillard7800
  • (#4956) Fix typo in SqlGeneratorFactory @asashour
  • (#4937) [DAT-15924] Handle AbstractSQLChange runWith checksum v8 variants @filipelautert
  • (#4900) Enable scoped value to be looked up from Java properties loaded from the command line -D properties DAT-15668 @wwillard7800
  • (#4725) Change type of RowCountPrecondition#expectedRows from Integer to Long (#1549) @kzander91
  • (#4762) Fetch ran change sets before updating check sums @hpoettker
  • (#4598) SQL Anywhere allows two foreign keys to differ only by name @mkarg
  • (#4621) Fixed: Issue #4620 - "SQL Anywhere DOES support CREATE OR REPLACE VIEW, despite what the source code says!" @mkarg
  • (#4705) DAT-15338 Refactor connection string patterns to allow extensions to extend they @vitaliimak
  • (#4902) obfuscate user/pass in urls entered in MDC (DAT-15860) @StevenMassaro
  • (#4862) DAT-15821 :: OperationOutcomeErrorMsg field added to Operation Info @MalloD12
  • (#4909) Rollbacks Oracle Driver to LTS series 19.x @filipelautert
  • (#4853) update truelicense text @suryaaki2
  • (#4854) Fix LabelExpression constructors when using array or collection @MalloD12
  • (#4859) Fix regression in recognizing formatted SQL file DAT-15865 @wwillard7800
  • (#4846) do not attempt to recreate DBCL when it is specified with mixed case (DAT-15570) @StevenMassaro
  • (#4722) Moved ValueHandlerTest to OSS @wwillard7800
  • (#4936) Added FDHUT license information DAT-15915 @wwillard7800

đŸ’„ API Change (Non-Breaking)

  • (#4785) change MdcManager API to accept Map<String, Object> instead of Map<String, String> (DAT-15799) @StevenMassaro

đŸ€– Security, Driver and Other Updates

22 changes
  • (#....) com.h2database:h2 from 2.1.214 to 2.2.222 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/1212
  • (#....) actions/checkout from 3 to 4 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/1213
  • (#....) com.github.jsqlparser:jsqlparser from 4.6 to 4.7 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/1215
  • (#4717) Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.3.0 to 3.4.0 @dependabot
  • (#4838) Bump groovy.version from 2.5.22 to 2.5.23 @MalloD12
  • (#4752) Bump ant.version from 1.10.13 to 1.10.14 @dependabot
  • (#4784) Bump org.xerial:sqlite-jdbc from 3.42.0.0 to 3.43.0.0 @dependabot
  • (#4768) Bump info.picocli:picocli from 4.7.4 to 4.7.5 @dependabot
  • (#4747) Bump net.snowflake:snowflake-jdbc from 3.14.0 to 3.14.1 @dependabot
  • (#4828) Bump com.h2database:h2 from 2.2.220 to 2.2.222 @dependabot
  • (#4767) Bump org.junit:junit-bom from 5.9.3 to 5.10.0 @dependabot
  • (#4601) Bump targetMavenVersion from 3.9.2 to 3.9.4 @dependabot
  • (#4793) Bump com.microsoft.sqlserver:mssql-jdbc from 12.2.0.jre8 to 12.4.1.jre8 @dependabot
  • (#4792) Bump org.junit.jupiter:junit-jupiter-params from 5.9.3 to 5.10.0 @MalloD12
  • (#4529) Bump com.opencsv:opencsv from 5.7.1 to 5.8 @dependabot
  • (#4791) Bump whelk-io/maven-settings-xml-action from 20 to 21 @MalloD12
  • (#4782) DAT-15790 add security reports @jnewton03
  • (#4764) Bump org.yaml:snakeyaml from 2.0 to 2.2 @dependabot
  • (#4477) Bump h2 from 2.1.214 to 2.2.220 in /liquibase-dist @dependabot
  • (#4410) Bump xml-maven-plugin from 1.0.2 to 1.1.0 @dependabot
  • (#4557) Bump net.snowflake:snowflake-jdbc from 3.13.32 to 3.14.0 @dependabot
  • (#4829) Bump org.slf4j:slf4j-jdk14 from 2.0.7 to 2.0.9 @dependabot
  • (#4940) Bump org.projectlombok:lombok from 1.18.28 to 1.18.30 @dependabot
  • (#4766) Bump org.mariadb.jdbc:mariadb-java-client from 3.1.4 to 3.2.0 @dependabot
  • (#4923) DAT-15922 add fossa license checking action @jnewton03

Full Changelog: https://github.com/liquibase/liquibase/compare/v4.23.2...v4.24.0

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 https://docs.liquibase.com/.

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:

Contribute code Make doc updates Help by asking and answering questions Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

v4.23.2

7 months ago

Liquibase 4.23.2 is a patch release.

🐛 Bug Fixes 🛠

  • (#4870) Tweaked exception message for invalid formatted SQL file @wwillard7800
  • (#4874) DAT-15857 - Fix for checksum upgrade in runWith change sets @wwillard7800

v4.23.1

8 months ago

Liquibase 4.23.1 is a patch release.

IMPORTANT NOTE: For Pro users of native executors, there are known issues deploying updates with this release.‹ Please download and use the 4.23.2 release or newer

Notable Changes

[PRO]

  • Introduce two new commands: set-labels and set-contexts to batch update the labels or contexts on existing changesets. Use these to scale database DevOps by bulk updating your changesets with one command. Or consolidate changes from different teams with different coding standards to ensure adherence to current standards. Learn more at https://docs.liquibase.com

🚀 New Features

  • (#4476) [DAT-15258] Ensure Mongo extension doesnt control createIndex/dropIndex checksums for non-Mongo DBs. @filipelautert
  • (#4506) Add command line args to scope DAT-15396 @wwillard7800
  • (#4539) DAT-15417 PR for setLabels/setContexts build @wwillard7800
  • (#4599) run tests on any branch @sayaliM0412
  • (#4538) add warning message about using catalogs in Postgres (DAT-14933) @StevenMassaro
  • (#4361) [DAT-14970] FormattedSqlChangeLogParser refactoring @vitaliimak
  • (#4197) Consume CORE and PRO packages from GitHub Package Manager (DAT-14615) @sayaliM0412
  • (#4483) Add ability to set labels and contexts in included changelogs DAT-15202 @wwillard7800
  • (#4485) DAT-14929: include rows affected in update command console output @StevenMassaro
  • (#4321) DAT-6585 Apt-based Linux package @jandroav
  • (#4317) Reworked rollback to tag logic to look for use first occurrence of tag DAT-13057 @wwillard7800
  • (#4375) switch contexts argument to contextFilter (DAT-13423) @StevenMassaro
  • (#4162) Allow whitespace within a foreign key statement @sideeffffect
  • (#4407) improve error message when no sql generators can be found (DAT-14688) @StevenMassaro
  • (#4420) add additional MDC properties to update and diff mojos (DAT-14672) @StevenMassaro
  • (#4219) Fixed CommandLineUtilsTest for german locale @nvoxland
  • (#4450) Fix deploymentId not populating after locking @wwillard7800
  • (#4409) DAT-15030 @sayaliM0412

🐛 Changes and Bug Fixes 🛠

[PRO]

[OSS]

  • (#4370) add liquibaseHostName MDC key (DAT-14956) @StevenMassaro
  • (#4452) Fix checksum upgrade changes preventing useless updates and using AbstractChangeLogHistoryService for extensions compatibility @filipelautert
  • (#4353) Add support for valueSequenceNext in Snowflake @jccampanero
  • (#4308) Fix issue #3317 - StringIndexOutOfBoundsException if date is set to 1970-01-01 @Mika2147
  • (#4400) Fix ordering problem in ShowSummaryUtil. fixes #4399 @mensinda
  • (#4416) Normalize path using static function for Strings rather than Path.nor
 @ffffionn
  • (#4533) decode URL encoded path in DirectoryPathHandler (DAT-15154) @StevenMassaro
  • (#4581) DAT-15208 :: Changeset object added back to "Update command completed successfully" JSON @MalloD12
  • (#4540) [DAT-15489] Fixes changelog-sync-to-tag ignores the tag if it is already in database after 4.23.0 @filipelautert
  • (#4499) Fixed #4489: SQL Anywhere incorrectly reports VARCHAR(n CHAR) as VARCHAR(n) @mkarg
  • (#4089) Fix formatted SQL parse error when property has context, labels and global attributes @droy-sandbox
  • (#4362) docs file fixes, link updates @adrian-velonis1
  • (#4495) Do not throw exception when runWith is empty string (DAT-14316) @abrackx
  • (#4496) throw validation error on missing sqlFile (DAT-14920) @StevenMassaro
  • (#4490) fix format argument for history command (DAT-13382) @StevenMassaro
  • (#4470) [DAT-15327] Fix dropAll clean up behavior. @filipelautert
  • (#4508) [DAT-15383] Fix checksum upgrade changes preventing useless updates and using AbstractChangeLogHistoryService for extensions compatibility @filipelautert
  • (#4452) Fix checksum upgrade changes preventing useless updates and using AbstractChangeLogHistoryService for extensions compatibility @filipelautert
  • (#4422) Fixed #3971: "SAP SQL Anywhere 17.0.11: Liquibase incorrectly reports that TIMESTAMP requested precision is longer than TIMESTAMP supported precision" @mkarg
  • (#4453) Implements equals method on AbstractChange to make sure that we can compare Changes correctly @filipelautert
  • (#4444) Improvements after 4230 @filipelautert
  • (#4307) Fixes #3661 @farion
  • (#4454) Fix changelogsync no longer generating deployment id. @abrackx
  • (#4414) Fixes issue #4413: Undocumented IT requirement: Username "liquibase" @mkarg
  • (#4417) Fixes issue #4415: "Wrong DDL syntax CREATE SEQUENCE ... AS ..." @mkarg
  • (#4306) Fixes #3625 JAVA_HOME Path when parenthesis are present @JulienMa94
  • (#4450) Fix deploymentId not populating after locking @wwillard7800
  • (#4228) #4227 fix for BOOLEAN with precision like BOOLEAN(1) @sfrevel
  • (#4354) Make CreateTableStatement backward compatible @jccampanero
  • (#4427) Fix update fast check behavior @MalloD12

đŸ€– Security, Driver and Other Updates

8 changes
  • Bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.9 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/1153
  • (#4612) deprecate snyk in favor of github advanced security @jnewton03
  • (#4378) Bump snowflake-jdbc from 3.13.32 to 3.13.33 @dependabot
  • (#4368) Bump jaxb-runtime from 4.0.2 to 4.0.3 @dependabot
  • (#4360) Bump jaybird from 5.0.1.java8 to 5.0.2.java8 @dependabot
  • (#4334) Bump testcontainers-bom from 1.18.1 to 1.18.3 @dependabot
  • (#4397) Bump maven-shade-plugin from 3.4.1 to 3.5.0 @dependabot
  • (#4367) Bump jaxb-core from 4.0.2 to 4.0.3 @dependabot

v4.23.0

10 months ago

Liquibase 4.23.0 is a major release

IMPORTANT NOTE: For Pro users of native executors, there are known issues deploying updates with this release.‹ Please download and use the 4.23.2 release or newer

Notable Changes

[PRO]

  • Introduce custom and pipeline specific fields and data, and exclude private data, into Structured Logs and into your Liquibase operations data stream with new liquibase.customlogdata.yaml 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 https://docs.liquibase.com/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 -- Liquibase 4.23.0+ is not backwards compatible with pre-Mongo Pro v1.1.1 or OSS MongoDB v4.23.0 extension versions. For users of Liquibase core versions between 4.19.0 and 4.21.1, please use the previous 4.x OSS Mongo extension or Mongo Pro v1.0 release.

    Note: if you receive the message Unexpected error running Liquibase: Receiver class liquibase.ext.mongodb.changelog.MongoHistoryService does not define or inherit an implementation of the resolved method 'abstract boolean isDatabaseChecksumsCompatible()' of interface liquibase.changelog.ChangeLogHistoryService. you have incompatible versions of the MongoDB extension and Liquibase Core. Please check https://docs.liquibase.com/start/release-notes/mongodb-extension-release-notes.html for more information.

  • For Developers of community-supported extension: https://github.com/liquibase/liquibase/pull/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

[OSS] What's Changed

Security, Driver and other updates

[Pro]

[oss]

New Contributors

Full Changelog: https://github.com/liquibase/liquibase/compare/v4.22.0...v4.23.0

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 https://docs.liquibase.com/.

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:

Contribute code Make doc updates Help by asking and answering questions Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

Full Changelog: https://github.com/liquibase/liquibase/compare/v4.22.0...v4.23.0

v4.22.0

11 months ago

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.

We will soon provide more guidance on how to assess and remedy any potential impact for users who have already upgraded to Liquibase 4.22.0. If you are a Liquibase customer and believe you may be impacted by this issue, please open a ticket in our support portal at https://support.liquibase.com/

v4.21.1

1 year ago

Liquibase 4.21.1 is a patch release

Notable Changes

[PRO] Observability Initiative - Structured Logging

Structured Logging makes Liquibase operation data easily available for automated monitoring and analysis tools to read, query, and act upon in automated workflows. This feature significantly improves the way Liquibase logs its actions and events to make records machine-readable, easily-ingested, and queryable by industry-standard observability and analysis tools. Learn more at https://docs.liquibase.com/structured-logging

What's Changed

New Contributors

Full Changelog: https://github.com/liquibase/liquibase/compare/v4.21.0...v4.21.1