September 21, 2016

Liquibase 3.5.2 Released

Bugfix release Liquibase 3.5.2 is now available from and through the Maven repositories.

Highlights include:

  • Formatted SQL added rollbackSplitStatements and rollbackEndDelimiter changeSet attributes
  • Fixes for running in Spring boot 1.4.0
  • Performance improvements
  • More consistent use of the character encoding set with the liquibase.file.encoding system property
  • Improvements in support for clustered primary keys
  • Improved BINARY data type handling
  • Upgraded to SnakeYAML 1.17

Full changelog:

  • [CORE-1863] - PostgreSQL blob is mapped to bytea instead of oid
  • [CORE-2693] - Postgresql dropAll with serial columns fails because tables are dropped then sequences which no longer exist
  • [CORE-2698] - Oracle scripts with ending / are not actually getting executed even with splitStatements="false"
  • [CORE-2752] - Jtds has silent exceptions in db.getConnectionSchemaName
  • [CORE-2753] - defaultValueSequenceNext forgets schema name
  • [CORE-2754] - update table columns are not quoted when requested
  • [CORE-2756] - Null pointer exception from FileSystemResourceAccessor
  • [CORE-2757] - Databasechangelog ORDEREXECUTED and DEPLOYMENT_ID not updated when a changeSet is reran
  • [CORE-2758] – Debian package shouldn’t symlink liquibase binary to absolute path
  • [CORE-2761] - 3.5.1: includeAll from the command line uses the absolute path as the changeSet path
  • [CORE-2763] - Postgresql schemas should default to lower case
  • [CORE-2765] - dbms in preConditions yaml changelog causes parsing error
  • [CORE-2770] – Can’t read remarks from mssql 2000
  • [CORE-2774] – Can’t read all columns from mssql2000
  • [CORE-2775] – Oracle Sequences not Generated in generateChangeLog after 3.4.1
  • [CORE-2778] – Sybase ASE: Incorrect syntax near the keyword ‘ALTER’
  • [CORE-2780] – java.sql.SQLException: PooledConnection has already been closed
  • [CORE-2781] – DB2: custom-generated indexes for primary keys are not preserved in diff/generateChangeLog
  • [CORE-2784] – REGRESSION: Column creation of type ‘TIMESTAMP WITHOUT TIMEZONE’ fails on PostgreSQL
  • [CORE-2786] - Incorrect xml scheme for changlog file
  • [CORE-2787] - YAML Snapshot parser not handling strings that get stored as binary
  • [CORE-2789] – Postgres does not have a type “BINARY”
  • [CORE-2791] - Strip off trailing end delimiter in createProcedure on update, include on updateSql
  • [CORE-2793] - using property as startWith attribute
  • [CORE-2794] - Make CSV files created by Liquibase readable by Liquibase
  • [CORE-2795] - Fix a NullPointerException in DiffToChangeLog.sortMissingObjects
  • [CORE-2804] - defaultValueSequenceNext forgets schema name H2/PG/etc
  • [CORE-2805] - Multiple calls to generateChecksum() impacting deploy performance
  • [CORE-2806] – JsonSnapshotParser does not close stream after parsing
  • [CORE-2807] – Column data type “real” incorrectly translated to “double precision” for PostgreSQL, should be “real”
  • [CORE-2810] – defaultValueBoolean=”false” generates wrong SQL for MySQL
  • [CORE-2811] – FileSystemResourceAccessor basepath/includeAll
  • [CORE-2813] - java.lang.NullPointerException when creating new ClassLoaderResourceAccessor();
  • [CORE-2814] - DB2: Quoting strategy not respected, objects are always saved as upper case
  • [CORE-2815] - Rollback by tag doesn�t roll back tagDatabase changeSet
  • [CORE-2816] - Snapshot error when snapshotting an index or primary key against a case-sensitive column
  • [CORE-2818] - DEPLOYMENT_ID not created for Sybase in DATABASECHANGELOG, liquibase 3.5.1
  • [CORE-2819] - AbstractJdbcData getConnectionSchemaName() methods fails for Sybase
  • [CORE-2823] - DROP PRIMARY KEY fails for Sybase database update
  • [CORE-2827] - MSSQL: misc default value fixes
  • [CORE-2828] - MSSQL not capturing that primary key are non-clustered in generateChangeLog
  • [CORE-2830] - GenerateChangeLog does not handle tables with compound primary keys
  • [CORE-2831] - MySql BIT(1) defaultValue not snapshotted as Boolean
  • [CORE-2835] – GenerateChangeLog doesn’t correctly “numeric DEFAULT ‘” “ columns
  • [CORE-2836] – addAutoIncrement generates inconsistent sequence name for mixed-case table
  • [CORE-2837] – addAutoIncrement doesn’t apply default schema in nextval call (PostgreSQL)
  • [CORE-2838] – createProcedure schema in the changelog is overwritten by defaultSchemaName
  • [CORE-2840] – MSSQL createProcedure for CREATE MERGE AS procedures need a trailing semicolon
  • [CORE-2843] - Sql wrong lexical analysis for string literals - escaped single quotes are misparsed
  • [CORE-2846] - DATABASECHANGELOG table query failed on postgres on first run
  • [CORE-2849] - Fail to execute with sequences
  • [CORE-2853] – Diff comparisions reporting differences between ‘0.0’ and ‘0’ in decimals
  • [CORE-2863] – Issue with Spring boot 1.4.0
  • [CORE-2864] – Regression for defaultSchemaName on MSSQL
  • [CORE-2867] – liquibase with MySQL raises exception “Table ‘DATABASECHANGELOG’ already exists” when using separate liquibase schema
  • [CORE-2868] - Adds schema/username to package and package body in oracle making them invalid
  • [CORE-2869] – Without a specified classpath, using includeAll with relativeToChangelogFile=”true” fails
  • [CORE-2872] – “ON DELETE” not supported for FK constraints in Sybase
  • [CORE-2876] – Issue with Spring boot 1.4.0 Repackaged
  • [CORE-2878] - MSSQL setTableRemarks limited to 200 chars
  • [CORE-2881] - DiffChangeLog unnecessarily includes referenceTableCatalogName attribute if comparing Schema with different names
  • [CORE-2885] - AddColumn with defaultValueSequenceNext generated incorrect SQL for PostgreSQL
  • [CORE-2788] - handle VARBINARY type in Oracle and H2
  • [CORE-2800] - Add flag to diff command that suppresses reporting of column order difference in tables
  • [CORE-1984] - Support for non-split rollback statements in Formatted SQL
  • [CORE-2768] - Have the .deb and .rpm part of the release on github
  • [CORE-2782] - Update SnakeYAML version to 1.17
  • [CORE-2801] - Add method to Logger to allow closing of the output file stream
  • [CORE-2844] - Traverse parent changelogs for rollbacks
  • [CORE-2848] - Oracle: primary keys that use a pre-existing index drop the index along with the primary key on rollback
  • [CORE-2852] - Postgresql snapshots not correctly handling serial-backing sequences
  • [CORE-2857] - Support clustered primary keys in postgresql
  • [CORE-2873] - Postgresql custom types are snapshotted as having length 2147483647
  • [CORE-2874] - Ensure consistent charset encoding usage

Issue Tracker

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text




Nathan Voxland
Nathan Voxland
Share on: