Skip to content

Releases: liquibase/liquibase

v4.15.0

05 Aug 18:25
bb78528
Compare
Choose a tag to compare

New and Notable Capability - liquibase flow command

  • liquibase flow and new flow-file (DAT-10419) by in #2946
    • The liquibase flow command and the Flow File on which it operates allow the user to place multiple commands within a single file so they can all run sequentially with a single command into the CLI. This is currently a Liquibase Labs restricted capability, so please contact mario@liquibase.com to request a license key. Learn more at http://docs.liquibase.com/flow.

Enhancements

  • Added duplicateFileMode setting for maven plugin by @nvoxland in #3119

Fixes

Updates

Security Updates

No security updates needed in this release.

JDBC Driver and Third-Party Library Updates

OWASP Dependency Check: Reported Vulnerabilities

  • None

New Contributors

Full Changelog: v4.14.0...v4.15.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:

Contribute code
Make doc updates
Help by asking and answering questions
Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

v4.14.0

25 Jul 15:18
Compare
Choose a tag to compare

Notable Changes

Split liquibase-core and liquibase-commercial jar files by @nvoxland in #3050

  • This change affects new downloads of Liquibase Pro. liquibase-core-.jar contains only the open-source license. If you use Liquibase Pro or other commercial add-ons, you must also install liquibase-commercial-.jar.

Added liquibase.changelogParseMode setting by @nvoxland in #3057

Enhancements

  • Warn if XSD version does not match build version in validate command (DAT-9874) by @StevenMassaro in #3016
  • Allow use of pro-only objects for filtering with generateChangeLog (DAT-9542) by @StevenMassaro in #3068
  • Improve connection exception by including underlying driver exception trace by @hessjcg in #3033
  • Add Closeable/AutoCloseable interface to liquibase.database.Database by @zorglube in #2990

Fixes

  • Fixed Formatted SQL "property" parsing by @nvoxland in #3037
  • Ensure Postgresql search_path entries are quoted correctly by @nvoxland in #3009
  • Updated "Change Set" wording to "Changeset" by @kataggart in #3042
  • Improved error when JAVA_HOME is set to invalid value (DAT-10545) by @StevenMassaro in #3074
  • Fixed autoIncrement incrementBy/startWith support in MySQL, H2, HSQLDB, and MariaDB by @tozogabee in #3026
  • Improve renameColumn generated SQL on mssql by @mide25 in #783

Updates

Security Updates

No security updates needed in this release.

JDBC Driver and Third-Party Library Updates

OWASP Dependency Check: Reported Vulnerabilities

  • None

New Contributors

Full Changelog: v4.13.0...v4.14.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:

Contribute code
Make doc updates
Help by asking and answering questions
Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

File Descriptions

  • Liquibase CLI -- Includes open source + commercial functionality
  • liquibase-x.y.z.tar.gz -- Archive in tar.gz format
  • liquibase-x.y.z.zip -- Archive in zip format
  • liquibase-windows-x64-installer-x.y.z.exe -- Installer for Windows
  • liquibase-macos-installer-x.y.z.dmg -- Installer for MacOS
  • Primary Libraries - For embedding in other software
    • liquibase-core-x.y.z.jar – Base Liquibase library (open source)
    • liquibase-commerical-x.y.z.jar – Additional commercial functionality
  • liquibase-additional-x.y.z.zip – Contains additional, less commonly used files
    • Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    • Javadocs for all the libraries
    • Source archives for all the open source libraries
    • ASC/MD5/SHA1 verification hashes for all files

v4.13.0

11 Jul 15:27
Compare
Choose a tag to compare

Notable Changes

PRO DAT-10083 - Added PSQL native executor feature by @abrackx

  • You can now use the runWith command to pull in PSQL changesets which require highly specialized SQL that often cannot easily be deployed over JDBC. For more information, see the documentation here.

Enhancements

  • Added new liquibase.duplicateFileMode setting by @nvoxland in #3006
  • Add additional info in CLI's --version output by @nvoxland in #2942
  • Added support for new "searchPath" global configuration by @nvoxland in #2917
  • PRO DAT-10575: add labels and contexts parameter to checks run command by @StevenMassaro
  • PRO DAT-10803 added sproc support for Snowflake by @KushnirykOleh

Fixes

  • Hide CommandFailedException stacktrace when thrown to set exit code (DAT-9608) by @StevenMassaro in #2938
  • Update copyright year in txt files; also update links in txt files (DAT-10261) by @StevenMassaro in #2955
  • add support for default-catalog-name in SQL Server (DAT-10484) by @StevenMassaro in #2940
  • Make additional query for more column information for MariaDB DAT-8693 by @wwillard7800 in #2898
  • Include should fail if a parser cannot be found for the specified file by @nvoxland in #2972
  • Improved postgresql prepared statement performance by @nvoxland in #2914
  • Cleanup relative paths preventing sql files being found by the class loader by @marcsowen in #2932
  • Fix missing attributes in serialization by @tms-91 in #2585
  • Improved parsing of single-quoted strings by @nvoxland in #2949
  • DAT-10260: add outputFile argument in maven plugin for checks.run target by @StevenMassaro in #2975
  • Formatted SQL files with uppercase in the liquibase attributes (DAT-10531) by @abrackx in #2985
  • handle empty or null input to stripComments method (DAT-10296) by @StevenMassaro in #2970
  • Fixed issue with parameter expression parsing by @nvoxland in #2984
  • Fixed before/after/at column arguments in addColumn by @nvoxland in #2943
  • Adds liquibase.psql.conf example (DAT-10303) by @abrackx in #2939
  • [DAT-10093] added schema escaping to getColumns call to jdbc metadata classes by @KushnirykOleh in #2895
  • Use "numeric" (without parameters) data type in PostgreSQL by @LonwoLonwo in #1906
  • Force "json" resultset formats in Snowflake when running Java 17+ by @nvoxland in #3019
  • PRO DAT-9608: Hide CommandFailedException stacktrace when thrown from checks run by @StevenMassaro
  • PRO Reenables oracle integration tests by @abrackx
  • PRO DAT-10283 Checks should also look at included contexts and labels by @wwillard7800
  • PRO DAT-10667: Hide disabled checks from unsupported changeset type list by @StevenMassaro
  • PRO DAT-10690 and DAT-10691: Hide validated changelogs and database objects when no license key is provided by @StevenMassaro
  • PRO DAT-10296: Handle empty or completely commented out changesets in CheckForSpecificPatternsInSQL check by @StevenMassaro

Updates

Security Updates

No security updates needed in this release.

JDBC Driver and Third-Party Library Updates

New Contributors

Full Changelog: v4.12.0...v4.13.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:

Contribute code
Make doc updates
Help by asking and answering questions
Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

v4.12.0

17 Jun 16:49
Compare
Choose a tag to compare

Breaking Changes

Support for Snowflake database has been moved from the external extension liquibase-snowflake into the main Liquibase artifact. If you are using the snowflake extension, remove it from your lib directory or however you are including it in your project. If you are using the Docker image, the snowflake docker label will no longer be updated so you need to update your reference to either latest or the version tag you prefer. For CLI users, the Snowflake driver also ships out of the box and so you should remove that from the lib directory as well #2841

Enhancements

  • Quality Checks for Databases (DAT-9298) by @StevenMassaro in #2715
    • This capability extends checks from just the changelog to look at the database itself for conditions of compliance, security, and more. This is currently a Liquibase Labs restricted capability, so please contact mario@liquibase.com to request a license key.

The Quality Checks commands have moved from limited availability in Liquibase Open Source to complete unlimited access only in Liquibase Pro. If you were using the Liquibase Open Source version, which was limited to five checks, you can test out the unlimited version with a free Liquibase Pro trial.
* make all QCs work only for Pro users (Pro PR 496) (DAT-10098)

  • Added a new "liquibase.showBanner" setting. Setting this value to 'false' will disable the Liquibase startup banner from being shown. By @nvoxland in #2871
  • Added a new "liquibase.missingPropertyMode" setting to control what happens when a changelog contains a ${...} string that doesn't correspond to a set changelog property. The default continues to be "preserve" which leaves it as-is. But other possible values are ERROR or EMPTY which will either stop execution with an error or replace it with an empty string. By @dwieland in #2656
  • Added new "liquibase.preserveSchemaCase" argument to preserve the case of schemas exactly as passed to the various schema settings. Default remains "false" as before. DAT-10027 By @wwillard7800 in #2888
  • Introduced "latest" xsd file path. In addition to http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.12.xsd type XSDs references, you can now also use http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd instead. By using "latest", Liquibase will use the bundled XSD for it's version. The uploaded "latest" XSD will always be the most recent Liquibase release, so note how they can be different and locally cached IDE versions may be different yet. By @nvoxland in #2886
  • Added new ConfiguredValueModifier extension point. This allows extensions to be written which will translate or convert configuration values from what was passed by the user before the value is passed to the internal code. By @mcred in #2252
  • Updated StandardLockService interface to make it more useful for extensions by @Cliftonz in #2785

Fixes

Updates

Security Updates

  • No security updates needed in this release

JDBC Driver and Third-Party Library Updates

OWASP Dependency Check: Reported Vulnerabilities

New Contributors

Full Changelog: v4.11.0...v4.12.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:

Contribute code
Make doc updates
Help by asking and answering questions
Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

v4.11.0

24 May 15:47
0a9d6d8
Compare
Choose a tag to compare

Liquibase 4.11 release

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

Breaking Changes

Starting with 4.11, we moved the global libraries we ship with the CLI from the lib directory to a new internal directory structure. The lib directory is still included in the classpath as the place users can add whatever additional global drivers/libraries they need.

The liquibase --version output has been enhanced to also include the 3rd party libraries being used and their versions.

Impacts:

  • If you are upgrading Liquibase by overwriting an existing directory, you will have duplicate libraries between lib and internal/lib. You should manually delete any files in lib which you did not add yourself. Liquibase will continue to work even with the duplicate libraries, but you may not be running the latest version of ones we ship, since the lib files take priority over what is in internal/lib. New installs are not impacted by this.
  • If you have any automation that did anything with our shipped files in lib you will need to update it to reflect the new internal/lib location

For security reasons, we have also changed what is logged by the CLI to only log liquibase channel messages by default, rather than all log channels. If you are relying on logging from non-Liquibase libraries, you can add channels with the new --log-channels flag, including --log-channels=all to restore the old functionality.

Enhancements

  • Moved shipped jar files out of lib and into a new internal/lib directory by @nvoxland in #2850
  • To help with performance troubleshooting, there is now a --monitor-performance argument for the CLI (and only the CLI) which enables profiling of the Liquibase run. The generated profiling information can help us understand and fix performance issues easier. #2599
  • Upgraded Java shipped with the installers from 11 to 17 by @nvoxland in #2602
  • Added whitelist for CLI log channels by @nvoxland in #2859

Fixes

  • Do not throw a confusing error if a datatype specified as a changelog parameter is not expanded by @nvoxland in #2772
  • Fixed SQLite not correctly snapshotting tables with underscores in the name by @nvoxland in #2778
  • Fixed local XSD lookup by @nvoxland in #2830
  • Standardized "start-h2" commands on "liquibase init start-h2" logic by @nvoxland in #2597
  • Support default values in the format (0)::real by @nvoxland in #2836
  • Fix handling of defaultSchemaName on Postgresql by @nvoxland in #2812
  • Introduce generateStatementsFromRows for extensions by @fbiville in #2686
  • Fixed XSD type of "ordered" and "cycle" attributes to be booleanby @DartVerder in #2725
  • Remove custom log message filtering by @nvoxland in #2777
  • Spring Boot: better support relativeToChangelogfile when ResourceLoaders return FilteredReactiveWebContextResources by @erik-meuwese-topicus in #2758
  • Fix ForeignKeyComparator when foreign key table is not known by @joserebelo in #2565
  • Test System Framework: add support for "liquibase.sdk.testSystem.skip" property by @StevenMassaro in #2838
  • Test System Framework: stop database containers when spock execution ends by @StevenMassaro in #2843

Updates

Security Updates

  • No security updates needed in this release

JDBC Driver and Third-Party Library Updates

OWASP Dependency Check: Reported Vulnerabilities

New Contributors

Full Changelog: v4.10.0...v4.11.0

v4.10.0

05 May 14:30
da76104
Compare
Choose a tag to compare

Liquibase 4.10 release

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

Breaking Change

Upgraded mssql driver to 10.2.0 by @nvoxland in #2790

End User Impact: The driver changed the encryption default from "false" to "true" between 8.x and 10.x. If you have a self-signed certificate in your database, you must do one of the following: add encrypt=false; add trustServerCertificate=true; or add the server certificate to the java trusted certificate list. For production systems, Liquibase recommends against using self-signed certificates without adding the server certificate to the Java keystore. For more information on installing the trusted certificate, see https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/manage-certificates?view=sql-server-ver15

Security Updates

Upgraded postgresql from 42.3.2 to 42.3.4 to address CVE-2022-26520 by @dependabot in #2769

  • Vulnerability introduced in org.postgresql:postgresql@42.3.2
  • Fixed in org.postgresql:postgresql@42.3.3

JDBC Driver and Third-Party Library Updates

Enhancements

  • Quality checks for Maven - checks.run and checks.show goals [DAT-9033] [DAT-9034]
    For more information, see Maven checks.run and Maven checks.show.
  • Allow CompositeResourceAccessor to have a non-fixed size list of ResourceAccessor so that the list can be added to/removed from by @wwillard7800 in #2650
  • Correctly handle null class package names in the logging system by @nvoxland in #2763
  • Handle URLs correctly in error conditions DAT-9882 by @wwillard7800 in #2709
  • Validate formatted SQL changelog for invalid patterns DAT-7721 by @wwillard7800 in #2761

Fixes

  • [PRO] Diff commands correctly recognizing triggers as changed/different in Postgresql10 [DAT-9559]
  • Fix EnterpriseDB database recognition by @nvoxland in #2767
  • Fix start failure with NullPointerException when Environment contains empty string Key (fix Issue 2631) by @feltonma91 in #2636
  • Fix createTable on Mysql not preserving primary key information when remarks also defined on the column by @nvoxland in #2752
  • Updated information in "licenses" directory by @nvoxland in #2795

New Contributors

Full Changelog: v4.9.1...v4.10.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:

Contribute code
Make doc updates
Help by asking and answering questions
Set up a chat with the Product team

Thanks to everyone who helps make the Liquibase community strong!

v4.9.1

29 Mar 14:21
f669da2
Compare
Choose a tag to compare

Liquibase 4.9.1 patch release

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

Notable Changes

[PR#2666] [nvoxland] Liquibase 4.9.1 release is a patch release that fixes the MANIFEST.MF location in the liquibase.jar file for tools that require the MANIFEST.MF file to be the first entry in the jar archive.
If the MANIFEST.MF file is not the first entry, java.util.jar.JarInputStream#getManifest() reading the MANIFEST.MF file will not return the manifest information appropriately. The PR fixes issue #2648.

[Issue#2672] Addresses the remaining OSGi-related packaging problems to fully restore Liquibase support in OSGi environments.

Fixes

[PR#2651] Fixed the issue with a malicious software alert for the Liquibase macOS Installer preventing from proceeding with the installation. [DAT-9524]

[PR#2643] Fixed an issue in snapshot on PostgreSQL where non-integer datatypes that used a default value with a sequence would not be handled correctly [DAT-8670]

[PR#2691] Fixed invalid JSON in the example-changelog.json file [DAT-9893]

Fixes security issue in which sqlcmd outputs userid and password when using loglevel=INFO [DAT-9571]

Full Changelog: v4.9.0...v4.9.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 making it stronger:

Thanks to everyone who helps make the Liquibase community strong!

v4.9.0

17 Mar 17:17
2330bc4
Compare
Choose a tag to compare

Liquibase 4.9.0 release

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

Notable Changes

Liquibase 4.9.0 introduces the following functionality:

  • [PRO] Quality Checks JSON object so that your application can easily parse through the Liquibase output [DAT-9094]
    For more information, see Quality Checks JSON Object.
  • [PR#2558] [kavya-shastri] [Breaking Change]The change in the usage of the Liquibase global configuration for the secureParsing parameter to prevent the entity resolver from scanning the network for missing XSDs. If you reference an XSD other than one from Liquibase and have never stored them in your classpath, Liquibase will no longer automatically download and use the XSD from the internet for security reasons. The default value for secureParsing is true, but you can set it to false in any of the Liquibase configuration locations. For more information, see XSD support.
  • [PR#2529] [Krzysztof Sierszeń] [LB-1781] The uniqueConstraintExists precondition to check for the existence of unique constraints before running the update. You can check the constraint by constraint name or columns:
<preConditions>
    <uniqueConstraintExists constraintName="uq_constraint_name" tableName="test_table"/>
</preConditions>
<preConditions>
    <uniqueConstraintExists tableName="test_table" columnNames="first_name, last_name"/>
</preConditions>
  • [PR#2339] [nvoxland] [Toukite] The support for running the Liquibase Servlet listener in application servers built on the Jakarta Servlet specification and not the Java Servlet specification. To use the new listener, specify the following tag:
<listener>
    <listener-class>liquibase.integration.servlet.LiquibaseJakartaServletListener</listener-class>
</listener>

The PR fixes issue #2298.

Enhancements

  • [PR#2434] [Balázs Dési] Added the Maven validate goal to maven-liquibase-plugin to provide access to the existing Liquibase validate command and be available not only in CLI, but also in Maven
    For more information, see Maven validate.
  • Added the ability to use sqlcmd on an instance with multiple databases [DAT-9513]
    For more information, see Using the SQLCMD integration and runWith attribute with Liquibase Pro and MSSQL Server.
  • Added support for Liquibase, Spring Boot, and SQL Plus run with Kerberos [DAT-9409]
    For more information, see Using Liquibase and Spring Boot with SQL Plus and Kerberos Authentication.
  • [PR#2561] [Wesley Willard] Added the --schemas argument to the snapshot command to be able to compare a multi-schema database to its snapshot [DAT-9433]
  • [PR#2606] [Wesley Willard] Added a best practice message for the generate-changelog command so that you can check if the splitStatements attribute works for your environment when generating formatted SQL changelogs [DAT-9327]
  • Added the StripComments attribute for the SQLUserDefinedPatternCheck quality check to choose the code that the SQLUserDefinedPatternCheck searches, including the option for the commented code. The StripComments attribute strips comments from SQL before searching for the string. The default value is N (no). [DAT-9098]
  • [PR#2273] [Tsvi Zandany] Added the autocomplete option for quality checks commands running on macOS

Fixes

  • [PR#2542] [nvoxland] Fixed the --should-snapshot-data CLI parameter to be preserved when the --data-output-directory property is not specified in the command
  • [PR#2330] [Inane Mohammed] Fixed the issue with checking the referenceSnapshot parameter instead of referenceDatabase for the potential null value
  • [PR#2521] [Steven Massaro] Added a label, context, and comment to the example-changelog.sql file that comes with the Liquibase installation package [DAT-9325]
  • [PR#2556] [nvoxland] Fixed the CockroachDB processes so that Liquibase checks the URL first rather than proceeding with SQL calls
  • [PR#2569] [Clarence Dimitri CHARLES] Made FormattedSqlChangeLogParser to be reusable for extensions
  • [PR#2377] [devorgpl] Fixed the issue with updating statements when the onlyUpdate attribute is false in the loadUpdateData Change Type for HSQL
  • [PR#1908] [Emiliano Capoccia] Fixed the issue with retrieving the CockroachDB version. As part of the fix, Liquibase generates version-specific autoincrement SQL statements for CockroachDB identity columns:
    • SMALLSERIAL, SERIAL, and BIGSERIAL for versions earlier than 21.2
    • GENERATED BY DEFAULT AS IDENTITY for version 21.2 or later
  • [PR#2135] [PR#2133] [Saucistophe] [mkobylarz] Fixed the issue with the endDelimiter attribute not being respected during the Liquibase update. The fix for endDelimiter does not break the handling of trailing comments in SQL statements. [LB-2186]
  • [PR#2573] [nvoxland] Fixed the quoting for the MANIFEST.MF file for correct versioning
  • [PR#2572] [Steven Massaro] Fixed the issue with generating changelogs for PostgreSQL columns that use SET DEFAULT [DAT-8779]
  • [PR#2589] [nvoxland] [Marcel Blonk] Fixed the MD5 checksums generated by older versions of Liquibase to be correctly updated in the DATABASECHANGELOG table when a more recent version of Liquibase executes against the database. The PR fixes issue #2580.
  • [PR#2592] [nvoxland] Added support for the double precision type in MySQL. The PR fixes issue #2337.
  • [PR#1894] [KushnirykOleh] Fixed the time data type to be precise for PostgreSQL. The PR fixes issue #1774.
  • [PR#2387] [Jenson3210] Fixed the handling of date and time in the loadData Change Type
  • [PR#2566] [nvoxland] Updated OpenCSV from 5.5.2 to 5.6

Full Changelog: v4.8.0...v4.9.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.8.0

22 Feb 16:50
Compare
Choose a tag to compare

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: 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

21 Jan 17:48
Compare
Choose a tag to compare

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: 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!