--- layout: documentation menu: releaseNotes subtitle: Release Notes redirect_from: /documentation/releaseNotes/ ---

# Release Notes

## Flyway 9.4.0 (2022-09-29)

### Changes

- Code analysis is now available in Community Edition

### Database compatibility

- Add support for SQL Server 2022

### New features

- Add configuration to allow flyway to fail when sqlfluff finds issues when running `check code`

## Flyway 9.3.1 (2022-09-20)

### Bug fixes

- Fix cases of 'cherryPick' causing issues with change and drift reports
- Fix bug where 'installedBy' wasn't always populated during a baseline
- Fixed bug when checking for changes or drift when multiple schemas are configured

## Flyway 9.3.0 (2022-09-08)

### Bug fixes

- Fix issues with Community Fallback
- Fix Windows paths with spaces causing classpath issues

### New features

- Closed the Teams preview access to Change and Drift report. Please contact sales at sales@flywaydb.org for license information.

## Flyway 9.2.3 (2022-09-07)

### Skipped due to a regression.

### Changes

- Add Community fallback warning to JSON output object
- Show correct validation message when checking for license keys that have expired.

## Flyway 9.2.2 (2022-09-02)

### Bug fixes

- Fix issue with Flyway not running correctly on Macs with a path that has a space
- Added null-check to avoid NPE when scanning inaccessible locations
- Fix bug in 'check' when comparing non-Oracle databases with configured schemas
{% include issue.html id="3515" title="Drop MariaDB JDBC driver back to major version 2 to enable MySQL compatibility" %}

### Changes

{% include issue.html id="3296" title="Schemas are now created if the user has edited flyway.schemas after an initial migration" %}

Thanks to juliahayward and hemberger for reporting these issues.

## Flyway 9.2.1 (2022-08-31)

### Changes

- Check report UI improvements
- change and drift reports now fail for incompatible database types

### Database compatibility

{% include issue.html id="3386" title="Updated to support Snowflake 6 and Snowflake Scripting" %}

### Java compatibility

- Remove JNA dependency as no longer needed by MariaDB
- Increase MariaDB driver version to 3.0.7
- Move flyway-commandline runtime dependency to correct scope

Thanks to filiprichtarik for reporting these issues.

## Flyway 9.2.0 (2022-08-25)

### Bug fixes

- Fix problems when appending to code analysis reports
- Fix bug in 'check -code' where multiple SQL files were not being correctly linted
- Configured suffixes are now case insensitive

### Changes

- Improvements to the 'check' report
- Remove the error information from 'CompareResult' so that the existing JSON error handling is used

### Java compatibility

- Remove unnecessary dependencies
- Moved Undo command into flyway-proprietary
- Remove unnecessary maven-model dependency
- Make 'CompositeResult' generic
{% include issue.html id="3505" title="Include transitive GAX dependency in CLI" %}

Thanks to jward-premise for reporting these issues.

## Flyway 9.1.6 (2022-08-18)

### Bug fixes

{% include issue.html id="3499" title="connectRetriesInterval now defaults to 120 instead of 0 on the Maven plugin." %}

### Changes

- code analysis now auto detects the dialect if a URL is provided, otherwise a '.sqlfluff' configuration file is needed

Thanks to mihalyr for reporting these issues.

## Flyway 9.1.5 (2022-08-16)

### New features

- Add SQLFluff to redgate/flyway Docker image for use with new integrations

## Flyway 9.1.4 (2022-08-15)

### Changes

{% include issue.html id="3498" title="Updated dependencies to fix vulnerabilities" %}

### New features

- Add 'dryrun' to check as a report that can be generated

Thanks to ggolawski for reporting these issues.

## Flyway 9.1.3 (2022-08-10)

### Changes

- Add access to Community features for Teams and Enterprise artifacts when no license key is given
{% include issue.html id="3491" title="PostgreSQL session locks now use one connection" %}

### Database compatibility

{% include issue.html id="3467" title="Added support for H2 2.1.214" %}

Thanks to henricook and hackyoMa for reporting these issues.

## Flyway 9.1.2 (2022-08-03)

### Bug fixes

- check includes all transitive dependencies so it runs out of the box
{% include issue.html id="3479" title="BigQuery procedures containing `END AS` are not cut off early." %} {% include issue.html id="3487" title="Update ensured supported to latest documented versions for Oracle and Snowflake" %}

### New features

{% include issue.html id="2895" title="Use transactional locks in PostgreSQL by default, which enables support for PgBouncer (session locks can be enabled again by setting 'flyway.postgresql.transactional.lock=false')" %}

### Java compatibility

- Update bundled JRE to latest version of Java 11 to include security updates

Thanks to arshaknorsoyan, matmannion and odin568 for reporting these issues.

## Flyway 9.1.1 (2022-08-03)

### Due to issues in the release process, this version is to be skipped as the artifacts are incomplete.

## Flyway 9.1.0 (2022-08-02)

### Due to issues in the release process, this version is to be skipped as the artifacts are incomplete.

## Flyway 9.0.4 (2022-07-29)

### Bug fixes

- Change reports now html encode SQL.

## Flyway 9.0.3 (2022-07-28)

### Bug fixes

- JSON output for 'drift' now always shows the 'driftDetected' field

### Changes

- Improved tab styling of check reports

## Flyway 9.0.2 (2022-07-26)

### Changes

- Multiple 'check' reports now appear as tabs
- Serialize the LocalDateTime field in the check JSON result as a string
- No longer include `.html` when generating the JSON result for a check report
- bash entrypoint now adds 'native' folder to library path for use on Windows
- Only print the version information in Flyway once per execution
- No longer display the underlying 'DELETE' rows during 'info'
- License check now occurs when a Flyway object is constructed

## Flyway 9.0.1 (2022-07-15)

### Bug fixes

{% include issue.html id="3481" title="Fix cases where validation fails saying checksums of '0' are now 'null'" %}

Thanks to henricook for reporting these issues.

## Flyway 9.0.0 (2022-07-13)

### Skipped due to a regression.

### Breaking changes

- Migration patterns that are version numbers are treated as numbers rather than strings when matching to migrations
- Script & Java migrations are no longer executed during a dry run.
- 'getResolvedMigration' method on Java Migrations interface now takes a StatementInterceptor
- Don't clear the Url/Pass/Username when setting a data source
- Change default of cleanDisabled to true.
- Removed deprecated parameters for configuring secrets managers
- Removed parameter 'oracleKerberosConfigFile' as it is replaced by 'kerberosConfigFile'
- Removed parameters 'ignorePendingMigrations', 'ignoreMissingMigrations', 'ignoreIgnoredMigrations' and 'ignoreFutureMigrations' as they are replaced by 'ignoreMigrationPatterns'
- 'MigrationType' moved into 'extensibility' package as an enum and replaced with 'CoreMigrationType'
- 'SQL__BASELINE' and 'JDBC__BASELINE' migration types removed from 'flyway-core'
- 'CoreMigrationType' enum field 'baselineMigration' now called 'baseline', for which the type 'BASELINE' now returns true
- 'baselineMigrationPrefix' removed from Configuration - see the docs for this parameter for how to configure it via the API
- use 'BaselineJavaMigration' from the 'flyway-proprietary' package to make Java-based Baseline Migrations now
- Removed 'isUndo' and 'isBaselineMigration' from 'ResolvedMigration'
- 'Context' in 'resolveMigrations' on a 'MigrationResolver' is now a class which also has 'ResourceProvider', 'SqlScriptFactory' and 'SqlScriptExecutorFactory'

### Changes

- Info filter 'infoOfState' now allows multiple states as a comma-separated list
- Handle errors (with warning) when cleaning procs on snowflake
- 'flyway/flyway-azure' Docker images are deprecated and replaced with 'flyway/flyway:*-azure'

### Database compatibility

- H2 1.4 is now in Teams
- Oracle 12.2 is now in Teams
- MariaDB 10.2 is now in Teams
- HSQLDB 2.4 is now in Teams
{% include issue.html id="3469" title="Flyway CLI now bundles version 2.6.1 of the HSQLDB driver." %}

### New features

- Add '-migrationIds' flag to 'info' to get a comma-separated list of versions or descriptions for repeatables
- Added the 'check' command to the Flyway CLI which lets you generate deployment reports. You can find more information here

Thanks to pzygielo for reporting these issues.

## Flyway 8.5.13 (2022-06-16)

### Bug fixes

{% include issue.html id="3388" title="The Ascii table will not be logged if there are no columns" %} {% include issue.html id="3428" title="Fix potential parsing bug during 'create package' statement in DB2" %} {% include issue.html id="3440" title="Always close the underlying Java connection inside a Database object" %}

Thanks to CharmanderJieniJieni, AlexandruKetroy and medwards8 for reporting these issues.

## Flyway 8.5.12 (2022-05-31)

### Bug fixes

- Fix relative locations not being relative to the working directory
{% include issue.html id="3444" title="When using the delimiter keyword the value can be placed on the next line without entering an infinite loop" %} {% include issue.html id="3449" title="Update checker times out if it doesn't receive a response" %} {% include issue.html id="3454" title="The filename placeholder no longer causes errors in repeatable SQL migrations" %}

### Changes

- 'version' command now has JSON output

Thanks to sleepkever, csudhirr and alexandrugrigor for reporting these issues.

## Flyway 8.5.11 (2022-05-16)

### Changes

- Optimize param tokenization
- Update GCS dependency due to vulnerability

### Java compatibility

- Update AWS ASK , AWS_SECRETSMANAGER-JDBC, Maven Core and MSAL4J dependencies to fix vulnerabilities

## Flyway 8.5.10 (2022-04-29)

### Bug fixes

- Fix NPE in Oracle when 'echo' is set to 'on' during spool

### Changes

- Manually register the Oracle driver so Flyway CLI works with AWS Secrets Manager

### Java compatibility

- Update recommended Spring JDBC version due to Spring vulnerability

## Flyway 8.5.9 (2022-04-21)

### Bug fixes

{% include issue.html id="3427" title="PLSQL division on new line in package body is no longer classified as a delimiter" %} {% include issue.html id="3433" title="Fix bug where connection details set in placeholders were overriding the main details" %}

### Changes

- Handle errors (with warning) when cleaning procs on snowflake

Thanks to olavquorum and bennyr1003 for reporting these issues.

## Flyway 8.5.8 (2022-04-14)

### Bug fixes

{% include issue.html id="3418" title="Fix error where the 'version' command fails to be handled" %}

Thanks to cies for reporting these issues.

## Flyway 8.5.7 (2022-04-07)

### Changes

- Update S3 dependency to fix vulnerability

## Flyway 8.5.6 (2022-04-06)

### Changes

- Add a failed state for Baseline Migrations
- Update version of Jackson Databind due to GHSA-57j2-w4cx-62h2
- Mask any parameter that ends with 'password' in the logs
{% include issue.html id="3414" title="Ensure we close the connection created during the update stage" %}

### Database compatibility

{% include issue.html id="3399" title="Add support for STRICT and LEGACY modes in H2" %}

Thanks to medwards8 and MMaus for reporting these issues.

## Flyway 8.5.5 (2022-03-28)

### Bug fixes

- SQL*Plus 'spool' now ignores value of 'feedback' for update statements
{% include issue.html id="3413" title="Script migrations applied previously using Teams Edition no longer cause an error in Community Edition" %}

### Java compatibility

- Upgrade jackson-databind to address CVE-2020-36518

Thanks to xmanemran for reporting these issues.

## Flyway 8.5.4 (2022-03-15)

### Changes

- Update PostgreSQL driver to fix code injection vulnerability

### New features

{% include issue.html id="3358" title="Add 'placeholderSeparator' parameter to allow an alternative to ':' in default placeholders" %}

Thanks to Phil-Factor for reporting these issues.

## Flyway 8.5.3 (2022-03-14)

### Breaking changes

{% include issue.html id="3405" title="Update shipped MSSQL JDBC driver to 10.2.0, which defaults 'encrypt' to 'true'" %}

### Bug fixes

- Fix issue where post schema clean didn't include correct schemas.
- Clean mode now cleans more schemas for SQL Server integrated authentication logins.
{% include issue.html id="3396" title="Maven and Gradle plugins load configuration files from current directory by default" %}

Thanks to caseyhall and lbreuss for reporting these issues.

## Flyway 8.5.2 (2022-03-04)

### Bug fixes

- Clean mode now cleans more schemas for SQL Server integrated authentication logins.

### Changes

{% include issue.html id="3403" title="Add info log saying number of SQL migrations skipped due to invalid naming, if any." %}

Thanks to sesgoe for reporting these issues.

## Flyway 8.5.1 (2022-02-23)

### Bug fixes

- Check if default 'jarDir' exists before using it

### Changes

- Update Jackson Databind to 2.12.6

## Flyway 8.5.0 (2022-02-14)

### Bug fixes

- Fix exit code in Windows returning as 0 during error
- Fix possible NPE when no default schema is specified
- Ensure 'defaultSchema' is used over the first schema in 'schemas'

### Changes

- Upgrade PostgreSQL driver to fix RCE vulnerability
- Remove displaying "user 'null'" when using Windows Authentication with SQL Server

## Flyway 8.4.4 (2022-02-02)

### Bug fixes

- Fix rare NPE when checking for updates

### Changes

- Printing version no longer exits early

## Flyway 8.4.3 (2022-01-26)

### Changes

- Bump H2 version to avoid vulnerability
- Removing Autotrial feature

### New features

- Add the path to the undo migration in the 'info' JSON output
{% include issue.html id="3378" title="New callback, triggered by migrations with newly applied scripts" %}

Thanks to troosan for reporting these issues.

## Flyway 8.4.2 (2022-01-19)

### Bug fixes

- Fix bug in Vault integration where it thinks the user is running Community edition incorrectly

### Changes

- Update Google dependencies to fix DoS vulnerability in protobuf

## Flyway 8.4.1 (2022-01-11)

### Changes

- Extract Firebird code to plugin. This will need to be added as a new dependency. See Firebird documentation.
- Bump Log4J suggested version to 2.17.1 to mitigate CVE-2021-44832
{% include issue.html id="3372" title="Bump H2 to 2.0.206 due to GHSA-h376-j262-vhq6" %}

### Database compatibility

{% include issue.html id="3357" title="Add MariaDB 10.2 support back to Community edition" %}

Thanks to everflux and dblackstock for reporting these issues.

## Flyway 8.4.0 (2022-01-05)

### Changes

- Upgrade suggested version of Log4J to 2.17

Thanks to everyone who reported these issues.

## Flyway 8.3.0 (2021-12-23)

### Bug fixes

{% include issue.html id="3347" title="Fix NPE when parsing single-line 'BEGIN' statements in SQL Server and detect 'BEGIN CONVERSATION' and 'BEGIN DIALOG'" %}

### Changes

- Teams license check no longer requires valid URL

### Database compatibility

{% include issue.html id="3343" title="Continue supporting TiDB in Community" %}

### New features

{% include issue.html id="3365" title="Allow disabling placeholder replacement on a per-script basis" %}

Thanks to noobgramming, jasouyris and md5 for reporting these issues.

## Flyway 8.2.3 (2021-12-20)

### Changes

- Upgrade suggested version of Log4J to 2.16

## Flyway 8.2.2 (2021-12-14)

### Changes

- Upgrade suggested version of Log4J to 2.15
{% include issue.html id="3339" title="Upgrade H2 version to 2.0.202" %} {% include issue.html id="3341" title="Remove unnecessary warning for MariaDB driver when connecting to a MySQL database on compatible database versions" %}

Thanks to zenpaul and hemberger for reporting these issues.

## Flyway 8.2.1 (2021-12-07)

### Bug fixes

- Escape db name during doExists in MSSQL

### Changes

- Extract MySQL code to plugin. This will need to be added as a new dependency. See MySQL documentation.

## Flyway 8.2.0 (2021-11-30)

### Breaking changes

- Removing MySQL Driver from inclusion in Flyway distribution due to License. MariaDB will be used as fallback driver if no MySQL driver is present on the Classpath.

### Bug fixes

{% include issue.html id="3331" title="Stop Flyway dropping schemas it did not create" %}

Thanks to chipilov for reporting these issues.

## Flyway 8.1.0 (2021-11-25)

### Bug fixes

- Grab DBMS_OUTPUT from Oracle when handling errors

### Changes

- Extract SQLServer code to plugin. This will need to be added as a new dependency. See SQL Server documentation.
- Clean XML Schema Collections in SQL Server
{% include issue.html id="3329" title="Allow null values for installed on by using commit timestamp in GCP Cloud Spanner" %} {% include issue.html id="3332" title="Update GSON to 2.8.9" %}

### New features

- Add validation patterns to repair for missing migrations

Thanks to plaflamme and leyuzhu for reporting these issues.

## Flyway 8.0.5 (2021-11-17)

### Bug fixes

- fix bug where notice level logs ignored the minimum log level configured

### Changes

- Clean XML Schema Collections in SQL Server
- Rename 'FlywayExtension' in the API to 'PluginMetadata'
{% include issue.html id="3327" title="Replace SET SQLBLANKLINES warning with debug message" %}

### New features

- Add 'beforeConnect' callback to Teams that executes before Flyway establishes a connection
- Add support for SQL*Plus variable concatenation

Thanks to everyone who reported these issues.

## Flyway 8.0.4 (2021-11-10)

### Breaking changes

- Replace 'ApiExtension' with 'ConfigurationExtension'. Instead of calling 'getExtensionConfiguration()' on a Configuration object, you must now call 'getConfigurationExtension()' on 'PluginRegister' which returns a 'ConfigurationExtension'

### Bug fixes

- Add look ahead to parser to fix wrapped sql statements
- Fix bug with logs not appearing when using 'jarDirs'

### Changes

- add notice log pointing to Flyway Hub on completion of validate command

## Flyway 8.0.3 (2021-11-01)

### Bug fixes

{% include issue.html id="3304" title="Fix bug in parsing MySQL with multiple 'CASE' statements inside 'ORDER BY'" %} {% include issue.html id="3310" title="Fix bug in detecting emptiness in non-existent schemas" %} {% include issue.html id="3311" title="Fix bug in time function used when updating BigQuery lock" %}

### Changes

{% include issue.html id="3307" title="Remove warning around schemas from CockroachDB" %}

### Database compatibility

{% include issue.html id="3309" title="Support MariaDB 10.6" %} {% include issue.html id="3313" title="Add support for PostgreSQL 14" %}

### New features

- Add ability to specify 'target=next' to apply just the next migration
- Add Kerberos authentication support for SQL Server
{% include issue.html id="3306" title="Add 'ignoreMigrationPatterns' setter that takes an array of 'ValidatePattern's" %}

Thanks to kevinrjones, cowwoc, todd-dev, A248, geirolz, klesniewski and md5 for reporting these issues.

## Flyway 8.0.2 (2021-10-20)

### Changes

- The JSON output for 'flyway migrate' now contains additional information about successful migrations run up to the point of failure when a migration fails

### New features

- Allow wildcard usage of 'ignoreMigrationPatterns' from within Community Edition

## Flyway 8.0.1 (2021-10-13)

### Bug fixes

- Fix bug where encoding detection would fail if the file was empty
{% include issue.html id="3299" title="Fix bug in the availability of custom placeholders in script migrations" %}

### Changes

- Set 10G field limit to using GCP Spanner in Community Edition

### New features

- All Gradle tasks now return a result object

Thanks to Phil-Factor for reporting these issues.

## Flyway 8.0.0 (2021-10-06)

### Breaking changes

Flyway V8 introduced breaking changes incrementally over 3 beta releases. Check them below to see all breaking changes when upgrading to Flyway V8.

### Bug fixes

- Fix issues in applying new migrations on top of baseline migrations
{% include issue.html id="3291" title="Fix parsing of multiline configuration parameters that contain a '='" %} {% include issue.html id="3292" title="Fix parsing of empty statements in SQLServer" %}

Thanks to vincentoconnell and brynjulv for reporting these issues.

## Flyway 8.0.0-beta3 (2021-09-29)

### Breaking changes

- change Configuration boolean getter methods to match Java standard naming convention. (FailOnMissingTarget, DetectEncoding, OutputQueryResults, CreateSchemas and FailOnMissingLocations)

### Bug fixes

{% include issue.html id="3279" title="Fix constantly repairing migrations with an empty description" %} {% include issue.html id="3284" title="HSQLDB not parsing DECLARE CURSOR foo FOR SELECT ... correctly" %}

### Changes

- Set 10GB data size limit to using GCP BigQuery in Community Edition
- Rename State Scripts to Baseline Migrations

### Database compatibility

- Support latest version of Azure SQL Server in Community Edition

### New features

- Add Command-line extensibility point to allow custom CLI verbs
- Add support for DAPR and GCSM Secrets Managers

### Java compatibility

- Add base dependencies for Project Lombok

Thanks to StefanA2 for reporting these issues.

## Flyway 8.0.0-beta2 (2021-09-21)

### Bug fixes

{% include issue.html id="3275" title="Fix parsing of identifiers with quotes in PostgreSQL" %} {% include issue.html id="3279" title="Repair now checks for an empty description" %}

### New features

{% include issue.html id="3277" title="Add default placeholders to script migrations" %}

### Performance improvements

{% include issue.html id="3278" title="Remove redundant update check during license check" %}

Thanks to tychokamphuis-accommodatiehuur, ewie, StefanA2 and Phil-Factor for reporting these issues.

## Flyway 8.0.0-beta1 (2021-09-14)

### Breaking changes

- Remove fields and methods marked as deprecated in V7. This includes the old '-json' flag and 'installedOn' in the JSON output from running info
- Remove android support

### Bug fixes

{% include issue.html id="3276" title="Fix issue with output from '-v' not appearing" %}

### Changes

- Deprecate old 'ignore' parameters for validate (to be removed in v9)

### Database compatibility

- Deprecate Community support for database versions older than 5 years

Thanks to iilei for reporting these issues.

## Flyway 7.15.0 (2021-09-06)

### Bug fixes

{% include issue.html id="3256" title="Fix issue with CockroachDB delete lock statement timestamp not updating" %}

### New features

- Add the ability to configure which logger to use
{% include issue.html id="3257" title="Added 'connectionRetriesInterval' property to set customizable connection retry interval (Default: 2 minutes)" %}

Thanks to dimw and senthil-yolabs for reporting these issues.

## Flyway 7.14.1 (2021-09-01)

### Bug fixes

- Fix unlocking bug in PostgreSQL
{% include issue.html id="3258" title="Adding FUNCTION to the list of special cases for IF EXISTS in HSQL" %} {% include issue.html id="3261" title="Fix various parsing issues in BigQuery" %} {% include issue.html id="3266" title="Detecting abstract Java callback classes no longer cause Flyway to fail." %} {% include issue.html id="3269" title="Simplify MySQL query to fix compatibility with third party tool Vitess" %}

Thanks to spadger, ferrisnorth, kgroble and JaspreetSinghJassal for reporting these issues.

## Flyway 7.14.0 (2021-08-17)

### Bug fixes

- Resolve a nesting issue with BigQuery parsing
- Fix cases of CLI hanging when no credentials are provided

### New features

- Add support for placeholders in arbitrary script migrations

Thanks to everyone who reported these issues.

## Flyway 7.13.0 (2021-08-11)

### Bug fixes

- Fix casing in Azure Synapse queries

### Changes

{% include issue.html id="3246" title="Update support for Oracle wallet" %}

### Database compatibility

{% include issue.html id="3248" title="Certified on Percona XtraDb 8" %}

### New features

- Introduce State Scripts - a single, cumulative script that represents the state of your database after many migrations have been applied.

Thanks to klarajanstova and s-apanasionak for reporting these issues.

## Flyway 7.12.1 (2021-08-05)

### Changes

- DatabaseTypeRegister and VersionPrinter always use their class' classloader

### New features

{% include issue.html id="3111" title="Add support for -target=next" %}

Thanks to everyone who reported these issues.

## Flyway 7.12.0 (2021-07-30)

### Bug fixes

{% include issue.html id="3197" title="Fix resolving resources with the same name in multiple classpath locations" %} {% include issue.html id="3241" title="Simplify migration sorting to fix 'Comparison method violates its general contract'" %}

### Changes

- Add VaultConfiguration object for configuring Vault in Maven and Gradle Plugins
- Release Vault integration to Maven as a separate artifact

### New features

- Add Java API extension that allows reading configuration from Vault

Thanks to magicwerk and esauser for reporting these issues.

## Flyway 7.11.4 (2021-07-26)

### Bug fixes

{% include issue.html id="3165" title="Fix execution of migrations without a transaction over a single connection" %} {% include issue.html id="3232" title="Fix Gradle location configuration override order" %} {% include issue.html id="3237" title="Fix deadlock due to exhausted connections when creating result objects" %}

Thanks to pw-aowen, Leyren and uwolfer for reporting these issues.

## Flyway 7.11.3 (2021-07-19)

### Changes

{% include issue.html id="3227" title="Bump GCP Spanner JDBC version to fix CVE" %}

### Database compatibility

- Verify support for PostgreSQL 14

Thanks to donna-156 for reporting these issues.

## Flyway 7.11.2 (2021-07-13)

### Bug fixes

- Fix in-product links that contain a reference

### Changes

{% include issue.html id="3227" title="Bump GCP Spanner JDBC version to fix CVE" %}

### Database compatibility

- Include the community DB support package in the CLI
{% include issue.html id="3186" title="Add YugabyteDB (community)" %}

Thanks to donna-156 and ashetkar for reporting these issues.

## Flyway 7.11.1 (2021-07-08)

### Changes

- Update Maven version to 3.8.1
- Override vulnerable Jackson versions
{% include issue.html id="3214" title="Make PostgreSQL database classes extendable" %} {% include issue.html id="3229" title="Fail faster when checking for updates" %}

Thanks to ashetkar and odin568 for reporting these issues.

## Flyway 7.11.0 (2021-07-01)

### New features

- Enable Flyway Teams for 28 days for new schemas in CLI
- Remove the need to specify `-teams` in CLI

### Bug fixes

{% include issue.html id="3207" title="Fix interleaved repeatable migrations running indefinitely" %}
- Ensure that (g)login.sql doesn't fail name validation in SQL*Plus
- Fix copyright symbol for better platform compatibility

### Changes

- Make GCP Spanner and BigQuery beta publicly available
- Bump MSAL4J to fix transitive dependency CVE

### Database compatibility

- Add Cockroach v21.1 support
{% include issue.html id="2918" title="Add community-level TiDB support" %} {% include issue.html id="3221" title="Verify support for HSQLDB 2.6" %}

Thanks to A248, bb7133, donna-156, dvdtknsn, and johnlinp for reporting these issues.

## Flyway 7.10.0 (2021-06-10)

### New features

{% include issue.html id="3188" title="- Add flyway:table placeholder" %}
- Add Cockroach v21.1 support
- Closed beta signup for Google Cloud Platform (Cloud Spanner & Big Query )

### Bug fixes

- Fix issue where Flyway no longer prompts for credentials

Thanks to guillaumBrisard for reporting these issues.

## Flyway 7.9.2 (2021-06-03)

### Bug fixes

{% include issue.html id="3177" title="Use an instance of DatabaseTypeRegister when getting the ClassLoader" %}
- Fix connecting to Snowflake with role which has special characters
- Fix handling of PL/SQL / "slash" delimiters that are not in first column

### Changes

{% include issue.html id="3174" title="Clean schemas before dropping them" %}

Thanks to AigleeK, alexgast, aliusmiles, and polaskj for reporting these issues.

## Flyway 7.9.1 (2021-05-19)

### Bug fixes

{% include issue.html id="3173" title="Use the ClassLoader specified to Flyway when using the ServiceLoader" %}
- Oracle - Fix parsing of GOTO statements
- Inline method to fix compatibility with GraalVM

### Changes

{% include issue.html id="3174" title="Clean schemas before dropping them" %}

Thanks to AigleeK, alexgast and gastaldi for reporting these issues.

## Flyway 7.9.0 (2021-05-13)

### New features

{% include issue.html id="2205" title="Add failOnMissingLocations parameter" %} {% include issue.html id="3155" title="Allow targets that don't exist with '?'" %}
- Add Flyway update checking in command line
- Add support for auto detecting file encoding for SQL migrations.
- Add Spanner Beta support

### Bug fixes

{% include issue.html id="3160" title="Fix parsing of Oracle ACCESSIBLE BY" %} {% include issue.html id="3161" title="Clean all SQLServer objects in a 2-pass approach" %}

### Changes

{% include issue.html id="3132" title="'n rows affected' is now debug level in logs" %} {% include issue.html id="3162" title="Update MySQL driver version" %}
- Update S3 dependency to fix vulnerabilities in transitive dependencies
- Detect Hikari pooled connections automatically when using Oracle proxy users

Thanks to artjomsimon, jeanremacle, mabako, rbroth, wparuch, and xiagw for reporting these issues.

## Flyway 7.8.2 (2021-04-27)

### New features

- Add support for Oracle proxy users when using Hikari pooled connections
{% include issue.html id="3139" title="Add GNU-standard command line help options" %}

### Bug fixes

{% include issue.html id="3152" title="Fix MySQL parsing nested blocks with labels" %} {% include issue.html id="3153" title="Only show warning about missing default schema when relevant" %}
- Fix issue with comparator resulting (rarely) in failure during sorting migrations

Thanks to austek, Eric Sauser and tomikmar for reporting these issues.

## Flyway 7.8.1 (2021-04-16)

### Bug fixes

{% include issue.html id="3150" title="Fix a regression in 7.8.0 maven plugin" %}

Thanks to pzygielo for reporting this issue.

## Flyway 7.8.0 (2021-04-15)

### Skipped due to a regression.

### New features

- Add `ignoreMigrationPatterns` parameter to customize `validate`
- Add support for Oracle proxy user connections

### Changes

{% include issue.html id="3132" title="Log `0 rows affected` at the debug level" %}

### Bug fixes

{% include issue.html id="3129" title="SQLServer: Don't accidentally parse identifiers in square brackets as key words" %}

Thanks to rchurchley, wparuch and esauser for reporting these issues.

## Flyway 7.7.3 (2021-04-08)

### Bug fixes

{% include issue.html id="3130" title="Fix parsing DISTRIBUTED TRANSACTION in SQL Server" %}

### New features

- Allow `PROXY_USER_NAME` in JDBC properties to create proxy connections to Oracle databases

## Flyway 7.7.2 (2021-04-01)

### Bug fixes

{% include issue.html id="3123" title="Use new MariaDB parser" %}

### New features

{% include issue.html id="3119" title="Updated MSSQL JDBC driver to allow for interactive authentication" %}

### Changes

{% include issue.html id="3131" title="Update MariaDB support to 10.5" %}
- Update dependencies
- Ship MSAL4J dependencies for AAD auth
- Update GCS dependency
- Update DB2 driver
- Update log4j dependency
- Update Amazon SDK dependency
- Make flyway.cmd more robust

Thanks to JD-CSTx and nicregez for reporting these issues.

## Flyway 7.7.1 (2021-03-24)

### Bug fixes

{% include issue.html id="3110" title="Correctly parse `GO` in identifiers"%} {% include issue.html id="3115" title="Handle `NOT ATOMIC` statements in MariaDB" %} {% include issue.html id="3116" title="Fix cleaning of computed columns in SQL Server" %}
- Fix JDBC properties environment variables not trimming underscores

### Changes

{% include issue.html id="2847" title="Display link to docs page upon PostgreSQL lock fail" %} {% include issue.html id="3105" title="Promote update query debug logs to info logs" %}
- Update various dependencies
- SQL callbacks support `shouldExecute`
- Fix `-target=latest` for undo
- Add `installedOnUTC` field on JSON result for info
- Update copyright headers

Thanks to JD-CSTx, aherkarsatish11, bobdoah, rchurchley, and zikato for reporting these issues.

## Flyway 7.7.0 (2021-03-11)

### New features

{% include issue.html id="3100" title="Add `flyway:workingDirectory` placeholder." %}

### Bug fixes

- Clean SQL Server indexes in a 2-pass approach to avoid dependency errors

### Changes

- Include preceding comments when executing SQL

Thanks to everyone who reported these issues.

## Flyway 7.6.0 (2021-03-05)

### New features

{% include issue.html id="3084" title="Allow loading Gradle configuration artifacts outside of a Java project" %}

### Bug fixes

{% include issue.html id="3090" title="Fix cleaning SQL Server computed columns which are primary keys" %} {% include issue.html id="3091" title="Fix exception in migration comparator by sorting ignored migrations by version" %} {% include issue.html id="3092" title="Fix NPE by checking CodeSource location isn't null" %}

### Changes

{% include issue.html id="3098" title="Throw upgrade required exception when using shouldExecute in community" %}
- Remove experimental annotations from Vault parameters

Thanks to eikek, esauser, and johnwright for reporting these issues.

## Flyway 7.5.4 (2021-02-22)

### Bug fixes

{% include issue.html id="3088" title="Fix comparator exception in migration comparator" %} {% include issue.html id="3090" title="Fix cleaning of SQL Server computed columns which are primary keys" %}
- Fix incorrectly updating dropped schema list in clean JSON result

### Changes

{% include issue.html id="2761" title="Support SnowflakeDB `QUOTED_IDENTIFIERS_IGNORE_CASE = true`" %} {% include issue.html id="3071" title="Support multiline boolean expressions for `shouldExecute`" %} {% include issue.html id="3081" title="Log output from script migrations at the info level" %}

Thanks to dvdtknsn, esauser, johnwright, and scottsauber for reporting these issues.

## Flyway 7.5.3 (2021-02-10)

### Bug fixes

{% include issue.html id="3063" title="Drop SQLServer types at the database level" %} {% include issue.html id="3071" title="Support multiline boolean expressions for shouldExecute" %}

### Changes

{% include issue.html id="3074" title="Log referenced scripts used when calculating checksums" %} {% include issue.html id="3066" title="Get MySQL and MariaDB version from the database" %}
- Check that PostgreSQL unlock result is true

### Database compatibility

{% include issue.html id="3070" title="Support SQL Server engine edition 9" %}

Thanks to Sam-Redgate, StaffanHorke, TonytheEditor, chakrit, and scottsauber for reporting these issues.

## Flyway 7.5.2 (2021-01-27)

### Bug fixes

- Check that PostgreSQL advisory unlock result returns true
- Allow 'pro' in FLYWAY_EDITION environment variable
- Remove warning following tests against Snowflake 5.1

### Changes

{% include issue.html id="3042" title="Add fulltext database to SQL Server non-transactional list" %} {% include issue.html id="3060" title="Add Flyway upgrade exceptions when setting secret management parameters" %}

Thanks to JeanFrancoeur and wilkinsona for reporting these issues.

## Flyway 7.5.1 (2021-01-21)

### Bug fixes

- Alpine Docker image rebuilt based on openjdk:16-alpine to fix CVE (as 12-alpine is no longer maintained)
{% include issue.html id="3049" title="HSQLDB: case-sensitivity bug on PROCEDURE fixed" %} {% include issue.html id="3053" title="HSQLDB: failure to parse END inside a query fixed" %}

### Changes

- Vault integration: configuration now allows multiple locations for secrets
- Vault integration: now support V1 of key-value secret engine

Thanks to esauser and Peter Gerrard for reporting these issues.

## Flyway 7.5.0 (2021-01-11)

### Bug fixes

{% include issue.html id="3037" title="Only use external authentication if it is required" %} {% include issue.html id="3041" title="Correctly parse nested multi-line comments" %} {% include issue.html id="3043" title="Case-insensitive HSQLDB parsing" %}

### New features

{% include issue.html id="3039" title="Allow shouldExecute script configuration option to contain boolean expressions" %}

### Changes

{% include issue.html id="-1" title="Remove warning when using SAP HANA Cloud" %}

Thanks to JeanFrancoeur, calvarius7, esauser, and tanguanpeng1234 for reporting these issues.

## Flyway 7.4.0 (2021-01-04)

### Bug fixes

{% include issue.html id="3026" title="Fix parsing of wrapped Oracle SQL" %} {% include issue.html id="3029" title="Include classpath variable in bash script" %} {% include issue.html id="3034" title="HSQLDB - successfully parse drop procedure" %}

### New features

{% include issue.html id="2239" title="New callback for custom schema creation SQL" %} {% include issue.html id="3028" title="Support p6spy in URLs" %}
- Support reading configurations from Vault and Conjur

### Changes

{% include issue.html id="3013" title="Move LoadableResource and Resource into the API" %}

Thanks to RB14, calvarius7, ericparton, luoy1991, mLarsenAlkaDk, and tobato for reporting these issues.

## Flyway 7.3.2 (2020-12-16)

### Bug fixes

{% include issue.html id="3021" title="Don't cascade when dropping SAP HANA views" %} {% include issue.html id="3025" title="Check that connected keywords are on the same line when parsin in Oracle" %} {% include issue.html id="3029" title="Use classpath environment variable in bash script" %} {% include issue.html id="3031" title="Calculate correct 'undoable' value when using info filters" %}
- Correct name for MSSQL integrated security DLL
- Only validate cherry-picked migrations
- Use correct execution time in migrate result

### Performance improvements

{% include issue.html id="3024" title="Improve performance of shouldExecute" %}

### Changes

- Display a message if external authentication files are found

Thanks to BaburaoLad, cesargomezvela, iggycoder, luoy1991, and rglidden for reporting these issues.

## Flyway 7.3.1 (2020-12-04)

### Bug fixes

{% include issue.html id="3010" title="Fix MariaDB block parsing" %} {% include issue.html id="3019" title="Fix NPE when repairing failed repeatables" %}

### New features

{% include issue.html id="3000" title="Redshift V2 driver support" %}

### Changes

- Display a message if PostgreSQL or MySQL authentication files are found

Thanks to adipata, bjaglin, and tatumsu for reporting these issues.

## Flyway 7.3 (2020-11-25)

### New features

{% include issue.html id="2914" title="Script filename placeholder introduced" %} {% include issue.html id="2953" title="If Flyway cannot connect to the database, retries are now made in an exponential backoff pattern" %} {% include issue.html id="2992" title="Dry Run output can now be directed to AWS S3 or Google Cloud Storage (if relevant SDK is present)" %} {% include issue.html id="2997" title="Add migration preconditions using `shouldExecute` in script config" %}

### Bug fixes

{% include issue.html id="2932" title="CockroachDB: lock indicators time out if left behind by Flyway erroring on bad scripts" %} {% include issue.html id="2999" title="PostgreSQL 12: support for ALTER TYPE ... ADD VALUE being run in a transaction added" %} {% include issue.html id="3005" title="PostgreSQL: cleaning no longer tries to drop extensions installed by a superuser" %} {% include issue.html id="3010" title="MariaDB: script parsing error fixed" %}

Thanks to adipata, axelfontaine, gendolf3d, OliverDTM and scranen for reporting these issues.

## Flyway 7.2.1 (2020-11-18)

### New features

{% include issue.html id="2953" title="Exponential backoff scheme for connect intervals" %}

### Bug fixes

{% include issue.html id="2932" title="Add a timeout to Flyway's custom table lock" %} {% include issue.html id="2987" title="Display all validate messages in exceptions" %} {% include issue.html id="2999" title="Allow 'alter type' in transactions for PostgreSQL 12 and up" %} {% include issue.html id="2698" title="Execute migrations in cherryPick defined order" %}

### Changes

{% include issue.html id="3005" title="Only drop PostgreSQL extensions owned by current user" %} {% include issue.html id="2914" title="Full filename in filename default placeholder" %}

Thanks to AigleeK, OliverDTM, axelfontaine, gendolf3d, holgerstolzenberg, and scranen for reporting these issues.

## Flyway 7.2.0 (2020-11-09)

### New features

{% include issue.html id="960" title="Read MySQL credentials from option files" %} {% include issue.html id="2914" title="Add filename as a default placeholder" %}
- Option to filter info by migration state

### Bug fixes

{% include issue.html id="2987" title="Display all validate messages in exceptions" %} {% include issue.html id="2987" title="Ignore superseded repeatables when validating" %}

### Performance Improvements

{% include issue.html id="2993" title="Improve performance of migrate" %}

### Changes

- Arbitrary script callbacks no longer require a description

Thanks to AigleeK, OliverDTM, ToBeReplaced, kasgilpofi, and wilkinsona for reporting these issues.

## Flyway 7.1.1 (2020-10-29)

### Bug fixes

{% include issue.html id="2991" title="Fix Teams upgrade exception incorrectly appearing in Community edition" %}

### Performance Improvements

{% include issue.html id="2989" title="Cache oracle database metadata" %}

### Changes

{% include issue.html id="2988" title="Don't name primary key constraint on MariaDB" %}

Thanks to kasgilpofi, wilkinsona, and willy0275 for reporting these issues.

## Flyway 7.1.0 (2020-10-27)

### Skipped due to a regression in Community edition, see this issue.

### New features

{% include issue.html id="960" title="Support pgpass for authentication" %} {% include issue.html id="2847" title="Allow number of lock retries to be configured." %} {% include issue.html id="2984" title="Support for SLF4J v1.8+" %} {% include issue.html id="2967" title="Add schema support for Cockroach 20.2" %} {% include issue.html id="2694" title="Add windows native folder" %} {% include issue.html id="2881" title="Allow for filtering info output by date or version" %}
- Allow arbitrary script callbacks

### Changes

{% include issue.html id="2820" title="Add validate error codes and improve validate result object" %} {% include issue.html id="2986" title="Create the schema history table when using skipExecutingMigrations without baseline" %}
- Make validate fix suggestions copy-pastable.

### Bug fixes

{% include issue.html id="2987" title="only mark latest repeatable as deleted" %}

Thanks to A248, AigleeK, ToBeReplaced, aherkarsatish11, cheppsn, and yarhamjohn for reporting these issues.

## Flyway 7.0.4 (2020-10-16)

### Bug fixes

- Fix cherryPick feature name in exception
- Fix issue with licensing

Thanks to everyone who reported these issues.

## Flyway 7.0.3 (2020-10-14)

### Bug fixes

{% include issue.html id="2921" title="Support for Log4J v2" %} {% include issue.html id="2966" title="Passwords embedded in Flyway URLs redacted analogously to `flyway.password` parameter" %} {% include issue.html id="2977" title="MySQL parser: BEGIN [WORK] not being parsed correctly" %}

### Database compatibility

- Flyway now ships with MySQL driver 8.0.20, following Whitesource recommendation

Thanks to Dan Carley and sniperrifle2004 for reporting these issues.

## Flyway 7.0.2 (2020-10-09)

### Bug fixes

{% include issue.html id="2969" title="Drop support for setting s3 client via fluent configuration" %} {% include issue.html id="2907" title="Log instead of throwing exception when PostgreSQL advisory locking fails" %}

Thanks to josephlbarnett for reporting these issues.

## Flyway 7.0.1 (2020-10-07)

### Skipped due to a regression, see this comment.

### Database compatibility

{% include issue.html id="2952" title="Confirm PostgreSQL 13 support" %}

### New features

{% include issue.html id="2921" title="Add Log4J v2 support" %} {% include issue.html id="2919" title="Allow custom S3Client to be supplied" %}

### Changes

{% include issue.html id="2871" title="Double quote migration names in logs" %} {% include issue.html id="2957" title="Make AWS S3 SDK optional" %}

### Bug fixes

{% include issue.html id="2898" title="Don't prompt for credentials with H2 in-memory databases" %} {% include issue.html id="2949" title="Fix table locking retry logic" %} {% include issue.html id="2954" title="Fix getting Oracle database name" %} {% include issue.html id="2959" title="Fix handling of wrapped SQL in Oracle parser" %} {% include issue.html id="2961" title="Fix SQLServer parser block handling" %}
- Make outputQueryResults public

### Performance Improvements

{% include issue.html id="2965" title="Remove unnecessary linebreak trimming" %}

Thanks to AigleeK, TheSench, gendolf3d, mLarsenAlkaDk, peng-ran, and pyrocks for reporting these issues.

## Flyway 7.0.0 (2020-09-28)

### Changes

- Introduce Flyway Teams edition
- Make validate messages suggest actions

### New features

{% include issue.html id="2507" title="Add machine readable output for all commands" %} {% include issue.html id="2780" title="Add jdbc-secretsmanager support" %}
- Oracle SQL*Plus support for `glogin.sql`
- Make cherry pick work for repair

### Bug fixes

{% include issue.html id="2208" title="clean assemblies at the database level" %} {% include issue.html id="2924" title="Improve mysql parser block handling" %} {% include issue.html id="2926" title="Reapply java repeatables when checksum changes from null" %} {% include issue.html id="2928" title="Fix parser error when using repeated placeholders" %} {% include issue.html id="2940" title="Fix sql server parser error" %} {% include issue.html id="2448" title="Drop extensions in PostgreSQL when running clean" %} {% include issue.html id="2736" title="Reintroduce TestContainers support" %} {% include issue.html id="2872" title="Batch SQL doesn't error out" %} {% include issue.html id="2917" title="Resolve maven configuration files relatively" %}
- Make dry run work for repair
- Add envvar support for validate migration naming

Read about more features that were released in the beta.

Thanks to AigleeK, JeanRev, LuisUrrutia, amccarthy, belugabehr, cdalexndr, hauntingEcho, lbreuss, mschirmacher, sdchhabaria, stankiewicz, will-sargent-eero, and yarhamjohn for reporting these issues.

## Flyway 7.0.0-beta1 (2020-09-02)

### New features

{% include issue.html id="1986" title="Allow skipping the execution of a migration" %} {% include issue.html id="2458" title="Support for SQL migrations in AWS S3 storage" %} {% include issue.html id="2594" title="Postgres driver updated to support SCRAM authentication" %} {% include issue.html id="2133" title="Add new callbacks `beforeRepeatables` and `afterVersioned`" %} {% include issue.html id="2688" title="Enable passing JDBC properties through to clients" %}
- Support for SQL migrations in Google Cloud Storage
- Oracle SQL*Plus support for `login.sql`
- Allow cherry picking which migrations to run
- Support deleting migrations

### Changes

- Update gradle plugin to 6.1.1
- Command-line option `-json` superseded by `-outputType=json`
{% include issue.html id="2805" title="The CLI default flyway.conf now specifies the location filesystem:sql" %} {% include issue.html id="2808" title="Placeholder names are now case insensitive" %} {% include issue.html id="1801" title="Ignore hidden directories on the classpath when finding resources" %} {% include issue.html id="2785" title="Allow loading callbacks by scanning a provided package" %}

### Database compatibility

{% include issue.html id="2324" title="Invalid targets now cause an error" %} {% include issue.html id="2859" title="Only load from std in when a config file with the name '-' is given" %}
- Non existent migration locations now display an error in the output
- Deprecated command-line argument `-logFile` removed (see `-outputFile` for replacement)
- Deprecated migration types `SPRING_JDBC, UNDO_SPRING_JDBC` removed (use `JDBC, UNDO_JDBC` instead)
- Deprecated dots as location path separators

### Changes

{% include issue.html id="2805" title="The CLI default flyway.conf now specifies the location filesystem:sql" %} {% include issue.html id="2808" title="Placeholder names are now case insensitive" %} {% include issue.html id="1801" title="Ignore hidden directories on the classpath when finding resources" %} {% include issue.html id="2785" title="Allow loading callbacks by scanning a provided package" %}
- Update gradle plugin to 6.1.1
- Command-line option `-json` superseded by `-outputType=json`

### Database compatibility

{% include issue.html id="2806" title="Add support for Azure Synapse" %} {% include issue.html id="2466" title="Support for several older databases moved into Enterprise" %}

- HSQLDB 2.3 (2010)
- PostgreSQL 9.4 (2014)
- Sybase ASE 16.0 (2014)
- Sybase ASE 16.1 (2015)

### Docker images

- Docker images updated to be based on JDK 12: respectively `adoptopenjdk:12-jre-hotspot` and `openjdk:12-alpine`

Thanks to JonLally, KrzysztofMadejski, Me1gireesh, PetterKraabol, belugabehr, fkoehler, hdgarrood, leoherbie, nelvadas, qoomon, stankiewicz, olavloite, laurentgrangier, jitu1983, and radzimir for reporting these issues and/or submitting pull requests.

## Flyway 6.5.7 (2020-09-22)

### Changes

{% include issue.html id="2936" title="Update postgres driver version because of XXE vulnerability" %}

### Bug fixes

{% include issue.html id="2924" title="Improve mysql block handling further" %}

Thanks to amccarthy and sstrang for reporting these issues and/or submitting pull requests.

## Flyway 6.5.6 (2020-09-16)

### Bug fixes

{% include issue.html id="2924" title="Improve mysql block handling" %} {% include issue.html id="2928" title="Fix parser bug when using multiple placeholders of the same name" %} {% include issue.html id="2872" title="Make batches errors fail fast" %}

Thanks to amccarthy, hauntingEcho, and sdchhabaria for reporting these issues.

## Flyway 6.5.5 (2020-08-18)

### Bug fixes

{% include issue.html id="2903" title="Fix resource resolving logic to be more performant" %}

Thanks to leoherbie for reporting these issues and/or submitting pull requests.

## Flyway 6.5.4 (2020-08-12)

### Changes

{% include issue.html id="2900" title="Make scanner resource look up case insensitive" %}

### Bug fixes

{% include issue.html id="2901" title="Fix performance degradation due to getting the absolute path earlier" %}

Thanks to ekennedy247 for reporting these issues and/or submitting pull requests.

## Flyway 6.5.3 (2020-07-29)

### Bug fixes

{% include issue.html id="2887" title="Oracle SQL*Plus: Support @-style import of script file with absolute path" %} {% include issue.html id="2889" title="SnowflakeDB: Support //-style single-line comments in scripts" %}

## Flyway 6.5.2 (2020-07-22)

### Bug fixes

{% include issue.html id="2865" title="Remove unhelpful warning re. MariaDB driver / MySQL server following driver update" %} {% include issue.html id="2875" title="Migration fails when placeholder value is much shorter than its name" %} {% include issue.html id="2879" title="Documentation update to clarify script config file location" %} {% include issue.html id="2883" title="Percona XtraDB: support strict mode MASTER similarly to ENFORCING" %} {% include issue.html id="2884" title="Oracle parser: failure parsing package with no trailing /" %}

Thanks to anake1, ankos, Mauro Molinari and t-kwasniewski for reporting these issues and/or submitting pull requests.

## Flyway 6.5.1 (2020-07-13)

### Bug fixes

{% include issue.html id="2866" title="MySQL parser: fixed error around CREATE TABLE IF NOT EXISTS" %} {% include issue.html id="2867" title="SQL*Plus: SPOOL now produces output during migration/callback to requested file" %}

### Docker images

{% include issue.html id="" title="Docker images updated to be based on JDK 12: respectively `adoptopenjdk:12-jre-hotspot` and `openjdk:12-alpine`" %}

Thanks to Nathan Ginther and Yvette Cook for reporting these issues and/or submitting pull requests.

## Flyway 6.5.0 (2020-06-25)

### New features

{% include issue.html id="2350" title="Added a config option to disable automatic schema creation" %} {% include issue.html id="2766" title="Allow script encoding to be set on a per-script basis" %} {% include issue.html id="2838" title="Make ResourceProvider and ClassProvider configurable" %}

### Bug fixes

{% include issue.html id="2853" title="Fix MySQL support for multiline IF statements" %} {% include issue.html id="2854" title="Fix MariaDB support for ROW END" %} {% include issue.html id="2856" title="Improve DB2 module clean" %} {% include issue.html id="2860" title="Fix Oracle parsing issue" %} {% include issue.html id="2861" title="Fix MySQL support for IF with AS" %}

Thanks to Sourav1407, XhstormR, geoand, htto, lwasylow, mikhailRo, monmallonga, and wkiszka for reporting these issues and/or submitting pull requests.

## Flyway 6.4.4 (2020-06-10)

### Bug fixes

{% include issue.html id="2832" title="Fix bug with cleaning modules in DB2" %} {% include issue.html id="2837" title="Fix bugs related to reading config from standard input" %} {% include issue.html id="2843" title="Improved Snowflake support for $$ string literals" %}

### Changes

{% include issue.html id="2513" title="Upgrade the Oracle drivers version 19.6" %} {% include issue.html id="2849" title="Add CockroachDB 20.1 support" %}

Thanks to intacctvaler, monmallonga, and srjonemed for reporting these issues.

## Flyway 6.4.3 (2020-05-27)

### Bug fixes

{% include issue.html id="2559" title="Improve SQL*PLUS SET FEEDBACK support" %} {% include issue.html id="2813" title="Fix cleaning a SQL Server table with a FILESTREAM column" %} {% include issue.html id="2817" title="Fix PostgreSQL parser handling of escaped strings" %} {% include issue.html id="2819" title="Support blank sql version prefix" %} {% include issue.html id="2821" title="Fix REPAIR issues" %} {% include issue.html id="2828" title="MySQL handle multiple IF EXISTS in one statement" %}

Thanks to angusholder, davidjeddy, joachimvda, philippedurocher, and zjwu2000 for reporting these issues.

## Flyway 6.4.2 (2020-05-12)

### Changes

{% include issue.html id="2810" title="CockroachDB history table locking" %}

### Bug fixes

{% include issue.html id="2800" title="Report inner exceptions for more context on failures" %} {% include issue.html id="2807" title="Fix MySQL parser bug" %} {% include issue.html id="2812" title="DB2 parser handle LOOP" %}

Thanks to Kenny2912 and LHCGreg for reporting these issues.

## Flyway 6.4.1 (2020-04-30)

### Changes

{% include issue.html id="2588" title="Ship Snowflake drivers" %}

### Bug fixes

{% include issue.html id="2795" title="Unable to decrease block depth below 0 error in version 6.4.0" %} {% include issue.html id="2794" title="ADD COLUMN IF NOT EXISTS in MariaDB generates a Flyway Parsing Error" %} {% include issue.html id="2796" title="Parse error using MySQL 8 since flyway 6.3" %} {% include issue.html id="2781" title="Delimiter changed inside statement" %} {% include issue.html id="2786" title="Delimiter changed inside statement on delimiter change right after comment" %} {% include issue.html id="2774" title="Parser issue for Sybase ASE for keyword GOTO" %} {% include issue.html id="2783" title="End of package body not detected with Oracle" %}

Thanks to ChristianFischerJena, Nathan Ginther, Marc Bennewitz, Frank Huster, Damjan Vujnovic, Andreas Müller, laurentgrangier, and Wesley Leung for reporting these issues.

## Flyway 6.4 (2020-04-21)

### New features

{% include issue.html id="1192" title="allow wildcard in flyway.locations" %} {% include issue.html id="2695" title="Enable piping of config files to command line" %} {% include issue.html id="2182" title="PostgreSQL: Parse search_path to determine name of first non-existing schema to create" %}

### Changes

{% include issue.html id="2756" title="Fix performance issue with the MySQLSchema doEmpty() call" %} {% include issue.html id="2769" title="Don't prompt for user+password for Azure passwordless auth" %} {% include issue.html id="2754" title="Baseline doesn't work if flyway_schema_history table exists " %} {% include issue.html id="2678" title="Parameters in JDBC URL" %}

### Bug fixes

{% include issue.html id="2773" title="Flyway parsing bug: unable to decrease block depth below 0 " %} {% include issue.html id="2772" title="unable to decrease block depth below 0" %} {% include issue.html id="2768" title="unable to decrease block depth below 0" %} {% include issue.html id="2762" title="Flyway parsing bug: unable to decrease block depth below 0" %} {% include issue.html id="2758" title="Block Depth Below 0 - MySQL 5.7 CREATE PROCEDURE" %} {% include issue.html id="2770" title="No schema history found in dry run" %} {% include issue.html id="2759" title="Failure to obtain Postgres 11 advisory lock" %}

Thanks to Ali Ustek, Jörg Hohwiller, Alexis Deschamps, Ben Manes, Ben Manes, Jonas Natten, Jacquers, Damjan Vujnovic, Matteo Quintiliani, Chris Borckholder, and ln0v for reporting these issues.

## Flyway 6.3.3 (2020-04-06)

### Bug fixes

{% include issue.html id="2701" title="Oracle parser: Improve support for oracle statements separated by a /" %} {% include issue.html id="2716" title="Oracle parser: Don't suppress comments after Sqlplus PROMPT" %} {% include issue.html id="2737" title="MySQL parser: Fix support for block statements with multiple cases denoted by THEN" %} {% include issue.html id="2743" title="Fix memory leak" %} {% include issue.html id="2748" title="DB2 parser: Support CREATE IF NOT EXISTS and DROP IF EXISTS" %}

Thanks to JFNGO, JamesGuthrie, SamuraiPrinciple, netsrotr, rafael-trevisan, and sergey-selivanov for reporting these issues.

## Flyway 6.3.2 (2020-03-24)

### Bug fixes

{% include issue.html id="2132" title="Command line should not prompt for values if user and/or password are in PostgreSQL JDBC URL" %} {% include issue.html id="2720" title="MySQL parser: block depth error with IF NOT EXISTS" %} {% include issue.html id="2724" title="SAP HANA parser: error on creating function" %} {% include issue.html id="2726" title="MySQL parser: error when delimiter changed inside statement" %} {% include issue.html id="2727" title="Flyway shouldn't try to colorize output when no `System.console()`" %} {% include issue.html id="2733" title="SAP HANA parser: error on CASE ... END; IF ..." %}

Thanks to Al Johri, Damjan Vujnovic, James Ball, Jonas Karlsson and stesix for reporting these issues.

## Flyway 6.3.1 (2020-03-13)

### Changes

{% include issue.html id="2709" title="flyway.url must be set when running command but already set in flyway.conf" %} {% include issue.html id="2447" title="Cleaning dry-runs" %}

### Bug fixes

{% include issue.html id="2699" title="Default placeholder is not populated" %} {% include issue.html id="2702" title="Building against enterprise flyway command line with gradle fails" %} {% include issue.html id="2707" title="Flyway does not execute SQL in a migration to create a MySQL procedure when it contains `DROP TABLE IF EXISTS`" %} {% include issue.html id="2715" title="Flyway parsing bug: unable to decrease block depth below 0 in version 6.3.0" %}

Thanks to AigleeK, feoktant, James Ball, Nick Edwards, Rafael Trevisan, for reporting these issues and/or submitting pull requests.

## Flyway 6.3.0 (2020-03-05)

### New features

{% include issue.html id="1780" title="Flyway api load configuration files from the default locations" %} {% include issue.html id="2022" title="Support for `workingDirectory` parameter added to clients which didn't already have it" %} {% include issue.html id="2177/2685" title="Repeatable migrations with placeholders re-run when placeholder value changes" %} {% include issue.html id="2555" title="Support for multiple lines in `flyway.conf`" %} {% include issue.html id="2700" title="Add support for a timestamp placeholder" %}

### Changes

{% include issue.html id="2527" title="Baselining with empty history table now throws error" %} {% include issue.html id="2692" title="Providing a license key to the community edition is now a warning instead of an error" %}

### Bug fixes

{% include issue.html id="2447" title="Fix cleaning SQL Server partition schemes/functions when there are cross-schema dependencies" %} {% include issue.html id="2605" title="Flyway not able to create the schema history in Sybase with `DDL IN TRAN = OFF`" %} {% include issue.html id="2684" title="Fix cleaning a Redshift schema containing procedures" %} {% include issue.html id="2687" title="Fix mysql parser comment before DROP IF EXISTS" %} {% include issue.html id="2689" title="Support putting comments and newlines within the package definition" %} {% include issue.html id="2693" title="Add support for TEMPORARY TABLE in the mysql parser" %}

Thanks to Komurugesan, artjomsimon, bjornhilstad, fumal4evr, goranpaues-tradedoubler, jakaarl, esauser, jaa2261, kippm, philci52, shadowmanos, and vitas for reporting these issues.

## Flyway 6.2.4 (2020-02-20)

### Bug fixes

{% include issue.html id="2674" title="Oracle SQL*Plus parsing extended to support `SPOOL`" %} {% include issue.html id="2675" title="MySQL parsing bug" %} {% include issue.html id="2676" title="MySQL CREATE TABLE IF EXISTS parsing bug" %} {% include issue.html id="2677" title="Snowflake no longer needs dummy password if using key-based authentication" %} {% include issue.html id="2679" title="Password prompt for SQL Server integration auth" %} {% include issue.html id="2681" title="NullPointerException when running flyway info -json" %} {% include issue.html id="2682" title="Print Flyway version in 'productVersion' property with -json" %}

Thanks to emarcellus, Jonathan Putney, Slaiman Ahmdshah, Sreejith Madhavan, and Valdemar Grange for reporting these issues.

## Flyway 6.2.3 (2020-02-13)

### Changes

{% include issue.html id="2642" title="Package Oracle drivers" %}

### Bug fixes

{% include issue.html id="2650" title="MariaDB with MaxScale is unable to determine version" %} {% include issue.html id="2665" title="Dryrun scripts for CockroachDB are invalid" %} {% include issue.html id="2666" title="Support control flow keywords in MySQL" %} {% include issue.html id="2669" title="Oracle package parsing bug" %} {% include issue.html id="2673" title="DB2 parsing bug" %}

Thanks to marcobehler, mbreevoort, and wjtkp for reporting these issues.

## Flyway 6.2.2 (2020-02-06)

### New features

{% include issue.html id="2663" title="CockroachDB retrying mechanism" %}

### Bug fixes

{% include issue.html id="2653" title="MariaDB does not clean system versioned tables" %} {% include issue.html id="2655" title="MariaDB jdbc driver logs errors on startup" %} {% include issue.html id="2657" title="MariaDB dry run script contains invalid comment syntax" %}

Thanks to the development team at CockroachDB for their assistance with issue 2663, and dohrayme for reporting MariaDB issues.

## Flyway 6.2.1 (2020-01-30)

### Database compatibility

{% include issue.html id="2645" title="Support for Snowflake 4.2 verified" %}

### Bug fixes

{% include issue.html id="2567" title="Undo + ErrorOverride throws exception but fails to record in schema_history table" %} {% include issue.html id="2612" title="Oracle: Package body initialization section with implicit END" %} {% include issue.html id="2643" title="`clean` fails on SQL Server 2014 and older" %} {% include issue.html id="2638" title="Add comment to select statement for schema history to disable load balancing on Pgpool-II" %} {% include issue.html id="2649" title="Ensure flyway cleans partition functions on azure sql server version 12" %}

Thanks to KiruthikaSS, Kindrat, filiprichtarik, LukeLaz, romaindup, and codicuz for reporting these issues and/or submitting pull requests.

## Flyway 6.2.0 (2020-01-23)

### New features

{% include issue.html id="2186" title="New option to explicitly validate SQL migration/callback script names" %} {% include issue.html id="2590" title="Flyway output not colored in jenkins when using ansiColors plugin" %} {% include issue.html id="2621" title="Re-add the CLI option to disable colorization." %}

### Changes

{% include issue.html id="1328" title="In multiple managed schema scenario, if one of the schemas already exists, no other schema is created" %}

### Bug fixes

{% include issue.html id="2620" title="Scripts with empty description causing issues in Oracle and Sybase" %} {% include issue.html id="2624" title="Error parsing `CASE...END` in SAP HANA" %} {% include issue.html id="2626" title="Support for MariaDB enterprise version numbering" %} {% include issue.html id="2634" title="Deadlock on some instances of Postgres" %} {% include issue.html id="2637" title="Add environment variable for defaultSchema" %}

### Java compatibility

{% include issue.html id="2619" title="JDK 13 support officially added" %}

Thanks to allenatdecisiv, esauser, Roman Dubinin, Marko K, Nicholas Fechner, stesix, rickselby and morl-la for reporting these issues and/or submitting pull requests.

## Flyway 6.1.4 (2020-01-06)

### Bug fixes

{% include issue.html id="2608" title="Unrecognised configration parameters all reported on at the same time" %} {% include issue.html id="2609" title="Oracle: fix parsing of `Q'! ... !'` quoted string literals" %} {% include issue.html id="2611" title="Problems with Java comments in Oracle CREATE JAVA statement" %} {% include issue.html id="2613" title="Multiple procedures each terminated with '/' in placeholder string fails to create procedures" %}

Thanks to codicuz and jaa2261 for reporting these issues and/or submitting pull requests.

## Flyway 6.1.3 (2019-12-20)

### Bug fixes

{% include issue.html id="2537" title="Unexpected error re. non-empty schemas" %} {% include issue.html id="2561" title="Improve parsing of Oracle SQL*Plus `PROMPT` statement" teams=true %} {% include issue.html id="2604" title="Block depth issue with Oracle `END CASE` statement" %} {% include issue.html id="2607" title="Block depth issue with Oracle `CREATE JAVA` statement" %}

Thanks to David Atkinson, codicuz and fszilinski for reporting these issues and/or submitting pull requests.

## Flyway 6.1.2 (2019-12-16)

### Bug fixes

{% include issue.html id="2519" title="Previous fix also needed for Azure MySQL Database v8" %} {% include issue.html id="2582" title="Combining -json and -logFile yields no logFile" %} {% include issue.html id="2591" title="Oracle: invalid delimiter (not alone on line) ignored " %} {% include issue.html id="2596" title="Snowflake stored procedure issues in `migrate` and `clean`" %} {% include issue.html id="2597" title="Parenthesis depth affects interpretation of `LOOP` in Oracle parser" %} {% include issue.html id="2602" title="Redact licence key in `-X` (DEBUG) mode" %}

### Database compatibility

{% include issue.html id="2603" title="Aurora Postgres 11.4 support" %}

Thanks to esauser, JFNGO, Joe Wu, SDepn, stevenenen and Tyson Gern for reporting these issues.

## Flyway 6.1.1 (2019-12-09)

### Bug fixes

{% include issue.html id="2560" title="Whitespace after / delimiter causes migration to fail" %} {% include issue.html id="2571" title="Changing delimiter to # in MySQL fails" %} {% include issue.html id="2577" title="Support JavaScript in Snowflake stored procedures" %} {% include issue.html id="2578" title="Clean fails for `PROCEDURE` in Postgres 12" %} {% include issue.html id="2580" title="Escaping issue with environment variable substitution" %} {% include issue.html id="2592" title="Cockroach doesn't support mixing DDL / DML in transactions" %} {% include issue.html id="2595" title="Only a single line of output produced when `-logFile` used" %}

Thanks to BartBM, Christoph Dreis, Jeroen Roosen, Joe Wu and Tarcio Saraiva for reporting these issues.

## Flyway 6.1.0 (2019-11-26)

### New features

{% include issue.html id="1384" title="Special automatically-populated `FLYWAY.CURRENT_SCHEMA` placeholder" %} {% include issue.html id="1479" title="Environment variable substitution in config files" %} {% include issue.html id="1735" title="Snowflake support" %} {% include issue.html id="2180" title="Option to log a copy of the command-line output to a file" %} {% include issue.html id="2254" title="Machine-readable Flyway Info" %} {% include issue.html id="2445" title="Cockroach 19.2 support" %} {% include issue.html id="2532" title="H2 1.4.200 support" %} {% include issue.html id="2546" title="Option to force migration to (or not to) run in a transaction" %}

### Changes

{% include issue.html id="2576" title="New configuration parameter `flyway.defaultSchema`" %}

### Bug fixes

{% include issue.html id="1466" title="Classpath scanning results are cached between migrate runs" %} {% include issue.html id="2535" title="`CREATE TABLE ... AS SELECT` not allowed in MySQL when enforcing GTID consistency" %} {% include issue.html id="2550" title="Oracle SQL*Plus: `SET ECHO ON` should echo to Flyway's output" %} {% include issue.html id="2553" title="Error message improved when script is incorrectly named" %} {% include issue.html id="2562" title="Dry Run fails to recognise baseline version" %} {% include issue.html id="2566" title="Percona XtraDB 5.7 metadata issue" %}

Thanks to Bob Tierney, David Campbell, esauser, Dennis Jansen, fanticat, fcaponi, Gavin Figueroa, John Yarham, jshayward (no relation!), Mike Breault, Milan Nankov, NEzer2 and rjungwirth for reporting these issues and/or submitting pull requests.

## Flyway 6.0.8 (2019-10-30)

### Bug fixes

{% include issue.html id="2537" title="Unexpected error re. non-empty schemas" %} {% include issue.html id="2539" title="HSQLDB: Unable to parse DROP INDEX IF EXISTS statement" %} {% include issue.html id="2542" title="MS-SQL stored proc calls cause non-transactional statement error." %} {% include issue.html id="2493" title="Regression with forward-slash as division operator within PL/SQL" %}

Thanks to David Atkinson, Niklas Lochschmidt, Seb Urbaniak and Tadayuki Onishi for reporting these issues and/or submitting pull requests.

## Flyway 6.0.7 (2019-10-17)

### Bug fixes

{% include issue.html id="2432" title="`&` in comments should not trigger SQL*Plus placeholder replacement" teams=true %} {% include issue.html id="2519" title="Workround for Azure MySQL Database (Basic Edition) incorrectly reporting version" %} {% include issue.html id="2530" title="Empty line after `/` delimiter causes migration to fail" %} {% include issue.html id="2531" title="Workround for Azure MariaDB Database incorrectly reporting version" %}

Thanks to bramant, Matonen and stevenenen for reporting these issues and/or submitting pull requests.

## Flyway 6.0.6 (2019-10-09)

### New features

{% include issue.html id="2445" title="Cockroach 19.1 support" %}

### Changes

- Minor-version updates to some third-party dependencies

### Bug fixes

{% include issue.html id="2183" title="Fail-fast when errorOverrides are used with batch=true" %} {% include issue.html id="2511" title="Support backtick as an identifier quote for H2 database running in MySql mode" %} {% include issue.html id="2512" title="Null placeholder value no longer works for H2 database running in MySql mode" %} {% include issue.html id="2519" title="Workround for Azure MySQL Database incorrectly reporting version" %} {% include issue.html id="2522" title="Parser error when SQL*Plus `SET` statement is preceded by comments" teams=true %} {% include issue.html id="2523" title="Error when SQL*Plus `SERVEROUTPUT` is set to `WORD_WRAPPED`" teams=true %}

Thanks to Axel Fontaine, elieabichar-wk, Richard Kettelerij and sladis for reporting these issues and/or submitting pull requests.

## Flyway 6.0.5 (Skipped due to regression in Community)

## Flyway 6.0.4 (2019-09-23)

### Bug fixes

{% include issue.html id="2504" title="Flyway gradle task cannot open file within custom location (windows)" %} {% include issue.html id="2503" title="Checksum mismatch with different relative path in 6.0" %}

Thanks to esauser and gintsgints for reporting these issues and/or submitting pull requests.

## Flyway 6.0.3 (2019-09-13)

### New features

{% include issue.html id="2482" title="Warn about invalid Java migrations" %} {% include issue.html id="2462" title="Dry runs: handle more JDBC types" teams=true %}

### Changes

{% include issue.html id="2116" title="`validate()` now warns on all checksum failures, rather than stopping at the first one found" %} {% include issue.html id="2498" title="Avoid creating unnecessary ResolvedMigrationComparator instances" %} {% include issue.html id="2499" title="Compare function(s) should return -1 || 0 || 1" %}

### Bug fixes

{% include issue.html id="2500" title="Cannot create AD account on MSSQL" %}

Thanks to cdalexndr, Ezra Epstein, Martin Konôpka and gorille for reporting these issues and/or submitting pull requests.

## Flyway 6.0.2 (2019-09-09)

### Bug fixes

{% include issue.html id="2436" title="H2 Oracle mode: Unable to create schema history table" %} {% include issue.html id="1794" title="H2 Oracle mode: NULL not allowed for column 'installed_by'" %} {% include issue.html id="2493" title="Forward-slash as division operator within PL/SQL" %} {% include issue.html id="2496" title="NPE in AsciiTable.render" %}

Thanks to Garret Wilson, Gerard de Leeuw, Jeroen Meys and GregorKo for reporting these issues and/or submitting pull requests.

## Flyway 6.0.1 (2019-08-29)

### New features

{% include issue.html id="2470" title="Derby 10.15 support (see Derby documentation for compatibility notes)" %}

### Bug fixes

{% include issue.html id="2467" title="Unable to create H2Database instance" %} {% include issue.html id="2481" title="Getting unsupported error with correct versions?" %} {% include issue.html id="2484" title="Parsing inline comments for SQL*Plus `DEFINE` statements fixed" teams=true %} {% include issue.html id="2486" title="SQL Azure incorrectly detected as SQL Server 2014" %} {% include issue.html id="2487" title="Flyway 6.0 clean migrate command is throwing an 'eName' is not recognized as an internal or external command error on PostgreSQL 11" %}

Thanks to 123Haynes, Kevin George, Morshed Daud, pcable, Piotrek Żygieło, Simon Stelling, Tauri28, and terje2001 for reporting these issues and submitting pull requests.

## Flyway 6.0.0 (2019-08-19)

### New features

{% include issue.html id="441" title="Firebird 3.0, 4.0 support" pr="2376" %} {% include issue.html id="1871" title="Colorized output" %} {% include issue.html id="2069" title="Validate migration encoding" %} {% include issue.html id="2276" title="Toggle display of query results" teams=true %} {% include issue.html id="2398" title="PostgreSQL 12 support" %} {% include issue.html id="2426" title="Command-line: Update MySQL driver to 8.0.16" %} {% include issue.html id="2435" title="DB2 11.5 support" %} {% include issue.html id="2449" title="HSQLDB 2.5 support" %} {% include issue.html id="2449" title="Command-line: Update HSQLDB to 2.5.0" %}

### Changes

{% include issue.html id="2450" title="Unify database support policy in Enterprise edition" enterprise=true %}

### Incompatible changes

{% include issue.html id="2276" title="Query results are now also displayed in Flyway Community Edition when using `SELECT` statements" %}

### Bug fixes

{% include issue.html id="2224" title="Allow to specify target migrate version to match the default behavior" %} {% include issue.html id="2260" title="Callback output doesn't match execution order" %} {% include issue.html id="2272" title="Gradle plugin does not resolve `implementation`-scoped artifacts, only `compile`" %} {% include issue.html id="2352" title="Typo in MigrationType Javadoc" pr="2353" %} {% include issue.html id="2355" title="gradle flywayMigrate failing on missing postgresql CopyManager" %} {% include issue.html id="2384" title="JavaUtilLog doesn't need to be instantiated with ClassUtils" pr="2384" %} {% include issue.html id="2392" title="Mixed scripts above target trigger error when mixed=false" %} {% include issue.html id="2409" title="Flyway fails as SQLDroid misreports SQLite version as 0.0" %} {% include issue.html id="2410" title="MariaDB: clean fails when event scheduler is disabled" %} {% include issue.html id="2413" title="UTF-8 BOM stripping no longer works in 6.0.0-beta2" %} {% include issue.html id="2414" title="Incorrect detection of GO keyword inside identifiers" %} {% include issue.html id="2417" title="SQLite clean fails due to violated foreign key constraints" %} {% include issue.html id="2424" title="slf4j `loggerNameMismatch` warning disabled" %} {% include issue.html id="2425" title="Dry run failing on JDBC defined data types (see also 2462)" %} {% include issue.html id="2438" title="Redshift `ALTER TABLE ALTER COLUMN` isn't executed in transaction" %} {% include issue.html id="2441" title="Output latest supported DB version with warning" %} {% include issue.html id="2442" title="HSQLDB parser: `IF EXISTS` causes incorrect block depth count" %} {% include issue.html id="2446" title="Migration files with hard spaces don't work anymore" %} {% include issue.html id="2447" title="Flyway clean doesn't remove partition schemes and functions" %}

Thanks to AigleeK, anjo-swe, Árpád Egyed, beyondlov1, Christian Swan, dnk8n, esauser, François Guillot, JohnEgan91, Kirill Vergun, krite, mpe85, Richard Glidden, Ryan McElroy, sdwarwick and voronaam for reporting these issues.

## Flyway 6.0.0-beta2 (2019-05-30)

### New features

{% include issue.html id="2318" title="Wildcards in errorOverrides" teams=true %} {% include issue.html id="2326" title="Command-line: Update H2 to 1.4.199" %} {% include issue.html id="2354" title="Java 12 support" %} {% include issue.html id="2357" title="Command-line: Upgrade built-in JRE to OpenJDK 11" %} {% include issue.html id="2371" title="SQL*Plus `SET/SHOW ECHO/TERMOUT/TIME/TIMING` support" teams=true %} {% include issue.html id="2393" title="Oracle 19c support" %}

### Bug fixes

{% include issue.html id="2243" title="When running multiple instances of the app, baselineOnMigrate is not working properly" %} {% include issue.html id="2245" title="Dependent jars for Java migrations not on class path, same as in issue #783" %} {% include issue.html id="2267" title="Windows: CLI fails with CLASSPATH env var set to a value containing brackets" %} {% include issue.html id="2270" title="LogFactory not initialized with the right classloader if first log is from the Flyway class" %} {% include issue.html id="2307" title="SQL Server: Incorrect syntax error using GOTO and Labels" %} {% include issue.html id="2308" title="Empty placeholders no longer work in 6.0.0-Beta" %} {% include issue.html id="2310" title="SQL*Plus parsing fails when statement is immediately preceded by comment" %} {% include issue.html id="2317" title="H2: Concurrent migration of empty database fails" %} {% include issue.html id="2325" title="Update H2Schema to work with `DATABASE_TO_UPPER=false`" pr="2325" %} {% include issue.html id="2329" title="Cannot execute PostgreSQL migration that contains ? operator for jsonb" %} {% include issue.html id="2334" title="Enable configFiles configuration for maven plugin" pr="2334" %} {% include issue.html id="2335" title="H2: clean does not remove function alias" %} {% include issue.html id="2338" title="Create stored procedure for MySql and MariaDB fails" %} {% include issue.html id="2341" title="MySQL: Reset `SQL_SAFE_UPDATES` and `FOREIGN_KEY_CHECKS` after each migration" %} {% include issue.html id="2347" title="Feature 'Display query results' doesn't give output in 5.2.4 Pro for Oracle" %} {% include issue.html id="2363" title="Undoable migrations not shown as undoable in flyway info" %} {% include issue.html id="2368" title="SQLPlusDefineSqlStatement should not depend on SLF4J" %} {% include issue.html id="2370" title="Debug level does not work for enterprise option" %} {% include issue.html id="2374" title="Dry run doesn't intercept UPDATE run with `executeQuery()`" %} {% include issue.html id="2379" title="DB2Parser struggles with block depth count" %} {% include issue.html id="2383" title="SQL*Plus @ with file path fails to load correct file" %} {% include issue.html id="2395" title="DB2: Clean excludes user-defined functions based on new classifications" %} {% include issue.html id="2397" title="SQL Server: clean doesn't work for system-versioned temporal tables" %}

Thanks to alexander-semenets-dev, armondoortega, Cristina Petri, Ernst-Udo Wallenborn, Jeremy Fleischman, Joe Barnett, Josh Wheeler, KiruthikaSS, kwood612, Lucas Persson, Mária Jurčovičová, Me1gireesh, pvhors, Richard Glidden, Sofoklis Papasofokli, swanym, tcat2 and Tomáš Poledný for reporting these issues and contributing fixes.

## Flyway 6.0.0-beta (2019-02-12)

### New features

{% include issue.html id="865" title="Custom tablespace for schema history table" %} {% include issue.html id="1062" title="API: Make it possible to use pre-instantiated Java-based migrations" %} {% include issue.html id="2120" title="Add new oracle.sqlplusWarn setting" teams=true %} {% include issue.html id="2167" title="Allow versioned migration names like V12.sql (no separator, no description)" %} {% include issue.html id="2178" title="PostgreSQL 11 support" pr="2194" %} {% include issue.html id="2189" title="Gradle 5.0 support" %} {% include issue.html id="2216" title="CockroachDB 2.1 support" %} {% include issue.html id="2300" title="MariaDB 10.4 support" %} {% include issue.html id="2301" title="Command-line: Upgrade MariaDB JDBC driver to 2.4.0" %} {% include issue.html id="2302" title="Oracle SQL*Plus: support WHENEVER SQLERROR EXIT SQL.SQLCODE" teams=true %} {% include issue.html id="2303" title="SQL Server 2019 support" %} {% include issue.html id="2304" title="Command-line: Upgrade SQL Server JDBC driver to 7.2.0" %}

### Changes

{% include issue.html id="2223" title="Database support timeline guarantees" %}

### Incompatible changes

{% include issue.html id="2120" title="Unsupported Oracle SQL*Plus now throw an error by default" teams=true %} {% include issue.html id="2188" title="Discontinue Java 6 support" enterprise=true %} {% include issue.html id="2218" title="Remove deprecated APIs and settings. See issue for full details" %}

### Bug fixes

{% include issue.html id="63" title="Support trailing single line comments" %} {% include issue.html id="558" title="MySQL statement not recognized due to multiple comment directives on a single line" %} {% include issue.html id="1706" title="Parser does not support multiple statements per line" %} {% include issue.html id="2198" title="Flyway fails to find resources in Felix 6.0.1 environment" %} {% include issue.html id="2228" title="NullPointerException with PostgreSQL multi-statement CREATE RULE" %} {% include issue.html id="2232" title="Clean tries to drop a table from an extension and fails" %} {% include issue.html id="2236" title="canExecuteInTransaction is not respected by JavaMigration" %} {% include issue.html id="2242" title="CREATE FULLTEXT CATALOG statement cannot be used inside a user transaction" %} {% include issue.html id="2252" title="Oracle: Parser fails on VIEW ... WITH not followed by PL/SQL" %} {% include issue.html id="2263" title="Oracle: cleaning type fails with object does not exist" %} {% include issue.html id="2266" title="Flyway does not clean sequences in MariaDB" %} {% include issue.html id="2275" title="Unable to override error S00011:15404" %} {% include issue.html id="2280" title="Dry-run file contains statements with invalid syntax" %} {% include issue.html id="2281" title="Sybase ASE: parsing error with double-quoted string literals" %} {% include issue.html id="2284" title="Documentation Typo" pr="2285" %} {% include issue.html id="2287" title="DB2: Clean excludes views whose names end with _V" %} {% include issue.html id="2288" title="Unable to discard a migration after undoing it" %} {% include issue.html id="2289" title="MariaDB not recognized with MariaDB JDBC driver 2.4.0" %} {% include issue.html id="2298" title="The procedures 'sp_serveroption' and 'sp_droplinkedsrvlogin' cannot be executed within a transaction" %}

Thanks to AlBa231, armondoortega, asamonov, CobraFlow, esauser, Evan J. Ercolano, Gerd Behrmann, Guy Brand, jankoh, Jason Turim, Jonas Kongslund, jutoft, Lochan08, Renat Sabitov, Sabine Heimsath, smrutikanta-cog, svpace, tinybarks and tomas-silhavy for reporting these issues and contributing fixes.

## Flyway 5.2.4 (2018-12-04)

### Bug fixes

{% include issue.html id="2215" title="MySQL: Migrate fails when the user does not have permission to SELECT on user_variables_by_thread table" %} {% include issue.html id="2219" title="Undo followed by repair leads to corrupted schema history" %} {% include issue.html id="2220" title="Command-line on Windows: Locations with spaces fails with `was unexpected at this time` error" %} {% include issue.html id="2221" title="Flyway 5.2.2 incorrectly complains about required SQLite upgrade" %} {% include issue.html id="2222" title="SAP HANA: CREATE OR REPLACE not working" %} {% include issue.html id="2229" title="flyway.errorOverrides broken within callbacks" %}

Thanks to ArunNeo, Jason Hinch, Jean-Pierre Froud, Kevin George, laurre and seb-urbaniak for reporting these issues.

## Flyway 5.2.3 (2018-11-26)

### Bug fixes

{% include issue.html id="2213" title="Flyway warns about Postgres 10.5 being unsupported" %}

Thanks to Antti Lampinen for reporting this issue.

## Flyway 5.2.2 (2018-11-25)

### New features

{% include issue.html id="2210" title="SQL*Plus: Add support for SHOW/SET FEEDBACK/VERIFY" teams=true %} {% include issue.html id="2212" title="Additional D and I behaviors for errorOverrides to turn specific errors and warnings into debug or info messages" teams=true %}

### Changes

{% include issue.html id="2209" title="Integrate Trial Edition into Pro and Enterprise Editions" %}

### Bug fixes

{% include issue.html id="2185" title="CONFIG statement cannot be used inside a user transaction" %} {% include issue.html id="2190" title="SQLite: Migrations containing PRAGMA foreign_keys= should be marked as non-transactional" %} {% include issue.html id="2197" title="MySQL: User-defined variables leak across migrations" %} {% include issue.html id="2198" title="Flyway fails to find resources in Felix 6.0.1 environment" %} {% include issue.html id="2202" title="NullPointerException with PostgreSQL CREATE RULE statements" %} {% include issue.html id="2206" title="MariaDB: Can't create database 'null' error if no database was specified in URL" %} {% include issue.html id="2210" title="SQL*Plus: SHOW and SET should allow multiple commands on same line" %}

Thanks to Gerd Behrmann, htto, pjchester, Renat Sabitov, seb-urbaniak and SH.Xue for reporting these issues.

## Flyway 5.2.1 (2018-10-24)

### New features

{% include issue.html id="2170" title="Command-line: Add flags for running specific editions" %}

### Bug fixes

{% include issue.html id="2169" title="setCallbacks inconsistent deprecation warning" %} {% include issue.html id="2171" title="MySQL Driver 5.1.x support" %} {% include issue.html id="2175" title="'sp_addsubscription' cannot be executed within a transaction" %} {% include issue.html id="2176" title="MySQL: Exception restoring original database on a connection to a dropped database" %}

Thanks to edquan, GregorKo, seb-urbaniak and Stéphane Nicoll for reporting these issues.

## Flyway 5.2.0 (2018-10-04)

### New features

{% include issue.html id="705" title="Oracle SQL*Plus: Add support for executing external scripts using @other_script.sql" teams=true %} {% include issue.html id="1289" title="Statement-level callbacks: before, after and after error" teams=true %} {% include issue.html id="1324" title="Add initSql for all clients" %} {% include issue.html id="1556" title="Percona XtraDB Cluster support" %} {% include issue.html id="2033" title="Automatically set application name to easily identify Flyway connections" %} {% include issue.html id="2043" title="Introduce license key" teams=true %} {% include issue.html id="2044" title="Flyway Command-line downloads now include all Flyway editions" %} {% include issue.html id="2068" title="MariaDB 10.3 support" %} {% include issue.html id="2093" title="Oracle 18c support" %} {% include issue.html id="2100" title="Aurora MySQL support" %} {% include issue.html id="2101" title="Aurora PostgreSQL support" %} {% include issue.html id="2106" title="Introduce single statement configuration and deprecate old configuration methods on Flyway class" %} {% include issue.html id="2119" title="SQL*Plus: Support SET LINESIZE" teams=true %} {% include issue.html id="2124" title="Introduce connectRetries setting" %} {% include issue.html id="2128" title="Add an 'ignorePendingMigrations' configuration option" pr="2129" %} {% include issue.html id="2144" title="Command-line: Bundle MySQL JDBC driver" %} {% include issue.html id="2150" title="Java 11 support" %} {% include issue.html id="2151" title="Command-line: Update SQL Server JDBC driver to 7.0.0" %} {% include issue.html id="2155" title="Command-line: Update HsqlDB to 2.4.1" %} {% include issue.html id="2156" title="Command-line: Update MariaDB JDBC driver to 2.3.0" %} {% include issue.html id="2157" title="Command-line: Update PostgreSQL JDBC driver to 42.2.5" %} {% include issue.html id="2158" title="Command-line: Update SQLite to 3.23.1" %} {% include issue.html id="2163" title="DB2: Enable human-readable error messages" %} {% include issue.html id="2164" title="Non-transactional Java-based migrations support" %}

### Incompatible Changes

{% include issue.html id="1807" title="Disable recursive filesystem scanning down hidden directories" %} {% include issue.html id="2165" title="`MigrationResolver.resolveMigrations()` now takes a Context parameter" %} {% include issue.html id="2165" title="`MigrationExecutor` has been moved to the new `org.flywaydb.core.api.executor` package" %} {% include issue.html id="2165" title="`MigrationExecutor.executeInTransaction()` has been renamed to `canExecuteInTransaction()`" %} {% include issue.html id="2165" title="`MigrationExecutor.execute()` now takes a Context parameter" %}

### Changes

{% include issue.html id="2147" title="Oracle 12.1 support is now Flyway Enterprise Edition-only" enterprise=true %} {% include issue.html id="2164" title="`JdbcMigration` and `SpringJdbcMigration` have been deprecated in favor of `JavaMigration`" %} {% include issue.html id="2164" title="`BaseJdbcMigration` and `BaseSpringJdbcMigration` have been deprecated in favor of `BaseJavaMigration`" %} {% include issue.html id="2164" title="`MigrationInfoProvider`, `MigrationChecksumProvider` and `ConfigurationAware` have been deprecated in favor of `JavaMigration`" %}

### Bug fixes

{% include issue.html id="1909" title="Flyway breaks when JDBC driver returns null URL" %} {% include issue.html id="2035" title="PostgreSQL: Restore role to its original value between migrations instead of resetting it" %} {% include issue.html id="2048" title="Oracle: Parser fails on CREATE VIEW ... AS WITH" %} {% include issue.html id="2071" title="DROP FULLTEXT INDEX statement cannot be used inside a user transaction" %} {% include issue.html id="2082" title="Non-transactional RECONFIGURE statement not working in SQL Server" %} {% include issue.html id="2088" title="Derby Embedded DB stays open when using the Gradle wrapper" %} {% include issue.html id="2095" title="Flyway fails to drop aggregate functions from postgres on clean" %} {% include issue.html id="2096" title="Sql Server schema clean throws exception for indices on virtual columns for json attributes" %} {% include issue.html id="2097" title="CockroachDB 2.0: Clean broken for sequences" %} {% include issue.html id="2115" title="Oracle SQL/Plus DEFINE should not be case sensitive" %} {% include issue.html id="2118" title="SQL*Plus: SET SERVEROUTPUT ON SIZE not processed correctly" %} {% include issue.html id="2123" title="Performance issue for the MySQLSchema doEmpty() call" %} {% include issue.html id="2134" title="PostgreSQL current schema function throws NPE instead of permission denied exception" %} {% include issue.html id="2136" title="Issues connecting to mariadb linux socket" %} {% include issue.html id="2143" title="COPY ... FROM fails if run after a single-line comment" %} {% include issue.html id="2148" title="Flyway uses schema_version table even if I specify the table to be flyway_schema_history" %}

Thanks to Daniel Scott, DanskerDave, Elvadas NONO, Fabian Bergmark, Gili Tzabari, Guy Brand, hdconradi, HiddenKnowledge, JeP42, JLopeDeB, Joe Lee-Moyet, Matt Sprague, Matthew Burghoffer, Mihir Mehta, raffig, Reinhard Handler, Sajith1988V, swanke00, Tim Hadwen and Valentin Gohard for reporting these issues.

## Flyway 5.1.4 (2018-07-04)

### New features

{% include issue.html id="2054" title="Additional SQL*Plus SET commands support (ESCAPE, FLAGGER, HEADING)" teams=true %} {% include issue.html id="2059" title="Warn about MariaDB driver usage when connection to MySQL 5.5+" %}

### Bug fixes

{% include issue.html id="2051" title="PostgreSQL: clean fails when trying to drop aggregates added by extensions" %} {% include issue.html id="2052" title="Regression Issue: Checksums invalid for blank migrations applied in v5.0.7 and below" %} {% include issue.html id="2053" title="Repeatable migrations produce invalid SQL during dry-run" %} {% include issue.html id="2060" title="SQL Server: error parsing string literals starting with 'as'" %}

Thanks to CatalinaMoisuc, Craig Davidson, Paul Chown and Uri Hendler for reporting these issues.

## Flyway 5.1.3 (2018-06-20)

### Bug fixes

{% include issue.html id="2028" title="Unable to clean schema that contains a user-defined function with schemabinding in SQL Server" %} {% include issue.html id="2031" title="Warning: Input stream has been finalized or forced closed without being explicitly closed" %} {% include issue.html id="2037" title="Upgrade Maven plugins to protect against Zip Slip" pr="2037" %} {% include issue.html id="2041" title="Sybase 15.7: Incorrect syntax near 'GO'" %} {% include issue.html id="2042" title="Workaround a bug in windows cmd" pr="2042" %} {% include issue.html id="2045" title="Info: Synthetic migrations (like SCHEMA) should not show up as repeatable" %} {% include issue.html id="2046" title="ErrorOverrides fail to override warning into error" %} {% include issue.html id="2047" title="Batching sometimes executes statements twice" %}

Thanks to Dar Brett, Esteban Marin, Piotrek Żygieło, seneiran and sullis for reporting these issues and contributing fixes.

## Flyway 5.1.2 (Skipped due to build process failure)

## Flyway 5.1.1 (2018-05-28)

### Bug fixes

- Issue 1803 Postgres "ERROR: must be superuser to create a base type" during clean of DOMAIN
- Issue 2026 ErrorOverrides should also work with negative error codes
- Issue 2027 Getting 'ERROR: Validate failed' after upgrading from 5.0.7 to 5.1.0
- Issue 2029 Regression in 5.1.0 regarding non-transactional migrations including comments

Thanks to Patrick Kohan, Peter Matseykanets and Simon Kissane for reporting these issues.

## Flyway 5.1.0 (2018-05-24)

DO NOT USE: This release contains an important checksum validation regression which has been fixed in 5.1.1.

### New features

- Issue 94 Batch updates for SQL statements {% include teams.html %}
- Issue 104 Informix support
- Issue 615 Stream parser for SQL migrations {% include teams.html %}
- Issue 1315 SQL Callbacks - more than one .sql file per event
- Issue 1392 Callbacks for errors
- Issue 1675 ErrorOverrides: override errors into warnings and warnings into errors {% include teams.html %}
- Issue 1738 Allow extending classpath in gradle task config Pull Request
- Issue 1865 New option to allow for 'Ignored' migrations in 'validate' command: `ignoreIgnoredMigrations` Pull Request
- Issue 1877 Maven: Add a workingDirectory parameter to support relative filesystem locations in conf files
- Issue 1883 SQL*Plus variable substitution support {% include teams.html %}
- Issue 1928 Fluent configuration using API
- Issue 1936 Environment variable configuration using API
- Issue 1970 CockroachDB 2.0 support
- Issue 1980 Provide a default implementation of `Configuration` as part of the API
- Issue 2003 MySQL 8.0 support
- Issue 2019 Java 10 support

### Incompatible Changes

- Issue 1707 `FlywayConfiguration.getCallbacks()` now returns `Callback[]` instead of `FlywayCallback[]`
- Issue 1707 `Flyway.getCallbacks()` now returns `Callback[]` instead of `FlywayCallback[]`
- Issue 1865 'Ignored' migrations now trigger an error by default. The old more lenient behavior can be restored by setting `ignoreIgnoredMigrations` to `true`
- Issue 1883 SQL*Plus support is now disabled by default and must be explicitly activated using the new `oracle.sqlplus` flag
- Issue 1928 `Flyway` now implements `Configuration` instead of `FlywayConfiguration`
- Issue 1928 `FlywayConfiguration.getLocations()` now returns `Location[]` instead of `String[]`
- Issue 1928 `Flyway.getLocations()` now returns `Location[]` instead of `String[]`
- Issue 1928 `Flyway.getSchemas()` now returns an empty array (instead of the connection's default schema) if no schemas were set using `setSchemas()`
- Issue 1946 `FlywayConfiguration.getEncoding()` now returns `Charset` instead of `String`
- Issue 1946 `Flyway.getEncoding()` now returns `Charset` instead of `String`

### Changes

- Issue 1707 `FlywayCallback` and `BaseFlywayCallback` have been deprecated in favor of `Callback`.
- Issue 1928 `FlywayConfiguration` has been deprecated in favor of `Configuration`.
- Issue 1989 Flyway Command-line now ships with H2 1.4.197
- Issue 2007 Flyway Command-line now ships with MariaDB JDBC driver 2.2.4
- Issue 2013 Flyway Command-line now ships with Derby 10.14
- Issue 2014 Flyway Command-line now ships with JRE 8u172
- Issue 2015 Flyway Command-line now ships with SQL Server JDBC driver 6.4.0
- Issue 2016 Flyway Command-line now ships with PostgreSQL JDBC driver 42.2.2

### Bug fixes

- Issue 100 Clean tries to drop a function from an extension and fails
- Issue 1362 Header comment on stored procedure
- Issue 1420 Line break settings are not respected (Windows)
- Issue 1707 Non-transactional SQL callbacks failing after upgrade to 4.2.0
- Issue 1876 Postgres COPY FROM STDIN fails on data containing string delimiters
- Issue 1892 Allow executing info while a migration is running
- Issue 1917 CommandLine Help / Usage for Community Editions shows PRO commands and options
- Issue 1918 UNC path support for filesystem locations
- Issue 1922 LogFactory should use same classloader for feature detection and loading the correct logcreator
- Issue 1923 Flyway Maven Plugin can't find JDBC driver if the driver is a dependency with scope provided
- Issue 1924 Too much memory allocations
- Issue 1926 PostgreSQL: Flyway uses "public" schema instead of current_schema when search_path starts with $user
- Issue 1927 Flyway 5 regression when line in multi line string starts with single line comment
- Issue 1932 Do not delete types that extensions depend on when cleaning PostgreSql Pull Request
- Issue 1940 PostgreSQL: Ignore objects created by extensions when checking whether a schema is empty
- Issue 1943 Flyway schema creation issue on Oracle 12.2 DB with password policy enabled
- Issue 1945 COPY ... FROM stdin throws "missing data for column" error
- Issue 1948 On PostgreSql the alternate quote string literal is not detected if it is not followed by a space
- Issue 1950 Repair dry-run: java.lang.IndexOutOfBoundsException
- Issue 1955 Redshift: Unable to create uppercase schema history table
- Issue 1959 PostgreSQL search path not restored properly after migrations when auto-comit == false
- Issue 1968 JDBC Migration failures not entered into schema_version table
- Issue 1979 Support for tnsnames.ora if TNS_ADMIN is set (issue #1806) does not work correctly
- Issue 1983 Failure on creation of a schema history table on an empty database when autoCommit is false
- Issue 1989 Clean cannot drop schema with H2 1.4.197 and newer
- Issue 1992 CREATE SUBSCRIPTION PostgreSQL statement not detected as non-transactional
- Issue 2011 SQL Server parsing issue when string literal is followed by as keyword without a space in between
- Issue 2025 Baseline migration is always updated when repairing

Thanks to aebaugh, AndrasJanurik, andrey-poltavskiy, Bartosz Kamiński, Ben Manes, bigslack, Brett Randall, Brian O'Halloran, brodgers-oreilly, Chuck May, cmcmurtrie, Craig Davidson, Daniel Huss, Dmitrii Apanasevich, Jens Doose, jezovuk, jMediaConverter, Kevin Sheedy, Konrad Botor, Leo Breuss, luengnat, Manikanta G, nireno, nkbysani, Oleg Artenii, Peter Wippermann, Punnapulusu, Razvan, Sandra Parsick, Simon Gamma, TimoTHa, umapathy08, Wim Deblauwe and Yannik Hampe for reporting these issues.

## Flyway 5.0.7 (2018-01-30)

### Changes

- Issue 1912 Flyway now requires the Java 9 compiler to build. Java runtime compatibility is unchanged.

### Bug fixes

- Issue 1901 DB2 parsing issue when END IF is split across lines
- Issue 1906 CLI flyway specified drivers directory via jarDirs not applied
- Issue 1907 Off-by-one error for installed_rank in dry run scripts
- Issue 1911 Make it clearer that a Dry Run does not modify the database

Thanks to buuren and David Atkinson for reporting these issues.

## Flyway 5.0.6 (2018-01-16)

### New features

- Issue 1897 Info should also print the current schema version

### Bug fixes

- Issue 1878 DB2 Stored procedure scripts which run in 4.1.2 fail to execute in 5.0.2
- Issue 1890 MigrationInfoImpl (still) violates compareTo contract
- Issue 1893 flyway schema version table creation fails after SQL callback execution
- Issue 1894 Missing semi colon in the dryrun SQL to insert into the flyway_schema_history table

Thanks to aebaugh, David Atkinson, Lyor Goldstein and Rob34 for reporting these issues and contributing fixes.

## Flyway 5.0.5 (2018-01-04)

### Bug fixes

- Issue 1882 Add Maven artifact install and deploy scripts
- Issue 1884 Undo command does not respect the expected order when used with target
- Issue 1885 Location that only contains repeatable Migrations leads to ArrayIndexOutOfBounds
- Issue 1886 Incorrect WARNING: Ignoring unsupported SQL*Plus statement when "column" text appears on a new line

Thanks to David Atkinson, David J. M. Karlsen, ImmanuelRhesa and quentinbricard for reporting these issues and contributing fixes.

## Flyway 5.0.4 (2018-01-02)

### New features

- Issue 1882 Add Maven artifact install and deploy scripts

### Changes

- Issue 1881 Update copyright to 2018

### Bug fixes

- Issue 1498 Cannot load migration SQL scripts from the root of the classpath in a jarfile
- Issue 1875 SAPHANATable.doDrop() should drop with CASCADE
- Issue 1879 Support for Redshift statements which cannot be run inside a transaction

Thanks to Gareth Rogers, Jonathan Bregler and Matyas Albert Nagy for reporting these issues and contributing fixes.

## Flyway 5.0.3 (2017-12-20)

### New features

- Issue 1872 SQL*Plus: Add SHOW EDITION support

### Bug fixes

- Issue 502 sp_MSForeachtable statement hangs
- Issue 1250 One connection is used for all migrations causes an issue with session params redefined
- Issue 1508 Support for cleaning SQL Server Rule and Default objects
- Issue 1633 Implementing MigrationInfoProvider.getDescription() returning String longer than 200 characters
- Issue 1676 SQL Server USE statements within migration cause Flyway to fail
- Issue 1838 SQL Server migration batch terminator as first statement gives empty query error
- Issue 1861 SET SERVEROUTPUT ON Not working in 5.0.1 trial
- Issue 1869 Unknown configuration property: flyway.skip when property set to false or null
- Issue 1873 Support for cleaning SQL Server DATABASE triggers

Thanks to Ayrat Natfullin, Catchwa, gscht, mahidbdw, mpapetti, Patrik Duditš and vencoreguy for reporting these issues and contributing fixes.

## Flyway 5.0.2 (2017-12-08)

### Bug fixes

- Issue 1859 Validation error with schema_version table name
- Issue 1862 Gradle plugin not published successfully
- Issue 1863 flyway -dryRunOutput causes a migrate when a colon is used instead of =

Thanks to David Atkinson, Marceau Dewilde and Tommy Odom for reporting these issues and contributing fixes.

## Flyway 5.0.1 (2017-12-07)

This release is identical to Flyway 5.0.0. It only adds the platform specific distribution of Flyway Command-line which were missing in Flyway 5.0.0.

## Flyway 5.0.0 (2017-12-07)

Important note for users upgrading from Flyway 3.x: This release no longer supports a schema history table upgrade from Flyway 3.x. You must upgrade to Flyway 4.2.0 first before upgrading to Flyway 5.0.0.

Important note for EnterpriseDB, Vertica, SolidDB, Phoenix and Greenplum: Support for these databases has been kept back and will be integrated later in the Flyway 5.0 series. You can keep using Flyway 4.2.0 until then.

### New features

- Issue 87 Output to sql file instead of committing against the DB
- Issue 109 Undo migrations
- Issue 797 Official Flyway Dockerfile
- Issue 809 Promote internal logging wrapper to external API
- Issue 944 Allow to use paths relative to flyway.conf location
- Issue 1562 Add flyway.configFiles support to Gradle plugin
- Issue 1624 Multiple configuration files
- Issue 1663 Support TestContainers JDBC connection string
- Issue 1693 Command-line: Add -D support to define JVM system properties
- Issue 1699 Command-line: allow setting system properties in config file
- Issue 1727 Command-line: JAVA_ARGS environment variable support
- Issue 1728 Command-line: Use Windows CLASSPATH environment variable
- Issue 1733 Redshift JDBC 4.2 driver support
- Issue 1742 Allow Multiple Suffixes/File Extensions
- Issue 1754 Allow injecting a complete Configuration
- Issue 1760 CockroachDB support
- Issue 1777 Sybase ASE jConnect JDBC driver support
- Issue 1804 Repair: also correct migration type
- Issue 1806 Oracle: Automatically enable support TNSNames aliases if TNS_ADMIN is set
- Issue 1819 Flyway Command-line now ships with the official Microsoft JDBC driver for SQL Server
- Issue 1845 Oracle SQL*Plus commands support
- Issue 1849 Show output from select statements in console

### Incompatible changes

- Issue 109 The `FlywayCallback` interface has 4 new methods: `beforeUndo`, `beforeEachUndo`, `afterEachUndo` and `afterUndo`
- Issue 109 The `MigrationInfoProvider` interface has 1 new method: `isUndo`
- Issue 109 The `MigrationState` enum has 2 new elements: `AVAILABLE` and `UNDONE`
- Issue 1402 Maven 3 is now the new minimum supported version
- Issue 1429 Gradle 3.0 is now the new minimum supported version
- Issue 1577 Flyway now fails on incorrect parameter instead of showing a warning
- Issue 1692 Java 8 is now the new minimum supported version
- Issue 1818 Sybase ASE 15.7 is now the new minimum supported version
- Issue 1820 DB2 z/OS support has been discontinued
- Issue 1827 Redshift users must now connect using the Redshift driver. Connections with the PostgreSQL driver are no longer supported.
- Issue 1841 MigrationState.SUPERSEEDED has now been renamed to SUPERSEDED
- Oracle 12.1 is now the new minimum supported by Flyway Community Edition
- SQL Server 2014 is now the new minimum supported by Flyway Community Edition
- DB2 10.5 is now the new minimum supported by Flyway Community Edition
- MySQL 5.5 is now the new minimum supported by Flyway Community Edition
- MariaDB 5.5 is now the new minimum supported by Flyway Community Edition
- PostgreSQL 9.3 is now the new minimum supported by Flyway Community Edition
- SAP HANA 2.0 is now the new minimum supported by Flyway Community Edition
- HSQLDB 2.0 is now the new minimum supported by Flyway Community Edition
- Derby 10.11 is now the new minimum supported by Flyway

### Changes

- Issue 1752 Flyway Command-line now ships with MariaDB JDBC driver 2.2.0 Pull Request
- Issue 1756 Flyway Command-line now ships with PostgreSQL JDBC driver 42.1.4
- Issue 1822 Flyway Command-line now ships with H2 1.4.196
- Issue 1823 Flyway Command-line now ships with HSQLDB 2.4.0
- Issue 1824 Flyway Command-line now ships with SQLite 3.20.1
- Issue 1848 The default for flyway.table has been changed from schema_version to flyway_schema_history
- Issue 1850 The Flyway Command-line platform-specific archives now ship with JRE 8u152

### Bug fixes

- Issue 183 Multiline RULE declarations are not parsed correctly
- Issue 1167 Clean on DB2 functions or procedures fails when two procedures have the same name Pull Request
- Issue 1305 Maven warning when using Flyway plugin with parallel builds
- Issue 1336 State column contents truncated in Info command
- Issue 1361 Clean fails to DROP AGGREGATE in SQL Server
- Issue 1426 SQL Server: ALTER DATABASE ... SET SINGLE_USER not supported
- Issue 1550 Numerous flaws in Clean implementation for Oracle DB Pull Request
- Issue 1554 validate does not respect target
- Issue 1575 Command info: Comparison method violates its general contract
- Issue 1601 Clean improvements for Oracle pt.2 Pull Request
- Issue 1620 Flyway logs passwords at INFO level
- Issue 1625 Callbacks are added and executed multiple times
- Issue 1627 Appengine & ClassPathScanner : throw AccessControlException since 4.1.0
- Issue 1634 DB2 inserting of triggers fails, depending on the format of the statement
- Issue 1636 Metadata table creation error is not reported
- Issue 1642 Java error when running flyway from bash shell of Git for Windows Pull Request
- Issue 1649 flyway:clean fails on db2 when trying to drop versioning on tables which is accessed by a MQT Pull Request
- Issue 1654 Deadlock produced in Postgres when running migrations in parallel with a migration task containing CREATE INDEX CONCURRENTLY Pull Request
- Issue 1678 ignoreMissingMigrations default not specified
- Issue 1686 Gradle plugin warning after migrating to Gradle 4.0 Pull Request
- Issue 1690 Support for labels preceding DB2 SQL PL BEGIN ... END block
- Issue 1691 DB2 stored procedure nested block support
- Issue 1694 Can't use Use MSDB in SQL server
- Issue 1701 Table.exists() very slow in Postgres Environments with a lot of objects Pull Request
- Issue 1711 SQL Server BACKUP and RESTORE statements broken
- Issue 1713 Suppress redundant "SQLite does not support setting the schema..." messages
- Issue 1723 Anonymous block in SAP HANA is not working
- Issue 1726 outOfOrder parameter value not validated
- Issue 1729 Resource leak detected enabling Strict Mode on Android platform Pull Request
- Issue 1732 Cannot create metadata table in DB2 when default table organization is set to column
- Issue 1757 Warn on incompatible class change
- Issue 1764 USE sql command leaks to subsequent migration files
- Issue 1782 First character in script column of schema_version table removed if double back slashes in location.
- Issue 1802 Clean fails when Postgres DOMAIN depends on SEQUENCE
- Issue 1813 Checksum mismatch error not helpful
- Issue 1817 DB2 truncate statement fails under Flyway 4.2.0
- Issue 1831 Incorrect Redshift search_path parsing
- Issue 1842 Oracle: Ignore lone /
- Issue 1846 Oracle statement fails when it contains DATE'11/29/2017' and no space in between
- Issue 1847 Documentation is not clear about the definition of missing and future migration
- Issue 1851 CockroachDb invalid default database name Pull Request
- Issue 1854 Adding comment surrounding usage of Oracle TNS Connection string

Thanks to Alexei Osipov, andrey-poltavskiy, aoksys, Carl Taylor, Christopher Smith, Craig Davidson, czyzby, Dennis Hoer, djohnsonmach, FlakM, Francesco Proietti, George Thomas, Gili Tzabari, hmtelbi, Igor Nikolaev, J0s3f, Jason Hinch, Jasper Brekelmans, Jasper van Wanrooy, jcoulehan, Jeffrey Li, Jens Doose, Jidehem, John McCall, Joshy Austin, jsross, Julien Coupez, Kevin Bloch, masc3d, Mattias Sällström, Mihir Mehta, mstarita, nvartolomei, o2dac, pswrdf, rbatllet, Renat Sabitov, Rob34, RobertRad, Roger Qiu, Sabine Heimsath, sandman24, sasivarnans, Simon Kissane, Stefano Teodorani, Stephan Pauxberger, Tibor Baksa, ToBeReplaced, Victor Osolovskiy, vojbarzz, wanglin0413, xindu and Yogi2803 for reporting these issues and contributing fixes.

## Flyway 4.2.0 (2017-04-27)

### New features

- Issue 181 Support Multiple Migrations within a single Transaction € Sponsored
- Issue 1219 Pivotal Greenplum support Pull Request

### Changes

- Issue 1585 Rename `allowMixedMigrations` to `mixed`
- Issue 1588 Enable single-connection mode for SQL Server
- Issue 1589 Enable single-connection mode for DB2
- Issue 1590 Enable single-connection mode for Derby

### Bug fixes

- Issue 1549 Flyway "(unsupported protocol: war)" with Tomcat 8.0.41 and unpackWARs=false Pull Request
- Issue 1553 cleanOnValidationError does not recover from "Detected failed migration" error
- Issue 1558 Fixed the current schema/current user confusion in OracleSchema Pull Request
- Issue 1559 Forbid performing Clean command against all system schemas in Oracle Pull Request
- Issue 1566 Make default resolvers handle all locations in one instance Pull Request
- Issue 1573 Clean improvements for Oracle Pull Request
- Issue 1578 Oracle statement fails when it contains 'string'as and no space in between
- Issue 1587 Repeatable migration with version incorrectly detected as versioned migration
- Issue 1607 For Postgresql migrations, add support for "DROP INDEX CONCURRENTLY .*" Pull Request
- Issue 1611 Fix a minor typo in Javadoc Pull Request

Thanks to Brian Chen, Durim Kryeziu, Gili Tzabari, Jamie Swain, mtcremin, Stephan Pauxberger, svitalsky, Thomas Meyer and Victor Osolovskiy for reporting these issues and contributing fixes.

## Flyway 4.1.2 (2017-03-06)

### Bug fixes

- Issue 1531 SAP HANA: CREATE PROCEDURE statements with embedded semicola don't work Pull Request
- Issue 1534 MetaDataTable not updated with autoCommit false
- Issue 1537 PostgreSQL: Flyway fails after applying migration containing SET ROLE statement
- Issue 1539 Gradle: Unable to instantiate JDBC driver declared as buildscript dependency
- Issue 1540 WITH (OIDS=FALSE) fails on CockroachDB

Thanks to ace130-github, Fabian Vogler, Geir Harald Hansen, Sachin Walia and sergey-selivanov for reporting these issues and contributing fixes.

## Flyway 4.1.1 (2017-02-16)

### Bug fixes

- Issue 1095 MSSQL Server: exclude microsoft tools procedures/functions from empty schema detection Pull Request
- Issue 1525 JRE missing from 4.1.0 release
- Issue 1527 Unable to instantiate JDBC driver defined in compile scope from Gradle plugin
- Issue 1533 NullPointerException while applying repeatable migration with Maven

Thanks to Dennis Hoer, Jean Revertera, Lightside Tech and Victor Boldurat for reporting these issues and contributing fixes.

## Flyway 4.1.0 (2017-02-08)

### New features

- Issue 364 EnterpriseDB support Pull Request
- Issue 738 Support multiple tasks of the same type in gradle
- Issue 851 Support for PostgreSQL statements that cannot run within a transaction € Sponsored by JustWatch and Porch
- Issue 1151 Support overriding of installed_by user in metadata table
- Issue 1352 Add ignoreMissingMigrations flag
- Issue 1477 Commandline: Add -n flag to suppress credentials prompt

### Incompatible Changes

- Issue 1345 baseline() is now idempotent even after applying migrations Pull Request

### Changes

- Schema marker metadata table entries (generated when Flyway creates a schema) do not have an explicit version anymore
- H2 Jdbc driver: Flyway is now tested with 1.4.193 (was 1.4.191)
- Hsql Jdbc driver: Flyway is now tested with 2.3.4 (was 2.3.3)
- The Gradle plugin has now been rewritten in Java (used to be written in Groovy)

### Bug fixes

- Issue 1067 Metadata table creation failure with fresh db
- Issue 1163 DB2 change delimiter using --#SET TERMINATOR
- Issue 1180 sqlite: flyway migrate fails, reports database is locked
- Issue 1261 classpath scanner does not find db.migration package or resources € Sponsored by Startrack
- Issue 1318 sqlite DB locked when you specify flywayDriver
- Issue 1331 Validation fails on migrate when schema doesn't exist
- Issue 1333 OracleDB failed to migrate while schema name contains character "-"
- Issue 1346 Migration hanging with HsqlDB 2.3.4
- Issue 1348 Remove warning when using flyway.version maven property
- Issue 1351 Repair does not fix "Migration Description mismatch" error
- Issue 1358 Reverted version of a repeatable script should be reapplied
- Issue 1363 ValidateOnMigrate should fail for unapplied migration when outOfOrder=false Pull Request
- Issue 1364 Validate with target=current should fail on unapplied migration
- Issue 1368 Possible race condition on MetaDataTable-Upgrade
- Issue 1369 support for IBM DB2 users with dashes in username (like 'A-A')
- Issue 1382 Inconsistent usage documentation: conf/flyway.conf vs conf/flyway.properties vs ./flyway.conf Pull Request
- Issue 1387 schema_version column version not nullable on Sybase ASE
- Issue 1396 Log the inner exception thrown from JdbcMigrationResolver.resolveMigrations()
- Issue 1401 Not getting the full stack error
- Issue 1415 performance improvements when installing a large number of migration scripts
- Issue 1428 Repeatable migrations - error in case of checksum mismatch
- Issue 1430 Having only Repeatable Migrations crashes Flyway
- Issue 1446 SQL parsing problem when combining Postgres's COPY ... FROM stdin and SQL domains
- Issue 1457 When migrations have been applied by enabling out-of-order Flyway displays the wrong current version
- Issue 1463 Unable to clean schema that contains function calling another function and both have SCHEMABINDING
- Issue 1468 Using flyway.serverId produces WARNING log
- Issue 1470 Add support for Oracle editionable objects Pull Request
- Issue 1474 ClassCastException in AndroidScanner Pull Request
- Issue 1483 Flyway doesn't recognize Sybase ASE 12.5
- Issue 1487 Exception "Unable to resolve Jdbc Java migrations in location" due to wrong assumption on classloader behavior
- Issue 1499 Sqlite locks when attempting a migration result in SQLException: [SQLITE_BUSY]
- Issue 1512 Warnings when application is packaged as a Spring Boot executable war

Thanks to Andrew Berglund, Andrew McLaughlin, Antti Lampinen, azalesky, Benoit Devos, blimey74, Brian Krahmer, chrstnk, Craig Pardey, cristalp, David Vázquez Púa, Dustin Conrad, Eugen Pribulla, G. Richard Bellamy, JasonAUnrein, Jason Turim, JB Nizet, Jeremy Bush, Joris Kuipers, Juan Liska, masc3d, Michael Prankl, nathansgreen, Olivier Gérardin, PeeZu, Petar Tahchiev, pswrdf, qwazer, reactormonk, rousej, Stefan Ferstl, Stefan Hausner, sw00, Taufiq Hoven, tomaszglinski toro01 and zvika77 for reporting these issues and contributing fixes.

Special thanks to JustWatch, Porch and Startrack for sponsoring features and fixes.

## Flyway 4.0.3 (2016-06-17)

### Bug fixes

- Issue 1313 Flyway 4.0.1 Repeatable migrations running before versioned.
- Issue 1339 SQLite blob literal parsing support Pull Request
- Issue 1341 SQLite system table no drop Pull Request

Thanks to aaltergot and hartrc for reporting these issues and contributing fixes.

## Flyway 4.0.2 (2016-06-09)

### Changes

- Issue 1319 Update MariaDB driver to latest version

### Bug fixes

- Issue 1211 PostgreSQL upper case schema names end up double quoted
- Issue 1307 Removed drop table because of issues with partitioned tables Pull Request
- Issue 1309 Maven plugin : warning about flyway.configFile
- Issue 1326 SqlScriptFlywayCallback errors in ALL_CALLBACKS list
- Issue 1327 Option to Suppress "SQLServer does not support setting the schema..." messages

### Documentation fixes

- Issue 1312 Clarify validate javadoc

Thanks to Dennis Hoer, frbo42, Gili Tzabari, hartrc, John McCall, lrozenblyum, smohara and Sten Røkke for reporting these issues and contributing fixes.

## Flyway 4.0.1 (2016-05-06)

### Bug fixes

- Issue 1120 Db2 z/OS 3.x->4.0 migration, storage group setting, moved tests Pull Request
- Issue 1216 Parsing of string literals
- Issue 1220 Sybase support does not work with Sybase ASE 15.7 Pull Request
- Issue 1222 Regression with MySQL delimiter in Flyway 3.2
- Issue 1226 Postgres clean drop all types Pull Request
- Issue 1227 Resources not found from bundles without wiring to org.osgi.framework Pull Request
- Issue 1231 Upgrading AWS Redshift DB from Flyway 3.2.1 to 4.0 failed - couldn't upgrade metadata table Pull Request
- Issue 1233 Allow commandline client to specify placeholderReplacement Pull Request
- Issue 1235 Flyway upgrade from 3.2.1 to 4.0 fails with Oracle error ORA-00955: name is already used by an existing object Pull Request
- Issue 1238 Dollar-quoted PostgreSQL function definitions are parsed incorrectly in some situations
- Issue 1245 Flyway 4.0 config Postgres requires user/pass
- Issue 1249 MigrationInfoImpl violates the compareTo contract
- Issue 1255 Issue with create schema_version for Sybase ASE
- Issue 1264 Regression in multiline comments/quotes handling
- Issue 1265 Upgrade metadata table to v4.0 fails on Derby Pull Request
- Issue 1270 Vertica does not support repeatable migrations
- Issue 1280 beforeEachMigrate callback can't change search_path anymore
- Issue 1292 Clean does not delete procedures on case sensitive SQLServer Pull Request
- Issue 1293 Flyway cannot create schema table on Galera cluster (MariaDB) Pull Request
- Issue 1296 Order in which callbacks are executed
- Issue 1298 Warning about flyway.current property
- Issue 1299 Using MySQL Connector/J 6.x warns about JDBC driver class name
- Issue 1300 Fail if user is set in Flyway config, but password is only present in settings.xml
- Issue 1301 Fix IBM classloader regression Pull Request
- Issue 1302 NullPointerException migrating to "current" on empty DB

### Documentation fixes

- Issue 62 Fix jre setup documentation
- Issue 65 Rewrite Android documentation to fit Android Studio/Gradle and SQLDroid better Pull Request
- Issue 66 fix sbt version Pull Request
- Issue 68 Remove flywaySettings from sample configurations Pull Request
- Issue 70 Fix of lost tag `pre` around sample configuration Pull Request
- Issue 1275 Document SBT custom configuration usage
- Issue 1277 The fact that repeatable migrations are applied after versioned migrations should be documented explicitly

Thanks to alekseevIN, Alexey Kobyakov, Antti Lampinen, Artem Konenko, Aurélien Mino, azalesky, Erin Drummond, fromi, Gian Marco Gherardi, Gili Tzabari, hntran8, J. Taylor O'Connor, Jeff Johnston, Johannes Brodwall, Kari Häkkinen, Kenji Yoshida, Kevin Wimmer, krispii, lrozenblyum, Maksim Serebro, Marat Abrarov, mezuzza, Nathan Vick, Nick Strecker, oohira, Renat Sabitov, ridiekel, sourcesmith, Sten Røkke, tsbx, Walter Gillett and Werner Mueller for reporting these issues and contributing fixes.

## Flyway 4.0 (2016-02-29)

This version comes with a new metadata table format. Migration is transparent and automatic on first run of any Flyway command. This new format is not compatible with older Flyway versions.

Note: DB 2 z/OS, Vertica, and solidDB users may have to manually upgrade the metadata table or drop it and baseline the schema again.

### New features

- Issue 102 Sybase ASE support Pull Request
- Issue 128 Repeatable Migrations support
- Issue 458 Allow disabling clean
- Issue 724 Prompt for userId and password in commandline mode
- Issue 805 JdbcMigrations and new FlywayCallback should have access to core configuration Pull Request
- Issue 929 Apache Phoenix Support Pull Request
- Issue 935 SAP HANA support € Sponsored by Softronic
- Issue 985 Log the update count with DEBUG priority after running a SQL script Pull Request
- Issue 1047 Using both custom and SQL callbacks
- Issue 1078 Allow default migration resolvers to be overriden Pull Request
- Issue 1117 Transparently upgrade metadata table from 3.x to 4.x format
- Issue 1119 Redshift-specific JDBC driver support Pull Request
- Issue 1114 Command-line tool: Add -v to print version and exit
- Issue 1188 Datasource auto-configuration when running in a Boxfuse instance
- Issue 1198 Included abstract base classes for resolvers and migrations Pull Request

### Incompatible Changes

- Issue 477 When a location is not found a warning is now emitted instead of an exception
- Issue 724 When using the command-line tool with no database user or password, you must now pass in an empty value to avoid being prompted
- Issue 767 mvn flyway:clean is now executed in the clean phase by default
- Issue 891 The Flyway SBT plugin now requires SBT 0.13.7
- Issue 935 Command-line: error messages are now sent to stderr instead of stdout Pull Request
- Issue 979 The default location for the Flyway Maven, Gradle and SBT plugins is now `filesystem:src/main/resources/db/migration`
- Issue 988 Fail validate if an already applied migration couldn't be found
- Issue 989 To ignore failed future migrations, you must now also set `ignoreFutureMigrations` to `false`.
- Issue 1116 Removed all deprecated API from Flyway 3.x

### Changes

- Issue 977 Flyway now warns on invalid command-line options
- Issue 1152 Upgrade Command-line tool bundled JRE to 8u74
- Issue 1214 Upgrade Command-line tool bundled JDBC drivers to latest versions

### Bug fixes

- Issue 178 Support for reference-partitioned tables (Oracle 11g) Pull Request
- Issue 253 Ignore line endings when calculating checksums
- Issue 669 Ignore sqlplus set define off command
- Issue 737 search_path is not restored after migration
- Issue 763 sbt tasks do not use scope specific settings Pull Request
- Issue 788 Provide default implementation for FlywayCallback
- Issue 905 NullPointerException at org.flywaydb.maven.MigrateMojo.doExecute(MigrateMojo.java:35)
- Issue 917 After running flywayMigrate in SBT there is no straightforward way to know current db version
- Issue 983 Redshift COPY not working
- Issue 995 Error setting current schema to "public"
- Issue 999 ClassCastException in PostgreSQLDbSupport.executePgCopy when using BasicDataSource Pull Request
- Issue 1000 SQL exception in COPY statement when the DELIMITER is set to a semicolon
- Issue 1001 Gradle plugin can not set placeholderReplacement property
- Issue 1023 Flyway should not expect "org/flywaydb/core/internal/version.txt" to be on the custom classpath
- Issue 1025 afterEachMigrate fails, migration succeeds, but migration not written to schema_version
- Issue 1033 Missing Import-package MANIFEST.MF headers for postgresql
- Issue 1036 ORA-00911: invalid character
- Issue 1042 Single connection in DriverDataSource can never be closed
- Issue 1043 Migration with Flyway.setPlaceholderReplacement(false) fails with "org.flywaydb.core.api.FlywayException: No value provided for placeholder expressions"
- Issue 1049 ORA-32794 in Oracle 12c using identity columns
- Issue 1075 Support option to use Slf4j/Commons Logging/JUL when using the command line tool
- Issue 1077 Oracle JDBC issue on Linux - IO Error: Connection reset
- Issue 1080 ORA-00911: Invalid character on 'From' Pull Request
- Issue 1081 Change of Delimiter does not work correct for SQLite
- Issue 1085 Clean on embedded derby database does not clean triggers
- Issue 1089 SQL cannot be parsed when using binary type "char (16) for bit data": X'0123' Pull Request
- Issue 1093 ORA-01950 on schema baseline/init in Oracle 12.1
- Issue 1099 Flyway fails to connect with the database if the OS user name is longer than 30 characters
- Issue 1106 A tableName """t""" cause error on PostgreSQLSchema.doAllTables()
- Issue 1108 Flyway does not reset the current schema between migrations
- Issue 1109 ORA-65040 error when trying to clean different schema with system user
- Issue 1111 Support for Vertica (or replace) Function Pull Request
- Issue 1124 Fix flyway script on Git Bash for Windows Pull Request
- Issue 1129 Fails to clean materialized view that has dependent view on postgres
- Issue 1136 Multi Line comments are not handled correctly Pull Request
- Issue 1142 OsgiClassPathLocationScanner supports only current bundle Pull Request
- Issue 1154 Drop functions with length attributes in DB2 Pull Request
- Issue 1164 Use nanoTime() for StopWatch Pull Request
- Issue 1165 Sql file callbacks does not work with empty sqlMigrationPrefix
- Issue 1171 GAE uses different Driver: Unable to obtain Jdbc connection from DataSource Pull Request
- Issue 1190 PostgreSQL: Filter functions and views from extensions during clean Pull Request
- Issue 1193 Unable to clean schema that contain a Computed Column Defined with a User-Defined Function
- Issue 1196 PostgreSQL: trim schema name
- Issue 1197 Improved JavaDoc for callbacks, resolvers and migrations Pull Request
- Issue 1217 Fixed flyway 4.0 upgrade for Redshift (it does not support alter column) Pull Request

### Documentation fixes

- Issue 49 Sentence was missing a word Pull Request
- Issue 53 Minor wording change in documentation around Java class naming Pull Request
- Issue 607 Doc enhancement: More features for the feature comparison matrix

Thanks to aegyed, Aurélien Mino, axaluss, Barry O'Neill, cajnoj, Christian Dedié, crump32, David Phillips, diwa, dukeyin, dzharikhin, Dzmitry Lazerka, Eduardo Piaro, Eric Parton, Fabio Lisboa, Gili Tzabari, gnomff, hamiller, Jason Wong, Jens Berke, Jens Doose, JGMM, Josh Mahonin, Karel Rank, Kevin Sheedy, khelsen, Kristopher Landon, Larivact, Lukas Eder, Luke Pryor, Marc-André Poulin, Mark Petrovic, Markus Umefjord, martin-grofcik, mdaquel, Michael Verrilli, MingoDynasty, mojoo, Nathan Vick, Neo Wu, Nitin Gautam, Pascal Gruen, pentavalle, pingw33n, PredatorVI, Ringerl, Sachin Walia, Salman Haq, sastorsl, Sebastian Tacke, Stephan Pauxberger, stkuehnl, Sylvain Guillopé, thelateperseus, Tim Büthe, Tom Eicher, Yevgeniy Mordovkin and ysobj for reporting these issues and contributing fixes.

## Flyway 3.2.1 (2015-03-20)

### Bug fixes

- Issue 969 Fix SQL syntax error in MetaDataTableImpl.java Pull Request
- Issue 971 Regression in 3.2: Invalid charater Pull Request

Thanks to avesse, David J. M. Karlsen and soemeier for reporting these issues and contributing fixes.

## Flyway 3.2 (2015-03-16)

### New features

- Issue 732 The command-line tool now optionally ships with a JRE
- Issue 885 SolidDB support Pull Request
- Issue 906 Option to validate only until current version of the schema Pull Request
- Issue 909 The commandline tool now also ships with the Derby Client driver
- Issue 915 Command-line: -q switch for quiet mode Pull Request
- Issue 945 Allow to skip placeholder resolution
- Issue 956 Try to load configFile from current directory first

### 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.
- Issue 895 Deprecated Gradle plugin ID `flyway`, use `org.flywaydb.flyway` instead. Pull Request
- Issue 966 Commandline: Deprecated `jarDir`, use `jarDirs` instead.

### Bug fixes

- Issue 598 No "current" schema in flyway.url causes a Flyway exception
- Issue 752 Overloaded setters break Spring XML usage € Sponsored by David Harrigan
- Issue 892 Using (deprecated) init goal in Maven takes wrong baseline version
- Issue 893 Add command images to Javadoc
- Issue 898 Flyway baselines new schemas, since they always have a schema_version table
- Issue 902 slf4j optional package import missing from OSGi manifest
- Issue 903 Fix an error where MigrationVersion wouldn't parse correctly Pull Request
- Issue 905 NullPointerException at org.flywaydb.maven.MigrateMojo.doExecute(MigrateMojo.java:35)
- Issue 918 Explicitly drop Views then doing a Flyway.clean() on a PostgreSQL db
- Issue 921 Incorrect parsing when space is missing between end quote and next token
- Issue 922 Escape command-line arguments
- Issue 939 Multiline comment closing not detected properly
- Issue 940 Implicit baseline triggered by baselineOnMigrate does not respect baselineVersion
- Issue 951 Still issues with the Gradle plugin under Java 6
- Issue 955 Loading configFile from relative path seems to be broken
- Issue 957 Improve DataSource not set error message for non-API clients
- Issue 958 Backslashes are not treated properly in conf file
- Issue 965 Problem with double quotes

### Documentation fixes

- Issue 959 Gradle documentation should have commas to separate placeholders

Thanks to Adrian Christen, Andrew Murray, Armin Gattung, benheilers, Cosmin Stejerean, David M. Carr, david-mas, Diego Plentz, Gili Tzabari, gergelyszakacs, janbols, Marcello Nuccio, Mauro Molinari, Michael Forstner, pete-experimenter, Rahul Prabhakar, Sabine Gallus, Sanjay Deshmukh, sogft, Sudeep Ambekar and vaesbart for reporting these issues and contributing fixes.

## Flyway 3.1 (2014-11-27)

### New Features

- Issue 344 HP Vertica support Pull Request
- Issue 638 DB2 on z/OS support Pull Request
- Issue 661 AWS Redshift support Pull Request
- Issue 728 SQL-based callbacks
- Issue 731 Package JDBC drivers with command-line tool
- Issue 778 Maven plugin: Expose new DB version in `flyway.current` property Pull Request
- Issue 834 Use Slf4j for logging if available
- Issue 863 PostgreSQL COPY ... FROM STDIN support € Sponsored by Dembach Goo Informatik

### 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

- Issue 691 Clean fix #664 breaks DB2 clean in some cases
- Issue 718 SQLServer: no exception thrown when statement fails Pull Request
- Issue 735 cygwin classpath problem Pull Request
- Issue 742 flyway info does cuts off or truncates information
- Issue 746 Unhelpful error when forgetting "flyway.driver" with xerial sqlite-jdbc
- Issue 754 flyway fails to remove forward slash from a script if it contains a comment Pull Request
- Issue 758 Fixed OSGi metadata table create script loading Pull Request
- Issue 761 Clean Oracle scheduled jobs Pull Request
- Issue 770 Improve Oracle error - show the ORA code
- Issue 774 Informational message from database logged at WARN level Pull Request
- Issue 779 Restore JDK6 compatibility for Gradle plugin Pull Request
- Issue 783 Spring Jdbc not available from command line
- Issue 793 MySQL flywayMigrate fails due to user permission
- Issue 800 Handle Oracle java source Pull Request
- Issue 801 ClassPathScanner fails with enum
- Issue 802 Clean on DB2 does not clean triggers Pull Request
- Issue 806 Flyway does not clean sequences on SQL Server 2012
- Issue 816 Allow newer migrations to exist and be skipped by validateOnMigrate
- Issue 824 Classpath scanner does not detect sql-files in WEB-INF/classes in (non-exploded) war-file
- Issue 825 Warn instead of fail when clean cannot find a schema
- Issue 830 Allow gradle plugin to create multiple migrate tasks for different schemas Pull Request
- Issue 842 migrate [initOnMigrate, initVersion] should use initVersion when the schema does not exist
- Issue 843 Flyway suppresses warnings silently on SQLException
- Issue 866 Classpath Scanner swallows Instantiation Exceptions
- Issue 867 DB2 schema clean fails for expression-based index
- Issue 868 Update filed for MSSQL scripts containing 'Go'
- Issue 871 Please include SQLException message when failing to connect
- Issue 877 Exception cause lost in classutils instantiateAll
- Issue 884 Flyway incorrectly handles paths with a + in their name

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

- Issue 85 SBT Plugin Pull Request
- Issue 562 Cygwin support Pull Request

### 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

- Issue 456 MySQL CharSet cast support Pull Request
- Issue 480 MySQL SQL Parsing Error Pull Request
- Issue 575 Output failed statement Pull Request
- Issue 576 flyway:migrate complains about missing URL even when execution should be skipped
- Issue 585 Maven Plugin not overriding properties with System Properties
- Issue 589 flyway:clean doesnt remove check constraint Pull Request
- Issue 593 Parse error with mysql string literal that ends in b' or x' Pull Request
- Issue 594 Parse error with mysql string literal that ends in an escaped backslash Pull Request
- Issue 598 No "current" schema in flyway.url causes a Flyway exception Pull Request
- Issue 604 [oracle] flyway:clean doesn't handle DDL triggers very well
- Issue 611 MySQL : Parse error with a very simple script and mixed simple / double quotes Pull Request
- Issue 625 change or indicate in doc where flyway.locations filesystem in looking from ant task
- Issue 640 MySQL multi-line comment directives not recognised Pull Request
- Issue 656 Support Oracles multibyte datatype statements
- Issue 663 Clean doesn't handle temporal/versioned tables correctly in DB2 Pull Request

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

- Issue 78 Gradle Plugin
- Issue 182 SQL Azure support

### 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

- Issue 42 Derby support
- Issue 197 Google Cloud SQL support

### 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

- Issue 119 Support Oracle connection users

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

- Issue 121 Maven 3 plugin print logs

Thanks to jmarin and floburka for reporting these issues.

## Flyway 1.4 (2011-05-13)

### New Features

- Issue 116 Java 5 support

### 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

- Issue 106 Multiple schema support
- Issue 109 OSGi manifest entries

### 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

- Issue 40 DB2 support

### 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

- Issue 19 SQL Server support

### 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