Liquibase Core Changelog
===========================================

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 <optional>true</optional>
- [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 <sqlFile> tag
- [CORE-1746] - Support <sqlFile> 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 <createProcedure>
- [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 <tableExists>
- [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 <insert>
- 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 <include> can be relative to changelog
- Sybase Adaptive SQL Anywhere support
- Better Derby support (drop column, rename column)
- <modifySql> support
- <stop> change
- <includeAll> 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 <sql> 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 <changeSet>
- Can export data with generateChangeLog
- Added markNextChangeSetRan command
- Added validCheckSum tag to changeSet
- Can use change tags in <rollback>
- Can reference previous changeSets in <rollback>
- 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 <update> change
- added <delete> 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 <custom> 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 <executeCommand> 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
- <sql> tag can contain a <comment> 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
