Liquibase 4.6.0 and 4.6.1 Release Notes
Liquibase v4.6.0 is a major release. Liquibase 4.6.1 is a patch release.
See GitHub formatted release notes for more information. Full changelog: 4.5.0–4.6.1 (November 4, 2021)
Note: Liquibase 4.6.0 release has the wrong version of the Liquibase Pro XSD
file. Liquibase 4.6.1 release is a patch release that fixes the issue.
Liquibase 4.6.0 Release
This release includes many community-contributed pull requests, Liquibase Open Source and Liquibase Pro bug fixes.
Here is a closer look at what we improved in the latest release.
Notable Changes
Starting with version 4.6.0, the Windows and Mac/Linux Liquibase installers and the .tar.gz
and .zip
installation files include the most common JDBC drivers in the installation package:
- DB2
- Firebird
- H2
- HSQLDB
- PostgreSQL
- MariaDB
- MSSQL
- Oracle
- SQLite
To use the available drivers, see the Adding and Updating Liquibase Drivers documentation. Also, check the page for the cases when you need different drivers. [PR#2031] [DAT-7438]
Note: Since Liquibase 4.6.0 provides driver jar files, the size of the installation package is bigger than the size of the installation package in earlier versions.
Liquibase Pro Changes
- Quality checks have configurable severity and exit codes [DAT-8171]
Tip: For more information, see the Use Policy Checks in Automation: Severity and Exit Code documentation.
- Quality checks include the
bulk-set
command [DAT-8289] -
New quality checks:
- Static check: Warn when a table truncation is detected [DAT-7933]
- Dynamic check: Warn when granting specific privileges [DAT-7972]
- Static check: Warn when the
GRANT WITH ADMIN OPTION
statement is detected [DAT-7955] - Static check: Warn when the
GRANT WITH GRANT OPTION
statement is detected [DAT-7995]
Tip: For more information, see the Library of Policy Checks documentation.
- The
liquibase.checks-settings.conf
file is unencoded in version 4.6.0 and later versions for easier inspection that allows you to resolve a merge conflict in source control. Liquibase backs up encoded files in the working directory, and you can still use previous versions by specifying the--checks-settings-file
parameter in the CLI, as an environment variable, or as a property in the Liquibase properties file. [DAT-8473]
Tip: For more information, see the bulk-set documentation.
If you use Liquibase Hub, check the Liquibase Hub DevOps Metrics documentation to learn more about DevOps metrics that provide the data to optimize your DevOps performance.
Enhancements
- [PR#1975] [nvoxland] Changed the XSD default
errorOnMissingOrEmpty
attribute totrue
for theincludeAll
attribute in the XML changelog file. The PR fixes PR#1960. - [PR#1993] [siudeks] Added support for deferrable primary keys in the
createTable
Change Type. The PR fixes PR#1597. - [PR#1986] [alexey-ivanov-official] [parthdesai21google] Added support for the
constraintName
attribute in thedropNotNullConstraint
attribute. Updated theaddNotNullConstraint
rollback logic to pass the constraint name to the generateddropNotNullConstraint
change. The PR fixes PR#1492 and PR#1942. - [PR#2114] [nvoxland] Improved code and added tests in the
liquibase.util
package - [PR#1679] [thomseno] Changed the
datetime
type todatetime2
for thetimestamp
type on SQL Server. - [PR#2144] [matejsp] Changed the default encoding to
UTF-8
. Added a new globalliquibase.fileEncoding
setting, which you can set as--file-encoding=ASCII
in the CLI,liquibase.fileEncoding: ASCII
in the Liquibase properties file (liquibase.properties
), andLIQUIBASE_FILE_ENCODING=ASCII
as an environment variable. The PR fixes PR#1445. - [PRO] Added a message to warn Liquibase Pro users when they have noncompliant Liquibase environment variables if the
strict
attribute is set totrue
[DAT-6946]
Fixes
- [PRO] Fixed the issue with Liquibase 4.4.0 and later versions to prompt if the Liquibase Pro license key is expired or invalid. [DAT-7862]
- [PRO] Fixed Liquibase Pro SQL Plus changesets failures with the Kerberos setup [DAT-8102]
- [PRO] Fixed the
snapshot
command using for CockroachDB with Liquibase Pro license key [DAT-8253] - Fixed an issue with running quality checks on Windows when using a configuration file created on Linux/macOS [DAT-8298]
- Fixed the
ChangesetCommentCheck
check to handle a lack of comments in thetagDatabase
Change Type [DAT-8313] - Fixed the default severity for the existing
liquibase.checks-settings.conf
files [DAT-8328] - Fixed the
customize
andcopy
commands to handle directories with spaces [DAT-8389] - Fixed the
schemas
andincludeSchema
attributes for thegenerate-changelog
command in Liquibase 4.4 and later versions [DAT-8133] - Fixed the quality checks customization issue when using Git Bash [DAT-8392]
- Fixed the message for the quality checks severity customization [DAT-8479]
- Fixed the quality checks halting execution when the checks settings file contains entries for rules which do not exist in the system. Liquibase skips unknown checks and continues the execution. [DAT-8507]
- [PR#1407] [pirocraft] Fixed the issue with Liquibase inserting a wrong default datetime value into MySQL. The PR fixes PR#1395.
- [PR#1415] [Alex1OPS] Fixed the
insert
Change Type with thevalueSequenceNext
andvalueSequenceCurrent
attributes to use the schema specified on a statement level of a changeset. The PR fixes PR#1304. - [PR#1931] [nvoxland] Fixed the issue with Liquibase throwing a null pointer exception in the CLI if the
LicenseService
interface cannot be loaded because of the missingjaxb
dependencies - [PR#2001] [haster] Fixed the
UniqueConstraintSnapshotGenerator
class switching to a bulk query after four unique constraints. The PR fixes PR#1996. - [PR#1973] [doakd] Fixed the issue with Liquibase formatted SQL changesets that are skipped if there is a space in the
--changeset
line. The PR fixes PR#1919. - [PR#104] [nvoxland] Fixed the
drop-all
command failing in the PostgreSQL database when the Liquibase-Cassandra extension is in theliquibase/lib
directory. The PR fixes PR#47. - [PR#2006] [kdenis4] Fixed Liquibase not reading the
liquibaseSchemaName
andliquibaseCatalogName
configuration settings. The PR fixes PR#2000. - [PR#1465] [danielthegray] Fixed the issue with Liquibase incorrectly inserting a long CLOB value in the database. Added integration tests.
- [PR#1974] [gjvoosten] Fixed the issue with Liquibase not handling case-sensitive primary key names in the
dropPrimaryKey
Change Type for PostgreSQL. The PR fixes PR#1933. - [PR#1941] [meisenla] [ckulenkampff] Fixed the
sqlFile
Change Type to handle theencoding
attribute. The PR fixes PR#1760.
Contributions
Our community has built a lot. Thanks to everyone who contributes and helps make the Liquibase community strong, including the following first-time contributors: