Liquibase 3.2 Extension Upgrade Guide

For must Liquibase end users, Liquibase 3.2 is a drop-in replacement for Liquibase 3.1 version.

For developers of Liquibase extensions, there has been some Java API changes that may impact your code.

Updates to UTF-8 handling

Use of UTF-8 has been made more consistent. This may affect some stored checksums if using non-ASCII characters. If you run into checksum issues, you can use the <validCheckSum> tag to mark both as valid or set the md5sum column to null in your databases to have it updated.

New liquibase.change.Change.checkStatus(Database) method

There is a new checkStatus(Database) method added to the Change interface which is used to validate that the change successfully ran against the given database. The AbstractChange base class implements it to throw a "not implemented" exception which will be fine in most cases currently, but will be used in future releases.

Major changes to ResourceAccessor

The liquibase.resource.ResourceAccessor interface was changed to better encapsulate file access logic. See the new javadoc for more information

Parsing and serialization logic

The XML, YAML, and JSON ChangeLogParsers were changed along with many other serializable classes. A new liquibase.parser.core.ParsedNode class was added as an intermediary format.