Release Notes

Thank you all for reporting all these issues and contributing fixes!

Unreleased version

Changes

  • Issue 752 Deprecated Flyway.setBaselineVersion(String), use setBaselineVersionAsString(String) instead.
  • Issue 752 Deprecated Flyway.setTarget(String), use setTargetAsString(String) instead.
  • Issue 752 Deprecated Flyway.setCallbacks(String...), use setCallbacksAsClassNames(String...) instead.
  • Issue 752 Deprecated Flyway.setResolvers(String...), use setResolversAsClassNames(String...) instead.

Bug fixes

Thanks to Andrew Murray, Armin Gattung and Rahul Prabhakar for reporting these issues and contributing fixes.

Flyway 3.1 (2014-11-27)

New Features

Incompatible Changes

  • Issue 860 The FlywayCallback interface has two new methods: beforeBaseline() and afterBaseline().
  • Issue 860 info() now returns INIT migrations as BASELINE.
  • Issue 860 info() now returns PREINIT migrations as BELOW_BASELINE.

Changes

  • Issue 860 Deprecated init(), use baseline() instead.
  • Issue 860 Deprecated initVersion, use baselineVersion instead.
  • Issue 860 Deprecated initDescription, use baselineDescription instead.
  • Issue 860 Deprecated initOnMigrate, use baselineOnMigrate instead.
  • Issue 860 Deprecated FlywayCallback.beforeInit(), use FlywayCallback.beforeBaseline() instead.
  • Issue 860 Deprecated FlywayCallback.afterInit(), use FlywayCallback.afterBaseline() instead.
  • Issue 860 Deprecated MigrationState.PREINIT, use MigrationState.BELOW_BASELINE instead.
  • Issue 860 Deprecated MigrationType.INIT, use MigrationType.BASELINE instead.
  • Derby Jdbc driver: Flyway is now tested with 10.11.1.1 (was 10.8.2.2)
  • Hsql Jdbc driver: Flyway is now tested with 2.3.2 (was 2.2.8)
  • PostgreSQL Jdbc driver: Flyway is now tested with 9.3-1102-jdbc4 (was 9.0-801.jdbc4)
  • SQLite Jdbc driver: Flyway is now tested with sqlite-jdbc 3.7.15-M1 (was sqlite-jdbc 3.7.2)

Bug fixes

Thanks to Adrian Chung, aldas, Armin Gattung, Boris Stumm, Brandon Bremen, Carlo Conserva, Christine Teig, cowwoc, crannym, Dan Nawrocki, Dembach Goo Informatik, Deryl Spielman, everflux, flavor8, Hurricane Hamilton, James Elliott, Jurica Krizanic, larry-s, Lukasz Rozek, Mark Sievers, Michael Yaakoby, Mikhail Chibel, Muni10, Nathan Vick, Nick Golubev, Olivier Adam, orbfish, PeeZu, Ray Holder, rekonvald, Rao Sadhu, Sajan Chandran, Sebastian Vuorinen, Siva Panduranga Stephan Pauxberger, Steve Todd, Tom Eicher, Wilkin Cheung and Yiyu Jia for reporting these issues and providing fixes.

Flyway 3.0 (2014-04-20)

New Features

  • Issue 76 SQLite & Android support
  • Issue 353 Command-line tool: Multiple operations can now be specified at once
  • Issue 469 Custom MigrationResolver support
  • Issue 618 Repair: update checksums after migration
  • Issue 626 Custom ClassLoader support
  • Issue 651 Pre and post hooks for each operation Pull Request
  • Issue 655 Disable transaction for a particular migration
  • Issue 667 MariaDB support
  • Issue 679 Allow to configure maven plugin from a property file
  • Issue 730 Configurable separator between version and description

Incompatible Changes

  • Dropped compatibility with the Flyway 1.X metadata table format. If you are upgrading from 1.X, you must upgrade to 2.3 first, before upgrading to 3.0.
  • Issue 97 Validate should fail if there are migrations in source that have not been run on the database
  • Issue 536 Drop Java 5 support & remove deprecated API
  • Issue 537 Move packages & groupId from com.googlecode.flyway to org.flywaydb
  • Issue 695 validateOnMigrate is now true by default

Changes

  • DB2 Jdbc driver: Flyway is now tested with db2jcc4 4.17.29 (was db2jcc 3.62.56)
  • Oracle Jdbc driver: Flyway is now tested with OJDBC6 12.1.0.1 (was OJDBC5 11.2.0.2.0)
  • PostgreSQL Jdbc driver: Flyway is now tested with 9.0-801.jdbc4 (was 9.0-801.jdbc3)
  • SQL Server Jdbc driver: Flyway is now tested with Jtds 1.3.1 (was 1.2.7)

Bug fixes

  • Issue 430 Display the connection url
  • Issue 484 IllegalArgument when executing Flyway Ant build script several times in the same JVM
  • Issue 489 Validate does not report different descriptions for same version
  • Issue 496 Need sql print statements to be logged in Flyway logs
  • Issue 540 ORA-00900: invalid SQL statement - bug in the parser
  • Issue 543 Parser does not properly recognize some multiline string literals
  • Issue 557 MySQL statement not recognized due to a space character at the end of a comment directive
  • Issue 584 NumberFormatException thrown when using command line tools
  • Issue 606 Found more than one migration with version when multiple locations named with the same roots
  • Issue 612 Inconsistent definition of "locations" parameter
  • Issue 621 flyway clean does not remove mysql events
  • Issue 639 Flyway migrates correctly. but in the schema_version table the scriptname is prefixed with a /
  • Issue 642 Local migration file overwrites database's description
  • Issue 673 Some Unicode characters can still lead to StringIndexOutOfBoundsException Pull Request
  • Issue 678 flyway fails recognizing sql server delimiter while parsing sql migration
  • Issue 681 Maven site complains that repository url 'http://flywaydb.org/repo' is invalid
  • Issue 682 Maven Plugin - Cannot set boolean system property Pull Request
  • Issue 684 Allow passing custom initialization SQL for database connections Pull Request
  • Issue 687 Oracle cleanup - flyway fails on tables that have Flashback enabled Pull Request
  • Issue 688 Support for Oracle cluster Pull Request
  • Issue 692 Flyway doesn't remove trailing slash in PL/SQL block
  • Issue 694 sbt: Allow specifying URL through system properties Pull Request
  • Issue 697 flyway:clean doesn't remove compiled java source Pull Request
  • Issue 706 Info marks schema creation as missing (should be success)
  • Issue 708 flyway.repair() doesn't commit when data source is not autocommit
  • Issue 716 Load and inject configured Custom MigrationResolver implementations
  • Issue 720 FlywayException message is not saying anything usefull Pull Request
  • Issue 725 NullPointerException in quoteReplacement
  • Issue 727 fix placeholders override by property configuration and add sbt large test for placeholders

Thanks to adelinor, adiGadiG, Andriy Binetskyy, Anthony Galea, Antti Virtanen, awal11, Ben Manes, bobwenx, Brian Hartin, Christian Dedie, cowwoc, Craig Forbes, Dan Bunker, Deryl Spielman, Eric Jain, Eugen Pyanov, Fatos Sopjani, Fernando Correia, Gerald Quintana, ggrussenmeyer, gregul, Jon Todd, Jonathan Holloway, kavithaparameswaran, kongslund, Lidija, Lukasz Rozek, Michal Lisiecki, Mircea Pop, Nicolas Peters, Patrick Kranz, Prismapanda, quiver, rattigan, Regis Leray, Roger Brechbühl, samidha14 and vertex-github for reporting these issues and providing fixes.

Flyway 2.3 (2013-12-17)

New Features

Changes

  • Flyway is now tested with Ant 1.8.4 (was 1.8.2)
  • Deprecated the MigrationVersion() constructor. Use MigrationVersion.fromVersion(String) instead.

Bug fixes

Thanks to Adam Green, Baptiste Gaillard, Christian Dedié, Christoffer Eide, Dave O'Flynn, garichner, Kevin Sheedy, Lukasz Rozek, Matt Garner, migore, pimlottc, Pavel Boldyrev, Piotr Wielgolaski, Rajnish Srivastava, Robert Handschmann, Thomas Queste, Tom Eicher and Ulf Bamberg for reporting these issues and providing fixes.

Flyway 2.2.1 (2013-08-20)

Bug fixes

  • Issue 555 True exception causes lost when there is no cause chain
  • Issue 559 NullPointerException on database without default schema
  • Issue 563 MigrationVersion compareTo is very slow Pull Request
  • Issue 570 Flyway failing with single quote as part of MySQL Stored Procedure Create Statement
  • Issue 571 Plugin fails with Maven 3.1 - An API incompatibility was encountered during configuration of mojo
  • Issue 572 NumberFormatException with file names like V1..1__desc.sql Pull Request
  • Issue 574 Passing in target property causes GroovyCastExtention Pull Request

Thanks to Chrissyx, Dario Matonicki, hvvikram, Michael Krotscheck, Piotr Wielgolaski, Thomas Jung and Tom Stordy-Allison for reporting these issues and contributing fixes.

Flyway 2.2 (2013-07-15)

New Features

Incompatible Changes

  • Flyway now throws an exception if a placeholder is missing a replacement value
  • init is now idempotent. Calling init multiple times with the same values no longer throws an exception.
  • Ant: Dropped support for the separate Spring distribution.
    Spring is still supported by adding the Spring jars yourself on Flyway's classpath
  • Ant: The distribution is now called flyway-ant-2.2.[zip|tar.gz] (dropped the -dist part)
  • Command-line: Dropped support for the Spring distribution.
    Spring is still supported by adding the Spring jars yourself in the /jars directory
  • Command-line: The distribution is now called flyway-commandline-2.2.[zip|tar.gz] (dropped the -dist part)
  • Command-line: The root directory is now called flyway-2.2 (dropped the -commandline part)
  • Command-line: On Linux and OSX the script is now called flyway (dropped the .sh)

Changes

  • Flyway is now tested with the Microsoft JDBC Driver 4.0.2206.100 (was 3.0.1301.101)

Bug fixes

  • Small Bug in Flyway.getLocations() -> flyway-test-extension crash
  • Issue 453 flyway.cmd cannot determine console width on windows 7
  • Issue 456 "Migrate" command fails when the SQL Server login doesn't have a default schema
  • Issue 458 FlywayException executing flyway:info with -f maven option
  • Issue 459 Flyway.migrate() leaves the metadata table locked if it throws an exception
  • Issue 462 Flyway 2.1.1 hangs on ANALYZE command € Sponsored
  • Issue 463 Clean on DB2 functions or procedures fails when two procedures have the same name
  • Issue 464 Clean on DB2 fails to clean schemas with ARRAY TYPES
  • Issue 471 Dropping queue tables throws Exception
  • Issue 472 SQL Server Unable to drop schema when functions exist
  • Issue 473 SQL Server: flyway:clean should drop synonyms
  • Issue 474 MySql - Cannot create table or query data from tables in migration steps because meta data table is locked
  • Issue 477 Fail fast for missing placeholders
  • Issue 481 Hexadecimal Value using x'1234' notation not parsed correctly
  • Issue 491 Oracle COMPOUND TRIGGER with initialization section not working properly
  • Issue 497 MySQLSqlStatementBuilder gets confused with lines containing escaped single quote
  • Issue 499 MySQL dump file's Views are not migrated
  • Issue 501 Flyway Clean on PostgreSQL leaves TYPES
  • Issue 505 Ant Tasks "validate" and "migrate" do not show actual and expected checksums
  • Issue 542 zero-length delimited identifier at or near """" on Postgres
  • Issue 548 Need a way to find out from FlywayException which SQL command failed
  • Pull Request 23 Consider colons as a token separator
  • Pull Request 25 Version in child projects is redundant, since it is inherited from the parent

Thanks to Alex Zuroff, Brian Hartin, Christian Holzer, David Bellem, Florian Eska, Geoff, Giovanni Toraldo, Jason Januzelli, Jens Berke, Leandro de Oliveira, Mark Garrison, Michael Hirsch, Nayan Hajratwala, Patrick Malouin, Pavel Boldyrev, Pekka Mannisto, Radek Mensik, Roger Brechbühl, Ryan Williams, service (figel.it) and Tim Andersen for reporting these issues and contributing fixes.

Special thanks to David Harrigan for sponsoring the fix for issue 462!

Special thanks to Ben Manes for contributing the Gradle Plugin!

Flyway 2.1.1 (2013-03-15)

Bug fixes

  • Issue 443 Property flyway.consoleWidth should be optional in 2.1 command line
  • Issue 444 Add -X option to command line tool help
  • Issue 445 T-SQL Unicode string syntax broken in 2.1
  • Issue 449 Maven plugin raises NPE when url configuration is missing
  • Issue 450 MySQL - schema_version table remains LOCKed after Flyway runs

Thanks to Alex Krauss, Alex Panchenko, Alex Zuroff and Greg Case for reporting and contributing fixes for these issues.

Flyway 2.1 (2013-03-05)

This version fixes minor issues with the metadata table. Migration is transparent and automatic on first run.

New Features

  • Issue 74 Automatic schema creation
  • Issue 219 Allow 'skip' in Maven Plugin
  • Maven Plugin: Support encrypted passwords in settings.xml
  • Issue 223 Command-line: Customizible location of jars folder
  • Issue 247 Allow loading SQL migrations from Filesystem (instead of only from classpath)
  • Issue 277 Command-line: Allow to load sql-migrations from different directory
  • Issue 324 flyway.driver is now optional. It is auto-detected based on flyway.url when omitted

Incompatible Changes

  • The deprecated flyway.baseDir property has been removed.
  • The deprecated flyway.basePackage property has been removed.
  • The default for flyway.initVersion has been changed to 1 (was 0).
  • Issue 340 Invalid locations now result in an exception being thrown instead of being silently ignored.
  • Command-line: The default for flyway.locations has been changed to filesystem:<<INSTALL-DIR>>/sql

Changes

  • Deprecated flyway.initialVersion . Use flyway.initVersion instead.
  • Deprecated flyway.initialDescription . Use flyway.initDescription instead.
  • Flyway now enforces the rules for what constitutes a valid version.
  • SqlServer: Flyway is now tested with Jtds 1.2.7 (was 1.2.4).
  • H2: Flyway is now tested with H2 1.3.170 (still compatible with 1.2.137 and above).
  • Issue 244 Flyway can now also be built with JDK 7 and above. (Minimum is still JDK 6)

Bug fixes

  • Issue 351 better log messages of DBMigrator
  • Issue 377 db/migration-test not recognized as location
  • Issue 381 setLocations does not override deprecated baseDir or basePackage
  • Issue 383 Support longer usernames
  • Issue 384 Special umlauts create IndexOutOfBoundsExceptions
  • Issue 387 schema_version table could have a primary key
  • Issue 394 HSQLDB : Quote in comment breaks parser
  • Issue 404 Bash script compatibility
  • Issue 407 OSGi: Add support for felix framework
  • Issue 413 Uninstantiatable JdbcMigration tests should throw exception
  • Issue 415 Support of db2 stored procedures
  • Issue 423 Classpath issue with EAR and Websphere
  • Issue 426 Current version of schema is always 0
  • Issue 427 Support for anonymous blocks in postgresql
  • Issue 428 Unclosed string literals in comments break statement parsing
  • Issue 430 H2 breaks when DATABASE_TO_UPPER=FALSE
  • Issue 432 Maven Plugin does not scan the test classpath for sql files
  • Issue 436 Description field isn't long enough
  • Issue 439 mysql cluster synchronize fail
  • Pull Request 9 Command-line Unix: Resolve symlinks in flyway.sh

Thanks to agattiker, Benoit Cantin, Christian Haelg, Constantine Linnick, Daniel Wilmer, Dmitry Bitman, dyou08, Gerd Behrmann, Gerrit Brehmer, Giorgio Gallo, Herve Martin, István Nagy, Joe McCall, Jonathan Tougas, Judith Aigner, Kamil Szymański, Klas Klassen, Marcin Jancewicz, Marcin Z., Martin Baillie, Michael Meyer, rbrueske, Tero Keski-Valkama, Tom Stordy-Allison, Tomek Kaczanowski and Viktoras Makauskas for reporting these issues and contributing fixes.

Flyway 2.0.3 (2012-12-05)

Bug fixes

  • Issue 372 Schemas property bug in AbstractFlywayMojo
  • Issue 374 OracleDbSupport assumes XML DB installed
  • Issue 375 Flyway is extremely slow on MySQL with a lot of schemas
  • Issue 379 maven flyway:migrate initOnMigrate and initVersion
  • Issue 380 First character of migration script name is removed in schema_version.

Thanks to David Gundersen, Don (dyou08), Mark Allen, turbohappy and Viktoras Makauskas for reporting these issues.

Flyway 2.0.2 (2012-11-22)

This version performs minor fixes on the metadata table. Migration is transparent and automatic on first run.

Bug fixes

  • Issue 362 NPE when using "Serve modules without publishing"
  • Issue 367 Migrations fail with escaped single quote characters from mysqldump
  • Issue 368 flyway2.0.1 #setOutOfOrder() fails due to constraint violations
  • Issue 369 Broken link in documentation

Thanks to Leandro de Oliveira, Nelson Loyola, NoSuchLuke and Oliver Heil for reporting these issues.

Flyway 2.0.1 (2012-11-20)

Bug fixes

  • Issue 358 Flyway 2.0 can break validation of applied PostgreSQL migrations because it removes "public" from the search path
  • Issue 360 Command-line: OutOfOrder property doesn't get applied
  • Issue 361 flyway:clean does not work with Oracle XML DB and XMLIndex
  • Issue 364 Wrong DDL upgradeTo20FormatPart1.sql for Oracle

Thanks to Jens Berke, Nikos Sikalias, Sebastian (movio.co) and Sten Røkke for reporting these issues.

Flyway 2.0 (2012-11-14)

This version comes with a new metadata table format. Migration is transparent and automatic on first run.

New Features

  • Issue 99 New Flyway.repair() call for repairing the metadata table after a failed migration on a database without DDL transaction support.
  • Issue 105 initOnMigrate flag to automatically initialize a non-empty schema to initVersion.
  • Issue 138 outOfOrder flag for applying migrations with older version numbers that haven't been applied yet
  • Issue 248 New Flyway.info() call for info about both applied and pending migrations and current status of the DB.

Incompatible Changes

  • Migrations now always require a description.
  • The name of the schemas specified with schemas are now case-sensitive.
  • Issue 273 When schemas is set, the first schema in the list is now automatically set as the default one.
  • Core: Version has been renamed to MigrationVersion for consistency.
  • Core: Flyway.getInitVersion() now returns an instance of MigrationVersion (was SchemaVersion).
  • Core: Flyway.getTarget() now returns an instance of MigrationVersion (was SchemaVersion).
  • Core: MigrationInfoProvider.getVersion() now returns an instance of MigrationVersion.
  • Maven: schemas is now a nested configuration element instead of a simply configuration property

Changes

  • Issue 290 Commons-Logging Dependency is now optional.
  • Deprecated Flyway.status() . Use Flyway.info() instead.
  • Deprecated Flyway.history() . Use Flyway.info() instead.
  • Deprecated validationMode . Use validateOnMigrate instead.
  • Deprecated validationErrorMode . Use cleanOnValidationError instead.
  • Deprecated disableInitCheck . Use initOnMigrate instead.
  • Core: Deprecated com.googlecode.flyway.core.exception.FlywayException . Use com.googlecode.flyway.core.api.FlywayException instead.
  • Core: Deprecated Flyway.setinitVersion(SchemaVersion) . Use Flyway.setinitVersion(MigrationVersion) instead.
  • Core: Deprecated Flyway.setTarget(SchemaVersion) . Use Flyway.setTarget(MigrationVersion) instead.
  • Command-line: Distribution without Spring no longer contains logging jars
  • Ant: Distribution without Spring no longer contains logging jars
  • HsqlDb: Flyway is now tested against HsqlDb 2.2.6 (was 1.8.0.10). Still compatible with HsqlDb 1.8.
  • HsqlDb: Concurrent migration support for HsqlDb 2.0 and newer.
  • Oracle: To be compatible with SqlPlus, Flyway now always expects / to terminate a create type statement.
  • DB2: Flyway is now tested against 9.7.0.7 (was 9.7.0.2). Fix Pack 7 fixes important issues related to calling REORG from JDBC.

Bug fixes

  • Issue 145 SQL Scripts with wrong description separator fail due to DB constraints
  • Issue 183 Calculation of checksum is platform encoding dependent.
  • Issue 199 Trimming of whitespaces in SQL migrations breaks stored procedures formatting.
  • Issue 218 createMetaDataTable.sql doesn't escape schema, table and field names
  • Issue 228 Oracle - SQL hints
  • Issue 231 Oracle Sql Parser: support comments inside package body
  • Issue 240 Empty lines are stripped from multi-line string inserts
  • Issue 276 Older DB2 versions limit the length of constraint names causing schema_version creation to fail
  • Issue 285 OracleSqlScript does not support delimiter for TYPE(s) in 1.6.1
  • Issue 287 JNLP classloader not supported
  • Issue 293 1.7 issues warnings about deprecated baseDir and basePackage even if they are not defined
  • Issue 296 "unexpected end of statement" in flyway 1.7 when creating multi-statement TRIGGER in HSQL
  • Issue 298 Java migrations: ignore abstract classes
  • Issue 300 flyway:clean doesn't remove Schema-level triggers on Oracle
  • Issue 303 dropping aggregate function fails with clean
  • Issue 304 SQL migration with multiline INSERT takes too long
  • Issue 305 SqlScript parser misses */ closing comment if line starts with --
  • Issue 307 CommandLine 1.7 --- More than one migration with same version
  • Issue 309 SQL script multiple comments issue
  • Issue 310 Having Delimiter keyword within block comment
  • Issue 313 Flyway breaks on quotes inside comments
  • Issue 315 Oracle clean schema fails to drop SYS_IOT_OVER tables
  • Issue 341 NTLM Authentication
  • Issue 348 ORA-00933 in case of schema name containing a dot symbol
  • Issue 355 Flyway clean fails with Oracle nested tables
  • Issue 356 Cannot create multi-statement triggers on DB2
  • Added JBoss VFS v2 support to enable deployment inside JBoss 5.

Thanks to Adam Peresztegi, Adriano Machado, alehby, Alix Warnke, Anssi Huusko, Brian Troutwine, Cornelius Buschka, Daniel Kan, Darragh O'Toole, Dmitry Bedrin, donald87, Emmanuel Potvin, Geir Nerboe, Gilman Tolle, Greg Bujak, Haam Tham, Jochen Munz, Klaus Etkar, Kris Mulica, kwbrockhoff, Luc Degraef, Patrick van Dissel, saran600101, Stefan Röck, Stephen Friedrich, Steve Tarka, Tim Andersen, Tomek Kaczanowski and Vikram Hullukunte for reporting these issues.

Flyway 1.7 (2012-07-10)

New Features

  • Issue 174 Multiple differently named base dirs for SQL Migrations

Changes

  • Issue 59 Spring Dependency is now optional.
  • Core: Flyway now directly depends on commons-logging. This previously happened transitively through the spring-jdbc dependency.
  • Core: Removed deprecated Flyway.get/setTransactionManager() methods. They already had no effect anymore since 1.6
  • Core: Deprecated JavaMigration. Use SpringJdbcMigration instead.
  • Core: Deprecated JavaMigrationInfoProvider. Use MigrationInfoProvider instead.
  • Core: Deprecated JavaMigrationChecksumProvider. Use MigrationChecksumProvider instead.
  • Core: Deprecated flyway.baseDir and flyway.basePackage properties. Use the new flyway.locations instead.
  • Command-line: New download distribution without Spring dependencies
  • Ant: New download distribution without Spring dependencies
  • Ant: Deprecated direct nesting of placeholder elements. They must now be wrapped inside a placeholders container.

Bug Fixes

  • Issue 156 OSGI: Incorrect Unable to find path for sql migrations
  • Issue 181 Deploying flyway-core in virgo (Spring DM Server) fails with ClassNotFoundException: javax.sql.DataSource
  • Issue 182 Allow spring 3.0.x in osgi import-package
  • Issue 198 Angled-brackets need to be escaped in Javadoc
  • Issue 211 Validation package missing from OSGi exported packages
  • Issue 227 Deployment in a WAR on JBoss
  • Issue 252 1.6.1 flyway.sh classloader problem
  • Issue 256 Enable File Scanning for Zip Protocol
  • Issue 262 Fix incorrect handling of nested dollar quotes in PostgreSQL scripts
  • Issue 263 Flyway commandline 1.6.1 no available on Maven central
  • Issue 264 Getting FlywayException when running maven flyway:migrate goal in Jenkins
  • Issue 269 FileSystemLocationScanner and Symbolic Links on Unix
  • Issue 271 Flyway clean fails to clean db2 when using views with materialized query tables
  • Issue 272 Flyway clean doesn't drop DB2 aliases
  • Issue 279 Migrate fails on .sql files with utf-8 signature

Thanks to Anssi Huusko, Cornelius Buschka, cowwoc, Friedrich Schaeuffelhut, Haam Tham, jtucker, Jussi Mononen, Konstantin Zmanovsky, Marco Descher, Mathias Bogaert, Michael Lubavin, Michal Sabo, Stefan Ferstl, Thomas Letsch, Thomas Recloux and Tsai Liming for reporting and providing patches for these issues.

Flyway 1.6.1 (2012-04-21)

Bug Fixes

  • Issue 239 Flyway 1.6 classpath scanner does not find files unless baseDir has trailing '/'
  • Issue 241 1.6 ant task no longer works with sql migrations
  • Issue 242 Fail to properly load resource files (SQL) in WebappClassLoader

Thanks to Marc Dumontier, Steve Tarka and vtkstef for reporting these issues.

Flyway 1.6 (2012-04-09)

New Features

Changes

  • Flyway is now built with JDK 6, but still compatible with JDK 5.
  • Flyway is now tested against the SQL Server sqljdbc4 driver (was sqljdbc).
  • Flyway.get/setTransactionManager are now deprecated and have no effect anymore. More info

Bug Fixes

  • Issue 79 Migrations don't support semicolons within quotes
  • Issue 184 Huge SQL migrations force huge heap space for doing flyway migrate
  • Issue 186 Javadoc of getBaseDir method of Flyway class is not consistent with implementation.
  • Issue 192 Regression in 1.5 -- Oracle parsing of SQL Script fails due to fieldname 'Function'
  • Issue 200 Cannot invoke setDataSource() multiple times
  • Issue 208 Incorrect Javadoc for Flyway.setBaseDir(String)
  • Issue 209 Support dropping custom domains and enums in PostgreSQL
  • Issue 212 Multiline inserts not supported by PostgreSQLSqlScript
  • Issue 217 Command-line tool may fail to find config on windows machine
  • Issue 220 Maximum open cursors
  • Issue 224 Oracle triggers
  • Issue 225 Clean for SQL Server does not remove User Defined Table Types
  • Issue 232 SqlMigrationResolver ignores scripts in a multi-module environment
  • Issue 236 Flyway clean fails for table created by Oracle text

Thanks to Alexander Hansen, Andrew Hunt, asotobu, Corin Fletcher, cowwoc, jaggerjackkurosaki, Juha Komulainen, Klaus Etkar, Kris Mulica, Luc Degraef and vadim for reporting and contributing patches for these issues.

Flyway 1.5 (2011-11-09)

New Features

  • Issue 39 Ant Tasks for Flyway
  • Issue 136 Support for server credentials from settings.xml (Maven plugin)

Changes

  • Calling validate either through the API, the Maven plugin, the Command-Line client or the Ant Tasks now automatically sets the validationMode to ALL
  • Removed the deprecated Flyway.init(version,description) method
  • Removed the deprecated BaseJavaMigration class and the pre 1.0 inheritance-based Java Migration support (update to implements JavaMigration if you haven't already done so)

Bug Fixes

  • Issue 135 Include URL of offending migrations in case of conflict
  • Issue 143 flyway.sh clean fails due to dependencies (PostgreSQL cleaning of base types & functions)
  • Issue 144 Postgresql functions defined in multiple-lines with $_$ placeholders fail to migrate
  • Issue 146 Allow placeholder to disable sql code
  • Issue 148 Flyway command line returns exit status 0, even on failure
  • Issue 152 NullPointerExcpetion Null
  • Issue 153 Command line tool 1.4.2 (Windows) - sql folder - unexpected behavior
  • Issue 154 Command line tool 1.4.2 (Windows) - validating changes to executed migrations not happening
  • Issue 159 Delimiter change happens outside of FUNCTIONS, PROCEDUREs and PACKAGES in Oracle
  • Issue 160 Not dropping database object types during a Clean (Oracle)
  • Issue 161 Maven validate goal doesn't validate
  • Issue 162 Migrations won't work on MS SQL Server with case sensitive collation
  • Issue 168 flyway:clean doesn't work in PostgreSQL on tables with child tables
  • Issue 170 Must not apply migration if migration pattern is violated
  • Issue 173 Oracle: create procedure parser issue
  • Issue 175 HsqlDB does not cleanup sequences

Thanks to Seb Brousse, Christoph Giess, Jeremy Smith, Jon Roler, cowwoc, donald87, Timo Meinen, Octavian, Dileep Hareendran, Kris Mulica, Ulf Bamberg, Luc Degraef and casibbald for contributing patches and reporting these issues.

Flyway 1.4.2 (2011-06-29)

Bug Fixes

Thanks to Armin Gattung for reporting this issue.

Flyway 1.4.1 (2011-05-27)

New Features

  • Issue 129 Use user supplied TransactionManager

Bug Fixes

Thanks to jmarin and floburka for reporting these issues.

Flyway 1.4 (2011-05-13)

New Features

Changes

  • Flyway is now tested with the DB2 Db2jcc driver (was Db2jcc4)
  • Flyway is now tested with the Oracle Ojdbc5 driver (was Ojdbc6)
  • Flyway is now tested with the PostgreSQL Jdbc3 driver (was Jdbc4)

Bug Fixes

  • Issue 93 Include paths of offenders in migration conflict error message
  • Issue 94 "Found more than one migration" error for duplicate resources
  • Issue 96 Migration fails of version description is excessive
  • Issue 124 Maven: flyway.schemas seems not be recognized
  • Issue 125 Oracle Materialized View logs cause an exception during cleaning.
  • Issue 126 Cleaning Oracle Materialized Views causes exception
  • Issue 128 H2SqlScript does not correctly detect statements

Thanks to Armin Gattung, Chris Wewerka, Gili Tzabari, Adriano Machado, everflux and stembler for reporting these issues.

Flyway 1.3.1 (2011-04-06)

New Features

Bug Fixes

  • Issue 102 Oracle: Flyway now throws an exception when a clean is attempted on the SYSTEM schema
  • Issue 108 DB2Support: Detection of tables for schema cleaning also includes views
  • Issue 110 H2 Problem: drop table statements are created for views
  • Issue 111 Flyway should not attempt to clean generated sequences on H2
  • Issue 113 DB2Support Clean: Generation of drop sequences should not include system generated sequences
  • Issue 115 The command line tool does not support -target property
  • Issue 120 Accept "go" delimiter in small caps for SQL Server
  • Fixed cleaning of views for HsqlDb

Thanks to Chris Wewerka, Eric Jain, Derek Kwok, Matthew Lai and Julien Dumetier for reporting these issues.

Flyway 1.3 (2011-03-18)

New Features

Bug Fixes

  • Issue 103 Flyway can now clean sequences, constants and domains on H2
  • Issue 104 mvn flyway:clean fails with SQL-Exception when db user does not have DBA permissions (Oracle XE)

Thanks to Chris Wewerka for contributing the DB2 support!
Thanks to M.Ahyaie, Jonas Kilian and Martin Pletzer for reporting these issues.

Flyway 1.2 (2011-02-27)

New Features

Changes

  • Flyway is now tested with MySQL version 5.1 (up from 5.0)
  • Flyway is now tested with the Oracle OJDBC6 JDBC driver (up from OJDBC14)

Bug Fixes

  • Issue 92 Flyway might be leaking database connections
  • Issue 95 The clean command needs to quote table names
  • Support for semicolon at the end of a line inside a string literal (H2)
  • Support for CREATE PACKAGE statements (Oracle)
  • Issue 63 Support trailing single line comments
  • Issue 97 Maven Plugin should not log spring messages to console
  • Issue 89 Restore capability to use non-empty database without init

Thanks to Adriano Machado for contributing the SQL Server support!
Thanks to Gili Tzabari, René Samselnig, Daniel Garcia, Ulf Bamberg and Gene Gotimer for reporting the other issues

Flyway 1.1 (2011-02-03)

New Features

  • Issue 43 Standalone tool to run Flyway directly from the command-line
  • Issue 77 The Flyway Maven plugin now suggests running mvn compile if no migrations have been found.
  • Issue 80 Prevent migrate() or validate() on a non-empty schema without a metadata table with at least one applied migration.

Bug Fixes

  • Issue 78 Spring JDBC dependency missing from POM.
  • Support for semicolon at the end of a line inside a string literal (Hsql only for now)
  • Issue 81 Validation fails with type mismatch for INIT

Thanks to jaggerjackkurosaki and Thomas Kruse for reporting these issues

Flyway 1.0.1 (2010-12-27)

Bug Fixes

  • Issue 75 Wrong detection of Spatial Extensions on Oracle 10g (but works on XE)

Flyway 1.0 (2010-12-26)

New Features

  • Clean now purges the Oracle recycle bin

Bug Fixes

  • Issue 72 Flyway.configure(Properties) also works when the DataSource is set explicitly beforehand.

Thanks to Mathias Bogaert for reporting the Flyway.configure issue

Flyway 0.9.5 (2010-12-12)

New Features

  • Issue 36 Added support for specifying a target version up to which Flyway should run migrations.
  • Added new property ignoreFailedFutureMigration to ignore migration failures that happened while deploying a newer version of the software. This allows for software rollbacks without having to do database rollbacks, at the cost of weakening fail fast.
  • Issue 31 Flyway now has its own exception hierarchy. All exceptions thrown are now of type FlywayException.
  • Issue 44 Flyway can now find SQL migrations even if they are in subfolders of baseDir.

Changes

  • Removed support for upgrading from pre 0.9 versions. If you need to upgrade from 0.8.5 and earlier, you must migrate to 0.9.4 first before migrating to this version.
  • Removed support for the deprecated metaDataTable property. Use table instead.
  • Removed the deprecated Flyway.init(SchemaVersion version) method. Use Flyway.init(SchemaVersion version, String description) instead.
  • Issue 30 Java migrations are now based on interfaces instead of inheritance. The existing BaseJavaMigration class has been deprecated and retrofitted to this new model.

Bug Fixes

  • Fixed an issue with Oracle Spatial Index tables causing a failure when attempting to clean.

Flyway 0.9.4 (2010-11-24)

Changes

  • Issue 61 Reduced the info logging to a single line per migration

Bug Fixes

  • Fixed a bug in the Oracle Sql Parser which caused it to trip over column names starting with 'begin'
  • Fixed custom version table name handling. Setting the datasource before the table name was causing an error. This also affected the Maven plugin.
  • Issue 65 New-lines are now preserved in statements to improve the readability of stored procedures.

Thanks to Mathias Bogaert for reporting the logging issue and Daniel Garcia for reporting and contributing a patch for the new-line issue

Flyway 0.9.3 (2010-11-09)

New Features

  • Issue 62 Added support for MySQL comment directives (/*!...*/;) so MySQL dumps can be used as migrations

Thanks to Mathias Bogaert for reporting this issue

Flyway 0.9.2 (2010-11-05)

New Features

  • Issue 51 The Flyway class can now be configured using a Properties object
  • Issue 41 Support for PostgreSQL, including stored procedures (CREATE FUNCTION with $$ escapes)

Changes

  • Issue 38 The SchemaVersion class doesn't contain the description anymore
  • Issue 57 Ignoring oracle recycle bin tables when running clean
  • Issue 55 Maven plugin does not trigger phase compile anymore (use mvn compile flyway:migrate instead). Fixes Hudson problems.
  • Issue 53 Added default phase pre-integration-test to clean and migrate mojos

Thanks to Philipp (godhood) for contributing large parts of the PostgreSQL support

Flyway 0.9.1 (2010-09-14)

Bug fixes

  • Fixed parsing of CREATE FUNCTION and CREATE PROCEDURE statements in PL/SQL

Thanks to Hilario Fernandes for reporting this issue.

Flyway 0.9 (2010-08-25)

New Features

  • Support for migration checksums (CRC-32 for SQL Migrations, optional custom implementation for Java migrations)
  • Optional accidental change detection running validation (including checksums) before migration
  • mvn flyway:validate goal to validate the applied migrations against the available ones in the classpath
  • Sql migrations file names can now have a configurable prefix (Default: V) and suffix (Default: .sql)

Changes

  • The metadata table format has been extended with new columns (type, checksum, installed_by). Existing metadata tables will be upgraded automatically on the first run, no manual intervention is required.
  • The schemaMetaDataTable property has been renamed to table in both the Flyway class and the Maven plugin. The old property still works, but has been deprecated and will be removed in 0.9.5
  • mvn flyway:migrate now automatically triggers the compile phase to ensure that new migrations are found by the plugin

Bug Fixes

  • Fixed a problem where Flyway could not clean an Oracle database when the spatial extensions where missing

Flyway 0.8.5 (2010-07-26)

  • Added mvn flyway:history goal to display the complete migration history of the schema
  • The encoding of the Sql migration files is now configurable
  • mvn flyway:clean is now more robust and available for all supported databases
  • Added mvn flyway:init to initialize an existing schema with a metadata table and an initial version
  • mvn flyway:status show installation date instead of execution time
  • Added MySQL stored procedure support
  • Java migrations now inherit from com.googlecode.flyway.core.migration.java.BaseJavaMigration
  • Fixed all known bugs

Flyway 0.8 (2010-07-15)

  • Added mvn flyway:status goal to display the current version of the schema
  • Fixed logging in Maven Plugin
  • Base package changed to com.googlecode.flyway to match Maven groupId
  • Restored Spring 2.5 compatibility
  • Added an example of a Java Migration to the sample application

Flyway 0.7 (2010-06-29)

  • Added support for parallel migrations. Flyway is now safe to deploy in a cluster.
  • [Alpha] Added initial mvn flyway:clean goal to remove all objects from the schema. Note: Only for Oracle in 0.7

Flyway 0.6 (2010-06-13)

  • Updated maven groupId to com.googlecode.flyway
  • Added HsqlDb support
  • Added Maven Plugin with Migrate mojo (mvn flyway:migrate)
  • Added Sample application
  • Fail-fast when a previous migration failed
  • Improved performance and logging output
  • Added H2 database support

Flyway 0.0.5 (2010-05-13)

  • Fixed connection leaks
  • Improved support for PL/SQL blocks having a declare section

Flyway 0.0.4 (2010-05-09)

  • Display exact script name and line number when a statement could not be executed
  • Added support for multi-line comments /* */ in sql scripts

Flyway 0.0.3 (2010-04-26)

  • Added support for Ant-style ${placeholder} replacement in sql migrations
  • Added support for oracle pl/sql blocks in sql migrations

Flyway 0.0.2 (2010-04-23)

  • Fixed current version index on Oracle

Flyway 0.0.1 (2010-04-20)

  • Initial Release

Roadmap