Skip to content

Releases: liquibase/liquibase

Liquibase v4.30.0

06 Jan 18:29
38cc3e9
Compare
Choose a tag to compare

Liquibase 4.30.0 is a major release

Important

Liquibase 4.30.0 contains new capabilities and notable enhancements for Liquibase OSS and Pro users including:

  • Flow enhancements
  • Validation improvements
  • Clearer error messaging for thrown exceptions
  • Addition of Anonymous Analytics
  • Deprecation of the MacOS dmg installer in favor of installation via homebrew

Note

See the Liquibase 4.30.0 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Anonymous Analytics:

  • Liquibase can now gather anonymous usage analytics when commands are run. No user-specific data will be gathered.

For Liquibase OSS users, this functionality is enabled by default, but can be opted-out of before any data is sent. For Liquibase Pro users, this is disabled by default with the ability to opt-in.

Gathering anonymous usage analytics allows us to better understand how Liquibase is actually being used by a very wide, diverse set of millions of users.

Flow Enhancements: Detect pending changesets, and variable-variables

  • There are two exciting Flow enhancements: the ability to condition action on presence of pending changesets, and the ability to use a global variable inside other global or stage variables, enabling variable-variables within flows.
  • Learn more https://docs.liquibase.com/flow

[OSS]

Usability Improvements:

  • Avoid ignoring caught exceptions, and instead return the exception and append the reason for better debugging.
  • When using failOnError=false, changesets that failed will now show up in the default output.
  • When using STRICT mode, update-to-tag will now throw an error when there is no tag specified or the tag specified does not exist.
  • Added a Customizer that allows discovery of changesets that are not known to an application. This can be used to prevent an application's startup when discovering new, unexpected changesets before an update is made.

Deprecated: MacOS .dmg installer

  • The MacOS dmg installer no longer ships with release artifacts. Please use the tar.gz or .zip release artifacts, or install via homebrew by running brew install liquibase

For a full list of improvements and bug fixes, see the [OSS] Changelog section.

[PRO] Changelog

🚀 New Features

Changes

🐛 [PRO] Bug Fixes 🛠

🤖 [PRO] Security, Driver and Other Updates

12 changes

(#1973) Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.17.2 to 2.18.0 by dependabot
(#1974) Bump com.fasterxml.jackson.core:jackson-annotations from 2.17.2 to 2.18.0 by dependabot
(#1976) Bump com.fasterxml.jackson.core:jackson-databind from 2.17.2 to 2.18.0 by dependabot
(#1975) Bump com.fasterxml.jackson.core:jackson-core from 2.17.2 to 2.18.0 by dependabot
(#1988) Bump org.apache.maven.plugins:maven-failsafe-plugin from 2.22.2 to 3.5.1 by dependabot
(#1991) Bump org.apache.maven.plugins:maven-surefire-plugin from 2.22.2 to 3.5.1 by dependabot
(#2003) Bump org.junit.vintage:junit-vintage-engine from 5.10.3 to 5.11.3 by dependabot
(#2002) Bump org.junit:junit-bom from 5.10.3 to 5.11.3 by dependabot
(#1963) Bump com.networknt:json-schema-validator from 1.5.0 to 1.5.2 by dependabot
(#1947) Bump org.yaml:snakeyaml from 2.2 to 2.3 by dependabot
(#1984) Bump org.codehaus.gmavenplus:gmavenplus-plugin from 1.13.1 to 4.0.1 by dependabot
(#2005) Bump org.nanohttpd:nanohttpd from 2.2.0 to 2.3.1 by dependabot

[OSS] Changelog

🚀 New Features

  • (#6414) When using failOnError=false, changesets that failed will now show up in the default output. Thanks, @filipelautert
  • (#6413) Ensure all failed changesets show in the exceptionChangesets. Previously, output summaries did not include changesets that failed when running failOnError=false (DAT-18689). Thanks, @filipelautert
  • (#6169) When using STRICT mode, update-to-tag will now throw an error when there is no tag specified or the tag specified does not exist. Thanks, @MalloD12
  • (#6410) Modified clob handling in loadData by checking the string passed to a CLOB type column. Thanks, @tati-qalified
    • By default this value will be interpreted as a path. If the file at that path exists, the file's contents will be inserted into the column. If not, the passed value will be inserted as-is.
  • (#6067) Added additional modes for duplicateFileMode. Thanks, @k4pran
    • INFO - Logs when duplicate changelog files are found at the INFO level
    • DEBUG - Logs when duplicate changelog files are found at the FINE level
    • SILENT - Does not log when duplicate changelog files are detected
  • (#6432) Added a Customizer that allows discovery of changesets that are not known to an application. This can be used to prevent an application's startup when discovering new, unexpected changesets before an update is made. Thanks, @raphw
  • (#6288) Avoid ignoring caught exceptions, and instead return the exception and append the reason for better debugging. Thanks, @asolntsev
  • (#6265) Enhanced include and includeAll to support logicalFilePath (DAT-18350). Thanks, @wwillard7800
  • (#6300) Added method to reset command definitions cache in CommandFactory for testing. Thanks, @wwillard7800
  • (#6280) Undeprecated StringUtil class (DAT-18538). Thanks, @MalloD12
  • (#5223) Improved empty check style by using isEmpty String method. Thanks, @MalloD12
  • BigQuery
    • (#6294) Suppress UnsupportedClassVersionErrors for Bigquery at info level (DAT-18534). Thanks, @filipelautert
  • Databricks
  • Maven
  • MSSQL
  • PostgreSQL
    • (#6402) Added pg_stat_statements and pg_stat_statements_info views to the list of system tables and views to prevent them from being dropped. Thank you, @rozenshteyn
    • (#6211) Updated PostgreSQL database major and minor versions. Thanks, @MalloD12

🐛 Bug Fixes 🛠

  • (#6266) Fix CustomTaskRollback rollback bug where it was being called twice. Thanks, @momosetkn
  • (#6205) Removed usage of the deprecated isEmpty() method. Thanks, @anton-erofeev
  • (#6366) Improve startup performance (DAT-18327). Thanks, @StevenMassaro
  • (#6407) Added filterable flag to ChangeLogParameter class (DAT-18811). Thanks, @abrackx
    • This enables users to use label filters such as @some-filter and still have values replaced from global changelog parameters like environment variables.
  • (#6416) When determining the schema name make sure a value was found (DAT-18673). Thanks, @abrackx
  • (#6418) Fix issue where context filters with @ symbols were not being executed properly (DAT-18843). Thanks, @abrackx
  • (#6406) Test assertion code modification. (DAT-17568). Thanks, @wwillard7800
  • (#6429) Check that getPriority method is correct for snapshot generators (DAT-18730). Thanks, @StevenMassaro
  • (#6417) Revert "Remove unneeded inclusion of commons-io in liquibase-core pom.xml". Thanks, @catull
  • (#6385) Do not check for nested database objects when using foreignKeyConstraintExists precondition (DAT-18624). Thanks, @abrackx
  • (#5894) Do not strip "classpath:" when normalizing the path. Thanks, @andrus
  • (#6359) Fix issue...
Read more

Liquibase v4.29.2

04 Sep 14:06
fd04dbd
Compare
Choose a tag to compare

Liquibase 4.29.2 is a patch release

Important

Liquibase 4.29.2 patches minor issues found in Liquibase 4.29.1 release.

Note

See the Liquibase 4.29.2 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Custom Policy Checks updates: Create and run Python-based checks which fit your specific needs.

  • Liquibase checks have been opened to the world of Python development! This release fixes some minor issues so you can use your custom Python scripts as policy checks to solve your nuanced and techstack specific conditions for better risk mitigation, compliance, code quality, security, and more.
  • Learn more https://docs.liquibase.com/custom-policy-checks
  • Get the Checks extension to enable this capability: https://docs.liquibase.com/pro-extensions

Deprecation Notice

MacOS .dmg Installer to be removed in next release.

  • This is the final Liquibase release in which the MacOS installer will be shipped. Both the tarball (the liquibase-x.y.z.tar.gz) and the .zip (liquibase-x.y.x.zip) are the preferred replaced options for MacOS users.
  • Questions or comments? https://www.liquibase.com/contact-us

[PRO] Changelog

💥 Breaking Changes

  • None

Changes

[OSS] Changelog

💥 Breaking Changes

  • None

Changes

🤖 Security, Driver and Other Updates

3 changes
  • Bump org.testcontainers:testcontainers-bom from 1.19.8 to 1.20.1 in #6155
    by @dependabot
  • Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 in #6112
    by @dependabot
  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0 in #6116
    by @dependabot

New Contributors

Full Changelog: v4.29.1...v4.29.2

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

Liquibase v4.29.1

31 Jul 19:15
e0c7137
Compare
Choose a tag to compare

Liquibase 4.29.1 is a patch release

Important

Liquibase 4.29.1 patches minor structure and pom issues found in Liquibase 4.29.0 release.

Note

See the Liquibase 4.29.1 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Liquibase 4.29.1 .zip files: Restored to standard directory structure

  • This release correctly places Liquibase .zip files inside liquibase-4.29.1 directory to match Pre-4.29.0 directory structure.

Big Query Extension: using Liquibase Pro with Google Big Query

  • With Liquibase 4.29.1, Google BigQuery is now supported as an ‘out of the box’ database enabling users to more quickly achieve value. Also included is support for Liquibase Pro features such as Flows, Policy Checks, and Reports with Google BigQuery so that users will have the efficiency and productivity benefits of Liquibase Pro when working with the platform.

  • Learn more https://docs.liquibase.com/bigquery

[PRO] Changelog

🐛 [PRO] Bug Fixes 🛠

🤖 [PRO] Security, Driver and Other Updates

  • None

Full Changelog: v4.29.0...v4.29.1

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

25 Jul 15:04
7e83bbc
Compare
Choose a tag to compare

Liquibase 4.29.0 is a major release

Important

Liquibase 4.29.0 contains several new capabilities and notable enhancements for Liquibase Pro users: Python-based Custom Policy Checks, a new Google BigQuery extension, and Operation Reports being enabled by default in certain conditions.

Note

See the Liquibase 4.29.0 Release Notes for the complete set of release information.

Notable Changes

[PRO]

Big Query Extension: using Liquibase Pro with Google Big Query

  • With Liquibase 4.29.0, Google BigQuery is now supported as an ‘out of the box’ database enabling users to more quickly achieve value. Also included is support for Liquibase Pro features such as Flows, Policy Checks, and Reports with Google BigQuery so that users will have the efficiency and productivity benefits of Liquibase Pro when working with the platform.
  • Learn more https://docs.liquibase.com/bigquery

Operation Reports: Enabled by default

  • With Liquibase 4.29.0, Operation reports for key Liquibase commands are generated and presented to users who meet the following conditions: running Liquibase commands which generate reports, on systems with read/write permissions, which are not "headless" in automation, and who have not explicitly set LIQUIBASE_REPORTS_ENABLED=false.
  • Learn more at https://docs.liquibase.com/operation-reports

Custom Policy Checks: Create and run Python-based checks which fit your specific needs.

  • Liquibase checks have been opened to the world of Python development! With this release, you can point your custom checks to your custom Python scripts to solve your nuanced conditions for better risk mitigation, compliance, code quality, security, and more. (Extension release: 29 July 2024)
  • Learn more https://docs.liquibase.com/custom-policy-checks

[PRO] Changelog

🚀 New Features

Changes

🐛 [PRO] Bug Fixes 🛠

🤖 [PRO] Security, Driver and Other Updates

25 changes

(#1825) Bump org.assertj:assertj-core from 3.26.0 to 3.26.3 by @dependabot
(#1824) Bump net.snowflake:snowflake-jdbc from 3.16.1 to 3.17.0 by @dependabot
(#1819) Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.17.1 to 2.17.2 by @dependabot
(#1820) Bump com.fasterxml.jackson.core:jackson-* DATabind from 2.17.1 to 2.17.2 by @dependabot
(#1818) Bump com.fasterxml.jackson.core:jackson-annotations from 2.17.1 to 2.17.2 by @dependabot
(#1807) Bump org.apache.groovy:groovy-all from 4.0.21 to 4.0.22 by @dependabot
(#1804) Bump org.junit.vintage:junit-vintage-engine from 5.10.2 to 5.10.3 by @dependabot
(#1803) Bump org.junit:junit-bom from 5.10.2 to 5.10.3 by @dependabot
(#1805) Bump org.projectlombok:lombok from 1.18.32 to 1.18.34 by @dependabot
(#1791) Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.1 to 3.4.2 by @dependabot
(#1817) Bump com.fasterxml.jackson.core:jackson-core from 2.17.1 to 2.17.2 by @dependabot
(#1816) Bump com.networknt:json-schema-vali* DATor from 1.4.2 to 1.5.0 by @dependabot
(#1786) Bump com.github.xmlet:xsdParser from 1.2.14 to 1.2.15 by @dependabot
(#1794) Bump com.networknt:json-schema-vali* DATor from 1.4.0 to 1.4.2 by @dependabot
(#1783) Bump com.azure:azure-identity from 1.8.1 to 1.12.2 in /liquibase-azure-deps by @dependabot
(#1781) Bump com.microsoft.azure:msal4j from 1.13.8 to 1.15.1 in /liquibase-azure-deps by @dependabot
(#1746) Bump net.snowflake:snowflake-jdbc from 3.16.0 to 3.16.1 by @dependabot
(#1737) Bump org.mariadb.jdbc:mariadb-java-client from 3.3.3 to 3.4.0 by @dependabot
(#1760) Bump org.hsqldb:hsqldb from 2.7.2 to 2.7.3 by @dependabot
(#1758) Bump liquibase/build-logic from 0.7.7 to 0.7.8 by @dependabot
(#1718) Bump org.mockito:mockito-core from 5.11.0 to 5.12.0 by @dependabot
(#1717) Bump com.oracle.* DATabase.jdbc:ojdbc8 from 19.22.0.0 to 19.23.0.0 by @dependabot
(#1736) Bump org.codehaus.mojo:build-helper-maven-plugin from 3.5.0 to 3.6.0 by @dependabot
(#1745) Bump org.assertj:assertj-core from 3.25.3 to 3.26.0 by @dependabot
(#1762) Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.3 to 3.6.0 by @dependabot

[OSS] Changelog

💥 Breaking Changes

Changes

Read more

v4.28.0

21 May 19:33
Compare
Choose a tag to compare

Liquibase 4.28.0 is a major release

Important

Liquibase 4.28.0 contains several New Capabilities and Notable Enhancements for Liquibase Pro users: DATABASECHANGELOGHISTORY with Big Query, Flow file enhancements, Formatted SQL changelog enhancements, and a new --pro-strict flag

Note

See the Liquibase 4.28.0 Release Notes for the complete set of release information.

Notable Changes

[PRO]

DATABASECHANGELOGHISTORY table with Big Query: See all changes that have been applied with Big Query

  • Liquibase uses the DATABASECHANGELOGHISTORY (DBCLH) table to record a history of all changes made to the database. Unlike the DATABASECHANGELOG table that only shows active changes, the DBCLH shows all historical changes, including those that have been rolled back, dropped, or cleared. The DBCLH is now available for Big Query users.
  • Learn more https://docs.liquibase.com/databasechangeloghistory

Flow file usage enhancements: Full strings as single variable values, and nested variables for "double-expansion"

  • Flow files have been enhanced to allow multi-part args to be expanded from a single variable. Think cmdArgs: { "${COMMAND_ARGS}" }, which allows for more dynamic customization in the flowfile operations. Similarly, variables can include variables when expanded, which will in turn be expanded before processing.
  • Learn more https://docs.liquibase.com/flow

Formatted SQL changelog enhanced with include/includeAll functionality

New --pro-strict flag: Catch missing Pro resource files early!

  • A new optional pro parameter which alerts users when specified paths to Pro resource files (flow files, checks settings files, native executor conf files, etc) or rollback scripts are missing or empty.
  • Learn more https://docs.liquibase.com/parameters/pro-strict.html

[PRO] Changelog

🤖 [PRO] Security, Driver and Other Updates

15 changes

(#1652) Bump org.apache.groovy:groovy-all from 4.0.20 to 4.0.21 @dependabot
(#1673) Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.2 to 3.5.3 @dependabot
(#1700) Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.17.0 to 2.17.1 @dependabot
(#1701) Bump com.fasterxml.jackson.core:jackson-databind from 2.17.0 to 2.17.1 @dependabot
(#1710) Bump info.picocli:picocli from 4.7.5 to 4.7.6 @dependabot
(#1702) Bump liquibase/build-logic from 0.7.5 to 0.7.7 @dependabot
(#1699) Bump com.fasterxml.jackson.core:jackson-annotations from 2.17.0 to 2.17.1 @dependabot
(#1698) Bump com.fasterxml.jackson.core:jackson-core from 2.17.0 to 2.17.1 @dependabot
(#1684) Bump commons-codec:commons-codec from 1.16.1 to 1.17.0 @dependabot
(#1668) Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 @dependabot
(#1707) Bump net.snowflake:snowflake-jdbc from 3.15.1 to 3.16.0 @dependabot
(#1695) Bump com.github.spullara.mustache.java:compiler from 0.9.11 to 0.9.13 @dependabot
(#1690) Bump liquibase/build-logic from 0.7.2 to 0.7.5 @dependabot
(#1680) Bump liquibase/build-logic from 0.7.2 to 0.7.5 AI Generated Code @dependabot
(#1666) Bump actions/upload-artifact from 2 to 3 @dependabot

[OSS] Changelog

💥 Breaking Changes

Changes

🚀 New Features

🐛 Bug Fixes 🛠

🤖 Security, Driver and Other Updates

33 changes
Read more

Liquibase v4.27.0

27 Mar 20:27
9c8fb14
Compare
Choose a tag to compare

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

[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

🚀 New Features

Read more

Liquibase v4.26.0

07 Feb 15:53
1f748a7
Compare
Choose a tag to compare

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

Changes

🐛 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
Read more

Liquibase v4.25.1

18 Dec 21:41
d208bf9
Compare
Choose a tag to compare

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

🚀 New Features

🐛 Bug Fixes 🛠

Read more

Liquibase v4.25.0

13 Nov 21:15
70c5735
Compare
Choose a tag to compare

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

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

🐛 Bug Fixes 🛠

Read more

Liquibase v4.24.0

03 Oct 13:53
44ad21c
Compare
Choose a tag to compare

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]

[OSS]

🐛 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...
Read more