Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency org.liquibase:liquibase-core to v4 #1343

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link

@mend-for-github-com mend-for-github-com bot commented Mar 13, 2022

This PR contains the following updates:

Package Type Update Change
org.liquibase:liquibase-core (source) compile major 3.5.5 -> 4.8.0

By merging this PR, the below issues will be automatically resolved and closed:

Severity CVSS Score CVE GitHub Issue
High 9.8 CVE-2022-0839 #1342

Release Notes

liquibase/liquibase

v4.8.0

Compare Source

Liquibase 4.8.0 release

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

Notable Changes

Liquibase 4.8.0 introduces the following functionality:

  • The init hub subcommand that connects your local Liquibase activity to Liquibase Hub and sets up the Liquibase environment to use Liquibase Hub. [DAT-8769]

Note: For more information, see init hub and Getting Started with Liquibase Hub.

  • [PRO] The sqlcmd utility support to process complex SQL for MSSQL Server. Liquibase provides the liquibase.sqlcmd.conf file to pass arguments to your executor when running Liquibase Pro. [DAT-7447]

Note: For more information, see Using the SQLCMD integration and runWith attribute with Liquibase Pro and MSSQL Server.

  • Changes to the behavior of the XML parser, which no longer allows referencing external DTD files for security reasons. If you use externally defined entities or any other potentially insecure XML feature in your changelogs, set liquibase.secureParsing=false. [PR#​2384] [LB-2218]

Note: For more information about the ways to set the parameter, see Command Parameters.

  • The upgrade of the postgresql (from 42.2.12 to 42.3.2) and h2 (from 2.0.206 to 2.1.210) drivers that Liquibase includes in the installation package. If you use those drivers and upgrade an existing Liquibase installation, remove the earlier versions of drivers from the LIQUIBASE_HOME/lib directory.

Enhancements

  • Implemented the SimpleObjectConstructor interface for DB2 on z/OS [DAT-8580]
  • Included the CLI instructions on how to use the properties file with a nonstandard name when running the init project subcommand [DAT-9041]
  • Improved the output message for init start-h2 when the H2 database driver is specified, but there is no connection detected [DAT-8992]
  • Added validation errors for the enableCheckConstraint, disableCheckConstraint, dropPackage, dropPackageBody Change Types [DAT-9017]
  • [PR#​2367] [Mike Olivas] Added example rollback scripts to the example-changelog.sql file [LB-2220]
  • [PR#​1648] [Daniel Gray] Improved the exception error message for the customChange node with no class attribute [LB-1144]
  • [PR#​2222] [msimko81] Added the offline mode support for the rollback-sql <tag> operation [LB-2198]
  • [PR#​2273] [Tsvi Zandany] Added the autocomplete quality checks commands for macOS
  • [PR#​2308] [Valentin Blistin] Added the close method for the ClassLoaderResourceAccessor class [LB-2205]

Fixes

Full Changelog: liquibase/liquibase@v4.7.1...v4.8.0

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:

Our first-time contributors
Thanks to everyone who helps make the Liquibase community strong!

v4.7.1

Compare Source

Liquibase 4.7.1 is a patch release

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

Known Issues

In version 4.7.0, users that have "edb" in connection URLs but are not using EnterpriseDB experienced errors that caused Liquibase to misinterpret the database dialect. This patch release resolves this issue along with several others.

Enhancements
  • Added a new quality check – RollbackRequired. The check detects when a changeset does not have a rollback. [DAT-8871]
  • Enabled SQL parser for the TableColumnLimit check to work with formatted SQL changelogs [DAT-8531]
  • Implemented the --auto-update quality check parameter, which allows automatic backup and updating of the liquibase.check-settings.conf file when new quality checks are available. [DAT-8752]
    • CLI: --auto-update=[on|off]
    • liquibase.properties file: liquibase.command.checks.show.autoUpdate: [on|off]
    • [PRO] Environment variable: LIQUIBASE_COMMAND_CHECKS_SHOW_AUTO_UPDATE=[ON|OFF]

Note: You can use the property not only with the show command but any other quality checks command.

Fixes

  • [PR#​2364] [Nathan Voxland] [M-Koers] Made EnterpriseDBDatabase detection less broad. The implementation of EnterpriseDBDatabase picked up database with "edb" in the URL instead of an actual EDB URL. The PR fixes PR#​2363. [LB-2214]
  • Fixed quality checks with OBJECT_TYPES=TABLE, COLUMN, SEQUENCE specified in the same ObjectNameMustMatch rule to find all matches [DAT-8716]
  • Fixed the runWith=changeLogProperty attribute not working in a formatted SQL changelog [DAT-4793]
  • [PR#​2270] [Nathan Voxland] [Michael Kroll] Fixed the handling of the cacheSize attribute in the createSequence and alterSequence Change Types for MariaDB. The PR fixes PR#​2147. [LB-2191]
  • [PR#​2269] [Nathan Voxland] [Tsvi Zandany] Fixed the handling of the tag-exists command old syntax in Liquibase 4.4 and later (liquibase tagExists myTag) to correctly convert the pattern into new versions. The PR fixes PR#​2109. [LB-2192]
  • [PR#​2188] [Cullen Coyle] Added the columnDataType attribute for the generated setColumnRemarks changesets to fix an error in MySQL [LB-2199]
  • [#​932] [Matthias Wuttke] Added support for sequences in MaxDB [LB-41]
  • [PR#​2282] [AlexanderSashchenko] Fixed the drop column statement generator for DB2 on z/OS [DAT-8744]

Full Changelog: liquibase/liquibase@v4.7.0...v4.7.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 make it stronger:

Our first-time contributors
Thanks to everyone who helps make the Liquibase community strong!

v4.7.0

Compare Source

Liquibase 4.7.0 release

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

Notable Changes

Liquibase 4.7.0 introduces the init command with the project and start-h2 subcommands.

  • The init project subcommand helps to set configuration files for using Liquibase or, if you already use Liquibase, create new project files with minimal input. [DAT-8640]
  • The init start-h2 subcommand helps to start the included in-memory H2 database. The subcommand needs to be run in a new terminal window. [DAT-8945]

Note: For more information and examples of using init project, see init project.

Additionally, we have updated the Liquibase Getting Started tutorials, sample changelog files, and the example H2 database in the installation package. From now on, you can use sample SQL, XML, JSON, and YAML changelog files with the corresponding changesets and the latest version of H2. [LB-2177] [LB-2174]

Note: Check Liquibase Getting Started to see more details.

Enhancements
  • [PRO] Improved the output of the rollback-one-update command [DAT-7590]
  • [PR#​2244] [Tsvi Zandany] Enabled the use of the jdbc:edb URL for Liquibase to recognize EnterpriseDB [LB-2185]
  • [PR#​2225] [Nathan Voxland] [Konstantin] Enabled the use of lowercase sys.synonyms objects for the generate-changelog and diff-changelog commands in Liquibase and SQL Server. The PR fixes PR#​2044. [LB-2175]
  • Added DB2 on z/OS database type and Java classes for Liquibase [DAT-8575]
  • Upgraded H2 to the later version – 2.0.206
  • [PR#​2197] [Andrii Tytarchuk] Added optional SQL Plus properties to the liquibase.sqlplus.conf file and put the file in the examples/sql folder [DAT-7618]
    • liquibase.sqlplus.args
    • liquibase.sqlplus.keep.temp.path
    • liquibase.sqlplus.keep.temp.name
  • [PR#​2215] [Nathan Voxland] Improved MySQL loadData performance [LB-2173]
Fixes
  • Fixed the generateChangeLog wrong dependency order: the addPrimaryKey Change Type appeared before its base table in PostgreSQL [DAT-8256]
  • Fixed the quality checks settings file to be created using both relative and absolute paths [DAT-8275]
  • Fixed quality checks reporting only the first failure for a changeset to report all failures in outputs [DAT-8630]
  • [PR#​2066] [smainz] Fixed the loadData Change Type to recognize CSV files when loading data with the path that contains a dot character ('.') [LB-2178]
  • [PR#​2071] [Nicolas Humblot] [Philipp] Fixed the addNotNullConstraint Change Type causing the "Data too long" error message. The PR fixes PR#​1054. [LB-2187]
  • [PR#​2073] [smainz] Fixed the relativeToChangelogFile attribute for loadData, createProcedure, and createView Change Types [LB-2179]
  • [PR#​2228] [Nathan Voxland] Updated the logic of the foreign key names that are not always unique [LB-2176]
  • [PR#​2081] [Jakub Herkel] Fixed OSGI support (manifest and class loading) [LB-2184]
  • [PR#​2192] [Andrii Tytarchuk] Fixed COLUMN_SIZE for the PostgreSQL NUMERIC[] datatype

Full Changelog: liquibase/liquibase@v4.6.2...v4.7.0

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!

v4.6.2

Compare Source

Liquibase 4.6.2 is a patch release

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

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]

The logging of SQL statements and execution output

Liquibase 4.6.2 includes the liquibase.sql.logLevel configuration option to control the level at which SQL is logged. The default value is FINE.

You can run the --sql-log-level parameter with the --log-level <level> parameter in the CLI:

liquibase --sql-log-level <FINE|INFO|SEVERE|WARNING|OFF> --log-level=<FINE|INFO|SEVERE|WARNING|OFF> --log-file=log.txt update --changelog-file=<changelog>

You can also set the parameter as follows:

  • liquibase.sql.logLevel: <FINE|INFO|SEVERE|WARNING|OFF> in your liquibase.properties file
  • LIQUIBASE_SQL_LOG_LEVEL=<FINE|INFO|SEVERE|WARNING|OFF> as an environment variable [PR#​1520] [nvoxland]
An additional liquibase_libs directory

When you run Liquibase in the CLI, the executables generate a classpath with the .jar files from the LIQUIBASE_HOME and LIQUIBASE_HOME/lib directories. Liquibase 4.6.2 adds the ability to load an additional directory of liquibase_libs in the current working directory to the classpath. With the liquibase_libs directory located in the /lib directory, projects can have separate extensions, drivers, and versions specific to a project [PR#​2015] [mcred]

The validate command in automation

From now on, the exit code for the validate command running in automation shows 1 when there is an error. The PR fixes PR#​1006. [PR#​2185] [nvoxland] [christf]

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 your 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 addColumn Change 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 remarks attribute 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 addColumn Change 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 alterSequence Change 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 addPrimaryKey Change 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 your liquibase.properties file
    • --strict=false|true as a CLI parameter
    • LIQUIBASE_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]
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!

v4.6.1

Compare Source

Liquibase 4.6.1 is a patch release

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

Notable Changes

  • Liquibase 4.6.0 release has the wrong version of the Liquibase Pro XSD file. This release fixes that issue.

v4.6.0

Compare Source

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!

v4.5.0

Compare Source

v4.5.0

Liquibase 4.5.0 is now available at Liquibase.org.

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

Liquibase 4.5.0 is a major release

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

Notable Changes

Liquibase 4.5.0 includes support for Liquibase Quality Checks, which allow you to run checks against changelogs and SQL scripts by flagging conditions and configurations you need.

There is a new family of commands to use to run quality checks:

  • liquibase checks show to list the available quality checks
  • liquibase checks run to run the available quality checks
  • along with enable, disable, customize, copy, reset, and delete options, and liquibase checks --help` to learn more

The following is a list of changes related to Liquibase Quality Checks:

  • Implement checks enable/disable subcommands [DAT-7794]
  • Implement checks run subcommand for dynamic rules [DAT-7796]
  • Implement checks customize subcommand [DAT-7797]
  • Implement checks copy subcommand [DAT-7798]
  • Implement checks reset subcommand [DAT-7800]
  • Implement checks show subcommand for dynamic rules [DAT-7801]
  • Check for License & Limit gate [DAT-7802]
  • Implement checks delete subcommand [DAT-7803]
  • Initial write of the check-settings-config file [DAT-7858]
  • Add shortname to basic rules [DAT-7876]
  • Add ID to basic rules [DAT-7877]
  • Implement a Dynamic Rule [DAT-7883]
  • STATIC CHECK :: Changeset Must Have A Label [DAT-7924]
  • STATIC CHECK :: Changeset Must Have A Context [DAT-7925]
  • STATIC CHECK :: Changeset Must Have A Comment [DAT-7926]
  • STATIC CHECK :: Warn When "DROP TABLE" Detected [DAT-7928]
  • STATIC CHECK :: Warn When "DROP COLUMN" Detected [DAT-7930]
  • STATIC CHECK :: Warn When Data Type Modification is Detected [DAT-7934]
  • STATIC CHECK :: Warn when 'GRANT' Statement Detected [DAT-7953]
  • STATIC CHECK :: Warn when 'REVOKE' Statement Detected [DAT-7954]
  • DYNAMIC CHECK :: Warn when Tables have more than n columns [DAT-7983]
  • QC subcommand help lists incorrect environment variable format. [DAT-8005]
  • Change name of default settings file for checks to liquibase.checks-settings.conf [DAT-8017]
  • Core: Checks should be run in numeric order (ASC) [DAT-8040]
  • QC: BUG - [Y/n] defaults to n, but should default to [Y]es [DAT-8132]
  • QC: Update the priorities for 3 Liquibase checks (labels, contexts, comments) [DAT-8134]

Bugfixes

  • Fail when creating a Scope with a null-parent #​1354. #​1377 Treehopper
  • Fixes Postgresql bit column support #​1468 nderwin
  • Fix OSGiResourceAccessor failing due to javax.activation #​1534 CMoH
  • fixed usage of computed values in prepared insert/update changes #​1590 Plunts
  • Ensure that the root scope is initialized correctly regardless of whether a scope manager has been configured yet or not #​1768 rudolfv
  • Fix UniqueConstraint snapshot query on db2z #​1771 dileepan91
  • Update MissingTableChangeGenerator.java #​1812 briar354
  • Get Set deleteCascade for serializer mapping #​1837 smith-xyz
  • Add support for changeset ids and authors with spaces in formattedsql changelogs. #​1845 jpz
  • More efficient XML resource loading #​1860
  • Postgresql: Preserve existing search_path when setting the defaultSchemaName #​1864
  • Fixed postgresql addPrimaryKey cluster handling #​1880
  • CLI no longer reading defaultsFile from classpath #​1893
  • Manage parent directory relative to changelog in IncludeAll #​1968 Cubid
  • Improve synchronization of LockServiceFactory reset #​1991
  • Fix createSequence for h2 when dataType is specified #​1992
  • [PRO] Pro Enhancement Request: set 'splitStatements' to 'false' for Stored Logic changesets when generating a Formatted SQL changelog [DAT-7391]
  • [PRO] Allow users to indicate names and location of their spool files when using runWith:sqlplus [DAT-7580]
  • [PRO] Cannot update MariaDB expand based storage after first liquibase update [DAT-7879]
  • [PRO] Liquibase PRO generateChangeLog error on Postgresql functions that have long signatures containing any '()' characters [DAT-7894]
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!

v4.4.3

Compare Source

Liquibase 4.4.3 is now available at Liquibase.org.

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

Liquibase 4.4.3 is a patch release

This release includes many community-contributed pull requests, Liquibase Community and Liquibase Pro bug fixes, and enhancements to Liquibase Hub performance and pipelines.

Notable Changes

In Liquibase 4.4.3, there are improvements to the FileSystemAlreadyExistsException output message. The original FileSystemNotFoundException warning was changed to be an info message that does not include logs of stack traces. If you are still seeing stack traces, please contact us. #​1885 dertin

Additionally, we fixed bugs in SQL files: #​1798

  • The sqlFile and relativeToChangelogFile attributes fail when using the logicalFilePath attribute #​1277 darkcamper
  • The wrong path received if relativeToChangelogFile=true and databaseChangeLog has logicalFilePath != PhisicalFilePath #​1353 kezhevatov

Bugfixes

  • Added a separate query for DB2 on AS400, which fixed the dropAll command on DB2 for iSeries #​1412 wardvijf
  • Fixed the logicalFilePath attribute not being serialized #​1471 tms-91
  • Fixed the SqlParser bug related to parsing UTF-8 valid symbols #​1513 matteoturra
  • Fixed the invalid update SQL generated for HSQL database in InsertOrUpdateGeneratorHsql.java #​1563 devorgpl
  • Added a validation error when the customChange Change Type has no name attribute #​1592 danielthegray
  • Fixed the issue with Liquibase failing to create a DATABASECHANGELOGLOCK record and apply changesets into Firebird 3. isNumericBoolean now checks the Firebird3Database instance type and returns Boolean for Firebird 3. #​1875 koushikd02
  • Fixed the issue with escaping question marks in PostgreSQL: #​1877 juszczakn and goostleek
    • SQL changesets are transforming the PostgreSQL ? JSON operator into ??, causing function definitions using this operator to become invalid #​1764
    • An error when processing a large Postgres SQL changeset #​1507
  • Fixed the issue with ClassCastException in a standard lock service: java.time.LocalDateTime cannot be cast to java.util.Date #​1878 jocmer-evooq and haidiiii
  • Added the MySQL reserved word CUBE to the list of Liquibase reserved columns for the schema migration to work. CUBE is a reserved word as of MySQL 8.0.1 #​1515 jasonwjones
  • Added the ability to handle empty lines at the beginning of a formatted SQL #​1713 smith-xyz
  • Fixed loading the CLOB data into PostgreSQL. Instead of loading the CLOB file name, PostgreSQL loads the content of the CLOB file. #​1791 jidma
  • Changed the MD5SUM column value from RawSqlStatement to UpdateStatement #​1602 biryukovpavel
  • Fixed synchronization in ChangeLogHistoryServiceFactory.java #​1361 Olard
  • Fixed the changeset execution failure related to the DATICAL_SPERRORLOG table when using the runWith=sqlplus attribute and executing operations as a user with only SELECT, UPDATE and INSERT permissions [DAT-7410]
  • Combined Liquibase GitHub Action examples into the liquibase/liquibase-github-action-example repository [DAT-6679]
  • Enabled the dropAll report to work with a registered changelog with no extra arguments and send the information to Liquibase Hub [DAT-7554]
  • Renamed the tablespaceName parameter to liquibaseTablespaceName [DAT-7676]
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

@mend-for-github-com mend-for-github-com bot added the security fix Security fix generated by WhiteSource label Mar 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security fix Security fix generated by WhiteSource
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants