Skip to content

v4.6.0

Compare
Choose a tag to compare
@suryaaki2 suryaaki2 released this 04 Nov 19:17
· 3203 commits to master since this release
fa29a38

Liquibase 4.6.0 is a major release

Please report any issues to https://github.com/liquibase/liquibase/issues

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]
  • The quality checks 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]
  • 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]

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 to true for the includeAll 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 the dropNotNullConstraint attribute. Updated the addNotNullConstraint rollback logic to pass the constraint name to the generated dropNotNullConstraint 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 to datetime2 for the timestamp type on SQL Server.
  • [PR#2144] [matejsp] Changed the default encoding to UTF-8. Added a new global liquibase.fileEncoding setting, which you can set as --file-encoding=ASCII in the CLI, liquibase.fileEncoding: ASCII in the liquibase.properties file, and LIQUIBASE_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 to true [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 the tagDatabase Change Type [DAT-8313]
  • Fixed the default severity for the existing liquibase.checks-settings.conf files [DAT-8328]
  • Fixed the checks customize and checks copy commands to handle directories with spaces [DAT-8389]
  • Fixed the schemas and includeSchema attributes for the generateChangeLog 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-8415]
  • 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 the valueSequenceNext and valueSequenceCurrent 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 missing jaxb 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 dropAll command failing in the PostgreSQL database when the Liquibase-Cassandra extension is in the liquibase/lib directory. The PR fixes PR#47.
  • [PR#2006] [kdenis4] Fixed Liquibase not reading the liquibaseSchemaName and liquibaseCatalogName 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 attribute for PostgreSQL. The PR fixes PR#1933.
  • [PR#1941] [meisenla] [ckulenkampff] Fixed the sqlFile Change Type to handle the encoding attribute. The PR fixes PR#1760.

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 make it stronger:

Our first-time contributors

Thanks to everyone who helps make the Liquibase community strong!