v4.5.0
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 checksliquibase checks run
to run the available quality checks- along with
enable
,disable
,customize
,copy
,reset
, anddelete 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:
- Contribute code - https://www.liquibase.org/development/contribute.html
- Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
- Help by asking and answering questions -- https://forum.liquibase.org
- Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback