Liquibase 4.29.0 release notes
Liquibase 4.29.0 is a major release. Liquibase 4.29.0 contains several new capabilities and notable enhancements for Liquibase Pro users: Python-based Liquibase Pro custom policy checks, a new Google BigQuery extension, and operation reports being enabled by default in certain conditions.
See GitHub formatted release notes for more information. Full changelog: 4.28.0–4.29.0 (July 25, 2024)
Notable changes
Liquibase Pro
BigQuery extension: Using Liquibase Pro with Google BigQuery
With Liquibase 4.29.0, Google BigQuery is now supported as an "out-of-the-box" database, enabling users to achieve value more quickly. Also included is support for Liquibase Pro features such as Flows, Policy Checks, and Operation Reports with Google BigQuery, so users will have the efficiency and productivity benefits of Liquibase Pro when working with the platform.
Learn more: Using Liquibase with Google BigQuery Platforms
Operation reports are 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 that create 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: Operation Reports.
Custom policy checks: Create and run Python-based checks that 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: Liquibase Pro Custom policy checks
Liquibase Pro and Liquibase Open Source
Java API: undeprecated Liquibase class methods, improved Javadocs, and removed deprecated dependencies/sonar warnings as requested by the community in GitHub, the forum, and other locations. (#5663)
Added
liquibase:snapshot
liquibase-maven-plugin
Added support for
NULL
loadData
(#5966)When multiple
databaseChangeLog
tags are present, an error will now be thrown instead of failing silently (#5963)Released
liquibase-cli
to Maven, making it available to people who use Liquibase as a library (#6085)
Liquibase Pro changelog
New features
DAT-16671: Custom policy checks in #1671 by @wwillard7800
DAT-17725: Enable reporting by default, swallow all report generation exceptions in #1763 by @abrackx
DAT-17871: Allow multiple checks to be specified in checks enable/disable commands in #1814 by StevenMassaro
DAT-17490: Enhance update report to split skipped changesets into their own collapsible section in #1752 by @abrackx
DAT-17635: Add wildcard support for
--check-name
parameters forchecks run
,show
,bulk-set
in #1787 by @StevenMassaro
Changes
DAT-17988: PRO:
checks run --checks-output=nonapplicablechecks
is broken in #1792 by @wwillard7800DAT-17870: Add aliases for parameters in
checks run
,show
, andcreate
commands in #1799 by StevenMassaroDAT-17972: Abstract report writing to interface for IO in #1795 by @StevenMassaro
DAT-18086: Update minor versions for Azure Uber Jar in #1868 by @filipelautert
DAT-17654: Add test for starting and stopping H2 in detached mode in #1735 by @StevenMassaro
DAT-17883: Expand Java and default file properties when using
--property-substitution-enabled
flag in#1782 by @abrackx
DAT-15723: Include arguments in generated drop function changes for Postgres in #1765 by @StevenMassaro
DAT-17621: Add
ChangesetAttributesSetTrueOrFalse
check in #1754 by @StevenMassaroDAT-17657: Handle non-String arguments in Flow in #1721 by wwillard7800
DAT-16603: Do not append to open stream in flow in #1738 by @wwillard7800
DAT-8223: Add split statements option to
SqlUserDefinedPatternCheck
in #1744 by @StevenMassaroDAT-17535: Update parameters for regex helper checks in #1716 by @StevenMassaro
DAT-15916: Give each SQLCMD log file a unique name by adding the changeset author and id in #1732 by @wwillard7800
DAT-16597: Fully qualify names when loading DDL of sprocs and funcs in Snowflake in #1724 by @StevenMassaro
Bug fixes
DAT-18207: Do not open report when headless is true in #1843 by @abrackx
DAT-18052: make
--check-name
case-insensitive for checks bulk-set in #1815 by @StevenMassaro
Security, driver, and other updates
(#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-validator
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-validator
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
Liquibase Pro and Liquibase Open Source changelog
Breaking changes
(#6089) refactor the history
command to use command framework (DAT-17970) @StevenMassaro
New features
(#5850) Change visibility of practical methods to support custom checks (DAT-16671) @wwillard7800
(#1379) Added
liquibase:snapshot
command to theliquibase-maven-plugin
@malikin(#6036) Feat: Allow setting row-level dependency tracking in the create table statement on Oracle Database @matheusviegas
(#6085) Feat: Release
liquibase-cli
package to maven @filipelautert(#5975) Update diff summary results in mdc to not be recalculated (DAT-17725) @abrackx
(#6099) Chore: Include
slf4j-simple
and pin version to allow dependabot to upgrade it for us @filipelautert(#6046) Feat: Add current Java version to Banner @filipelautert
(#6039) Command argument aliases that can be printed to help (DAT-17870) @StevenMassaro
(#5965) Do not show message for bigquery database (DAT-17497) @vitaliimak
(#5966) Add support for
NULL
placeholders on loadData @davidecavestro(#5924) Optimize parsing big xml files @asolntsev
(#6021) Feat: Add dependencies for Apache Commons libraries that are being used @filipelautert
(#6034) Feat: Add the
status
command output + tests to make sure that it runs at the same time thanupdate
@filipelautert
Changes
(#6042) Fix/windows value DAT-17704 @sayaliM0412
(#5704) Fix SQL execution issue with endDelimiter '/' and splitStatements @MalloD12
(#6037) DAT-17939 fix Java version to 17 @jandroav
(#6032) DAT-17939 Add ability to generate Liquibase zip with extensions for any PR @jandroav
(#6017) Fix issue 5944 @MalloD12
(#5925) Feat:
FastCheck
refactoring @filipelautert(#5802) Refactored data clumps @compf
(#6022) Changed condition to trigger tests @rberezen
(#5988) High Level API (aka undeprecate
Liquibase
class) @filipelautert(#5929) Add detached mode for running H2 (DAT-17654) @StevenMassaro
(#5993) Move
ChangeLogParameters
helper methods toChangeLogParameters
class (DAT-17883) @abrackx(#5766) Use lombok getter and setter. @asashour
(#5982) DAT-17770 Package BQ commercial jar inside liquibase tar ball \& zip @jandroav
(#5985) DAT-16264 DevOps: Liquibase build fails on Publish to Maven Central - Nexus @jandroav
(#5986) Fix incorrect line breaks and wrapping when generating table output (DAT-17891 and DAT-17288) @StevenMassaro
(#5911) Fix
sequenceExists
check that became case sensitive for Postgresql @davidecavestro(#5598) Changeset execution information properties @jasonlyle88
(#5774) Prevent spurious
SET SEARCH\_PATH
SQL statements for Postgres duringupdate-sql
command. Fixes #5316 @mpvvliet(#5875) GH issue #5872: Improve regex for
endDelimiter
androllbackEndDelimiter
@wwillard7800(#5957) Retain original dbms string (DAT-17621) @StevenMassaro
(#5980) DAT-17768: Add new directory internal/ext to classpath @filipelautert
(#5977) Fully qualify names of tables when snapshotting unique constraints in Snowflake (DAT-17880) @StevenMassaro
(#5950) Add default constructor + setters to `DatabaseChangeLogLock` @rursprung
(#5961) Make the message more accurate when an exception occurs during database close @wwillard7800
(#5967) DAT-17842 @suryaaki2
(#5898) Do not log stack trace if
isExpected
flag istrue
forCommandFailedException
@wwillard7800(#1826) Prevent silent failures when two
databaseChangeLog
tags are present @danielthegray(#5953)
CheckSum
: add getter forstoredCheckSum
@rursprung(#901) Microsoft SQL Server doesn't support
ORDER
in sequences @danielthegray(#5915) Added
connect
command to Maven DAT-17411 @wwillard7800(#5932) Use Commons-IO where possible (DAT-17634) @StevenMassaro
(#5812) DAT-16825:
RawSqlStatement
refactoring @MalloD12(#5922) Generated
addPrimaryKey
changes should not include column direction (DAT-17467) @StevenMassaro(#5939) Adding property to build so that
liquibase-scripting
shows up in the tarball @wwillard7800(#5941) Run-Test configuration updated to avoid building
jakarta.enterprise jakarta.enterprise.cdi
api with Java 11 @MalloD12(#5903) [DAT-16377] Verify if supports method is implemented in a change to prevent unexpected behaviors @filipelautert
(#5919) Fully qualify names for Snowflake unique constraints (DAT-16598) @StevenMassaro
(#5937) DAT-17536: Update
weekly-integration-tests.yml
@sayaliM0412(#5926) Throw an exception from
diff-changelog
when failure occurs (DAT-17623) @StevenMassaro
Bug fixes
(#6117) Remove the unneeded inclusion of
commons-io
inliquibase-core pom.xml
@wwillard7800(#6097) Fixed performance issue with
valueBlobFile
on Postgres databases introduced in v4.18.0 @Shauren(#6083) Fix
defaultValueComputed
insideaddColumn
producing bad SQL with Postgres @micopiira(#6045) Add
osgi.serverloader
manifest header entries for liquibase.changelog.visitor.ValidatingVisitorGenerator #6040 fix @steinarb(#6024) fix #6019
NullPointerException
when usingCharType
orVarcharType
with H2 database @cchoz(#6015) Fix OSGi import for
org.apache.commons.io
@vkolomeyko(#6041)
Rawsqlstatement
refactoring fixes @MalloD12(#6027) Chore: Allow slf4j library to be included in Liquibase zip/installer @filipelautert
(#5958) Clone system properties to prevent
ConcurrentModificationException
@Alf-Melmac
Security, driver, and other updates
(#6028) Bump
spring.version
from 5.3.28 to 5.3.37 @dependabot(#6013) Bump
org.firebirdsql.jdbc:jaybird
from 5.0.4.java8 to 5.0.5.java8 @dependabot(#6029) Bump
org.apache.maven.plugins:maven-jar-plugin
from 3.4.1 to 3.4.2 @dependabot(#6011) Bump
org.apache.maven.plugins:maven-failsafe-plugin
from 3.2.5 to 3.3.0 @dependabot(#6018) Bump
targetMavenVersion
from 3.9.7 to 3.9.8 @dependabot(#6012) Bump
org.apache.maven.plugins:maven-surefire-plugin
from 3.2.5 to 3.3.0 @dependabot(#5952) Bump
net.snowflake:snowflake-jdbc
from 3.16.0 to 3.16.1 @dependabot(#5969) Bump
org.hsqldb:hsqldb
from 2.7.2 to 2.7.3 @dependabot(#5951) Bump
org.xerial:sqlite-jdbc
from 3.45.3.0 to 3.46.0.0 @dependabot(#5971) Bump
org.apache.maven.plugins:maven-javadoc-plugin
from 3.6.3 to 3.7.0 @dependabot(#5973) Bump
org.apache.maven.plugins:maven-shade-plugin
from 3.5.3 to 3.6.0 @dependabot(#5972) Bump
org.apache.maven.plugins:maven-plugin-plugin
from 3.13.0 to 3.13.1 @dependabot(#5970) Bump
org.sonarsource.scanner.maven:sonar-maven-plugin
from 3.11.0.3922 to 4.0.0.4121 @dependabot(#5964) Bump
org.apache.maven.plugins:maven-enforcer-plugin
from 3.4.1 to 3.5.0 @dependabot(#5959) Bump
liquibase/build-logic
from 0.7.7 to 0.7.8 @dependabot(#5949) Bump
org.assertj:assertj-core
from 3.25.3 to 3.26.0 @dependabot(#5948) Bump
targetMavenVersion
from 3.9.6 to 3.9.7 @dependabot(#5900) Bump
com.oracle.database.jdbc:ojdbc8
from 19.22.0.0 to 19.23.0.0 @dependabot(#5931) Bump
org.codehaus.mojo:build-helper-maven-plugin
from 3.5.0 to 3.6.0 @dependabot(#5889) Bump
info.picocli:picocli
from 4.7.5 to 4.7.6 @dependabot(#5895) Bump
org.testcontainers:testcontainers-bom
from 1.19.7 to 1.19.8 @dependabot(#6090) Bump
org.apache.maven.plugins:maven-surefire-plugin
from 3.3.0 to 3.3.1 @dependabot(#6091) Bump
org.apache.maven.plugins:maven-failsafe-plugin
from 3.3.0 to 3.3.1 @dependabot(#6092) Bump
actions/setup-python
from 5.1.0 to 5.1.1 @dependabot(#6088) Bump
org.assertj:assertj-core
from 3.26.0 to 3.26.3 @dependabot(#6048) Bump
junit-jupiter.version
from 5.10.2 to 5.10.3 @dependabot(#6047) Bump
org.junit.jupiter:junit-jupiter
from 5.10.2 to 5.10.3 @dependabot(#6043) Bump
org.apache.commons:commons-text
from 1.11.0 to 1.12.0 @dependabot(#6049) Bump
org.projectlombok:lombok
from 1.18.32 to 1.18.34 @dependabot(#6050) Bump
org.junit.platform:junit-platform-suite
from 1.10.2 to 1.10.3 @dependabot(#6060) Bump
groovy.version
from 4.0.21 to 4.0.22 @dependabot(#6059) Bump
robinraju/release-downloader
from 1.10 to 1.11 @dependabot(#6026) Bump
Spring-core version
to 5.3.37 @filipelautert(#5810) Bump
jakarta.enterprise:jakarta.enterprise.cdi-api
from 4.0.1 to 4.1.0 @dependabot(#5790) Bump
stCarolas/setup-maven
from 4.5 to 5 @dependabot(#5824) Bump
peter-evans/repository-dispatch
from 1 to 3 @dependabot