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. #1885dertin
The sqlFile and relativeToChangelogFile attributes fail when using the logicalFilePath attribute #1277darkcamper
The wrong path received if relativeToChangelogFile=true and databaseChangeLog has logicalFilePath != PhisicalFilePath#1353kezhevatov
Bugfixes
Added a separate query for DB2 on AS400, which fixed the dropAll command on DB2 for iSeries #1412wardvijf
Fixed the logicalFilePath attribute not being serialized #1471tms-91
Fixed the SqlParser bug related to parsing UTF-8 valid symbols #1513matteoturra
Fixed the invalid update SQL generated for HSQL database in InsertOrUpdateGeneratorHsql.java#1563devorgpl
Added a validation error when the customChange Change Type has no name attribute #1592danielthegray
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. #1875koushikd02
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#1878jocmer-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 #1515jasonwjones
Added the ability to handle empty lines at the beginning of a formatted SQL #1713smith-xyz
Fixed loading the CLOB data into PostgreSQL. Instead of loading the CLOB file name, PostgreSQL loads the content of the CLOB file. #1791jidma
Changed the MD5SUM column value from RawSqlStatement to UpdateStatement#1602biryukovpavel
Fixed synchronization in ChangeLogHistoryServiceFactory.java#1361Olard
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/.
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:
Do not worry about FileSystemAlreadyExistsException errors #1885
The sqlFile and relativeToChangelogFile attributes fail when using the logicalFilePath attribute #1277
The wrong path received if relativeToChangelogFile=true and databaseChangeLog has logicalFilePath != PhisicalFilePath #1353
Added a separate query for DB2 on AS400, which fixed the dropAll command on DB2 for iSeries #1412
Fixed the logicalFilePath attribute not being serialized #1471
Fixed the SqlParser bug related to parsing UTF-8 valid symbols #1513
Fixed the invalid update SQL generated for HSQL database in InsertOrUpdateGeneratorHsql.java #1563
Added a validation error when the customChange Change Type has no name attribute #1592
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
Fixed the issue with escaping question marks in PostgreSQL: #1877
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
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
Added the ability to handle empty lines at the beginning of a formatted SQL #1713
Fixed loading the CLOB data into PostgreSQL. Instead of loading the CLOB file name, PostgreSQL loads the content of the CLOB file. #1791
Changed the MD5SUM column value from RawSqlStatement to UpdateStatement #1602
Fixed synchronization in ChangeLogHistoryServiceFactory.java #1361
Enabled the dropAll report to work with a registered changelog with no extra arguments and send the information to Liquibase Hub
Renamed the tablespaceName parameter to liquibaseTablespaceName
Changed from RawSqlStatement to UpdateStatement #1602
Fix synchronization in ChangeLogHistoryServiceFactory.java #1361
[PRO] 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]
Changes in version 4.4.2 (2021.07.22)
Changed NullPointerException to ChangeLogParseException for the output when there is a typo in a changeSet node (#1593)
Added the support method to DatabaseConnection (#1784)
Fixed the issue with handling serial and bigserial if liquibase.convertDataTypes=false (#1883)
Improved the ConfigurationValueProvider performance (#1952)
Added the ability to allow an empty string for the defaultValue attribute (#1963)
Reintroduced support for the - arguments in the CLI (#1943)
Restored the updateTestingRollback command (#1939)
Added the Maven goal for unexpectedChangeSets (#1972)
Extended the dropAll command with optional hubConnectionId and hubProjectId attributes. For more information, check our [dropAll command]documentation.
Fixed nested properties and the substitution of variables in YML changelogs.
Implemented the ability to use connectionjdbcurl when there is no project or connection ID with the dropAll command.
Improved the Liquibase Pro License key messaging.
Added the ability to handle a declined auto-registration when running the dropAll command.
Fixed auto-registration issues.
[PRO] Added the ability to handle special characters in procedures when using the generateChangeLog command.
[PRO] Fixed the issue with formatted SQL changesets and runwith:sqlplus being stopped unless Liquibase includes a quit statement.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps liquibase-maven-plugin from 3.6.3 to 4.4.3.
Release notes
Sourced from liquibase-maven-plugin's releases.
... (truncated)
Changelog
Sourced from liquibase-maven-plugin's changelog.
... (truncated)
Commits
c027091
Added 4.4.3 release notes86403d3
Merge pull request #1999 from liquibase/DAT-7676cbbf068
Merge pull request #1602 from biryukovpavel/masterb85c57c
Merge pull request #1361 from Olard/patch-29d05d0d
Merge pull request #1994 from liquibase/DAT-76279f86cd0
Merge pull request #2017 from liquibase/DAT-48944afccd9
DAT-4894;update oracle changelog file and grants in roles.sql to make test wo...602049d
Merge pull request #1713 from smith-xyz/empty-line-issue-sqlaf6294f
Merge pull request #1791 from jidma/fix-loading-clob05a44de
Merge pull request #1515 from jasonwjones/mysql-reserved-word-updateDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)