Liquibase Core Changelog =========================================== Changes in version 4.1.1 (2020.10.09) - GH #1276 Rewrote SpringResourceAccessor - GH PR#1285 Remove deprecated code in Ant tasks - GH PR#1286 Fix usage of AntTaskLogger - GH #1097 diffChangeLog overwrites first changeset in formatted sql changelog Changes in version 3.10.3 (2020.10.09) - GH PR#912 - CORE-3379 escaping postgres questionmark operators to prevent unwanted parameter syntax - GH PR#936 - SpringLiquibase createResourceOpener() now returns a ResourceAccessor, which allows it to be overridden with any kind of ResourceAccessor - GH PR#983 - Fixes for loadData to support Postgres enums with java.sql.Types.OTHER - GH PR#1010 - Potential fix for generated columns on postgres - GH PR#1258 - Reduced the verbosity of logging by moving SQL logging from info to debug logging - GH PR#1239 - Fix xsd, remove surplus space after validateForeignKey - GH PR#1296 - Put the banner in an external file for easier editing. - GH PR#1327 - Fix varchar(max) extrainfo in 3.10 branch - GH PR#1406 - Fixed integration tests for 983 - GH PR#781 - feat: Maven Liquibase Plugin generateChangeLog mysql sql comment supported - GH PR#945 - [CORE-3523] Consistently map Liquibase integer types to Oracle integer types. MERGED THEN UNMERGED - GH PR#1140 - fix root paths for spring boot fat jar - GH PR#1332 - Update FileSystemResourceAccessor.java - GH PR#1372 - Fix for PR 1001 in 3.10.x branch - Fixed priority for JDBC Connections - GH PR#1140 - Added json and sql to the list - GH PR#1418 - Revert "[CORE-3523] Consistently map Liquibase integer types to Oracle integer types" UNMERGE 945 - GH PR#1422 - Updates for #1081 in 3.10.x - GH PR#1431 - Fix merge issue in OracleDatabase - GH PR#1443 - Handle MSSQL computed columns in generate changelog LB-366 - GH PR#1447 - Do not use batched statements for Postgres LoadDataChange LB-744 - Fixed schema version number for 3.10 Changes in version 4.1.0 (2020.9.28) - Added support for hub.liquibase.com to CLI and Maven integrations - New registerChangeLog command - New syncHub command - Added hubApiKey argument - Added hubConnectionId argument - CLI commands and arguments are now case insensitive - Includes changes from 3.10.2 Changes in version 3.10.2 (2020.7.27) - Dependency cycle error during generateChangeLog with --diffTypes=tables,columns,data - liquibase maven:: unable to run tests on java > 8 - Add Banner in log out put that directs users to online resources. - GH PR#980 - fixed invalid carriage return coming from oracle ojdbc8 12.2.0.1 - GH PR#976 - Changes databasechangelog sql to use legacy mode - [CORE-3525] Add support for java.sql.Types.TIMESTAMP_WITH_TIMEZONE. - GH PR#929 - Fix #CORE-3493 Inconsistent resolution of ChangeLogParameters in liqu… - GH PR#744 - Informix data type generation with Default Value cause - GH PR#1176 - Add MariaDB sequence support to the 3.10.x branch - GH PR#1177 - CORE-3643: fixed the 'shouldValidateX' methods in the Constraints - GH PR#1201 - H2 unknown reserved word Changes in version 4.0.0 (2020.07.14) - No changes since 4.0.0 beta2 Changes in version 4.0.0 Beta2 (2020.07.1) - Re-introduced deprecated versions of commonly used 3.x methods that had been removed for 4.0 - Fix to handle --logLevel=debug/fine CLI argument - Do not include root filesystem in default CLI search paths Changes in version 3.10.1 (2020.7.2) - GH PR#913 - [CORE-3471] Fixed NPE in LiquibaseUtil when MANIFEST.MF doesn't contain Bundle-Version or Build-Time - GH PR#917 - [Core 3463] Fix for validateX attributes of constraintsConfig - GH PR#919 - Fixed issued with bundling in shaded jars - GH PR#941 - [CORE-3520] Add support for ALWAYS generation type with PostgreSQL auto-increment column. - GH PR#946 - [CORE-3524] Prevent auto-increment column silently failing on Oracle. - GH PR#949 - [CORE-3526] TABLE is a reserved keyword in H2database since 1.4.197 - GH PR#963 - [CORE-3556] No default values for changes' properties - GH PR#965 - [CORE-3558] Unique constraint name is ignored when using the addColumn change - GH PR#970 - Fix Java 1.9+ versions require jaxb as separate dependency - GH PR#971 - Add Class-Path entry to the manifest file to simplify command line execution - GH PR#975 - NULL date value in prepared statement requires type in MSSQL - GH PR#986 - XMLSerializer: Correct Map value serialization - GH PR#993 - Improve ChangeFactory initialization time - GH Issue#1035 - Change how Liquibase produces debug logs - GH Issue#1051 - Update liquibase-core.jar to exclude ServiceLoader files - GH PR#1053 - Update liquibase_autocomplete.shape - GH PR#1059 - Allow multiple column unique constraints on table creation. - GH Issue#1069 - Patch Liquibase Runner plugin for Jenkins - GH Issue#1070 - Enable --help without databse connection - GH PR#1082 - Correct include bash script - GH PR#1096 - Fix sequence statement generation for PostgreSQL <= 9.4 - GH Issue#1104 - Fix maven-liquibase offline diff to prevent errors - GH Issue#1113 - Fix schema name using "--defaultSchemaName" on a non-default schema - GH PR#1120 - LiquibaseServletListener.contextInitialized() improved with Embedded Derby - GH Issue#1220 - Fix how JAVA_HOME env variable is handled Changes in version 3.10.0 (2020.6.12) - [Pro] Built-in runWith="sqlplus" - New "runWith" changeSet extension point - Added liquibase_autocomplete_mac.bash completion script Changes in version 3.9.0 (2020.5.13) - [Pro] New ""--format=json" argument for diff command Changes in version 4.0.0 Beta1 (2020.4.20) - MAJOR CHANGE: Replaced old custom classpath scanner with java.util.ServiceLoader for finding extensions - MAJOR CHANGE: Refactored logging system to clean up API and use java.util.Logging - Fixes to ConstraintsConfig https://github.com/liquibase/liquibase/pull/954 - ignoreLines command in formatted sql log https://github.com/liquibase/liquibase/pull/877 - postgresql >= 10: use identity columns for autoincrement https://github.com/liquibase/liquibase/pull/874 - Using proxy user for Oracle Connections https://github.com/liquibase/liquibase/pull/894 - Capture table remarks on mysql https://github.com/liquibase/liquibase/pull/895 - Add PERIOD to reserved words for MariaDB https://github.com/liquibase/liquibase/pull/896 - Don't require columnDataType on H2 for addNotNullConstraint https://github.com/liquibase/liquibase/pull/851 - Do not remove trailing /'s of comments like /* dsds */ https://github.com/liquibase/liquibase/pull/853 - Require type xsd:string to where element of update element https://github.com/liquibase/liquibase/pull/875/files - runOnChange change set runs every time even if there wasn't changed https://github.com/liquibase/liquibase/pull/891 - Indexes with DESC sorting are not created for PostgreSQL https://github.com/liquibase/liquibase/pull/880 - Added Ingress support https://github.com/liquibase/liquibase/pull/683 - Support boolean in firebird 3.0 https://github.com/liquibase/liquibase/pull/757 - Change Log Parameters from Environment Variable https://github.com/liquibase/liquibase/pull/758 - Adds clearCheckSums property in spring integration https://github.com/liquibase/liquibase/pull/792 - Oracle datatype translation changes https://github.com/liquibase/liquibase/pull/797 - Implement Sequence Support for MariaDB https://github.com/liquibase/liquibase/pull/852 - Cleanup checksum classes https://github.com/liquibase/liquibase/pull/869 - Fix Turkish uppercase column keys bug https://github.com/liquibase/liquibase/pull/857 - Generate diff with onDelete and onUpdate https://github.com/liquibase/liquibase/pull/858 - PrimaryKeySnapshotGenerator throws NPE for SQLite https://github.com/liquibase/liquibase/pull/856 - Handle java.sql.Time when setting prepared statement parameter values in CSV filese https://github.com/liquibase/liquibase/pull/859 - DB2 LUW supports boolean data type column from version 11.1.1.1 https://github.com/liquibase/liquibase/pull/865 - Offline history support not correctly closing files https://github.com/liquibase/liquibase/pull/863 - Use computeIfAbsent to avoid Liquibase concurrency issues https://github.com/liquibase/liquibase/pull/866 - Firebird does not support RESTRICT option on Foreign Keys https://github.com/liquibase/liquibase/pull/761 - Liquibase was ignoring DatabaseFunction value and processing only SequenceNextValueFunction when creating tables and generating column default value. https://github.com/liquibase/liquibase/pull/785 - Restore usage of `DatabaseList.definitionMatches` to match the `dbms` tag against the database type https://github.com/liquibase/liquibase/pull/811 - DEPLOYMENT_ID column header not included in offline updateSql CSV https://github.com/liquibase/liquibase/pull/813 - Can't set some parameters for snapshot & generate changelog https://github.com/liquibase/liquibase/pull/822 - UUID type handling improvements https://github.com/liquibase/liquibase/pull/838 - Correctly close yaml file in generateChagneLog https://github.com/liquibase/liquibase/pull/844 - Adding restricted words for MSSQL Server Database https://github.com/liquibase/liquibase/pull/825 - Getting a java.io.FileNotFoundException using Liquibase with Spring reactive web https://github.com/liquibase/liquibase/pull/814 - FileSystemResourceAccessor fails with non-hierarchical URLS on classpath https://github.com/liquibase/liquibase/pull/830 - fix oracle date literal without millis https://github.com/liquibase/liquibase/pull/828 - fix nullPointerException when migrating RedShift https://github.com/liquibase/liquibase/pull/823 - Prints the SQL error code on Exception https://github.com/liquibase/liquibase/pull/833 - Fixed SetColumnRemarks for mysql https://github.com/liquibase/liquibase/pull/835 - Allow “NOW” and “Today” literal capabilities in CSV filese https://github.com/liquibase/liquibase/pull/808 - Add ability to disable running of Liquibase via CDILiquibaseConfig https://github.com/liquibase/liquibase/pull/804 Changes in version 3.8.9 (2020.4.06) - Fixed an issue with how Liquibase handles SMALLINT columns in PostgreSQL when generating a changelog. - Improved `generateChangeLog` command to assume a `diffTypes` that includes "data" when the `dataOutputDirectory` parameter is used. Most users looking to export data as part of `generateChangeLog` can now simply use the `dataOuputDirectory` parameter without needing to specify `diffTypes`. - Enabled the use of the `--schemas` parameter to work on either side of the `snapshot` command. - Enabled `generatechangelog` in PostgreSQL to correctly order `create`, `function`, and `trigger` statements. - Improved the use of dblink objects when using `diff` command. Changes in version 3.8.8 (2020.3.19) - `rollbackOneChangeSetSQL` now works correctly with the Liquibase Maven plugin. - Liquibase Pro no longer generates procedural code with incorrect SQL syntax when running `generateChangeLog` against a MySQL database. Changes in version 3.8.7 (2020.2.21) - New liquibase history command - [Pro] New liquibase rollbackOneUpdate command - PR#927 CompositeClassLoader does not implement getResource(String) - `liquibase --help` was improved to include missing commands and correct information Changes in version 3.8.6 (2020.2.6) - New graphical installer for Windows and Mac - New examples directory with sample xml and sql changelogs and test h2 database - [Pro] New RollbackOneChangeSet and RollbackOneChangeSetSQL commands - Updated default Mysql driver to com.mysql.cj.jdbc.Driver - Removed non-jdbc compatible "SET DEFINE OFF" from generated SQL on Oracle - Fixed --excludeObjects/--includeObjects arguments in diff Changes in version 3.8.5 (2020.1.13) - Fixes issue in which Liquibase did not add `DESC` to an `id` column - CLI once again accepts sqlFile, delimiter, rollbackScript, and outputSchemaAs arguments - Fixes Stored Procedure whitespace impacting update calls - Fixes generateChangelog failure when there are missing NOT NULL constraints. - Fixes updateSQL, which was not including schemaName for package bodies. - Fixes bug in which Liquibase was not always capturing `create package body` while generating changeLog - Liquibase CLI now gives a more useful error message when an invalid character is passed to a command. - Fixes an MSSQL issue, which threw an exception when doing diff/diffChangeLog between offline connections (such as when snapshotting json files) - Fixes an MSSQL issue, which incorrectly generated `datetime` data type column when using`diff` & `diffChangeLog` - Liquibase Maven plugin fails while executing/using "diff" and "generateChangeLog" with PostgreSQL) Changes in version 3.8.4 (2019.12.23) - Fixed a 'Class not Found' exception error when using Java +9. - Fixed a 'Cannot Use Default Schema Name' error when users diff against an SQL Server snapshot file. - Fixed an 'Unexpected type: java.util.Date' error when using a defaultValueDate attribute in a YAML changelog. Changes in version 3.8.3 (2019.12.19) - Liquibase-Maven plugin now works with Java 9+. - Expired license messages should be far less verbose and excitable. Changes in version 3.8.2 (2019.11.26) - Pro stored logic snapshot logic now supports postgresql and db2 - Using generateChangeLog/diffChangeLog to generate formatted sql changelogs now works with Liquibase Pro's stored logic support - CDI-related classes moved back out of the main liquibase jar into an optional jar - Fixed issue with indexes backing foreign keys not always being caputured in diffChangeLog/generateChangeLog - Fixed issue with diffChangeLog/generateChangeLog generating primary keys when column order doesn't match the table's column order Changes in version 3.8.1 (2019.11.5) - [PRO] Oracle and SQL Server users can now reverse engineer database changes for stored logic such as triggers, functions & procedures using generateChangeLog, snapshot, diff, and diffChangeLog commands. - diff command writes to an external file using --outputFile flag - updateSQL command no longer outputs to liquibase.log - Cleaned up unexpected entries in diffchangelog.xml for SQL Server Changes in version 3.8.0 (2019.8.16) - [CORE-3462] - Add new procedural database code change types for Liquibase Pro Changes in version 3.7.0 (2019.7.16) - [CORE-3303] - Allow disabling shouldRun configuration via CDI integration - [CORE-3388] - DB2 LUW supports boolean data type column from version 11.1.1.1 - [CORE-3400] - add "manifoldclass:" to list of skipped URL protocols in DefaultPackageScanClassResolver - [CORE-2377] - Using replaceIfExists with generates DROP statements - [CORE-2971] - Comments at end of statements are incorrectly parsed - [CORE-3124] - Indexes with DESC sorting are not created for PostgreSQL - [CORE-3159] - class cast exception when running command line - [CORE-3174] - Plugin does not create parent directory - [CORE-3211] - Firebird does not support RESTRICT option on Foreign Keys - [CORE-3251] - SQL Server Changesets Not Escaping Keywords - [CORE-3365] - PrimaryKeySnapshotGenerator throws NPE for SQLite - [CORE-3375] - addNotNullConstraint on h2 still requires (unused) columnDataType - [CORE-3386] - includeAll can't resolve relativeToChangelogFile path within a jar file - [CORE-3437] - MariaDB 10.3.4+ problem with add column PERIOD - [CORE-2235] - Support priority-based selection of Precondition implementation - [CORE-3205] - Change Log Parameters from Environment Variable Changes in version 3.6.3 (2019.1.29) - [CORE-3100] - diff with uppercase reference database name - [CORE-3141] - ForeignKeySnapshotGenerator broken with recent SQL Server driver - [CORE-3192] - Error while including resources with includeAll directive - [CORE-3221] - Parsing valueDate Attribute of column Tag leads to precision loss and generating SQL for Oracle DB is broken - [CORE-3222] - Bin zip doesn't work due to missing slf4j-api JAR - [CORE-3231] - NPE in LogService.pushContext for MDCs that don't allow null values - [CORE-3242] - MS SQL Server 2008 support issue - [CORE-3256] - Verbose flag not getting interperated during 'status' command. - [CORE-3293] - Non global change log parameters are wrongly resolved in inner files - [CORE-3296] - CommandLineUtils::getBanner fails if manifest entries are missing - [CORE-3335] - Not possible to register/unregister SqlGenerators during execution of changeSet - [CORE-3348] - MSSQLDatabase class has a bug when connecting to SQL Server 2008 databases Changes in version 3.6.2 (2018.06.30) - [CORE-3129] - PostgreSQL dropPrimaryKey with objectQuotingStrategy="QUOTE_ALL_OBJECTS" - [CORE-3206] - Liquibase 3.6.x is binary api-incompatible with 3.5.x - [CORE-3213] - Changelog with includeAll will not find child changelogs in multi-modules Spring Boot's executable JAR - [CORE-3229] - Oracle 11g doesn't support TIMESTAMP WITHOUT TIME ZONE data type Changes in version 3.6.1 (2018.04.11) - [CORE-3200] - Wrong SQL generator is selected - [CORE-3201] - Command line missing required dependencies in 3.6.0 tarball - [CORE-3198] - Configuration option to prefer internal XSD usage Changes in version 3.6.0 (2018.04.5) - [CORE-1609] - Command Prompt: Can't connect to database with a special character in pwd - [CORE-1852] - checksums depend on environment - [CORE-1888] - Sybase error for TINYINT, INT, BIGINT: Can't specify a length, scale or storage property on type 'int/tinyint/bigint'. - [CORE-2008] - H2 Supports minValue and maxValue in Sequences since Version 1.3.175, but Liquibase does not - [CORE-2033] - NPE during Diff when case sensitive table missing - [CORE-2135] - liquibase corrupting UTF-8 changesets - [CORE-2162] - MSSQL: Multiple inserts in sqlFile do not fail as expected - [CORE-2191] - Update on SQL Azure database fails due to unavailable sys.extended_properties - [CORE-2527] - Sybase create table fails because column name is too long - [CORE-2631] - dbdoc does not specify content type - [CORE-2739] - --delimiter parameter in liquibase --help - [CORE-2747] - CreateView / Oracle: Keyword REPLACE in view definition prohibits "or replace" in DDL statement - [CORE-2772] - primaryKeyExists check fails on Turkish locale for some chars - [CORE-2773] - DB2 AS/400 - generateChangeLog throwing Exception - [CORE-2796] - Handle TimeStamps with nano second precision correctly - [CORE-2797] - Determine the DB2 data server type correctly - [CORE-2820] - Unsupported ReorganizeTable for DB2 z/OS causes changelog validation to fail - [CORE-2821] - AddForeignKey statement generates incorrect SQL for DB2 z/OS - [CORE-2826] - indexExists precondition fails on AS400 + JDBCDatabaseSnapshot/Snapshot generator code is not coded generically? - [CORE-2843] - Sql wrong lexical analysis for string literals - escaped single quotes are misparsed - [CORE-2875] - UTF-8 character not understood - [CORE-2894] - Oracle snapshot not detecting custom datatypes in different schemas - [CORE-2909] - column remarks for mysql should be escaped - [CORE-2911] - Oracle: generateChangeLog on RAW types not including the size param - [CORE-2928] - Invalid snapshot of "duplicate" foreign keys - [CORE-2929] - Views with definitions that start with a comment are not captured correctly in generateChangeLog - [CORE-2940] - Do not print warning when DBA_RECYCLEBIN is not available - [CORE-2944] - outputDefaultSchema and outputDefaultCatalog command line parameters not respected - [CORE-2953] - update with valueSequenceNext and schema produces wrong SQL on oracle - [CORE-2965] - Custom Properties XML Changelog - [CORE-2992] - liquibase.util.grammar.TokenMgrError: Lexical error at line 1, column 71. Encountered: "\u00b4" (180), after : "" - [CORE-2993] - createSequence with order denied on DB2 - [CORE-3002] - SQLAnywhere: Revert Unique Index failed - [CORE-3006] - Oracle CSV-Import: "String index out of range: -1" - [CORE-3009] - SQLAnywhere: Drop Default Value failed - [CORE-3020] - No warning when included file doesn't exist (missing extension) - [CORE-3033] - typo in postgresql reserverd word - [CORE-3040] - onlyUpdate="true" flag generates empty statements for MySQL DB - [CORE-3046] - Fix faulty snakeyaml class-path entry after upgrade to 1.17 - [CORE-3051] - SQLAnywhere: Drop Table does not support CASCADE - [CORE-3054] - SQLAnywhere: java-coredump on changeSet-SQL - [CORE-3055] - SQLAnywhere: supports Sequences - [CORE-3063] - Integration tests failing on master - [CORE-3069] - Checksum: line endings not standardized on windows if multiple lines - [CORE-3072] - Add usePreparedStatements="true|false" flag to loadData - [CORE-3076] - SUM is not reserved word for HsqlDB - [CORE-3099] - Non English environment; invalid tablename and column name can be generated because of toUpperCase toLowerCase method which is dependent to locale in java - [CORE-3101] - dropPrimaryKey TABLE_SCHEMA = 'null' - [CORE-3106] - SQLAnywhere: DROP INDEX should use tablename - [CORE-3115] - Prefix space in column type causing the Unknown LiquibaseDataType with the latest release - [CORE-3117] - TIMESTAMP WITH TIME ZONE datatype is changed to TIMESTAMP in H2 - [CORE-3119] - Maven failing to use driverPropertiesFile from Liquibase Properties File - [CORE-3135] - Column t1.tgconstrname does not exist - [CORE-3138] - SQLAnywhere: AddAutoIncrement-Statement is wrong - [CORE-3140] - MSSQL2005 doesn't support built-in function original_db_name() - [CORE-3155] - CSV line content behind inline comment character doesn't contribute to checksum - [CORE-3162] - Diff problem with MSSQL case sensitive database - [CORE-3171] - LoadUpdateData doesn't work on SAP SQLAnywhere - [CORE-3180] - A DBMS-specific change set referencing a DBMS-specific rollback can't be parsed on a different DBMS - [CORE-2735] - Add possibility to test rollback with SpringLiquibase - [CORE-1225] - Add support for tablespace assigned to liquibase metadata tables - [CORE-2628] - defaultSchema parameter doesn't do Connection.setCatalog() for SpringLiquibase - [CORE-2842] - MSSQL: Support creating clustered unique constraints - [CORE-2891] - Liquibase "Command" objects can be extended and overridden - [CORE-2919] - Make all variants of Liquibase.listUnrunChangeSets public - [CORE-2952] - Use the clustered index if duplicate indexes are defined - [CORE-2955] - MSSQL: Capture explicit null default values on snapshot and generate/diffChangeLog - [CORE-2970] - MSSQL: Support default value constraint names - [CORE-2977] - Generated primary key constraint name doesn't match Postgres default - [CORE-2985] - MSSQL Snapshot performance improvements - [CORE-3000] - Oracle JDBC batch for load_data - [CORE-3005] - Consideration of DB2/400 system views - [CORE-3017] - Add path attribute to createView - [CORE-3018] - Oracle: support remarks on createView - [CORE-3045] - Support indexes on views - [CORE-3079] - Make includeObjects and excludeObjects affect which objects are snapshotted - [CORE-3094] - HSQLDB UUID support - [CORE-2920] - Using "//" as an endDelimiter stopped working 3.5.0 Changes in version 3.5.5 (2018.02.5) - [CORE-2851] - includeAll tag with a relative path duplicates the database changes with an absolute and with a relative changelog Changes in version 3.5.4 (2018.02.5) - [CORE-2863] - Issue with Spring boot 1.4.0 - 1.4.3 - [CORE-2898] - includeAll broken in 3.5.1 - [CORE-2948] - Changelog with includeAll will not find child changelogs in Spring Boot's executable JAR - [CORE-2978] - AddAutoIncrement on Postgres does not work when no schema is specified - [CORE-3123] - ResourceComparator is not applied for includeAll - [CORE-3139] - ClassLoaderResourceAccessor cannot read jar path resources from SpringLiquibase - [CORE-3015] - Oracle: diffChangeLog TIMESTAMP WITH LOCAL TIME ZONE correctly Changes in version 3.5.3 (2016.10.13) - No changes Changes in version 3.5.2 (2016.09.21) - [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-2785] - Status command inconsistent with databasechangelog table - [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 Changes in version 3.5.1 (2016.05.10) - [CORE-2727] - NPE in DiffToReport.print() method - [CORE-2728] - Classloading broken in 3.5.0 with nested jars - [CORE-2729] - NullPointerException on Diff - [CORE-2731] - diff fails with NullPointerException - [CORE-2732] - releaseLock fails because ObjectQuotingStrategy is reset to LEGACY - [CORE-2733] - relativeToChangelogFile fails with FileSystemResourceAccessor - [CORE-2734] - Liquibase no longer handle newline correctly in endDelimiter when using sqlFile change - [CORE-2743] - CSV whitespace trimmed in 3.5.0 - [CORE-2744] - changeset with loadUpdateData changes checksum in 3.5.0 - [CORE-2745] - Performance degradation of sqlFile change - [CORE-2746] - Oracle: handle case when schema name contains a hyphen - [CORE-2750] - MSSQL catalog/database included all the time Changes in version 3.5.0 (2016.04.21) - New "created" attribute on changeSet - New runOrder="first|last" attribute on changeSet to override where in the changelog it is ran - New "context" attribute on and to control when changelogs are included - Support for AND/OR context expressions in formatted SQL changelogs - Support for changelog parameters in formatted SQL chagnelogs - Improved multi-schema snapshot and comparison - Improved SQL parsing - Performance improvements - Lots of bug fixes - [CORE-155] - Default-context attribute in databaseChangeLog tag - [CORE-575] - foreign key constraint is generated with onUpdate and onDelete restrict - [CORE-910] - Lock is not released if nocount is on for sql server 2008 - [CORE-1166] - Diff doesn't detect 'on delete cascade' statements - [CORE-1447] - Inconsistent line endings in updateSQL produced files - [CORE-1468] - Number / Numeric handling must differ between different database systems - [CORE-1679] - Changelog SQL routines are partially aware of Database quoting strategy - [CORE-1690] - OSGiPackageScanClassResolver does not search extensions in Fragment bundles - [CORE-1836] - Oracle Integer mapping - [CORE-1839] - H2 multicolumn unique constraints - [CORE-1883] - Performance issue with large datamodels - [CORE-1887] - Including the same ChangeSet twice causes ValidationFailedException - [CORE-1897] - stripComments from SQL is trimming quoted string - [CORE-1935] - Formatted SQL generateChangeLog failed - [CORE-1966] - Invalid object name 'INFORMATION_SCHEMA.SEQUENCES' when running generateChangeLog with SQL Azure - [CORE-1985] - constraints tag is missing referencedTableSchemaName - [CORE-2024] - Move SDK to its own module - [CORE-2056] - generateChangeLog generates too many 'constraints' - [CORE-2059] - escapeObjectName has no respect for quotingStrategy QUOTE_ONLY_RESERVED_WORDS on Postgres - [CORE-2184] - diff doesn't write correct Changesets for foreign key constraints with ON DELETE CASCADE - [CORE-2211] - Liquibase tries to execute commented lines in custom SQL file - [CORE-2213] - Liquibase does not support comments in a line after the semicolon - [CORE-2333] - loadData fails with quoted string containing a comma - [CORE-2376] - LiquibaseCatalogName in commandLine not working correctly - [CORE-2438] - DeleteGenerator does not handle parameter names and values with $ or \ properly - [CORE-2456] - includeObjects/excludeObjects not work for UniqueConstraint - [CORE-2474] - dropFirst does not drop objects in not default schemas on Postgres 9+ using sql format with multiple schemas - [CORE-2483] - Liquibase does not delete unzip directories from temporary directory - [CORE-2501] - Derby sequenceCurrentValue Incorrect SQL - [CORE-2502] - Handle single-tag tag on diffChangeLog - [CORE-2504] - NumberFormatException while checking precondition - [CORE-2508] - GlobalConfiguration liquibase.should.run alias is incorrect - [CORE-2512] - Both defautValueComputed and defaultValue included in addColumn diffChangeLog outputs if value is a computed value - [CORE-2513] - DiffChangeLog fixing changed indexes misses "unique" attribute - [CORE-2514] - bad Maven documentation for outputDefaultCatalog and outputDefaultSchema - [CORE-2517] - Foreign key snapshot improvements for DB2 - [CORE-2518] - DB2: snapshot sees DATE types as TIMESTAMP - [CORE-2520] - Spurious warning with includeAll: file is not a recognized file type - [CORE-2521] - addAutoIncrement on Postgres generates invalid SQL when specific schema is used - [CORE-2522] - Derby: support for findForeignKeyConstraints - [CORE-2523] - H2: use "REAL" as datatype for "FLOAT" - [CORE-2524] - MSSQL: need to escape default value constraint names - [CORE-2525] - Error on dropping sequence - [CORE-2526] - Oracle 12: TIMESTAMP(3) not handled - [CORE-2528] - Oracle: improve unique constraint snapshot query performance - [CORE-2529] - MSSQL auto_increment numeric is 1 smaller in generateChangeLog - [CORE-2531] - Wrong type mapping of BINARY type in MySQL, H2, HSQLDB and Postgresql - [CORE-2533] - Poor runtime performance - [CORE-2538] - regenerate maven documentation for liqubase on website - [CORE-2545] - MSSQL: createProcedure fails if replaceIfExists=true and body uses "create proc" rather than "create procedure" - [CORE-2547] - liquibase.database.core.DB2Database - Improper Resource Shutdown or Release - [CORE-2548] - primaryKeyTablespace is ignored in PostgreSQL - [CORE-2550] - Proper handling BINARY type in MySQL and H2 - [CORE-2552] - Oracle performance: fetch view definition along with original view to reduce the number of needed queries - [CORE-2553] - DB2: add ability to disable automatic reorg statements - [CORE-2556] - Cannot execute update code including quoted strings containing semicolons - [CORE-2558] - includeAll incorrectly sorting by including WEB-INF/classes when running in an ear - [CORE-2561] - Add "cycle" attribute to alterSequence - [CORE-2562] - MSSQL: Snapshot errors if table names have single quote marks in them - [CORE-2563] - DiffChangeLog that adds columns does not preserve column order - [CORE-2565] - Escaping of the sequence names with schema generates invalid statements for Oracle DB - [CORE-2581] - mysql update emits incorrect sql for BIT(1) when default specified - [CORE-2587] - Validation not performed before rollback - [CORE-2591] - autoincrement problem with ORA 12c + COMPATIBLE param to 11 - [CORE-2595] - DefaultPackageScanClassResolver fails if "fat" jar has dirs and files with same name - [CORE-2599] - generateChangelog produces incorrect values for binary type - [CORE-2601] - ORDER keyword isn't escaped for Oracle - [CORE-2602] - StackOverflowError generating snapshot - [CORE-2604] - PostgreSQL datatype bit(n) column gives BOOLEAN(n) type for CreateTableChange genearated sql statement - [CORE-2605] - addColumn with multiple columns, does not create the constraints - [CORE-2606] - PostgreSQL : Table creation with datatype smallserial fails. - [CORE-2609] - Liquibase command line fails when using JTDS driver with SSO - [CORE-2611] - Sybase ASE generated table name is wrong. Roll back CORE-2447 - [CORE-2615] - Multi-schema snapshot bugfixes - [CORE-2623] - Oracle: primary keys on tables recovered from recyclebin are not properly snapshotted - [CORE-2624] - MSSQL: better support for user defined types - [CORE-2625] - Diff: should not be case sensitive in column default value functions - [CORE-2629] - SQL syntax doesn't allow commenting indepenrent parts. - [CORE-2632] - Postgres index drop needs schema - [CORE-2635] - Applied changeset not detected - [CORE-2636] - includeAll uses full file path - [CORE-2637] - Creating column with tinyint(1) instead created as default tinyint - [CORE-2641] - runOnChange change set runs every time even if there wasn't changed - [CORE-2642] - Xsd files are not resolved from classpath when resolving from resourceAccessor fails. - [CORE-2643] - loadData - [CORE-2645] - Rollback referencing a change set in current child file cannot be parsed - [CORE-2653] - Liquibase show difference for some UniqueConstraint and Views in SQL SERVER databases but Actually there is NO difference when i compare the SQL scripts manually - [CORE-2660] - Multiple contexts not recognized in formatted SQL when using AND - [CORE-2662] - NumberFormatException with default values of type 'real' in postgresql - [CORE-2663] - New MySQL 5.7.x reserved keywords are not being escaped - [CORE-2664] - createChangeLog has incorrect nesting of constraints in YAML format - [CORE-2666] - InsertSetGenerator hard-codes the InsertGenerator - [CORE-2669] - Impossible to extend BaseLiquibaseTask in a non-deprecated way - [CORE-2670] - Impossible to create table on mssql with remarks containing apostrophes - [CORE-2671] - oracle timestamps with time zone - [CORE-2672] - createSequence with order produces invalid statement on postgresql - [CORE-2673] - includeAll relativeToChangelogFile doesn't work for FileSystemResourceAccessor - [CORE-2674] - LoadUpdateData with onlyUpdate="true" generates invalid statements for Oracle DB - [CORE-2677] - Dropping a postgres index fails - [CORE-2679] - Hibernate diffChangeLog NullPointerException @ MissingPrimaryKeyChangeGenerator.fixMissing(MissingPrimaryKeyChangeGenerator.java:76) - [CORE-2680] - Generating a futureRollbackSql when using "classpath:" prefix doesn't recognise any of the ran change sets. - [CORE-2681] - H2 (automatic mixed mode): createTable: columns remarks ignored - [CORE-2683] - dropAll dropping sequences that have been dropped via earlier cascade - [CORE-2684] - Context is ignored with runOnChange and including file (sqlFile/loadUpdateData) - [CORE-2686] - StandardChangeLogHistoryService.hasDatabaseChangeLogTable value is cached too aggressively - [CORE-2687] - Oracle scripts with ending / are not actually getting executed even with splitStatements="false" - [CORE-2699] - concurrency causes NullPointerException in DatabaseObjectComparatorFactory.getInstance() - [CORE-2705] - diffChangeLog generates dropColumn when dropping an index with a computed column - [CORE-2706] - Two sides of equal are the same - [CORE-2709] - endDelimiter regexp problem - [CORE-2711] - Cannot load CSV via loadData - [CORE-2713] - CreateView disregards replaceIfExists=true when fullDefinition=true - [CORE-2715] - tableExists and columnExists preconditions fail on MySQL - [CORE-2718] - H2 Database should query for default schema instead always use PUBLIC - [CORE-2719] - Oracle: Cannot snapshot primary keys on lower-case tables - [CORE-2720] - DB2: Capture full view definition in snapshot/generateChangeLog to support column options - [CORE-2721] - endDelimiter regex does not work in SQL changelogs/changesets - [CORE-2725] - DB2: Don't include system-generated indexes - [CORE-521] - Handle Timestamp with Time Zone types where supported - [CORE-2448] - New "created" attribute on changeSet - [CORE-2478] - Liquibase dropAll command line does not allow dropping multiple schemas - [CORE-2540] - Allow vendor independent SEQUENCE definition - [CORE-2541] - Add support for registering a Change Exec Listener on command line - [CORE-2560] - Add new runOrder="first|last" attribute to control when a changeSet is ran - [CORE-2577] - Add resourceComparator attribute to includeAll to override sorting - [CORE-2578] - Added addUniqueConstraint deferrable"support for Postgresql - [CORE-449] - Same changeLog can be included multiple times - [CORE-1969] - Support for AND/OR context expressions in formatted sql - [CORE-2100] - formatted sql validCheckSum - [CORE-2115] - Really slow when using fat jars - [CORE-2225] - please add the OLD check sum to the validation error message - [CORE-2336] - Use a grammer for parsing SQL rather than regexps - [CORE-2419] - Support fluent/builder-style change properties - [CORE-2455] - Improve messages in databasechangelog.description column - [CORE-2463] - Don't include liquibase tables in dbdoc - [CORE-2493] - ExecuteShellCommand improvements - [CORE-2497] - Support setColumnRemarks and setTableRemarks on MSSQL - [CORE-2499] - Support for commenting lines in csv files - [CORE-2539] - Ensure each data row in CSV has same # cols as header - [CORE-2584] - ValidCheckSum is valid for both stored database values and current changeSet checksum - [CORE-2589] - Output xml changelogs as xml version="1.1" - [CORE-2612] - Oracle: include BYTE in CHAR and VARCHAR types from snapshot/generateChangeLog - [CORE-2619] - Make changeLogFile optional for changeSetExecuted - [CORE-2622] - Maven: Support ISO date syntax for rollback - [CORE-2626] - Use schemaName in createProcedure - [CORE-2638] - GenerateChangeLog should include replaceIfExists=true for changed views - [CORE-2640] - Better handling of replaceIfExists in createProcedure - [CORE-2651] - Derby: Default unknown version to 10.6 to support sequences - [CORE-2652] - Formatted sql precondition not expanding changelog parameters - [CORE-2657] - Add new DATABASECHANGELOG.DEPLOYMENT_ID column to track changeSets deployed together - [CORE-2658] - Move the liquibase-debian module to a separate profile - [CORE-2703] - MySQL NCLOB should conver to LONGTEXT CHARACTER SET utf8 - [CORE-2724] - Support offline databases in ant-tasks Changes in version 3.4.2 (2015.11.24) - [CORE-2328] - AbstractExecutor should implement execute(Change) - [CORE-2475] - Informix: Insert valueComputed not used correctly - [CORE-2543] - Improved support for time stamps in oracle insert change data types - [CORE-1778] - createSequence doesn't work on MSSQL - [CORE-1840] - Liquibase fails when run on a computer that can't connect to the internet - [CORE-2273] - Oracle char column snapshot not differentiating between a default value of 0 and '0' - [CORE-2285] - Code in Liquibase class inconsistent - [CORE-2317] - Custom ConfigurationValueProvider not working - [CORE-2349] - loadUpdateData does not escape column names in "ON DUPLICATE" clause - [CORE-2407] - Derby keywords not escaped when used as column/table names - [CORE-2447] - In sybase, schema is bad preixed - [CORE-2466] - Rollback referencing a change set in another file cannot be parsed - [CORE-2467] - SSO with jtds MSSQL doesn't work after 3.3.5 for update - null user error - [CORE-2469] - Error in method ColumnConfig.setValueNumeric(String) - [CORE-2470] - MSSQL: FindForeignKeyConstraintsGeneratorMSSQL doesn't honor specified schema - [CORE-2480] - Primary key exist works fine with 3.3.3 not with 3.4.0 in SQL SERVER - [CORE-2481] - Primary key creation issue with informix - [CORE-2482] - Number type issue with informix - [CORE-2484] - dropAll command crashes because it drops sequences before tables - [CORE-2487] - updateSql does not output anything for prepared statements - [CORE-2490] - If you have more than one :name token in the where clause of a delete change, you get an Exception - [CORE-2491] - Shouldn't a custom change produce a warning if run in updateSql mode - [CORE-2492] - Logger extension liquibase-slf4j no longer usable with 3.4.1 - [CORE-2494] - Pgsql: Exporting/generating badly formatted SQL - [CORE-2498] - Generation of TIMESTAMP(29) causing error in PSQL log TIMESTAMP(6) WITHOUT TIME ZONE - [CORE-2500] - Fast check of ColumnExistsPrecondition causing transaction abort on PostgreSQL database - [CORE-2505] - Missing keywords for H2 database - [CORE-2510] - loadData on MySQL with > 50 rows fails - [CORE-2544] - LogFactory does not get reset - [CORE-2549] - Performance regression in resolving local host - [CORE-2554] - updateSql command fails on validation when upgrading (2.0.5 ->3.4.1) - [CORE-2566] - Maven - setting skip= true does not work - [CORE-2571] - primaryKeyExists precondition generating wrong query - [CORE-2576] - The 'dbms' attribute on is not not taken into account when parsing changes - [CORE-2579] - dropAll failed for Oracle 12c - [CORE-2580] - Escape column, table and schema on ColumnExistsPrecondition - [CORE-2588] - Bad cast - [CORE-2590] - Default constraint names are not quoted - [CORE-2596] - DatabaseChangeLogLock race condition exists if two nodes both try to create the table - [CORE-2598] - Postgres generateChangeLog: "length for type varchar cannot exceed 10485760" Changes in version 3.4.1 (2015.07.28) - [CORE-998] - Changing index columns leads to wrong output order in the change log xml file. - [CORE-2104] - ConcurrentModificationException iterating over System.getProperties().entrySet() - [CORE-2385] - IncludeAll does not work when runing liquibase from inside a jar - [CORE-2405] - Collation not preserved, depending on configuration - [CORE-2406] - Escaped built-in data types should be lower case - [CORE-2408] - Unknown column 'LABELS' in 'field list' - [CORE-2410] - Snapshot should not include paramaters for MSSQL geometry, geography or sql_variant types - [CORE-2411] - BLOB string default values not quoted - [CORE-2412] - Handle Oracle BFILE types - [CORE-2414] - CLONE - generateChangeLog creates DOUBLE(22) instead of double in MySql - [CORE-2415] - Custom Logger configuration does not work anymore - [CORE-2416] - Diff drops and creates primary keys for all tables - [CORE-2418] - Liquibase 3.4.0 tries to do INSERT instead of UPDATE-Statements with Postgres - [CORE-2421] - MySQL column sizes are off by 1 in BIGINT and INT for diffChangeLog - [CORE-2422] - Liquibase intialisation failed - [CORE-2423] - Sybase IQ : strange procedure called - [CORE-2426] - Default schema name missing quotes. - [CORE-2427] - Better handle MSSQL stored procedures with a different defaultSchema and replaceOnExists=true - [CORE-2428] - liquibase 2.0.3 to 3.3.3 - [CORE-2435] - includeSystemClasspath switch actually includes SystemClassLoader if false - [CORE-2436] - Logging in ClassLoaderResourceAccessor prevents installation of custom Logger - [CORE-2437] - Index.toString() contains "unique" if and only if index is NOT unique - [CORE-2438] - DeleteGenerator does not handle parameter names and values with $ or \ properly - [CORE-2440] - Not possible to override DefaultLogger using a Logger in a non-liquibase package. - [CORE-2441] - Creation of foreign key fails in MySQL if database name contains dashes - [CORE-2442] - Creating MD5 checksum fails if changeSet id contains the character "?" - [CORE-2443] - Liquibase 3.4.0 ignores third party loggers in certain situations - [CORE-2446] - endDelimiter splitting does not work in plain SQL files (regression) - [CORE-2452] - Index names should be quoted on SQL Server - [CORE-2458] - loadUpdateData will not update - [CORE-2460] - Postgres index names cannot include schema name - [CORE-2433] - quoting error in table creation - [CORE-2359] - Consistently read dataTypeId for all databases - [CORE-2419] - Support fluent/builder-style change properties - [CORE-2449] - Correctly detect "Sybase IQ" - [CORE-2450] - Non-bash /bin/sh gives "[[ not found" error - [CORE-2451] - SQL scripts should have "USE " in the header on SQL Server - [CORE-2453] - Informix: Return null for connection schema name - [CORE-2459] - Un-change Formatted SQL stripComments default back to true - [CORE-2461] - Don't do DATABASECHANGELOG ALTER statements if column types are different Changes in version 3.4.0 (2015.06.24) - [CORE-14] - Dropping default values with MS-SQL - [CORE-822] - Add a tag to add/update table/column remarks - [CORE-864] - loaddata performance enhancement - [CORE-1411] - MariaDB support - [CORE-2254] - Ability to save snapshot for later comparison - [CORE-2257] - Ability to use a previously saved database snapshot in diff and generateChangeLog - [CORE-2302] - Add ability to load nested object/collection properties and BigDecimal properties automatically - [CORE-2306] - Support passing in a script for rollback to override rollback logic included in the changelog - [CORE-2308] - Track changeSet contexts and labels in databasechangelog table - [CORE-2345] - Add XML Type - [CORE-419] - Allowing ASC and DESC in index definitions - [CORE-562] - Allow naming of not null constraints - [CORE-715] - indexExists does a full snapshot - [CORE-1731] - Support autoincrement in oracle 12c - [CORE-2124] - Ability to pass properties to a JDBC driver required - [CORE-2132] - Error message for missing sqlFile reference should be more descriptive - [CORE-2147] - HsqlDatabase should emit uppercase names when quoting reserved words to preserve case insensitivity - [CORE-2171] - New ChangeExecListener.runFailed method - [CORE-2177] - Support NOT(X) syntax for labels - [CORE-2185] - Few fields needs to be changed as protected and need additional field in RanChangeSet - [CORE-2217] - Add DataTypeFactory support for delimited data type names, improve resolution of MSSQL data types - [CORE-2228] - New usingIndexName attribute on addPrimaryKey - [CORE-2236] - Support .yml extension in YamlChangeLogSerializer - [CORE-2244] - Handle generating SQL Server DDL where ANSI NULL Default is false - [CORE-2249] - Index and UniqueConstraint equivalence check should take name into account - [CORE-2288] - Do not check/updatedatabasechangelog table on status - [CORE-2292] - New tagExists command for command line - [CORE-2298] - Allow HSQL to use defaultValueComputed for certain allowed functions on datetime type columns - [CORE-2299] - Add capability to ignore missing or empty folder with includeAll - [CORE-2307] - ChangeLog table name option in command line tool - [CORE-2309] - global/local properties on changesets - [CORE-2320] - MinGW (Git Bash) support for shell - [CORE-2334] - Disable CREATE TABLE DATABASECHANGELOG generation when running on OfflineConnection - [CORE-2336] - Use a grammer for parsing SQL rather than regexps - [CORE-2358] - Improve data types for Liquibase tables in MSSQL - [CORE-2359] - Consistently read dataTypeId for all databases - [CORE-2363] - Improve robustness of MSSQL database case-insensitivity check - [CORE-2371] - Improve Oracle snapshot performance - [CORE-2386] - Set the connection default catalog/schema if defaultCatalogName or defaultSchemaName is set - [CORE-2397] - MSSQL View Snapshot should not use sp_helptext - [CORE-2399] - DBDoc improvements - [CORE-2404] - Ability to preserve TEXT type in mssql snapshot and update - [CORE-842] - Tag database not taking orderexecuted into account - [CORE-1296] - drop column on ms sql server - [CORE-1424] - SQL Generation ignores DATETIME parameters - [CORE-1542] - Sequence is dropped not until a second run of dropAllDatabaseObjects on PostgreSQL - [CORE-1738] - loadData from csv fails for boolean column (if another column present) - [CORE-1749] - Update change command does not respect whereParams - [CORE-1803] - DropAll doesn't delete sequences if they are used as default value in postgres - [CORE-1904] - Slow indexExists performance in Oracle - [CORE-1924] - SQLServer diff - DATETIME2 not being handled correctly - [CORE-2005] - /usr/bin/liquibase: Syntax error: "else" unexpected - [CORE-2018] - Quotes stripped from index filter_conditions on snapshot - [CORE-2019] - Comments in empty rollback prevent execution - [CORE-2041] - Escaping of reserved keywords in HSQLDB - [CORE-2096] - DiffChangeLog with changed indexes generates drop/add in the wrong order - [CORE-2109] - dropAll fails for statements the database requires to run non-transactionally - [CORE-2113] - Informix text datatype fixes - [CORE-2133] - Oracle: GenerateChangeLog of a table with DEFAULT VALUE NULL creates defaultValueComputed="NULL" - [CORE-2167] - Issues with generateChangeLog of unique constraints on DB2 - [CORE-2169] - offline mode seems non-deterministic - [CORE-2178] - Fatal exception acquiring lock in SQL Server databases with case-sensitive collation - [CORE-2196] - Ant: "Unable to update database." without explanation - [CORE-2209] - Oracle snapshot sometimes creates "GENERATED ALWAYS AS (null)" - [CORE-2211] - Liquibase tries to execute commented lines in custom SQL file - [CORE-2219] - DB2 for zOs - adding primary key always emits REORG but REORG does not exist on Db2 for zOs - [CORE-2222] - TIMESTAMP parameters dropped for PostgreSQL - [CORE-2224] - Index uniqueness is not always recognized correctly - [CORE-2227] - CLONE - UpdateSQL needs to append a "/" to the end of createProcedure for Oracle - [CORE-2232] - Support schema other than public on PostgreSQL - [CORE-2233] - Oracle Timestamp precision lost in generateChangeLog - [CORE-2234] - columnExists precondition could be much faster (Oracle, mssql) - [CORE-2237] - YamlChangeLogSerializer does not correctly serialize a changeset - [CORE-2251] - Adding column with type DATETIME doesn't work for PostgreSQL - [CORE-2252] - XMLChangeLogSerializer writes array object for rollback tag content - [CORE-2253] - Handle oracle varchar <-> clob conversions in diffChangeLog - [CORE-2256] - Drop Sequences before Tables - [CORE-2266] - DiffChangeLog: Invalid changelog when a primary key backing index is changed - [CORE-2267] - Rollback fails for mixed-case objects created with QUOTE_ALL_OBJECTS - [CORE-2270] - Doubledash inside quoted text causes parsing error - [CORE-2271] - CLONE - DiffChangeLog: Invalid changelog when a unique constraint backing index is changed - [CORE-2272] - DiffChangeLog must drop foreign keys before primary keys - [CORE-2273] - Oracle char column snapshot not differentiating between a default value of 0 and '0' - [CORE-2275] - YAML update fails with Unexpected error running Liquibase: java.util.LinkedHashMap cannot be cast to java.util.List - [CORE-2281] - Oracle snapshot performance issue with many multiple views - [CORE-2291] - ObjectQuotingStrategy not reset correctly after changeSet - [CORE-2295] - includeAll tries to load all files instead only *.xml - [CORE-2300] - Unsigned Int / Bigint cannot be created - [CORE-2305] - Snapshot output too verbose - [CORE-2316] - Data type registry occasionally returns wrong data type implementation - [CORE-2321] - Liquibase tag command tags too much - [CORE-2324] - diffChangeLog does not handle changes in sequence incrementBy, maxValue or ordered - [CORE-2331] - Support for MSSQL collation in data type description broken - [CORE-2340] - Add support for extensions to override the built-in change log, snapshot serializers - [CORE-2355] - Improve updateSQL performance - [CORE-2361] - preConditions, rollback, property, include, includeAll cannot be serialized - [CORE-2373] - Local DTD files not found in subdirectory - [CORE-2378] - Adding a new "CustomChange" triggers ClassNotFoundException - [CORE-2380] - Support reading of gzip files - [CORE-2381] - Fix unique constraint generator for informix - [CORE-2383] - Change formatted SQL stripComments default from "true" to "false" - [CORE-2385] - IncludeAll does not work when runing liquibase from inside a jar - [CORE-2387] - dropPrimaryKey without constraint name on sql server doesn't query schema correctly - [CORE-2388] - Views not equal in different schemas - [CORE-2390] - NullPointerException when generating changelog - [CORE-2391] - column type doesn't respect unsigned - [CORE-2393] - changeSet contexts created with maven generateChangeLog are in parentheses - [CORE-2401] - MSSQL handling timestamp according to sql standard, not sqlserver usage - [CORE-2402] - Oracle NCLOB defaultValues not read correctly Changes in version 3.3.5 (2015.05.28) - [CORE-2379] - Project.version set to 3.3.4-SNAPSHOT in 3.3.4 final Changes in version 3.3.4 (2015.05.27) - [CORE-2360] - Maven - Skip is active by default - [CORE-2199] - Liquibase adds a semicolon after a stored proc definition making the stored proc unusable - [CORE-2344] - Unknown host exception on OS RHEL 6.5 - [CORE-2346] - IncludeAll does not work when runing liquibase from inside a jar - [CORE-2357] - alterSequence does not work as expected when you need to change the cache size - [CORE-2366] - Derby Network server works with command line but not with maven "Liquibase skipped due to maven configuration" - [CORE-2368] - No SQL outputted for change Changes in version 3.3.3 (2015.04.28) - [CORE-1768] - Oracle dropAll fails on spatial tables and sequences - [CORE-1840] - Liquibase fails when run on a computer that can't connect to the internet - [CORE-1857] - Wrong column size detection on varchar2 fields with char as datatype - [CORE-1866] - Filtering changelog list by includeAll tag is not working - [CORE-1943] - Handle Error: InetAddress.getLocalHost().getHostName() UnknownHostException results in NoClassDefFoundError - [CORE-1958] - Column type of "TIMESTAMP(6)" under MySql converted to TIMESTAMP dropping fractional seconds - [CORE-1967] - includeAll uses full file path for sql changelogs - [CORE-2023] - Problem using includeAll with SpringLiquibase - [CORE-2126] - Postgres 9.3 - Drop table With Cascade - Not Supported - [CORE-2156] - Resource loader can't load changelog file - [CORE-2186] - AbstractResourceAccessor#convertToPath(String, String) fails for processing includeAll from Classpath - [CORE-2192] - NoSuchMethodException when generating offline Oracle migration script - [CORE-2199] - Liquibase adds a semicolon after a stored proc definition making the stored proc unusable - [CORE-2202] - liquibase.should.run inverted boolean - [CORE-2204] - valueNumeric not being set when using prepared statements - [CORE-2206] - diffChangeLog with JPA-annotated entities causes ConcurrentModificationException - [CORE-2208] - Typo in message - [CORE-2210] - java.lang.NullPointerException when file is empty - [CORE-2214] - When inserting string value starting and ending with apostrophes (quotes) the value is not quoted in the generated SQL - [CORE-2218] - Regression on modifyDataType : VARCHAR2 was supported on 3.2...and fails on 3.3 - [CORE-2239] - Remarks attribute in renameColumn causes parse error - [CORE-2240] - setDropFirst(true) still broken on empty database - [CORE-2262] - 3.3.2 ant task dies on NPE in ChangeLogParameters - [CORE-2263] - Index Snapshot - doesn't include upper cased name indexes when db is NOT case sensitive - [CORE-2274] - Ant Upade Task does not consider changeLogFile correctly if it is contained in a JAR - [CORE-2279] - Rollback fails in MS SQL 2008 using liquibase 3.3.2 - [CORE-2284] - Creating a DatabaseChangeLog() results in NPE - [CORE-2290] - Liquibase gives different results from Ant and the command line - [CORE-2301] - Regression from 3.2.3 in mssql 2000 unsupported usage of varchar(max) and sys.extenden_properties - [CORE-2304] - Autoincrement on type INT4 fails - [CORE-2310] - IncludeAll Fails with Unknown Reason Error - [CORE-2315] - NPE in CommandlineResourceAccessor - [CORE-2325] - Liquibase - New versions break DB create - [CORE-2329] - Escaped reserved keywords in HSQL are stored in lower case instead of upper case. - [CORE-2330] - includeAll uses full file path with includeAll - [CORE-2261] - UpdateSQL needs to append a "/" to the end of createProcedure for Oracle - [CORE-2287] - Improve support for Groovy-based tests in Eclipse - [CORE-2296] - Upgrade Groovy and Spock to maintained versions - [CORE-2318] - Add support for converting BigDecimal objects to a SQL string via DataTypeFactory Changes in version 3.3.2 (2015.01.08) - Support for ignoring objects in diffChangeLog and generateChangeLog - Bugfixes - [CORE-875] - Ignore tables for diffs and generateChangelog - [CORE-1877] - SQLOutput prints endDelimiter regexes - [CORE-2114] - AddAutoIncrement on Postgres does not work when changes are applied on a specific schema - [CORE-2141] - handling dependencies and WAR as classpath - [CORE-2166] - SpringLiquibase: includeAll within jar causes SetupException - [CORE-2172] - dropPrimaryKey without constraint name on sql server doesn't honour schema information - [CORE-2174] - Bad exception handling in OracleDatabase.setConnection - [CORE-2180] - NPE with bad name - [CORE-2182] - ClassLoader leak due to shutdown hooks Changes in version 3.3.1 (2014.12.08) - IncludeAll bugfixes - Performance improvements - Datatype handling fixes - Fix for JSON parsing - Other bugfixes - [CORE-1920] - SpringLiqubase includeAll is not including files - [CORE-2009] - ClassCastException when executing a custom task change (AntClassLoader problem) - [CORE-2097] - "mvn liquibase:futureRollbackSQL" asks for tag, count or date - [CORE-2099] - SQLAnywhere support (Driver not capable) - [CORE-2103] - changelogSchemaName/changelogCatalogName configuration options will not work on Oracle DB - [CORE-2104] - ConcurrentModificationException iterating over System.getProperties().entrySet() - [CORE-2105] - Maven profile performing dropAll and update on Oracle failing with an error on populated database. - [CORE-2107] - LOWER() keyword fails on Postgres createIndex task - [CORE-2108] - dropAll command trying to drop column on table that has already been dropped - [CORE-2114] - AddAutoIncrement on Postgres does not work when changes are applied on a specific schema - [CORE-2116] - Could not find implementation of liquibase.logging.Logger - [CORE-2118] - Change default diffChangeLog/generateChangeLog objectQuotingStrategy back to LEGACY - [CORE-2119] - Bad finally block in SpringLiquibase.afterPropertiesSet() - [CORE-2120] - LoadUpdateData with value=NUMERIC quoting values - [CORE-2121] - DB2: DiffChangeLog/GenerateChangeLog/DropAll sees alias column and tries to drop/add them - [CORE-2127] - updateSQL creates duplicate DATABASECHANGELOGLOCK tables - [CORE-2130] - setFetchSize to a negative value breaks Oracle JDBC Driver - [CORE-2134] - ExecuteCommand won't run with no os attribute. - [CORE-2136] - Mysql must quote PARTITION as a keyword - [CORE-2137] - Special characters ( ) copied during generateChangelog on DB2/400 - [CORE-2139] - H2Database.supportsDropTableCascadeConstraints() returns false - [CORE-2141] - handling dependencies and WAR as classpath - [CORE-2142] - generateChangeLog not including all columns in a table - [CORE-2146] - snakeyaml is pulled in as transitive dependency for using projects - [CORE-2149] - Liquibase command line fails - [CORE-2150] - On the 3.3.0-SNAPSHOT, liquibase --version returns 3.2.0 - [CORE-2153] - Liquibase 3.2.1 is no longer compatible with Oracle 9 - [CORE-2155] - diffTypes=data fails with java.sql.SQLException: Attribute value not valid (dataOutputDirectory attribute causes build to fail) - [CORE-2156] - Resource loader can't load changelog file - [CORE-2157] - SQLException if there are single quotes in ChangeSet - [CORE-2159] - Datetime2 no longer used for MSSQL - [CORE-2161] - includeAll relativeToChangelogFile="true" doesn't work - [CORE-2164] - SpringLiquibase: includeAll within jar causes NullPointerException - [CORE-2115] - Really slow when using fat jars - [CORE-2125] - Make DatabaseChangeLog#include(String, boolean, ResourceAccessor) public - [CORE-2148] - Build failure on jdk-1.8 - [CORE-2152] - Change logs in json format not processed by liquibase - parsing errors Changes in version 3.3.0 (2014.11.03) - New "label" attribute on changeSet - New empty and output change tags - Support for clustered/nonclustered primary keys and indexes - Saving of remarks in mysql and mssql - Official RPM and DEB packages - Refactoring/update of Ant integration - [CORE-16] - Support for nonclustered primary keys in mssql - [CORE-54] - Support System Properties in Maven Plugin - [CORE-1528] - Installer for Liquibase - [CORE-1598] - support for rename sequence - [CORE-1914] - New Change function: output - [CORE-1942] - Support for changeSet labels - [CORE-549] - relativeToChangelogFile for loadData, loadUpdateData, sqlFile - [CORE-1438] - createView should support having the entire view definition in the change body - [CORE-1502] - CLONE - UpdateSQL needs to append a \r/\n to the end of createProcedure for Oracle - [CORE-1654] - logicalFilePath support in formatted sql - [CORE-1660] - remarks attribute is ignored in MSSQL - [CORE-1932] - support for encrypted passwords / custom properties - [CORE-1946] - Have a rpm package for liquibase (built with maven) - [CORE-1963] - Ability to define full CREATE VIEW statement in change. - [CORE-1990] - Preserve inline comments in view snapshots in mssql - [CORE-2060] - Support liquibase.properties files with unknown properties - [CORE-2061] - Improvements to Informix support - [CORE-2062] - Add onlyUpdate flag to loadUpdateData - [CORE-2064] - Use ignoreClassPathPrefix for rollback as well - [CORE-2065] - Use DOUBLE PRECISION for DOUBLE with Firebird - [CORE-2066] - Support for outputFile in command line - [CORE-2067] - Refactor Ant Task codebase - [CORE-2068] - New liquibase.hostDescription property for additional details in the DATABASECHANGELOGLOCK table - [CORE-2069] - Use prepared statement in change whenever a clob type is used - [CORE-2072] - Do not include Oracle internal tables in snapshot/diff - [CORE-870] - Postgres, in an ALTER TABLE ALTER COLUMN statement, sometimes needs USING clause - [CORE-945] - Oracle : Temporary tables are created as regular tables - [CORE-1463] - Views not generated correctly with generateChangelog - [CORE-1556] - remarks attribute ignored for mysql - [CORE-1723] - unable to update on DB2/400, version V6R1, on jt400-6.7.jar - [CORE-1745] - afterColumn not working in MySQL - [CORE-1774] - Autocommit not restored on close in SpringLiquibase - [CORE-1882] - NullPointerException when MySQL foreign key points to an invalid table - [CORE-1919] - SpringLiquibase fails when dropFirst is true - [CORE-1922] - Sequence is not a reserved object name in HSQLDB - [CORE-1925] - liquibase scripts can not represent clustered indexes - [CORE-1937] - Oracle Float and VARCHAR precisions in changelog generated by generateChangeLog are incorrect - [CORE-1952] - liquibase loadData does not properly load numeric field in boolean always as false - [CORE-1956] - Double and float converted to FLOAT8(*, 17) and FLOAT4(*, 8) in PostgreSQL - [CORE-1958] - Column type of TIMESTAMP(6) under MySql converted to TIMESTAMP dropping fractional seconds - [CORE-1974] - dbchangelog-3.1.xsd missing - [CORE-1977] - CreateSequence with cacheSize=0 failing on Oracle - [CORE-1979] - MSSQL should not include parameters in SYSNAME data types - [CORE-1981] - Parameters set in included file are no longer set in 3.2.0 - [CORE-1982] - Snapshot outputs defautlValueDate as defaultValueComputed on MSSQL for dates not in ISO format with a T in the middle - [CORE-1986] - includeAll from changeLogs within a jar is not working - [CORE-1988] - Reported size for Oracle NVARCHAR2 columns is wrong - [CORE-1993] - Drop table with cascade is not supported by Sybase - [CORE-1996] - addNotNullConstraint on h2 database has unexpected side effects - [CORE-1997] - Bit changelog default value of 1 executed as 0 - [CORE-2002] - AbstractResourceAccessor generates path in a unpredictable way - [CORE-2010] - Oracle data type SDO_GEOMETRY snapshotted as SDO_GEOMETRY(1) - [CORE-2014] - applyToRollback property ignored when rollback changes are specified - [CORE-2015] - DiffChangeLog writes to the wrong point in the file on windows if file uses \n not \r\n - [CORE-2020] - Oracle default value current_timestamp converted to systimestamp - [CORE-2021] - Column remarks not snapshotted in mssql - [CORE-2026] - Oracle columns of type ANYDATA are snapshotted with a size - [CORE-2028] - generateChangeLog on SQL Anywhere 11.0.1 throws DatabaseException Driver Not Capable - [CORE-2032] - Snapshot incorrectly including clob/blob sizes on diff - [CORE-2051] - Not quoting VIEW params with spaces when snapshotting - [CORE-2054] - Add new 'computed' column attribute to differentiate between an actual column name and a function as a column - [CORE-2063] - Fix for H2 autoincrement start with and increment by syntax - [CORE-2070] - dropAllForeignKeyConstraints does not work on Firebird databases - [CORE-2075] - generateChangelog generates bad definition for TIME type - [CORE-2080] - Liquibase empty change not present in XSD version 3.2 - [CORE-2081] - PrimaryKeyExists precondition without tableName is broken - [CORE-2082] - Column snapshot on PostgreSQL does not include precision information for numeric data type - [CORE-2087] - Executing against Oracle doesn't respect liquibaseSchemaName or liquibaseCatalogName - [CORE-2088] - outputDefaultSchema and outputDefaultCatalog command line parameters not respected - [CORE-2093] - Error: Property 'relativeToChangelogFile' not found on object type liquibase.change.core.LoadDataChange - [CORE-2094] - Liquibase.dropAll() should reset the lock service - [CORE-2095] - Invalid generated changeset for mysql bit with defaultValue 0 Changes in version 3.2.3 (2014.11.03) - Bugfixes - [CORE-1919] - SpringLiquibase fails when dropFirst is true - [CORE-1987] - 'mvn liquibase:diff' does not find any differences between databases - [CORE-1988] - Reported size for Oracle NVARCHAR2 columns is wrong - [CORE-1989] - Cannot set objectQuotingStrategy on root databaseChangeLog node - [CORE-2002] - AbstractResourceAccessor generates path in a unpredictable way - [CORE-2003] - Could not find implementation of liquibase.logging.Logger - [CORE-2042] - If liquibase.jar is nested in another jar/war/ear, it fails to start with a 'cannot find implementation of liquibase.logging.Logger' error - [CORE-2058] - Load/Update tags should use 'is null' not '= null' for null comparisons - [CORE-2070] - dropAllForeignKeyConstraints does not work on Firebird databases - [CORE-2075] - generateChangelog generates bad definition for TIME type - [CORE-2080] - Liquibase 'empty' change not present in XSD version 3.2 - [CORE-2065] - Use DOUBLE PRECISION for DOUBLE with Firebird - [CORE-54] - Support System Properties in Maven Plugin Changes in version 3.2.2 (2014.07.23) - Fix for bug in checksum computation vs. 3.1.1 - [CORE-1938] - defaultValueNumeric="0" or defaultValue="0" is translated to 0.0 - [CORE-1950] - Checksum validation failed after Liquibase upgrade (3.1.1 -> 3.2.0) - [CORE-1959] - generateChangeLog without changeLogFile - better error message Changes in version 3.2.1 (2014.07.18) - Fixes to checksums on valueNumeric, defaultValueNumeric fields - Fixes to checksums on createProcuedure and sql changes - Fixed null pointer exception performing a tag - Fixes to Spring support - Fixed issue handling changeSet with multiple comments - Fix support for sqlFile tags in rollback - Fixed sqlFile not using changelog parameters - Other bug fixes - [CORE-1844] - bulkFetch of foreign keys on Oracle is very slow - [CORE-1918] - Multiple comment blocks in changesets no longer works - [CORE-1920] - SpringLiqubase includeAll is not including files - [CORE-1922] - 3.2.0 Regression due to CORE-1721 - [CORE-1923] - Error raised: Unknown Reason when doing tagging via command line - [CORE-1930] - Snapshot command returns no information on MSSQL - [CORE-1933] - [3.0.8 -> 3.2.0] pom.xml: 2Mb of superfluous dependencies - [CORE-1934] - file path in databasechangelog is absoulte since liquibase 3.2.0 when using includeAll inside a jar - [CORE-1936] - NullPointerException while diffing database against hibernate.cfg.xml - [CORE-1938] - defaultValueNumeric="0" or defaultValue="0" is translated to 0.0 - [CORE-1940] - Maximum Oracle Sequence fails to be parsed as a BigInteger - [CORE-1944] - NullPointerException when tagging through Ant before applying changesets - [CORE-1947] - Liquibase dependency to jetty-servlet/velocity should be true - [CORE-1950] - Checksum validation failed after Liquibase upgrade (3.1.1 -> 3.2.0) - [CORE-1957] - Using VARCHAR2 column type fails for Hsqldb running in oracle syntax mode - [CORE-1960] - "Could not find implementation of liquibase.logging.Logger" starts appearing after migration from 3.1.1 to 3.2.0 - [CORE-1970] - NullPointerException on rollback with tag - [CORE-1746] - Support parameters - [CORE-1951] - Regression on 3.2.0 : --diffTypes=data generates Unknown Reason Exception Changes in version 3.2.0 (2014.06.02) - Support for and/or/not logic in context expressions - Better matching of default schemas in database comparisons - Improvements to resource accessor logic - Improved memory usage when diffing data - Improved UTF8 usage - Better handling if TIMESTAMP [WITH | WITHOUT] TIME ZONE datatypes in pgsql - Standardization of parsing logic across XML/YAML and JSON - New command line function: snapshot - Start of SDK for easier Liquibase extension development and testing: --- Database watch command --- Standard "sdk workspace" --- Beta version of database vagrant configurations - Snapshot listener interface - [CORE-1742] - Standardized system for managing configuration options in core and extensions - [CORE-1751] - More detailed API for returning changeSet statuses - [CORE-1783] - Command line option: snapshot - [CORE-1815] - Liquibase SDK command to easily watch database - [CORE-1821] - Snapshot listener interface - [CORE-1116] - Allow for both "AND" and "OR" specifications of which contexts to run - [CORE-1422] - Support changeset comments in formatted SQL - [CORE-1536] - Support specifying the referenceDefaultSchemaName for diff operations - [CORE-1635] - Generated changelog missing unique constraints should be output before foreign keys - [CORE-1682] - More machine-independent handling of filesystem-located resources - [CORE-1695] - Better handling of Postgres timestamp with/without time zone - [CORE-1706] - Excessive reading from databasechangelog table - [CORE-1726] - Added offline parameter to generate insert databasechangelog statements - [CORE-1758] - Add outputDefaultSchema flags to ant - [CORE-1776] - System-independent checksums - [CORE-1823] - Search for liquibase.properties in classpath in additional to local filesystem - [CORE-1874] - Improve XML and other parsers for better extensiblity - [CORE-1905] - Yaml parser supports .yml extension as well as .yaml - [CORE-209] - Double Create Database Lock Table using updateSQL - [CORE-421] - NPE in MySqlDatabaseSnapshot during diff operation when "enum" or "timestamp" column was removed from table - [CORE-461] - Wrong datatypes for timestamps generated with generateChangeLog - [CORE-871] - Unable to use changeSetPath in rollback tag to refer to another change log file - [CORE-877] - Bug with column type "TIMESTAMP WITHOUT TIME ZONE" - [CORE-976] - GenerateChangeLog with data: java heap space error - [CORE-1097] - Liquibase adds a semicolon after a stored proc definition making the stored proc unusable - [CORE-1108] - Oracle : Unable to create complex primary key for loadUpdateData - [CORE-1284] - Memory leak in ExecutorService - [CORE-1563] - dropAll does not delete Sequences on Derby - [CORE-1572] - Regression: diff generates full schema instead of changes when using liquibase-hibernate4 - [CORE-1578] - changeset checksum calculates differently on linux and windows - [CORE-1601] - updateSql generates SQL with unexpected linefeeds, breaks SQLPlus - [CORE-1642] - Special character issue after upgrade - [CORE-1643] - DB2: defaultSchemaName and changelogSchemaName are not respected - [CORE-1650] - dropAll doesn't work on Informix - [CORE-1668] - defaultSchemaName ignored on createTable in H2 - [CORE-1673] - Empty default value is not recorded for MySQL - [CORE-1676] - Colons in changeSet IDs no longer supported - [CORE-1688] - The 'valuum' extension seems not to be working under version 3.0.8 of liquibase - [CORE-1701] - Oracle: snapshot of default date/time values come back as to_date functions - [CORE-1714] - 2->3.1 migration error - [CORE-1715] - 2 -> 3.1 migration, 3.1 errors if there are single quotes in comments - [CORE-1718] - foreignKeyConstraintExists precondition fails with constraints on unique keys - [CORE-1721] - HsqlDatabase.escapeObjectName(...) ignores QUOTE_ALL_OBJECTS - [CORE-1727] - Drop default constraint syntax for DB2 not correct - [CORE-1728] - Only sequence name is captured by snapshot process and used in generateChangeLog - [CORE-1733] - Data in diffChangeLog coming through as one row per changeSet - [CORE-1734] - updateSQL is not including content from sqlFile (at least not when ran from Linux) - [CORE-1739] - Liquibase ignores Oracle varchar precision - [CORE-1743] - Snapshot VARCHAR(MAX) correctly on sqlserver - [CORE-1744] - Derby: UpdateSQL not including creating databasechangeloglock table if needed - [CORE-1748] - Maven Plugin does not use outputDefaultCatalog property - [CORE-1750] - liquibase-modify-column 3.0 broken with liquibase-core 3.1.1 - [CORE-1752] - Oracle XML Datatype snapshot containing size - [CORE-1753] - HSQLDB 1.8 does not support catalogs - [CORE-1754] - Default value functions on Oracle snapshoted as "defaultValue" - [CORE-1755] - DefaultValueComputed is quoted for Char, Varchar, Clob, MediumInt and SmallInt types - [CORE-1756] - Oracle indexes with functions not returned correctly in generateChangeLog - [CORE-1765] - Failed to drop a VIEW pointing on not existing table from another schema - [CORE-1767] - Oracle snapshot not capturing all indexes - [CORE-1772] - Informix cannot drop constraints - [CORE-1774] - Autocommit not restored on close in SpringLiquibase - [CORE-1775] - Informix error when creating primary key - [CORE-1779] - User Defined Types Come back with Unnecessary Size specifier in diff - [CORE-1782] - dropALL fails when tables are referenced by other tables in another schema - [CORE-1784] - GenerateChangeLog with objects in multiple schemas returns objects from multiple schemas and empty createTable statements - [CORE-1788] - dropAll does not work in not default schemas using postgresql - [CORE-1794] - Drop index failing for sybase - [CORE-1797] - Autoincrement on type Serial8 fails - [CORE-1798] - Invalid type syntax in Informix for Int(10) and SMALLINT(5) and FRACTION(3) - [CORE-1799] - Attempted recreation of DATABASECHANGELOG in informix - [CORE-1817] - Foreign Key Constraints Built on Unique Constraints are not captured in generateChangeLog - [CORE-1818] - SQL Server "smalldatetime" converted to "datetime" on update - [CORE-1824] - GUID Default values not quoted correctly in MSSQL - [CORE-1828] - sqlFile should fail when file does not exists - [CORE-1831] - CREATE/DROP INDEX issue: Sybase ASE 15.7.0 - [CORE-1834] - generateChangeLog creates DOUBLE(22) instead of double in MySql - [CORE-1840] - Liquibase fails when run on a computer that can't connect to the internet - [CORE-1843] - includeAll does not alphabetize classpath loaded files - [CORE-1853] - Liquibase generates invalid SQL for 'character varying' type - [CORE-1856] - Ability for Change classes to verify update and rollback succeeded - [CORE-1859] - DataTypeFactory doesn't take database into account - [CORE-1861] - MSSQLDatabase.isCaseSensitive() provides a wrong information - [CORE-1878] - Maven plugin behaviour different than command line with the same parameters - [CORE-1881] - Case sensitivity issue with tableExists precondition - [CORE-1893] - type="DATETIME" in changelog is converted to TIMESTAMP in MySql - [CORE-1899] - Non-existing referenced sql files doesn't report error - [CORE-1901] - DropPrimaryKey - Fails in Postgres - [CORE-1906] - Diff between objects in different named default schemas doesn't see them as the same object - [CORE-1912] - Unit tests fail due to dependency on system time zone Changes in version 3.1.1 (2014.01.16) Bug Fix release. Most critical bug is CORE-1704 - [CORE-1704] - Checksum errors for changeSets with createProcedure in 3.1.0 vs 3.0.x - [CORE-1707] - TableRowCountGenerator shouldn't pass tableName as catalogName - [CORE-1710] - Oracle: NUMBER data type size specification is deployed with a precision specifier even though precision isn't specified in the change log - [CORE-1711] - rowCount doesn't work if only the tableName is given - [CORE-1713] - liquibase.precondition.core.ForeignKeyExistsPrecondition exception - [CORE-1715] - Errors if there are single quotes in comments - [CORE-1709] - generateChangeLog returns tables created by Materialized Views as standard tables Changes in version 3.1.0 (2014.01.09) - Major Changes: Offline Datatabase Support CreateProcedures supports external files and dbms attribute New dropProcedure change New tableIsEmpty precondition New rowCount precondition Mysql enum & set support Mysql date/time/timestamp size parameter support MSSQL 2012 sequence support General Sybase & DB2 improvements Change- and precondition- level callbacks in ChangeExecListener Extensions can define custom XSDs and namespaces Maven support for futureRollbackSql command - [CORE-1424] - SQL Generation ignores DATETIME parameters - [CORE-1579] - DefaultPackageScanClassResolver should suppress LinkageErrors - [CORE-1626] - createIndex does not work for function based indexes anymore - [CORE-1659] - "dbms" attribute is ignored for "sql" tag inside "rollback" - [CORE-1666] - CommandLineResourceAccessor throwing exception from getResourceAsStream() - [CORE-1669] - DB2Database the method getDefaultCatalogName returns the defaultSchemaName. - [CORE-1677] - Default Sybase schema name - [CORE-1680] - DbDoc fails with NullPointerException - [CORE-1685] - NPE at SchemaComparator - [CORE-1692] - generateChangeLog does not handle sets correct - [CORE-1693] - SqlCheck precondition's 'expectedResult' accounts for the amount of columns instead of the amount of rows - [CORE-1696] - Syntax error in command line UNIX shell script - [CORE-1698] - Add FormattedSQL support for comma separated list dbms attribute - [CORE-1428] - Support Springs classpath*: prefix for includeAll - [CORE-1458] - Maven support for futureRollbackSql - [CORE-1473] - JSON/YAML support for onFail/onError and onFailMessage/onErrorMessage on preconditions - [CORE-1474] - Support 'dbms' attribute on - [CORE-1476] - Support reading unique constraints and sequences in DB2 for iSeries - [CORE-1544] - liquibase-maven-plugin: diffChangeLog goal is missing - [CORE-1638] - SnapshotGenerator extension system does not allow replacement of generators - [CORE-1639] - Support foreignKeyConstraintExists precondition specifying table and columns instead of name - [CORE-1656] - Extension to allow updateSql without a live database connection - [CORE-1657] - Extension support for external DatabaseChangeLog tables - [CORE-1663] - Support replaceIfExists for createView on H2 - [CORE-1671] - Add millisecond precision Time, Timestamp, and DateTime for MySQL - [CORE-1681] - Log change and precondition execution into the ChangeExecListener - [CORE-641] - Support ${} params in included sql files - [CORE-883] - updateSQL without database access - [CORE-929] - Support for ordering of columns in addColumn - [CORE-1310] - Support column remarks for mysql - [CORE-1513] - tableIsEmpty precondition - [CORE-1514] - rowCount precondition - [CORE-1558] - Modify Liquibase to allow extensions to specify prefix for xml tags - [CORE-1617] - dropProcedure change - [CORE-1618] - Support defining createProcedure body in an external file - [CORE-1661] - Add support for MSSQL sequences Changes in version 3.0.8 (2013.12.12) - Major Changes: Improvements to data type handling Bug fixes Performance improvements - [CORE-1224] - Enum column types are not appropriately represented in the change log created by generateChangeLog - [CORE-1299] - modifyDataType does not auto reorg on DB2 - [CORE-1302] - MySQL syntax for autoincrement column with start value - [CORE-1357] - Postgresql sequences create error in log files - [CORE-1368] - Unable to recreate DB from generated change logs - [CORE-1427] - Not generateChangeLog properly for INT2 type for Postgres - [CORE-1430] - When I was in sybase database using liquibase create the index, reported "information_schema.constraints" not found error - [CORE-1432] - Liquibase H2 InsertOrUpdateGeneratorH2 fails if primary key column name contains $ character - [CORE-1446] - Liquibase changelog generation can add linefeed to defaultValueComputed if last column - [CORE-1454] - Precondition negation does not seem to work - [CORE-1455] - Value not taken into account when inserting data with YAML - [CORE-1484] - very poor performance of dropAll on Oracle - [CORE-1496] - Custom Change validation happening before being fully initialized - [CORE-1531] - includeAll with relativeToChangeLogFile fails under certain conditions - [CORE-1537] - Liquibase: diffChangeLog on DB2 performing out of order steps - [CORE-1538] - diffChangeLog for DB2 injects invalid characters in xml - [CORE-1540] - Call 'Reorg table' after modifyDataType on DB2 - [CORE-1541] - Column type="LONGVARCHAR" fails - [CORE-1545] - Oracle wrong LONG datatype declaration - [CORE-1547] - CLONE - H2 (and other) support for BLOB and CLOB is incorrect - [CORE-1548] - Oracle Data Type: DATE - defaultValueComputed should be defaultValue - [CORE-1549] - Oracle Data Type: INTERVAL YEAR TO MONTH - returned at "INTERNAL(2) YEAR" - [CORE-1550] - Oracle Data Type: NCLOB - Receive SQL error when specifying NCLOB size - [CORE-1551] - Oracle Data Type: NCHAR - [CORE-1552] - Oracle Data Type: NVARCHAR2 - Column sizing is wrong - [CORE-1553] - dropDefaultValue does not work on SQL Server - [CORE-1554] - dbDoc for Informix IDS - [CORE-1555] - Oracle UID reserved word not detected - [CORE-1557] - Mysql: BLOB type changes to LONGBLOB - [CORE-1559] - Columns defined as "serial" are created as "int" without autoincrement in Postgres - [CORE-1562] - update throws Recoverable Exception - [CORE-1564] - Broken links in dbDoc - [CORE-1566] - DB2 Datatype - DBCLOB, GRAPHIC, VARGRAPHIC doubling datatype size - [CORE-1567] - DB2 Datatype - defaultValueComputed being used instead of defaultValue for DBCLOB, TIME, TIMESTAMP, DATE - [CORE-1568] - DB2 Datatype - REAL and XML should not have datatype sizes - [CORE-1571] - updateDatabase can't find a changelog - [CORE-1572] - Regression: diff generates full schema instead of changes when using liquibase-hibernate4 - [CORE-1580] - Mysql SET type not handled correctly - [CORE-1581] - modifyDataType ignores additional info of newDataType - [CORE-1582] - SQLServer datatype for TIMESTAMP - [CORE-1583] - Wrong datatype with renameColumn - [CORE-1584] - Unable do rollback not in transaction block - [CORE-1586] - MySQL DataType - defaultValueComputed being injected into TIMESTAMP, VARBINARY, BINARY, YEAR - [CORE-1587] - MySQL Datatype - VARBINARY vs LONGBLOB confusion - [CORE-1588] - MySQL DataType - BIT size and default not captured on Snapshot - [CORE-1589] - MySQL DataType - BLOB becomes LONGBLOB - [CORE-1590] - MySQL DataType - DOUBLE sizing not persisted on snapshot - [CORE-1591] - MySQL DataType - TIME not persisting seconds (getting hours and minutes..so I've got that going for me.) - [CORE-1592] - MySQL DataType - TEXT converted to LONGTEXT - [CORE-1594] - PostgreSQL 'bigserial' type is automatically converted to 'bigint' - [CORE-1595] - Schema version incompatibility is logged as INFO instead of WARN - [CORE-1596] - Liquibase 3.0.5 will not create tables in dbo schema in SQL Server - [CORE-1597] - ORA-01000: maximum open cursors exceeded - [CORE-1600] - "Collation" and "Lateral" are not escaped in Postgres (new reserved words in v9.3) - [CORE-1602] - DatabaseException in changesets that include date fields with default values - [CORE-1603] - MySQL Datatype - BIGINT, INT, MEDIUMINT, SMALLINT, TINYINT all "shaving" off sizes - [CORE-1606] - MySQL - TEXT vs. LONGTEXT for diffChangeLog presents CLOB - [CORE-1607] - MSSQL java.sql.Types.TIMESTAMP should map to DateTime - [CORE-1610] - MSSQL - NTEXT type being snapshot with MSSQL driver default size parameter. - [CORE-1611] - Avoid reverse DNS lookup with getLocalHost().getHostName(); - [CORE-1612] - YAML/JSON changelogs not picking up "value" attribute on column configs - [CORE-1614] - mysql case insensitive affects databasechangelog creation - [CORE-1615] - Failed to drop default value in MSSQL - [CORE-1616] - SQLFileChange uses too many file descriptors - [CORE-1619] - MSSQL: preconditions treat object names in a case-sensitive way - [CORE-1622] - Ant not respecting diffTypes=data - [CORE-1623] - MSSQL: precondition primaryKeyExists doesn't work - [CORE-1625] - H2 Blob Type support is incorrect - [CORE-1626] - createIndex does not work for function based indexes anymore - [CORE-1627] - Option 'diffTypes' does not accept type 'indexes' - [CORE-1632] - It's impossible to setup Logger's log level with system property 'liquibase.defaultlogger.level' - [CORE-1636] - Case sensitivity issue with tableExists precondition - [CORE-1640] - foreignKeyExists precondition always failing - [CORE-1641] - Add column with foreign key throws NPE - [CORE-1644] - ValidationFailedException after update to 3.0.7 - [CORE-1646] - Exception when comparing two schemas - [CORE-1647] - Mysql enum default values not quoted - [CORE-1648] - Mysql columns with colons and other special chars are not quoted - [CORE-1664] - MSSQL. "DATE" type doesn't exist for MSSQL 2005 and 2000. - [CORE-1382] - Allow to create DATABASECHANGELOG* tables in another schema - [CORE-1546] - Schema-Support on Informix - [CORE-1577] - Oracle tinyint, smallint, int being created as number(38,0) - [CORE-1604] - Minor maven pom cleanups - [CORE-1635] - Generated changelog missing unique constraints should be output before foreign keys Changes in version 3.0.7 (2013.10.24) - Major Changes: Decreased memory usage, especially with large sql files Fixed SQLite support Improvements to data type handling, especially in MS SqlServer - [CORE-1509] - Memory improvements for large sqlFile files - [CORE-1533] - Performance improvements in dropAll - [CORE-1247] - [Sqlite] bad syntax in create table statements with single autoincrement primary key - [CORE-1519] - Allow relative file paths for valueClobFile and valueBlobFile inserts/updates. - [CORE-1275] - LoadData insert statements do not escape column names containing an open paren - [CORE-1312] - Error when creating changelog tables - [CORE-1399] - IncludeAll Failing when running in WAR files - [CORE-1440] - Invalid Reorg table statement gets generated on DB2 - [CORE-1504] - dbDoc should html-encode author names - [CORE-1506] - updateSQL generates invalid SQL for oracle - [CORE-1507] - dropAll fails with NullPointerException - [CORE-1510] - Maven plugin fails to configure parameters within property file with trailing spaces, error message misleading - [CORE-1511] - modifyDataType truncates enum values - [CORE-1512] - Insert with valueClobFile fails with unicode encoding. - [CORE-1515] - Liquibase MSSQL: Snapshot incorrectly injecting size for some datatypes - [CORE-1516] - Liquibase MSSQL: Snapshot recording incorrect size for VARBINARY - [CORE-1517] - Liquibase MSSQL: Autoincrement property of decimal datatype not supported - [CORE-1518] - Liquibase MSSQL: Incorrect datatypes captured in the snapshot - [CORE-1520] - Liquibase Snapshot: Default datetime is wrong - [CORE-1521] - When generateChangeLog is run, objects do not always come back in a consistent order - [CORE-1522] - PreparedStatement.setCharacterStream() not supported by Postgres JDBC driver. - [CORE-1524] - Ant diff command running diffChangeLog - [CORE-1525] - Liquibase MSSQL: Snapshot not capturing alter statements that add default values - [CORE-1526] - Unicode string escaping in MSSQL - [CORE-1530] - Column called VERSION is quoted in PostgreSQL - [CORE-1531] - includeAll with relativeToChangeLogFile fails under certain conditions - [CORE-1532] - NPE in ChangedIndexChangeGenerator - [CORE-1534] - Single quotes in liquibase.bat causing issues Changes in version 3.0.6 (2013.10.08) - Major Changes: Split out CDI code to a separate jar Remove primary key on DATABASECHANGELOG and increased column sizes Case sensitivity fixes General bug fixes - [CORE-1485] - Extract CDI support into a separate module - [CORE-602] - Increase the default size of the FILENAME column - [CORE-1471] - Add support for Sybase IQ - [CORE-1475] - Support entering password(s) interactively on the command line - [CORE-1477] - Support overriding LockService changeLogWaitTime - [CORE-1492] - DatabaseChangelog Description useless - [CORE-1502] - CLONE - UpdateSQL needs to append a "/" to the end of createProcedure for Oracle - [CORE-1088] - Derby fails to create databasechangelog tables - [CORE-1093] - generateChangeLog fails on MSSQL with coalation CS on views named in lowerCase - [CORE-1158] - Escaping of reserved keywords in HSQLDB - [CORE-1170] - loadUpdateData sometimes needs / and sometimes not - [CORE-1177] - Failure to write a change set to the DATABASECHANGELOG table still applies the change set - [CORE-1325] - CDI injection does not work with openwebbeans - [CORE-1343] - Include SQL file with relativeToChangelogFile doesn't work - [CORE-1378] - Deploy fails on Glassfish - [CORE-1409] - Package CDI support as a separate module - [CORE-1436] - loadUpdateData does not escape apostrophes - [CORE-1437] - Diff is case-sensitive on column names - [CORE-1440] - Reorg Table gets called before table is created on DB2 - [CORE-1441] - Drop table with cascade does not work on MS SQL Server - [CORE-1443] - Documentation for liquibase maven logging configuration needs update - [CORE-1445] - Mysql Reserved Words Not quoted - [CORE-1449] - Liquibase throws null pointer if included file does not exist - [CORE-1464] - SQL changelog are not correctly handled (NPE) - [CORE-1465] - GetViewDefinitionGeneratorMSSQL generates UPPER case view name - [CORE-1469] - GenerateChangelog not working on Firebird - [CORE-1470] - Use NUMERIC instead of NUMBER for Sybase ASE - [CORE-1478] - MySQL keywords `key' not quoted as a column name - [CORE-1479] - MySQL 5.5.27 fails to create DATABASECHANGELOG table (Liquibase support fully broken) - [CORE-1480] - ChangedPrimaryKeyChangeGenerator missing name - [CORE-1481] - Schema.toString NPE - [CORE-1482] - Update fails with "Table DATABASECHANGELOGLOCK already exists" - [CORE-1483] - Boolean values of "false" being incorrectly handled - [CORE-1488] - Encoding issue with UpdateSQL - [CORE-1490] - Oracle 10g: Changelog generation changes type NUMBER(*,0) to NUMBER(22) - [CORE-1491] - Oracle 10g: changelog generation converts VARCHAR2(n CHAR) to VARCHAR2(n BYTE) - [CORE-1497] - SQL SERVER: sysdiagram table is captured during generateChangeLog if system diagrams are enabled. - [CORE-1499] - null appearing in liquibase maven output - [CORE-1500] - Snapshots do not order objects alphabetically - [CORE-1501] - Incorrect SQL generated for default column value in PostgreSQL for text columns - [CORE-1448] - Throw a more helpful error message and continue on if snakeyaml isn't in the classpath - [CORE-1472] - Support multi-tenant spring applications Changes in version 3.0.5 (2013.09.24) - Major Focus: Performance Improvements - [CORE-1453] - Multi-column foreign keys not snapshotted correctly - [CORE-845] - "DATE" data type is deployed as "SMALLDATETIME" in SQL 2008 - [CORE-859] - Nullable TIMESTAMP columns in MySQL are not nullable. - [CORE-1257] - Oracle: generateChangeLog exports a column of type "NUMBER" as "NUMBER(0,-127)" - [CORE-1288] - H2 (and other) support for BLOB and CLOB is incorrect - [CORE-1338] - Using apostrophe in changeset's ID causes SQL error - [CORE-1360] - Confirmation message of a custom change change is only printed if loglevel is debug - [CORE-1364] - SQL Server incorrect INFORMATION_SCHEMA table case in native query - [CORE-1365] - SQL Server: "Database 'dbo' does not exist" error - [CORE-1401] - Unnecessary snapshot on liquibase update - [CORE-1415] - Liquibase tables are not detected in oracle running in the SYSTEM schema - [CORE-1426] - ORACLE: Check for existing tables is case sensitive - [CORE-1429] - Random order of UniqueConstraint and ForeignKey drop statements - [CORE-1459] - Maven updateSQL creates databasechangelog table, should only output SQL to do it - [CORE-1462] - renameColumn with 'text' data type improperly trying to use 'clob' against MySql - [CORE-1433] - Handle changes in column datatypes in diffChangeLog - [CORE-1434] - Formatted Changelog format not parsing UTF8 .sql files with BOM Changes in version 3.0.4 (2013.09.06) - [CORE-548] - GenerateChangeLog generates invalid XML/SQL for mysql tables with autoincrement and compound PKs - [CORE-1423] - NPE in ForeignKeyComparator Changes in version 3.0.3 (2013.08.29) - [CORE-1241] - Remove schema name from SQL generated when running updateSQL - [CORE-1412] - UpdateSQL should write to stdout not stderr - [CORE-844] - Integer with range limitations handled incorrectly on Oracle - [CORE-1313] - Unique constraint name is ignored when adding a column - [CORE-1316] - Column Type COMPUTED in loadData is not implemented correctly (shoud pass a DB Function instead of String to DB). - [CORE-1327] - renameColumn and renameTable with Sybase - [CORE-1329] - GenerateChangeLog on MSSQL exports a SMALLINT(5) - smallint does not allow precision - [CORE-1336] - AutoIncrement not working with some types - [CORE-1351] - PostgreSql 9 doesnt have datetime data type - [CORE-1353] - AutoIncrement not working for numeric types - [CORE-1354] - Sequences get dropped too early - [CORE-1356] - Unnecessary size specifications on MEDIUMTEXT, TINYTEXT, MEDIUMBLOB, TINYBLOB from generateChangeLog - [CORE-1358] - LiquiBase 3.0.2 writes '3.0.0-SNP' (Snapshot) to 'LIQUIBASE' column instead of '3.0.2' - [CORE-1362] - Informix fails when schema is not equal catalog - [CORE-1363] - ForeignKey NPE during dbDoc generation - [CORE-1364] - SQL Server incorrect INFORMATION_SCHEMA table case in native query - [CORE-1366] - Oracle database dbDoc generation performance issues - [CORE-1367] - updateSQL generates an empty file using standard output in 3 version - [CORE-1369] - Whitespace in author in SQL formatted changelog causes that migration to be silently skipped - [CORE-1370] - Oracle doesnt have DATETIME datatype - [CORE-1371] - MySQL syntax error is thrown if schema name contains hyphens - [CORE-1372] - Version Command Line Argument Incorrect - [CORE-1373] - dropAll attempts to drop objects in other schemas under Oracle - [CORE-1375] - "group" is not included as a reserved word - [CORE-1377] - liquibase version says 3.0.0-SNP - [CORE-1380] - ^M present in liquibase unix running file (from jar on maven repo) - - - - - [CORE-1381] - DropAll: Not working with MsSql - - [CORE-1383] - Error attempting to re-create databasechangeloglock on second liquibase run if running in Oracle under SYSTEM user - [CORE-1387] - dropAll fails with oracle since version 3.0.2 - [CORE-1388] - MSSQLServer: 'REAL' dataype is returned with unnecessary size modifier during generateChangeLog - [CORE-1389] - AddLookupTable fails when using QUOTE_ALL_OBJECTS - [CORE-1394] - additionalInformation lost in DataTypeFactory.fromDescription() - [CORE-1395] - Bug in MSSQLDatabase.getViewDefinition() - [CORE-1396] - Liquibase is loosing indices on foreign key columns - [CORE-1397] - Informix DB: Size of VARCHAR more than 255 - [CORE-1398] - Missing or unexpected unique constraint not found on Postgres - [CORE-1402] - Custom preconditions not passing XML validation - [CORE-1403] - Default schema not correct when using - [CORE-1405] - SpringLiquibase not closing connection if rollback exception - [CORE-1406] - MySQL loadUpdateData using literal values for update - [CORE-1408] - NVarcharType on Derby Fails - [CORE-1413] - NPE in changeSetExecuted precondition in changelog-level preconditions - [CORE-1414] - Improve error handling in empty databasechangeloglock tables - [CORE-1417] - generateChangeLog failed - [CORE-1418] - Foreign Key changes not detected in snapshot process Changes in version 3.0.2 (2013.07.11) - [CORE-628] - Specify the output encoding that liquibase should use to output data in Maven - [CORE-169] - Oracle TIMESTAMPS not exported correctly - [CORE-1301] - defaultschemaName not used - [CORE-1315] - Database Objects do not get dropped on DB2 - [CORE-1317] - Not all FK Constraints get dropped on Oracle - [CORE-1318] - Not all FK Constraints get dropped on SQL Server - [CORE-1328] - includeAll trying to process invalid file types, should only process valid change log types - [CORE-1331] - If logicalFilePath attribute is set on databaseChangeLog, I am unable to use relativeToChangelogFile="true" on - [CORE-1332] - includeAll of changelog files throws duplicate identifiers error - [CORE-1335] - Data export support broken in 3.0 - [CORE-1336] - AutoIncrement not working with some types - [CORE-1337] - Problem with changeset defined as runAlways="true" - [CORE-1339] - NPE on update if default ServiceLocator.packagesToScan is used - [CORE-1340] - indexExists Changesets throwing PreconditionErrorException instead of PreconditionFailedException - [CORE-1341] - foreignKeyConstraintExists precondition broken - [CORE-1347] - dropAll function work incorrectly when table has 2 foreign keys Changes in version 3.0.1 (2013.06.25) - [CORE-898] - Custom precondition xsd failing - [CORE-1171] - Maven plugin displaying password in plain text - [CORE-1320] - Cannot include YAML file - [CORE-1323] - Conversion from char to SMALLINT is unsupported - [CORE-1324] - Formatted SQL does not support contexts such as "some-context" or "some/context" Changes in version 3.0.0 (2013.06.17) - Dropped Java 1.5 support - Major changes in diff and snapshot log - Support for "catalogs" in addition to schemas - Separated "diff" and "snapshot" logic for better modularity - Extension support for LockService - Extension support for defining new DataTypes - Extension support for defining new snapshot DatabaseObjects - Extension support for defining new Snapshot log - Extension support for how to compare DatabaseObjects - Better extension support for changelog generation - More object types are snapshotted - Changes can provide metadata helpful for IDE and other integrations - Added ability for objects to control how they are serialized via the LiquibaseSerializable interface - Can define tablespace for liquibase tables - Performance improvements - Ability to specify sequences to read values from on - Improve OSGi support - Support preconditions in formatted SQL - Maven supports generateChangeLog - Better support for case sensitive databases - API cleanup - Ability to SKIP columns in a CSV file - Improved Informix support - Support JDBC escape syntax in SQL - Added futureRollbackCountSQL - Support ${} params in formatted SQL - Many bug fixes Change in version 2.0.5 (2012.05.01) https://liquibase.jira.com/secure/ReleaseNote.jspa?projectId=10020&version=10360 ---------------------- - Reverted load blog/clob data from files feature - Fixed linux distribution script - Fixed command line output back to stdout Change in version 2.0.4 (2012.04.18) https://liquibase.jira.com/secure/ReleaseNote.jspa?projectId=10020&version=10160 ---------------------- - Support ${} params in included sql files - Ability to load blog/clob data from files - Bug Fixes Change in version 2.0.2 (2011.09.15) ---------------------- - dropFirst parameter on SpringLiquibase bean - Bug Fixes Change in version 2.0.0 (2010.12.19) ---------------------- - Major change to codebase, focusing on extension/integration APIs Changes in version 1.9.3 (2009.4.3) ---------------------- - Fixed index column nested tags in generated XML Changes in version 1.9.2 (2009.4.6) ---------------------- - Fix for includeAll on windows - Other bug fixes Changes in version 1.9.1 (2009.2.20) ---------------------- - Escape hsql tables/columns if they are a keyword - opensvn is included in our jar, not a dependency - Bug in runInTransaction - Additional bug fixes - Grails 1.1-SNAPSHOT support Changes in version 1.9.0 (2009.1.7) ---------------------- - Paths in can be relative to changelog - Sybase Adaptive SQL Anywhere support - Better Derby support (drop column, rename column) - support - change - support - runInTransaction attribute for changeSet - Stronger validation in .xsd - Bug fixes Changes in version 1.8.1 (2008.10.1) ---------------------- - Bug fixes Changes in version 1.8.0 (2008.09.17) ---------------------- - Added SQLite support - Bug fixes - Added dropAllForeignKeyConstraints change - Added onFail and onError precondition failure controls - Auto-increment specifying on a non-auto-increment table does not fail but simply ignores flag - Can control onDelete and onUpdate behavior for FK constraints - Added ability to specify that an index should be unique - Additional validation step checks for required attributes at run time - Improved ordering of generated scripts with diff - Improved command line migrator return codes - Context checking is case insensitive - Can specify end delimiter in change - Added several new precondition checks - Custom preconditions can be passed parameters Changes in version 1.7.0 (2008.06.25) ---------------------- - Added loadData change - Added support for changelog paramters - Allow preconditions in - Can export data with generateChangeLog - Added markNextChangeSetRan command - Added validCheckSum tag to changeSet - Can use change tags in - Can reference previous changeSets in - Allow custom preconditions - RowMapper interface is now public - Misc bug fixes Changes in version 1.6.1 (2008.04.23) ---------------------- - Maven/Grails/IntlliJ Plugin relase of 1.6.x - Many misc bug fixes Changes in version 1.6.0 (2008.03.27) ---------------------- - Added Hibernate diff support - Fix to MD5Sum generation that requires updating all rows in databasechangelog table - Added tagDatabase tag - Added primaryKeyName attribute - Supports multiple rollback tags per changeSet - Column remarks stored in generated changelogs - executeCommand output logged to logging system - Many misc bug fixes Changes in version 1.5.3 (2008.02.28) ---------------------- - Recompiled to work with Java 1.5 Changes in version 1.5.2 (2008.02.07) ---------------------- - Fixed bug with runOnChange and MD5sum check - Handles generating changelog for tables with composite primary keys - Other minor bug fixes Changes in version 1.5.1 (2008.02.01) ---------------------- - Fixed failOnError logic - Improved serial column detection in Postgres - Rollback connections before close for DB2 - Other minor bug fixes Changes in version 1.5.0 (2008.01.29) ---------------------- - Major Refactoring of XML parser and Migrator/Liquibase class - Database table comments saved to generated change log - ReplaceIfExists attribute added to createView - Setting value/valueNumeric/valueBoolean/valueDate on addColumn will update all existing rows with the given value - Added defaultSchemaName parameter for setting default schema - Changelog file comparisons are case-insensitive on windows - Output warning of old schema version - Added updateCount and updateCountSQL commands - Changed "migrate" command to "update". Note: "migrate" is now an alias for "update" - Added comments tag to generated SQL output - Custom Database implementations can be specified with the databaseClassName parameter - Created changeLogSync command - Rollback commands can specify contexts - createTable can specify unique constraint name - XSDs are not pulled from network - Handles Postgres datatypes better - added change - added change - Additional and enhanced Ant tasks - Changed database.migrator.should.run system property to liquibase.should.run - Moved liquibase.servlet.MigratorStatusServlet to liquibase.servlet.LiquibaseStatusServlet - Moved liquibase.servlet.ServletMigrator to liquibase.servlet.LiquibaseServletListener - Moved liquibase.spring.SpringMigrator to liquibase.spring.SpringLiquibase - Moved liquibase.commandline.CommandLineMigrator to liquibase.commandline.Main - Renamed checked servlet listener parameters - Other bug fixes Changes in version 1.4.1 (2007.11.30) ---------------------- - Bug fixes Changes in version 1.4.0 (2007.11.19) ---------------------- - IntelliJ Plug-in Support - Added support for specifying schemas in change log - MaxDB/SAPDB Support - Refactored Code - Can specify data types as java.sql.Types.* - Support for composite foreign keys - Improved Maven support - Bug Fixes Changes in version 1.3.2 (2007.10.8) ---------------------- - Grails support - Firebird support Changes in version 1.3.1 (2007.10.2) ---------------------- - Bug fix for createStoredProcedure in Oracle Changes in version 1.3.0 (2007.9.27) ---------------------- - Added tablespace support to createTable, createIndex, addPrimaryKey, and addUniqueConstraint - Restored Java 6 Support - Added defaultCascade attribute to addForeignKeyConstraint - Can have multiple comma-separated contexts per change set - Created change - Added sqlCheck precondition - Database Diff checks column types and nullability - DiffChangeLog will write to a file specified with the --changeLog flag - Added dbdoc documentation generator - Database Diff checks views - Package re-organization - Added createProcedure change - Added change - Table names are enclosed in []'s on MS SQL - Added Spring migrator - Misc bug fixes Changes in version 1.2.1 (2007.8.31) ---------------------- - Include sequences in generateChangeLog - Fixed ordering of statements default and null clauses based on database Changes in version 1.2 (2007.8.28) ---------------------- - Added support for H2 database - Added support for InterSystems Cache` database - Support for sqlfile change - Improved error messages - Sybase fixes - Handle --defaultsFile correctly - Handle command line parameters correctly on Windows systems - tag can contain a tag - Change log file references can be absolute - SQL can be ; or 'go' delimited - Added clearCheckSums command - Bug fixes Changes in version 1.1.1 (2007.7.24) ----------------------------------- - Bug fixes related to the diff tool Changes in version 1.1 (2007.7.23) ----------------------------------- - Support for additional databases: DB2, Derby, Sybase (not fully tested), and HSQL - Support for "unsupported" databases - Database Diff Tool - Database Creation Script Generator - new DBMS attribute on change set tag that allows you to specify what databases to run the change set against - "verify" command that checks for change log problems without attempting to execute any - "status" command that shows information on unrun change sets - Handle date/time and numeric values better on inserts and setting default values - Bug Fixes Changes in version 1.0.1 (2007.7.07) ------------------------------------ - Do not quote "null" default values - Documentation fixes Changes in version 1.0 (2007.6.25) ------------------------------------ - Minor Bug Fixes Changes in version 1.0 RC2 (2007.6.19) ------------------------------------ - Improved documentation - Bug fixes - Changes to exception throwing Changes in version 1.0 RC1 (2007.6.8) ------------------------------------ - Added batch/shell scripts for command line migrator - Improved documentation - Bug fixes - Blog started at http://blog.liquibase.org Changes in version 0.9.1 (2007.5.23) ------------------------------------ - Bug fixes Changes in version 0.9.0 (2007.5.14) ------------------------------------ - Rollback support - Initial Maven support - Performance improvements - Can have a logical file and path for changelogs - New Database Refactorings: - Add View - Rename View - Drop View - Merge Columns - Add Foreign-Key Constraint - Drop Foreign-Key Constraint - Add Lookup Table - Add Primary Key - Add Auto-Increment - Add Default Value - Drop Default Value - Drop Primary Key - Add Unique Constraint - Drop Unique Constraint - Code refactorings Changes in version 0.8.2 (2007.4.30) ------------------------------------- - Bug fixes Changes in version 0.8.1 (2007.4.25) ------------------------------------- - Prompting for non-local database is now false by default - Ant non-local database prompt attribute changed to promptOnNonLocalDatabase from promptOnNonDevDatabase - Bug Fixes Changes in version 0.8.0 (2007.4.22) ------------------------------------- - Changelog Pre-conditions - Execution contexts - failOnError tag for changeSets - addNotNullConstraint / dropNotNullConstraint - allow "comment" tags - Improved documentation - Completed conversion to SourceForge - Improved automated tests Changes in version 0.7.0 (2007.3.16) ------------------------------------- - Changed MD5Sum logic. !! Need to run 'update databasechangelog set md5sum=null' !! - Added support for autoIncrement columns in createTableChange - Switched to Liquibase name, including all package structures - Moved code to SourceForge Changes in version 0.6.3 (2007.1.10) -------------------------------------- - Fixed bug in create table refactoring where it ignored constraint clauses Changes in version 0.6.2 (2006.12.19) -------------------------------------- - Fixed missing non-upper cased insert statement Changes in version 0.6.1 (2006.12.12) -------------------------------------- - Classpath for command line migrator can now include .ear files - Can specify a "database.migrator.should.run" system property that blocks the migrator from running if set to "false" - Added a liquibase.migrator.servlet.MigratorStatusServlet servlet that can used to see the migrator logs - Added a MIGRATOR_FAIL_ON_ERROR web.xml context parameter that controls if an exception should be raised if an exception is thrown, or if the listener should just return. Throws an exception by default - All database SQL is upper case. - Fixed issues with postgres schemas and getTables() call - Added retroweaver build for 1.4 JVMs - Misc. Bug fixes Changes in version 0.6 (2006.11.10) -------------------------------------- - Added change log locking support, so multiple migrators running at the same time won't interfere with eachother - Fixed bug with command line parsing and URLs with '='s in them - Misc bug fixes Changes in version 0.5.1 (2006.10.18) -------------------------------------- - Bugfixes related to running ant task Changes in version 0.5 (2006.10.16) -------------------------------------- - LGPL Licence - Oracle uses Timestamp for datetime columns - Command line migrator can be run against WAR and EAR files - Command line migrator can be run via java -jar - ChangeSets can be marked as "runAlways" and "runOnChange" - ServletListener can be configured to only run on certain hostnames - Removed all dependencies - Improved MD5Sum generation. To update your MD5Sums, run "update databasechangelog set md5sum=null" - MySQL Support - Misc bugfixes - Improved Documentation