Liquibase 4.6.2 Release Notes

Full Changelog: v4.6.1...v4.6.2 (December 1, 2021)

This release includes community-contributed pull requests, Liquibase Open Source and Liquibase Pro bug fixes, and a new quality checks functionality.

Here is a closer look at what we improved in the latest release.

Notable Changes

Liquibase 4.6.2 introduces the multiple objects quality check that allows you to define and check the naming pattern for multiple types of objects rather than one type of object. For example, you do not want to have a dash in the table, column, and sequence names. With the multiple objects check, you can specify a pattern to check for dashes and choose tables, columns, and sequences as the objects to check. In version 4.6.2, the check is available for:

  • Table
  • Column
  • Sequence

Note: For more information, see Multiple Objects Quality Check [DAT-8444]

Enhancements

  • [PRO] Added the ability to configure the DDL_LOCK_TIMEOUT parameter for Oracle without SQL Plus and define the connection timeout. You can configure DDL_LOCK_TIMEOUT as follows:
    • liquibase.ddlLockTimeout: <value> in the Liquibase properties file
    • --ddl-lock-timeout=<value> as a CLI global parameter
    • LIQUIBASE_DDL_LOCK_TIMEOUT=<int> as an environment variable [DAT-7649]
  • Improved the output of the SqlUserDefinedPatternCheck quality check copy [DAT-8492]
  • [PR#1817] [stalbrecht] Added the MSSQLDatabase specific error evaluation when creating DATABASECHANGELOGLOCK table
  • [PR#2180] [nvoxland] [eldadko] Added support for MySQL function indexes. The PR fixes PR#1626.
  • [PR#928] [CORE-931] [RG9] Added support for the NOT NULL constraint with an initial default value in the addColumnChange Type

Fixes

  • [PR#2173] [wwillard7800] [deci260] Fixed the issue with handling multi-column indexes during the JSON snapshot. The PR fixes PR#1260.
  • [PR#1793] [janjicandjelka8] Fixed the handling of the remarksattribute in a primary key column tag for MariaDB
  • [PR#1894] [KushnirykOleh] Fixed the time data type to be precise for PostgreSQL. The PR fixes PR#1774.
  • [PR#1970] [nvoxland] Fixed the handling of the addColumnChange Type in SQLite
  • [PR#1995] [szandany] Fixed the generate-changelog command to generate the NUMERIC[] data type for PostgreSQL correctly
  • [PR#1990] [JayWelborn] Fixed the SQL generated by the alterSequenceChange Type to be compatible with the Oracle, PostgreSQL, MariaDB, and MSSQL databases
  • [PR#2020] [nvoxland] [dewa-actico] Fixed the handling of nested changelog preconditions. The PR fixes PR#1624.
  • Fixed the naming of the checks settings file shown as null if the file was corrupted [DAT-8553]
  • [PR#2021] [nvoxland] [zamani84] Fixed the issue with Liquibase escaping the backslash in values stored in objects. The PR fixes PR#1598.
  • [PR#2083] [jamey-clari] Enabled the update operations to continue if the DATABASECHANGELOGLOCK table already exists, which helps to serialize all processes following schema creation.
  • [PR#2167] [nvoxland] [obovsunivskyii] Fixed the --verbose flag used in the unexpected-changesets command. The PR fixes PR#1987.
  • [PR#2168] [nvoxland] [gilles-gosuin] Fixed the parsing logic for YAMLChangelogParser and changeLogId in a Map. The PR fixes PR#1988.
  • [PR#2102] [prakashseervi] Implemented the handling of the GENERATED ALWAYS AS clause while creating a table for PostgreSQL
  • [PR#2029] [Marcono1234] Fixed the LOCKGRANTED column to include time zone information in the DATABASECHANGELOGLOCK table
  • [PR#2059] [wardvijf] Fixed the support for custom DB2Database implementations. The PR fixes PR#2058.
  • [PR#2171] [logantracyo] Fixed typos in the ColumnConfig.java documentation
  • [PR#2189] [nvoxland] Fixed the classpath to include files with the relativeToChangelog=true parameter for Spring Boot
  • [PR#2216] [tkalmar] Fixed the log message for PostgreSQL versions
  • [PRO] Fixed the snapshot command failing against CockroachDB with the Liquibase Pro license key applied [DAT-8253]
  • Fixed the dependency order for a changelog file with the addPrimaryKeyChange Type generated by the generate-changelog command for PostgreSQL [DAT-8256]
  • [PRO] Fixed the following environment variables LIQUIBASE_COMMAND_CHECKS_CONFIGURE_CHECKS_SETTINGS_FILE, LIQUIBASE_COMMAND_CHECKS_RUN_CHECKS_SETTINGS_FILE, and LIQUIBASE_COMMAND_CHECKS_SHOW_CHECKS_SETTINGS_FILE to be detected when running the quality checks commands [DAT-8546]
  • Fixed the default value of the strict parameter. The default value is false. You can set the strict parameter as follows:
    • liquibase.strict=false|true in the Liquibase properties file
    • --strict=false|true as a CLI parameter
    • LIQUBIASE_STRICT=false|true as an environment variable [DAT-8547]
  • Fixed quality checks reporting only the first failure in a changeset to report all failures found [DAT-8583]
  • Fixed the Liquibase Cassandra extension failing when username and password are enabled [LB-2115]

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: