Flyway

Release Notes for Flyway Engine


Flyway 11.0.0 (2024-11-21)

Breaking changes

  • Stop deploying to deprecated `org.flywaydb.enterprise` group ID on the Redgate Maven Repository. Please use `com.redgate.flyway`
  • `cleanOnValidationError` function and configuration has been removed. An error will be thrown if this feature is configured
  • Flyway will no longer provide an interactive method to input database usernames and passwords. Please use other configuration or URL methods
  • Environments used with the check command must have a provisioner defined or the -cleanDisabled=false parameter must instead be specified when running the check command.

New features

  • The `prepare` and `deploy` flyway commands have been added, enabling a state-based deployment directly from a schema model or another database
  • The following flyway commands are now out of preview: 'add', 'diff', 'model', 'diffText' and 'generate'
  • Issue 3970 Add AWS Advanced MySQL wrapper support

Thanks to seungdangdang for reporting these issues.

Flyway 10.22.0 (2024-11-20)

Breaking changes

  • (Preview) the preview verb 'diffApply' has been replaced with the verb 'model'

Bug fixes

  • Fix error message when using unpopulated default placeholders with configured seperators
  • Fixed an issue where the 'Placeholders' configuration erased the 'jdbcProperties' configuration
  • Resolved issue where Flyway would fail to publish an event to Flyway Pipelines using a PAT token in conjunction with using an offline permit for licensing

Changes

  • collations will now be dropped on postgres
  • MySQL schema history table will create using default storage engine instead of being forced to `InnoDB`
  • addTimestamp boolean option for generate and add verbs has been replaced with timestamp=always|auto|never option

New features

  • **Scoped Namespaces**: when configuring on the command line, you can skip namespaces if they match the verb of which you are in the scope of. For example, rather than `flyway init -init.projectName=test` you can now shortcut to `flyway init -projectName=test`.

Flyway 10.21.0 (2024-11-07)

Breaking changes

  • Removed`check.url`, `check.password` and `check.username`. These undocumented historic fields have been deprecated for a while and have confusing impacts (such as not working in all check functionality). It is recommended to use environments to replace this functionality, alternatively, check does support standard `url`, `username` and `password`

Bug fixes

  • Fixed an issue that the Repair command was unable to remove failed Repeatable migration entries in schema history table for MongoDB

Changes

  • Backup provisioner now puts database into single user mode before restoring
  • Legacy Flyway keys (FL0...) are now deprecated

Java compatibility

  • Update H2 2.3.224 to 2.3.232
  • Upgrade snowflake-jdbc 3.14.3 to 3.20.0 to fix CVE-2024-43382

Performance improvements

  • Improved `repair` performance when removing failed migrations

Flyway 10.20.1 (2024-10-24)

Bug fixes

  • Remove erroneous Guava import
  • Fixed an issue where Flyway incorrectly displayed a warning about missing locations, even when locations were properly configured per environment

New features

  • Enable out of process change detection for all license tiers when publishing results to Flyway Service
  • Drift results are now sent to Flyway Service when the service is enabled

Flyway 10.20.0 (2024-10-16)

Bug fixes

  • Fix a bug where error messages are produced when `check -drift` is run without setting `deployedSnapshot`
  • FLYWAY_PIPELINE_ID environment variable was previously broken but is now fixed

Changes

  • The 'createSchema' callback is now deprecated and replaced by 'beforeCreateSchema'

Database compatibility

  • Support PostgreSQL 17

Java compatibility

  • jetty-server 9.4.53.v20231009 to 9.4.56.v20240826 to fix CVE-2024-8184

Flyway 10.19.0 (2024-10-03)

Breaking changes

  • Extracted FlywayMigrateException to its own class

Database compatibility

  • Add support for DB2 ZOS
  • DB2 and Redshift now support AWS Secrets Manager

New features

  • The following flyway commands are now available in preview: add, diff, diffApply, diffText and generate.

Java compatibility

  • Upgrade google-cloud-spanner-jdbc 2.18.1 to 2.22.1 to fix CVE-2024-7254
  • Upgrade google-cloud-secretmanager 2.20.0 to 2.51.0 to fix CVE-2024-7254
  • Upgrade google-cloud-storage version 2.22.5 to 2.43.1 to fix CVE-2024-7254

Flyway 10.18.2 (2024-09-26)

Bug fixes

  • Resolved cascading failure when reporting results to Flyway Pipelines
  • Fix issue with `createStatement` override not being used in DB2 Z/OS

Flyway 10.18.1 (2024-09-24)

Bug fixes

  • Fixed the issue that 'Check' command should throw an Exception if current environment and build environment are the same
  • Issue 3812 Fixed the bug that Flyway failed to load Callbacks which are configured as a 'classpath'
  • Issue 3812 Fixed the bug that Flyway failed to load Callbacks from default path 'db/callback'

Java compatibility

  • Update Parser createStatement method signature
  • Retire usage of https://nexus.flywaydb.org

Thanks to liununu for reporting these issues.

Flyway 10.18.0 (2024-09-12)

Bug fixes

  • Issue 3915 Fixed an issue that could cause Flyway to hang when a database connection is unavailable and there are a large number of pending migrations

Changes

  • cleanOnValidationError is now deprecated

Database compatibility

  • Updated snowflake driver to 3.14.3

New features

  • Flyway now supports setting personal access token (PAT) through API
  • Added a warning message if 'group' parameter is enabled for databases which don't support DDL transactions

Thanks to Quairix for reporting these issues.

Flyway 10.17.3 (2024-09-02)

Bug fixes

  • Add NOLOCK to SQL Server query to reduce blocking
  • Fix result publishing when chaining commands
  • Issue 3947 skipExecutingMigrations now works for OSS

Thanks to catostrophe for reporting these issues.

Flyway 10.17.2 (2024-08-22)

Bug fixes

  • Fixed the issue that Flyway errors when running 'check -code' with 'classpath' locations
  • Fixed the issue where the classpath could not be resolved when running the 'check' command

Flyway 10.17.1 (2024-08-13)

Bug fixes

  • Fixed the issue that Repeatables apply placeholders when calculating checksum even when 'placeholderReplacement' is set to false in script config file
  • Fixed the issue where setting `placeholderReplacement` to `true` in the script configuration had no effect when it was `false` in the global configuration.
  • Issue 3934 Fix `org.flywaydb:flyway-database-cassandra` artifact on Maven Central

Changes

  • Script migration is now available as an open source feature of Flyway

New features

  • Support Environment Overrides for the 'jarDirs' parameter
  • Add suggestions for incorrect configurations within the Flyway namespace

Java compatibility

  • Move report function and assets to their own module

Thanks to janhicken for reporting these issues.

Flyway 10.17.0 (2024-07-29)

Bug fixes

  • Fixed the bug that prevented powershell scripts from running when located in a folder with spaces in the folder name.
  • Fixed the issue where schemas might get inadvertently cleaned when running check in MySQL

Database compatibility

  • Cassandra taken out of preview and added to OSS edition

New features

  • Azure Identity is now a dependency of Flyway for SQL Server Active Directory MSI authentication
  • Flyway now supports Environment Overrides for parameters configuration

Flyway 10.16.0 (2024-07-18)

Bug fixes

  • Fix a bug where mongoDb database name was null
  • Removed duplicate libraries from the command line
  • Issue with `${flyway:workingDirectory}` not using configured working directory has been fixed
  • Fixed an issue where failed migrations could report a negative execution time

Changes

  • The schema model's location is now also specified in schemaModelLocation in the Flyway namespace in Flyway.toml

Flyway 10.15.2 (2024-07-01)

Java compatibility

  • Bump SQLServer JDBC to 12.6.3 to fix breaking change with MSAL4j 1.15.1

Flyway 10.15.1 (2024-06-27)

Bug fixes

  • Fixed the bug preventing users from configuring schemas or jarDirs via command-line

Changes

  • Allow flyway internals to return query results when migration executor runs a query
  • Removed the maximum of 100 migrations in Amazon S3 limitation from Open Source Edition

Java compatibility

  • Bump msal4j to 1.15.1 to fix CVE-2024-35255

Flyway 10.15.0 (2024-06-11)

Bug fixes

  • Fixed bug where certain keywords in BigQuery and HSQL were not handled correctly when in lower case.
  • Fix a bug where `targetSchemaVersion` is not set in API and JSON result objects when `migrate` fails, or no versioned migrations are applied
  • Fix the bug preventing users from initiating a trial using the "auth" command

Database compatibility

Java compatibility

  • add file helpers

Thanks to credmond-git and BlueIce for reporting these issues.

Flyway 10.14.0 (2024-06-03)

Bug fixes

  • Flyway no longer makes repeated calls to the same Vault secret. This allows using dynamic roles from the Vault database engine.

Changes

  • Flyway will not auto-install SQLFluff 1.2.1 for Enterprise customers when running code analysis
  • The 'Rules Location' parameter of Flyway Check command will now honor 'workingDirectory' configuration

Flyway 10.13.0 (2024-05-14)

Bug fixes

  • Flyway should only send qualified migration files to code analysis when no url is configured rather than all the '.sql' files

Changes

  • Improve the code analysis major/minor rule violation error output
  • the default Code Analysis Rule RX001 won't require the 'drop table' statement to appear at the start of a SQL statement
  • Updated wording on Drift Report
  • Flyway won't print out the whole sql statement responsible for a migration failure unless debug mode enabled
  • If Cherry Pick is configured in OSS or Community Edition, Flyway will give 'upgrade required' prompt

Database compatibility

  • Added support for Databricks in Flyway - thanks to the community for the contribution

New features

  • add `outputProgress` support to legacy (conf) projects

Java compatibility

  • Use Temurin 17.0.11+9 JRE for Flyway Command Line

Flyway 10.12.0 (2024-04-29)

Bug fixes

  • Flyway shouldn't call SqlFluff if there are no pending migrations found

Changes

  • Reworded exception messages when executing scripts fails to say "Script ... failed" instead of "Migration ... failed"
  • 'beforeEachMigrateStatement' and 'afterEachMigrateStatement' callbacks are now open source features
  • Updated wording on Drift Report

New features

  • Personal Access Tokens are now supported as a method of authorizing Flyway
  • 'versioned' and 'repeatable' can now be used for 'ignoreMigrationPatterns' in the open-source version.

Flyway 10.11.1 (2024-04-18)

Bug fixes

  • Issue 3866 set System Properties as String rather than Boolean

Changes

  • Update license header plugin
  • When running the SQL*Plus '@' command, Flyway will honour 'workingDirectory' configuration when looking for runnable scripts

Thanks to BusyByte for reporting these issues.

Flyway 10.11.0 (2024-04-03)

Breaking changes

  • Update ErrorCode and ErrorOutput to allow extending in plugins - The `ErrorCode` enum is now an interface with the base enum now residing in `CoreErrorCode`. Any Java usage of this enum will need to be updated accordingly.

Bug fixes

  • Add support for stream configuration for ClassPath SQL Migrations

Changes

  • Continue to improve the way Flyway honors the workingDirectory parameter
  • Remove unrelated warning from polyglot engine.
  • Broken up the check page into functional sections and reference & explanation material
  • shouldExecuteExpression returned from info output in json format contained expression after placeholder replacement, rather than before placeholder replacement.

New features

  • Added an `init` command which will create a project compatible with Flyway Desktop
  • Create `flyway.communityDBSupportEnabled` to turn off community db support database types if desired

Java compatibility

  • Update AWS S3 dependency to fix CVE-2024-29025
  • Issue 3860 Remove need for `java.desktop`

Thanks to axelfontaine for reporting these issues.

Flyway 10.10.0 (2024-03-14)

Changes

  • Improve the way Flyway honors the `workingDirectory` parameter
  • Flyway OSS won't throw any exception for unknown parameters if the TOML contains non-flyway namespaces.

Flyway 10.9.1 (2024-03-07)

Bug fixes

  • Fix issue with MySQL not falling back to MariaDB driver when official driver is unavailable
  • Fix duplicate migration pattern error when running 'check -drift' or 'check -changes' on a database with multiple schema creation rows.

Flyway 10.9.0 (2024-03-05)

Bug fixes

  • Fixing issue where placeholders are not merged properly when using TOML configuration files.

Changes

  • Update Flyway-Community-DB-Support version to 10.8.0

Database compatibility

  • Reintroduce OceanBase
  • Cassandra support added as a preview feature in Redgate edition.

Java compatibility

  • Update Mongo JDBC driver to 1.19
  • Update postgres to 42.7.2 for CVE-2024-1597
  • Increase dependency software.amazon.awssdk:s3 to 2.21.46 to fix CVE-2023-44487

Flyway 10.8.1 (2024-02-15)

Bug fixes

  • Issue 3841 Fix issue with PostgreSQL when running in a transaction

Database compatibility

  • Removed Oceanbase from Flyway CLI. If required, please download from Maven Central.

Flyway 10.8.0 (2024-02-15)

Changes

  • output from flyway info can return the contents of a shouldExecute condition, if provided
  • Issue 3835 Downgrade MariaDB Connect/J from 3.3.2 to 2.7.11 to continue to support latest MariaDB without compatibility issues with MySQL. MariaDB 3.X Connect/J requires for `permitMysqlScheme` flag in the URL

New features

  • Provide Regex rules to replace the SQLFluff rules Flyway_L001 and Flyway_L002

Java compatibility

  • Upgrade com.nimbusds:nimbus-jose-jwt@9.37.2 to fix CVE-2023-52428

Thanks to bhavneshpateloptum for reporting these issues.

Flyway 10.7.2 (2024-02-08)

Bug fixes

  • Flyway errors running `check -dryrun` for MongoDB
  • Fixed a bug with the Oracle PL/SQL parser which caused certain view definitions containing the 'FORCE' keyword to break.
  • Issue 3837 Parameter settings through Environment variables got ignored if combined with command line parameter settings

Changes

  • Bump Flyway-Community-DB-Support to 10.7.2
  • Update AWS secrets manager JDBC dependency to 2.0.2.
  • Flyway matches Oracle SQL*Plus behavior when parsing 'SHOW ERR[ORS]'.

Database compatibility

  • Add Community DB Support for Oceanbase

Thanks to jerdaane for reporting these issues.

Flyway 10.7.1 (2024-01-30)

Breaking changes

  • The Flyway Commandline package no longer includes dependencies for Apache Derby. This is due to CVE-2022-46337. Apache have not released Java-17 compatible jars with the vulnerability fixed, so users will have to acquire their own Derby dependencies. See Flyway Derby database support for details
  • Due to a change in the latest version of the MariaDB driver, MySQL users will either have to set 'permitMysqlScheme=true' in their connection string or download the MySQL driver. See here for more details.

Bug fixes

  • Fix to filter on Cloud Spanner table schema name when selecting all foreign key constraints. This is to make sure that no system constraints are included in the results if they were to be added in the future. Additionally if Cloud Spanner starts supporting named user schemas, the listed foreign keys are consistent with the tables that are used, which are all filtered based on an empty schema name.
  • Fixed issues caused by dollar signs and backslashes in property resolver values.
  • Fix configuring JDBC Properties in command line environment configuration

Changes

  • Improved formatting of Dry Run report.
  • The configFiles parameter respects interpreting your configuration in the appropriate format
  • Make Flyway "Output Query Results" an open source feature

Database compatibility

  • Added support for Clickhouse in Flyway - thanks to the community for the contribution
  • To help increase Flyway's community contribution support, flyway-community-db-support/ has been moved to separate repository: flyway/flyway-community-db-support. Any new PRs for database support additions need to be raised there and any existing PRs in flyway/flyway will need to be transferred by the author.
  • Issue 3821 Flyway now supports Snowflake up to version 8.3.
  • Issue 3822 Increase MariaDB JDBC driver to version 3.3.2 and add support for MariaDB 11.2

New features

  • If Working Directory is set, Flyway will now use that location to check for default Flyway configuration files in addition to its previous functionality. See updated documentation for more information on default command line configuration order.
  • allow onEachMigrateOrUndoStatementEvent callback to block statement execution

Thanks to EugenMayer and frichtarik for reporting these issues.

Flyway 10.6.0 (2024-01-16)

Bug fixes

  • Resolve RedgateCompare toml being read incorrectly.

Changes

  • Improved auth logging to be more concise
  • Make Flyway "Target" an open source feature
  • Make Flyway Detect Encoding an open source feature
  • Make Flyway Batch an open source feature
  • Make Flyway Stream an open source feature

Java compatibility

  • Adding API friendly method to `getEngines`

Flyway 10.5.0 (2024-01-11)

New features

  • adding support to configure environments via command line

Flyway 10.4.1 (2023-12-22)

New features

  • Allow build environments to be processed by resolvers

Flyway 10.4.0 (2023-12-20)

Bug fixes

  • Use instance variable of defaultProperties in DriverDataSource constructor instead of parameter variable

Flyway 10.3.0 (2023-12-14)

Breaking changes

  • The clean command will also drop services and queues in SQL Server.

Bug fixes

  • Correct redgate-compare options when using TOML with check and drift or changes.
  • Fixed reports not displaying Teams and Enterprise level features

Database compatibility

  • Issue 3806 Correct HSQLDB support message and increase driver support to 2.7.2

Thanks to ashtonbatty for reporting these issues.

Flyway 10.2.0 (2023-12-08)

Bug fixes

  • Fix parsing of boolean comparison options
  • Fixed a bug where comma-separated lists for configuration parameters passed in via command line would fail with a parsing error

Changes

  • Update document on setting environment parameter through environment variable
  • Upgrade version of Maven dependencies used by the Flyway Maven plugin to 3.9.6.
  • Make datasource in classic config environment aware
  • Improve error message for misconfigured environment variables in TOML config.
  • Issue 3797 Use latest version of Apache Derby dependencies to avoid CVE-2022-46337.

Database compatibility

  • Added support for cleaning table snapshots and table clones in Google BigQuery.

New features

  • Can now start a trial with the `auth` command
  • add `supported-databases` command.

Java compatibility

  • Move `flyway-sqlserver` into `flyway-database` folder space

Thanks to fage88 for reporting these issues.

Flyway 10.1.0 (2023-11-22)

Bug fixes

  • Correct urls for fetching offline permits
  • Fix dropping views from GCP Spanner when running clean.
  • Add new groupId to flyway-gradle-plugin
  • Issue 3793 Fix index out of bounds issue in `ConfigUtils`

Database compatibility

  • Flyway now supports PostgreSQL version 16.
  • MongoDB 7.0 support available. Currently shipped as preview in Redgate edition CLI.

Breaking changes

  • Updated to use dotnet 8 which drops support for RHEL 7 - this only impacts the check verb (drift and changes)

New features

  • Flyway now uses Schema History Table locking to allow parallel migrations in Google Cloud Spanner.

Thanks to AlejandroYuste for reporting these issues.

Flyway 10.0.1 (2023-11-13)

Bug fixes

  • Fixed handling of `FLYWAY_JDBC_PROPERTIES_ACCESSTOKEN` environment variable with toml projects
  • Fixed bug caused by generation of unrecognized parameters when starting the Redgate Comparison engine process.
  • Fixed making locations relative to the working directory when using TOML configuration.
  • When using the new TOML configuration format, 'jarDirs' and 'schemas' will no longer be erased when also configuring certain parameters through the command line or environment variables.

New features

  • add support for progress logging to STDERR with json output

Notes

  • Flyway Gradle Plugin is currently unable to be released.

Flyway 10.0.0 (2023-10-31)

Flyway V10 has landed

Breaking changes

  • Removed deprecated flyway.check.reportFilename. Please use flyway.reportFilename.
  • The 'cherryPick' configuration option has been moved to a configuration extension. When using the API, it can no longer be directly set through configuration object - instead it is set using an 'cherryPickConfigurationExtension' object which must be retrieved from the plugin register. See the docs for this configuration parameter for more information.
  • License key logic has been moved into a different module ('flyway-key-licensing'). This is not shipped in the open-source edition of Flyway so attempting to configure the license key will cause an error. In the Redgate edition of Flyway, license keys must be configured as a configuration extension (see configuration docs for more information).
  • Rename lib/community with lib/flyway
  • Removal of the default `sql` folder from Flyway CLI and Docker release
  • Modularized database support in Flyway to allow greater flexibility. This includes; DB2, Derby, HSQLDB, Informix, PostgreSQL, CockroachDB, Redshift, SAP HANA, Snowflake and Sybase ASE. See Database Support page for your database for module dependency. If you are including Flyway in your project, either as a dependency or via the maven and gradle plugins please include the respective database module in your project configuration.

Changes

  • Remove unused Edition flags documentation, E.G -community or -teams. These flags are no longer used by Flyway and have been marked for deprecation.
  • The lowest supported Gradle version for the Flyway Gradle plugin is now 7.6. This is due to a known issue with older Gradle versions where it cannot handle dependencies with multi-release chars containing Java 19 code.
  • Move older db support handling into OSS
  • If flyway fails due to a licensing issue, return a unique (35) exit code
  • Adjusted the wording on the 'deleted' Repair action to mention it only marks migrations as deleted

Database compatibility

  • Flyway now supports MySQL 8.1.0.
  • Include singlestore into Flyway Community Edition.
  • Google Cloud Spanner has been released and is no longer BETA

New features

  • Info filters are now available in community
  • Added auth command to authorize Flyway online using Redgate username and password
  • Added support for REDGATE_LICENSING_PERMIT_PATH and REDGATE_LICENSING_PERMIT environment variables along with offline licensing for offline machines
  • beforeEachMigrateStatement, afterEachMigrateStatement, afterEachMigrateStatementError, and beforeConnect callbacks are now Community features
  • add support for LocalSecrets resolvers
  • Script migrations are now a Community feature

Java compatibility

  • Retired Java 8 from use. Java 17 is now required for development
  • Move packages and groupID from `org.flywaydb.enterprise` to `com.redgate.flyway`. Duplicate packages will be deployed to `org.flywaydb.enterprise` until a future release.

Notes

  • Flyway Gradle Plugin is currently unable to be released.

Flyway 9.22.3 (2023-10-12)

Changes

  • The AWS-Secrets JDBC driver included in the Commandline package has been upgraded to 2.0.0.
  • Issue 3752 add "END CASE" support in BigQuery sql script

Database compatibility

  • Update newest supported version of Snowflake to 7.33

Java compatibility

  • Keep software.amazon.awssdk:s3 on latest 2.20.X release to get fix for CVE-2023-4586
  • Upgrade software.amazon.awssdk:s3@2.20.94 to software.amazon.awssdk:s3@2.20.158 to fix CWE-295

Thanks to kankaiz for reporting these issues.

Flyway 9.22.2 (2023-09-21)

Bug fixes

  • Fixed configuration disclosure in extended debug output. CVE-2023-43564
  • improve parsing of 'ACCESSIBLE BY' clauses in Oracle
  • Fix parsing issue caused by statements containing multiple sets of parentheses.
  • Issue 3730 Make SLF4J detection also work with SLF4J 2.0

Changes

  • Enhance Comparison engine error output

Database compatibility

  • Flyway now supports MariaDB version 10.11

Java compatibility

  • update mariadb-java-client to 2.7.10 to resolve CONJ-1091

Thanks to hho for reporting these issues.

Flyway 9.22.1 (2023-09-12)

Bug fixes

  • Correctly parse Oracle wrapped statements.
  • Fix filter file option detection
  • Fix invalid flags not correctly erroring at the end of the arguments

Changes

  • update Java 17 JRE included in Flyway CLI

Database compatibility

Thanks to trourance for reporting these issues.

Flyway 9.22.0 (2023-08-30)

Bug fixes

  • Fix issue with `check.reportFilename` parameter

Changes

  • Code Analysis will honor `BaselineVersion` configuration if SchemaHistory table is absent.

Flyway 9.21.2 (2023-08-22)

Changes

  • check.buildUrl, check.buildUser and check.buildPassword are now deprecated. These will be replaced by check.buildEnvironment in Flyway 10.0

Database compatibility

  • Flyway now supports Oracle 21.
  • Issue 3726 Add MariaDB to Flyway H2 compatibility mode

New features

  • allow external browser SSO in Snowflake

Java compatibility

Thanks to oujesky and iamniche-too for reporting these issues.

Flyway 9.21.1 (2023-07-27)

Changes

  • Added working directory variable to config

New features

  • When running the SQL*Plus '@' command, Flyway will also search 'SQLPATH' and 'ORACLE_PATH' for runnable scripts. It will also attempt to load from absolute paths.

Java compatibility

  • Upgrade H2 to 2.2.220

Flyway 9.21.0 (2023-07-20)

Bug fixes

  • fix handling of plugin string array properties
  • Previously, when migrating using Flyway's SQL*Plus feature, Flyway parsed the first statement of the migration script before reading 'login.sql'/'glogin.sql' files. These files are now fully read beforehand.

Changes

  • Drop B Script functionality from teams into OSS

Flyway 9.20.1 (2023-07-12)

Changes

  • Update Maven Version check to use Maven Metadata to avoid website deprecation issues

New features

  • Added table feedback for SQL Plus

Java compatibility

  • Upgrade AWS SDK to fix SNYK issue CVE-2023-34462
  • Upgrade google-cloud-spanner to fix SNYK issue SNYK-JAVA-COMGOOGLEGUAVA-5710356
  • Upgrade Google Cloud Secretmanager to 2.22.5 to fix SNYK-JAVA-COMGOOGLEGUAVA-5710356
  • Upgrade Google Cloud Storage to 2.22.5 to fix SNYK-JAVA-COMGOOGLEGUAVA-5710356
  • Update AWS Java SDK to 2.20.69 to fix SNYK-JAVA-IONETTY-5725787
  • Issue 3690 flyway-core now has a dependency on jackson-dataformat-toml.

Thanks to froque for reporting these issues.

Flyway 9.20.0 (2023-06-20)

Changes

  • RGCompare MySql support has gone GA

Database compatibility

  • Flyway now supports the latest version on SQL Server 2022.

Flyway 9.19.4 (2023-06-09)

Bug fixes

  • incorrect license shown above correct license
  • Issue 3682 Fixed parsing of boolean values in configuration

Thanks to TheHenrick for reporting these issues.

Flyway 9.19.3 (2023-06-07)

Bug fixes

  • Fix missing Jackson-Annotation dependency in CLI bundle

Flyway 9.19.2 (2023-06-07)

Bug fixes

  • Improved parsing of CASE expressions inside function bodies.
  • Fixed a bug encountered when cleaning Azure Synapse instances where Flyway referred to 'sys.xml_schema_collections` which only exists in SQL Server.

Flyway 9.19.1 (2023-05-24)

Bug fixes

  • Fixed exit code when report is disabled and error occurs

Changes

  • The SQLite driver shipped with the Flyway CLI has been updated to 3.41.2.2 to avoid CVE-2023-32697
  • Flyway's SQLPlus 'FEEDBACK' output wording has been adjusted to match Oracle SQLPlus.

Database compatibility

  • Fixed an issue where IF(..) function calls in MySQL functions could cause the statement parser to incorrectly split the function in two

Flyway 9.19.0 (2023-05-23)

Changes

  • Extract Oracle code to plugin. This will need to be added as a new dependency. See [Oracle documentation](https://documentation.red-gate.com/fd/oracle-184127602.html).
  • Change error code on migration failure to be more specific and include script path and line number of failure in JSON error output
  • Disable GET_LOCK on MariaDB connections when `WSRERP=ON` is present. This is to allow for usage of MariaDB with Galera clusters
  • An event connection will be created to handle callbacks, and this connection will be released instantly after the event handle work is done.
  • Baseline scripts with the same version number as an applied '<< Flyway Baseline >>' are now put in the 'Ignored (Baseline)' state. Also, migrations in this state appear before the '<< Flyway Baseline >>' in the info output instead of being put at the end.
  • Update RGCompare version to 1.11.2.9265

New features

  • Added `driver()` method to `FluentConfiguration`

Flyway 9.18.0 (2023-05-15)

Bug fixes

  • Avoid hanging indefinitely during 'check' comparisons when running on Windows.
  • Running `check -changes` or `check -drift` now handles schema creation rows in the schema history table.

Changes

  • All undo migrations will no longer have their own rows in the ASCII-table output. This seemed redundant given that there's a separate `Undoable` column to provide this information. Also, there was some inconsistency whereby undo migrations in the AVAILABLE state were already filtered out but others were not.
  • Baseline migrations now have the 'baseline' category in info output
  • Issue 3665 Only warn if reports are unable to write to the default location rather than print an error

New features

  • Flyway now handles defining PostgreSQL functions using `BEGIN ATOMIC`.

Java compatibility

  • Bump maven version to address CVE-2021-29425
  • Update documentation to provide solution to Snowflake JDBC JRE16+ issues

Thanks to sseide for reporting these issues.

Flyway 9.17.0 (2023-04-27)

Bug fixes

  • Fixed the issue causing empty dry run reports when running flyway using the Maven plugin.
  • Issue 3621 The Snowflake SQL parser can now handle escaping single quotes inside strings using backslash.

Changes

  • Undo migrations which have not been applied will no longer cause validation to fail.
  • add direct support for Alpine linux
  • Remove unused Edition flags documentation, E.G `-community` or `-teams`. These flags are no longer used by Flyway and have been marked for deprecation. These flags will be removed in V10.
  • Issue 3648 Ensure Flyway uses ALL_CREDENTIALS when using versions of Oracle where ALL_SCHEDULER_CREDENTIALS is deprecated. This is to avoid continuting to rely on functionality only retained in Oracle for backwards compatibility.
  • Issue 3652 Remove redundant `html` extension on automatically generated reports and prevent generation of reports for currently unsupported verbs

New features

  • Add Info report. You can now get a report of an `info` call as a tab in a flyway HTML report.
  • We have improved support for `WHENEVER SQLERROR EXIT` in Oracle SQL*Plus. This now works on its own and no longer needs to be followed by `FAILURE` or `SQL.SQLCODE`.
  • Add migration report
  • Adding Flyway Reports; Single file HTML reports that expose important details and stats about your Flyway pipeline in an easy to read and share format.

Java compatibility

  • Update version of snowflake-jdbc to 3.13.29 to fix SNYK-JAVA-NETSNOWFLAKE-5425048
  • Issue 3664 Bump Snowflake JDBC to 3.13.3
  • Issue 3664 ]Bump SQLite JDBC to 3.41.2.1 to address CVE-2021-20227, CVE-2022-35737 and CVE-2022-46908
  • Issue 3664 Bump MariaDB JDBC to 2.7.9 to address race condition, metadata catalog, ArrayIndexOutOfBounceExcetions and other issues in JDBC driver

Thanks to lm-net, ryangraffy, jdmendozaa and frichtarik for reporting these issues.

Flyway 9.16.3 (2023-04-04)

Bug fixes

  • Remove placeholder text from report summary
  • Fix Nullpointer exception on empty exception in reports

Flyway 9.16.2 (2023-04-04)

Bug fixes

  • Removed unwanted SLF4J messages on stderr
  • Issue 3636 EnvironmentModel: swap back connectRetries and connectRetriesInterval default values

Changes

  • Updated Postgres password change regex to use latest form

Java compatibility

  • Update msal4j to fix SNYK-JAVA-NETMINIDEV-3369748

Performance improvements

  • Reduce allocations from class loading through FeatureDetector

Thanks to mihalyr for reporting these issues.

Flyway 9.16.0 (2023-03-15)

Bug fixes

  • Issue 3618 Fix reading in configuration from standard input in Teams and Enterprise edition.
  • Issue 3621 Fixed a parsing error caused by begin transaction statements in Snowflake.

Changes

  • Drift report titles have been renamed from 'Before' and 'After' to 'Expected' and 'Actual'.

Java compatibility

  • Issue 3628 Update `flyway-bom` to use correct versioning system and deploy to Maven Central

Thanks to eddumelendez, frichtarik and Phil-Factor for reporting these issues.

Flyway 9.15.2 (2023-03-06)

Bug fixes

  • SQL errors with configured overrides no longer cause the Oracle SQLPlus spool output to close prematurely and lead to a null pointer exception.
  • Issue 3621 Further improvements to the Snowflake parser when detecting conditionally creatable objects.

Changes

  • When running 'check' commands with involve database comparison (i.e. '-drift' and '-changes') and Flyway has debug enabled, debug output from the Redgate Compare engine will be logged as well.

Java compatibility

  • Update Ant dependency version to address CVE-2020-11979, CVE-2021-36374, CVE-2021-36373 and CVE-2020-1945 vulnerabilities.

Thanks to frichtarik for reporting these issues.

Flyway 9.15.1 (2023-02-22)

Changes

  • If Flyway encounters a SQL exception while Oracle Spool is set, the error information is now written to the Spool output.

Bug fixes

  • Issue 3613 Allow the Snowflake parser to handle more conditionally creatable objects.

Thanks to niegowic for reporting these issues.

Flyway 9.15.0 (2023-02-16)

Breaking changes

  • When Flyway is running in Oracle SQLPlus mode, character escaping is now disabled by default in order to be consistent with Oracle's SQLPlus command-line tool.

Bug fixes

  • Issue 3616 Fixed a bug where migration patterns display names incorrectly changed case depending on default locale.

New features

  • Introduced a flyway-bom pom for Maven. This BOM includes all modules of Flyway which are compatible with each other to be used in Maven dependency management.

Thanks to zihniogmen for reporting these issues.

Flyway 9.14.1 (2023-02-01)

Bug fixes

  • Issue 3583 Fixed issues with the Snowflake SQL parser which failed to correctly parse scripting blocks containing 'if' and 'for' statements
  • Fix issue with code analysis reports not generating when major or minor tolerance threshold has been passed and set build to fail.

Database compatibility

  • Issue 3557 Update latest supported MariaDB version to 10.10
  • Issue 3602 Flyway now officially supports snowflake versions up to 7.1

New features

  • Added 'NON_EMPTY_SCHEMA_WITHOUT_SCHEMA_HISTORY_TABLE' as a new error code

Java compatibility

  • As part of the ongoing work to improve Flyway we are looking at the current Java landscape and to the future. As a result, we are introducing Multi-Release builds for Flyway which will support Java 8 and Java 17. This allows us access to modern Java practices and technologies. This is with the aim to move fully to Java 17 in the next major release.

Thanks to pachu, hackyoMa and frichtarik for reporting these issues.

Flyway 9.11.0 (2023-01-05)

Bug fixes

  • Explicitly drop Oracle package bodies so that package bodies not tied to an existing package are also cleaned

Changes

  • 'check' reports now produce all successful reports and fail on the first non-successful report
  • Update RGCompare engine to 1.6.0.7325

New features

  • Regex Rule code analysis results now include the line and column number of where violations occurred

Flyway 9.10.2 (2022-12-22)

Bug fixes

  • Issue 3581 Resolves migration resolvers not fully supporting instances for API users

Changes

  • version operations (`version` or `-v` or `--version`) will now list the versions of all plugins (and if they are correctly licensed)
  • Update AWS dependency to resolve CVE-2022-41915

Thanks to nafg for reporting these issues.

Flyway 9.10.1 (2022-12-16)

Bug fixes

  • Flyway includes a custom SQL Fluff plugin, containing extra rules for enterprise users. Previously, if this custom plugin failed to install it would fail the whole process citing an absence of the correct SQL Fluff installation. It now only gives a warning so core SQL Fluff rules can still be run.
  • Incorrectly errored when validating the configuration for the 'check -changes' command, when using a URL and a snapshot.
  • Config parameter `flyway.executeInTransaction` should now correctly set when doing so via an environment variable.
  • Issue 3582 Fix missing `setBaselineVersion(MigrationVersion baselineVersion)` on ClassicConfiguration

Changes

  • Update RG Compare to 1.3.1.7159

Thanks to bmarcaur for reporting these issues.

Flyway 9.10.0 (2022-12-08)

Bug fixes

  • Fix NPE that results when configuring either 'workingDirectory' or 'jarDirs'

New features

  • Adds a new configuration parameter ('flyway.executeInTransaction') which determines whether SQL execution in a transaction is enabled.

Flyway 9.9.0 (2022-12-07)

Bug fixes

  • Removed the parsing of nested multiline comments from Oracle. This is in line with their documentation that states nested multiline comments are not supported.
  • Drift results now appear in the JSON and HTML reports when 'failOnDrift' is set and drift is present.

Changes

  • The bundled Regex Rules are now case insensitive
  • Update error message for invalid CLI argument to reflect possible fixes
  • The version of the Postgres driver included in the CLI has been increased to 42.4.3 to avoid CVE-2022-41946
  • Issue 3578 Fix documentation to use correct method to configure url, user and password in API

Database compatibility

  • Support for BigQuery is now out of beta and in GA

Thanks to gastaldi for reporting these issues.

Flyway 9.8.3 (2022-11-24)

Changes

  • The version of RG compare included with Flyway has been increased to 1.2.2.6628. This avoids a bug in which 'check' produced empty change/drift reports for certain SQL Server URLs.
  • Upgrade the version of the Apache Ignite core dependency to avoid a new vulnerability.

Flyway 9.8.2 (2022-11-18)

Changes

  • Check reports are written when an exception occurs

Flyway 9.8.1 (2022-11-11)

Bug fixes

  • Fix issue with Regex Rules looking in the wrong directory by default
  • Issue 3563 Fixed parsing error with batch statements in GCP Spanner.

Thanks to Glavis for reporting these issues.

Flyway 9.8.0 (2022-11-11)

Breaking changes

  • Logic for the undo command has been moved into the separate 'flyway-proprietary' module, which will need to be present on the classpath in order to use the undo command. This also means that undo migrations will now be resolved in Community edition, and migrations may be marked as undone in the info output, though running the undo migrations still requires a Teams or Enterprise license. Lastly, when implementing undo migrations as java migrations, they should extend 'UndoJavaMigration' instead of 'BaseJavaMigration'.

Bug fixes

  • Fix an issue where 'clean.mode' would not be detected in Enterprise

Changes

  • We now use 'jackson-dataformat-toml' to read TOML config files, instead of 'night-config'.
  • All 'check' results include the operation in the JSON result
  • Include the code analysis engine's name in the summary logs
  • Bump the version of Redgate Compare to 1.0.0.6319
  • Move documentation to main repo
  • Create a Dialect configuration to allow configuration of rules engine dialect via Flyway
  • Add descriptions to shipped Regex Rules in the check report
  • Bundled Regex Rules are now enabled by default
  • Issue 3562 The version of 'jackson-dataformat' bundled in the CLI package has been bumped to 2.14.0 to avoid CVE-2022-42003

Database compatibility

  • Issue 1317 Add SingleStoreDB support at the Teams level
  • Issue 3570 Cockroach DB is now supported up to the latest version of 22.1

New features

  • The JSON result for the 'check' command now includes the paths to any generated report
  • SingleStoreDB JDBC driver is now shipped in the CLI
  • Allows a configuration ('flyway.check.failOnDrift') to trigger an error if drift is detected with `check -drift` allowing the build to be halted should drift exist.

Thanks to nycjay, engvalla and basweitjens for reporting these issues.

Flyway 9.7.0 (2022-11-02)

Bug fixes

  • Help output for 'check' no longer returns 'null' when 'outputType=json'
  • Issue 3552 Fix Snowflake parser to handle nested 'BEGIN...END' statements

Changes

  • Rule codes are now visible in Code Analysis HTML Reports
  • Update version of MSAL4J to fix CVE-2022-42004
  • Update AWS SecretsManager to fix CVE-2022-42004

New features

  • Add bundled Code Analasys RegEx rules for Enterprise tiers
  • A new rule has been added to the Flyway SQL Fluff plugin, which is applied when running code analysis. This rule checks that all tables created in TSQL have an 'MS_Description' extended property set in the same file.
  • Add REGEX rules engine to `-code` for Enterprise tier

Thanks to pachu for reporting these issues.

Flyway 9.6.0 (2022-10-26)

Changes

  • Move SQLFluff specific components into own module
  • Increase hsqldb version from 2.6.1 to 2.7.1 to resolve CVE-2022-41853
  • Issue 3489 PostgreSQL history table indexes and constraints now use the configured tablespace
  • Issue 3516 Drop PostgreSQL DOMAINs with 'CASCADE'

New features

  • Provide a Mac CLI for arm64 CPUs
  • Issue 3535 Added error override behavior which excludes the full error/warning message and only shows the SQL state and error code.

Thanks to dev257, Peter-Laws and oaowren for reporting these issues.

Flyway 9.5.1 (2022-10-20)

Database compatibility

  • Remove in-product warnings when using PostgreSQL 15

Flyway 9.5.0 (2022-10-19)

Changes

  • Ensure correct version of SQL Fluff is installed
  • Update version of 'commons-text' to fix vulnerability CVE-2022-42889
  • Add edition to the version model
  • When urls are unsupported by check, ascertain which ones are unsupported, and include them as part of the exception.

Database compatibility

New features

  • Add custom code analysis rule that requires tables to have a primary key
  • Add syntax highlighting to dry run reports
  • Issue 3519 Replace SQLPlus placeholders that begin with a double '&'

Thanks to cowwoc and ben-peacock-uk for reporting these issues.

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
  • Issue 3515 Drop MariaDB JDBC driver back to major version 2 to enable MySQL compatibility

Changes

  • Issue 3296 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

  • Issue 3386 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
  • Issue 3505 Include transitive GAX dependency in CLI

Thanks to jward-premise for reporting these issues.

Flyway 9.1.6 (2022-08-18)

Bug fixes

  • Issue 3499 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

  • Issue 3498 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
  • Issue 3491 PostgreSQL session locks now use one connection

Database compatibility

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
  • Issue 3479 BigQuery procedures containing `END AS` are not cut off early.
  • Issue 3487 Update ensured supported to latest documented versions for Oracle and Snowflake

New features

  • Issue 2895 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

  • Issue 3481 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
  • Issue 3469 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

  • Issue 3388 The Ascii table will not be logged if there are no columns
  • Issue 3428 Fix potential parsing bug during 'create package' statement in DB2
  • Issue 3440 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
  • Issue 3444 When using the delimiter keyword the value can be placed on the next line without entering an infinite loop
  • Issue 3449 Update checker times out if it doesn't receive a response
  • Issue 3454 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

  • Issue 3427 PLSQL division on new line in package body is no longer classified as a delimiter
  • Issue 3433 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

  • Issue 3418 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
  • Issue 3414 Ensure we close the connection created during the update stage

Database compatibility

  • Issue 3399 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
  • Issue 3413 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

  • Issue 3358 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

  • Issue 3405 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.
  • Issue 3396 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

  • Issue 3403 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
  • Issue 3378 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
  • Issue 3372 Bump H2 to 2.0.206 due to GHSA-h376-j262-vhq6

Database compatibility

  • Issue 3357 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

  • Issue 3347 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

New features

  • Issue 3365 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
  • Issue 3339 Upgrade H2 version to 2.0.202
  • Issue 3341 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

  • Issue 3331 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
  • Issue 3329 Allow null values for installed on by using commit timestamp in GCP Cloud Spanner
  • Issue 3332 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'
  • Issue 3327 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

  • Issue 3304 Fix bug in parsing MySQL with multiple 'CASE' statements inside 'ORDER BY'
  • Issue 3310 Fix bug in detecting emptiness in non-existent schemas
  • Issue 3311 Fix bug in time function used when updating BigQuery lock

Changes

  • Issue 3307 Remove warning around schemas from CockroachDB

Database compatibility

New features

  • Add ability to specify 'target=next' to apply just the next migration
  • Add Kerberos authentication support for SQL Server
  • Issue 3306 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
  • Issue 3299 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
  • Issue 3291 Fix parsing of multiline configuration parameters that contain a '='
  • Issue 3292 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

  • Issue 3279 Fix constantly repairing migrations with an empty description
  • Issue 3284 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

  • Issue 3275 Fix parsing of identifiers with quotes in PostgreSQL
  • Issue 3279 Repair now checks for an empty description

New features

  • Issue 3277 Add default placeholders to script migrations

Performance improvements

  • Issue 3278 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

  • Issue 3276 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

  • Issue 3256 Fix issue with CockroachDB delete lock statement timestamp not updating

New features

  • Add the ability to configure which logger to use
  • Issue 3257 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
  • Issue 3258 Adding FUNCTION to the list of special cases for IF EXISTS in HSQL
  • Issue 3261 Fix various parsing issues in BigQuery
  • Issue 3266 Detecting abstract Java callback classes no longer cause Flyway to fail.
  • Issue 3269 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

Database compatibility

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

Thanks to everyone who reported these issues.

Flyway 7.12.0 (2021-07-30)

Bug fixes

  • Issue 3197 Fix resolving resources with the same name in multiple classpath locations
  • Issue 3241 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

  • Issue 3165 Fix execution of migrations without a transaction over a single connection
  • Issue 3232 Fix Gradle location configuration override order
  • Issue 3237 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

  • Issue 3227 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

  • Issue 3227 Bump GCP Spanner JDBC version to fix CVE

Database compatibility

  • Include the community DB support package in the CLI
  • Issue 3186 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
  • Issue 3214 Make PostgreSQL database classes extendable
  • Issue 3229 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

  • Issue 3207 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
  • Issue 2918 Add community-level TiDB support
  • Issue 3221 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

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

  • Issue 3177 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

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

Flyway 7.9.1 (2021-05-19)

Bug fixes

  • Issue 3173 Use the ClassLoader specified to Flyway when using the ServiceLoader
  • Oracle - Fix parsing of GOTO statements
  • Inline method to fix compatibility with GraalVM

Changes

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

Flyway 7.9.0 (2021-05-13)

New features

  • Issue 2205 Add failOnMissingLocations parameter
  • Issue 3155 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

  • Issue 3160 Fix parsing of Oracle ACCESSIBLE BY
  • Issue 3161 Clean all SQLServer objects in a 2-pass approach

Changes

  • Issue 3132 'n rows affected' is now debug level in logs
  • Issue 3162 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
  • Issue 3139 Add GNU-standard command line help options

Bug fixes

  • Issue 3152 Fix MySQL parsing nested blocks with labels
  • Issue 3153 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

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

Bug fixes

  • Issue 3129 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

  • Issue 3130 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

New features

  • Issue 3119 Updated MSSQL JDBC driver to allow for interactive authentication

Changes

  • Issue 3131 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

  • Issue 3110 Correctly parse GO in identifiers
  • Issue 3115 Handle NOT ATOMIC statements in MariaDB
  • Issue 3116 Fix cleaning of computed columns in SQL Server
  • Fix JDBC properties environment variables not trimming underscores

Changes

  • Issue 2847 Display link to docs page upon PostgreSQL lock fail
  • Issue 3105 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

  • Issue 3100 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

  • Issue 3084 Allow loading Gradle configuration artifacts outside of a Java project

Bug fixes

  • Issue 3090 Fix cleaning SQL Server computed columns which are primary keys
  • Issue 3091 Fix exception in migration comparator by sorting ignored migrations by version
  • Issue 3092 Fix NPE by checking CodeSource location isn't null

Changes

  • Issue 3098 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

  • Issue 3088 Fix comparator exception in migration comparator
  • Issue 3090 Fix cleaning of SQL Server computed columns which are primary keys
  • Fix incorrectly updating dropped schema list in clean JSON result

Changes

  • Issue 2761 Support SnowflakeDB `QUOTED_IDENTIFIERS_IGNORE_CASE = true`
  • Issue 3071 Support multiline boolean expressions for `shouldExecute`
  • Issue 3081 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

  • Issue 3063 Drop SQLServer types at the database level
  • Issue 3071 Support multiline boolean expressions for shouldExecute

Changes

  • Issue 3074 Log referenced scripts used when calculating checksums
  • Issue 3066 Get MySQL and MariaDB version from the database
  • Check that PostgreSQL unlock result is true

Database compatibility

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

  • Issue 3042 Add fulltext database to SQL Server non-transactional list
  • Issue 3060 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)
  • Issue 3049 HSQLDB: case-sensitivity bug on PROCEDURE fixed
  • Issue 3053 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

  • Issue 3037 Only use external authentication if it is required
  • Issue 3041 Correctly parse nested multi-line comments
  • Issue 3043 Case-insensitive HSQLDB parsing

New features

  • Issue 3039 Allow shouldExecute script configuration option to contain boolean expressions

Changes

  • Issue -1 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

New features

  • Issue 2239 New callback for custom schema creation SQL
  • Issue 3028 Support p6spy in URLs
  • Support reading configurations from Vault and Conjur

Changes

  • Issue 3013 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

  • Issue 3021 Don't cascade when dropping SAP HANA views
  • Issue 3025 Check that connected keywords are on the same line when parsin in Oracle
  • Issue 3029 Use classpath environment variable in bash script
  • Issue 3031 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

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

New features

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

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

Bug fixes

  • Issue 2932 CockroachDB: lock indicators time out if left behind by Flyway erroring on bad scripts
  • Issue 2999 PostgreSQL 12: support for ALTER TYPE ... ADD VALUE being run in a transaction added
  • Issue 3005 PostgreSQL: cleaning no longer tries to drop extensions installed by a superuser
  • Issue 3010 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

  • Issue 2953 Exponential backoff scheme for connect intervals

Bug fixes

  • Issue 2932 Add a timeout to Flyway's custom table lock
  • Issue 2987 Display all validate messages in exceptions
  • Issue 2999 Allow 'alter type' in transactions for PostgreSQL 12 and up
  • Issue 2698 Execute migrations in cherryPick defined order

Changes

  • Issue 3005 Only drop PostgreSQL extensions owned by current user
  • Issue 2914 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

  • Issue 960 Read MySQL credentials from option files
  • Issue 2914 Add filename as a default placeholder
  • Option to filter info by migration state

Bug fixes

  • Issue 2987 Display all validate messages in exceptions
  • Issue 2987 Ignore superseded repeatables when validating

Performance Improvements

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

  • Issue 2991 Fix Teams upgrade exception incorrectly appearing in Community edition

Performance Improvements

Changes

  • Issue 2988 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

  • Issue 960 Support pgpass for authentication
  • Issue 2847 Allow number of lock retries to be configured.
  • Issue 2984 Support for SLF4J v1.8+
  • Issue 2967 Add schema support for Cockroach 20.2
  • Issue 2694 Add windows native folder
  • Issue 2881 Allow for filtering info output by date or version
  • Allow arbitrary script callbacks

Changes

  • Issue 2820 Add validate error codes and improve validate result object
  • Issue 2986 Create the schema history table when using skipExecutingMigrations without baseline
  • Make validate fix suggestions copy-pastable.

Bug fixes

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

  • Issue 2921 Support for Log4J v2
  • Issue 2966 Passwords embedded in Flyway URLs redacted analogously to flyway.password parameter
  • Issue 2977 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

  • Issue 2969 Drop support for setting s3 client via fluent configuration
  • Issue 2907 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

New features

Changes

Bug fixes

  • Issue 2898 Don't prompt for credentials with H2 in-memory databases
  • Issue 2949 Fix table locking retry logic
  • Issue 2954 Fix getting Oracle database name
  • Issue 2959 Fix handling of wrapped SQL in Oracle parser
  • Issue 2961 Fix SQLServer parser block handling
  • Make outputQueryResults public

Performance Improvements

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

  • Issue 2507 Add machine readable output for all commands
  • Issue 2780 Add jdbc-secretsmanager support
  • Oracle SQL*Plus support for glogin.sql
  • Make cherry pick work for repair

Bug fixes

  • Issue 2208 clean assemblies at the database level
  • Issue 2924 Improve mysql parser block handling
  • Issue 2926 Reapply java repeatables when checksum changes from null
  • Issue 2928 Fix parser error when using repeated placeholders
  • Issue 2940 Fix sql server parser error
  • Issue 2448 Drop extensions in PostgreSQL when running clean
  • Issue 2736 Reintroduce Testcontainers support
  • Issue 2872 Batch SQL doesn't error out
  • Issue 2917 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

  • Issue 1986 Allow skipping the execution of a migration
  • Issue 2458 Support for SQL migrations in AWS S3 storage
  • Issue 2594 Postgres driver updated to support SCRAM authentication
  • Issue 2133 Add new callbacks `beforeRepeatables` and `afterVersioned`
  • Issue 2688 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`
  • Issue 2805 The CLI default flyway.conf now specifies the location filesystem:sql
  • Issue 2808 Placeholder names are now case insensitive
  • Issue 1801 Ignore hidden directories on the classpath when finding resources
  • Issue 2785 Allow loading callbacks by scanning a provided package

Database compatibility

  • Issue 2324 Invalid targets now cause an error
  • Issue 2859 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

  • Issue 2805 The CLI default flyway.conf now specifies the location filesystem:sql
  • Issue 2808 Placeholder names are now case insensitive
  • Issue 1801 Ignore hidden directories on the classpath when finding resources
  • Issue 2785 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

  • Issue 2806 Add support for Azure Synapse
  • Issue 2466 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

  • Issue 2936 Update postgres driver version because of XXE vulnerability

Bug fixes

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

Flyway 6.5.6 (2020-09-16)

Bug fixes

  • Issue 2924 Improve mysql block handling
  • Issue 2928 Fix parser bug when using multiple placeholders of the same name
  • Issue 2872 Make batches errors fail fast

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

Flyway 6.5.5 (2020-08-18)

Bug fixes

  • Issue 2903 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

  • Issue 2900 Make scanner resource look up case insensitive

Bug fixes

  • Issue 2901 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

  • Issue 2887 Oracle SQL*Plus: Support @-style import of script file with absolute path
  • Issue 2889 SnowflakeDB: Support //-style single-line comments in scripts

Flyway 6.5.2 (2020-07-22)

Bug fixes

  • Issue 2865 Remove unhelpful warning re. MariaDB driver / MySQL server following driver update
  • Issue 2875 Migration fails when placeholder value is much shorter than its name
  • Issue 2879 Documentation update to clarify script config file location
  • Issue 2883 Percona XtraDB: support strict mode MASTER similarly to ENFORCING
  • Issue 2884 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

  • Issue 2866 MySQL parser: fixed error around CREATE TABLE IF NOT EXISTS
  • Issue 2867 SQL*Plus: SPOOL now produces output during migration/callback to requested file

Docker images

  • Issue 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

  • Issue 2350 Added a config option to disable automatic schema creation
  • Issue 2766 Allow script encoding to be set on a per-script basis
  • Issue 2838 Make ResourceProvider and ClassProvider configurable

Bug fixes

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

  • Issue 2832 Fix bug with cleaning modules in DB2
  • Issue 2837 Fix bugs related to reading config from standard input
  • Issue 2843 Improved Snowflake support for $$ string literals

Changes

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

Flyway 6.4.3 (2020-05-27)

Bug fixes

  • Issue 2559 Improve SQL*PLUS SET FEEDBACK support
  • Issue 2813 Fix cleaning a SQL Server table with a FILESTREAM column
  • Issue 2817 Fix PostgreSQL parser handling of escaped strings
  • Issue 2819 Support blank sql version prefix
  • Issue 2821 Fix REPAIR issues
  • Issue 2828 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

Bug fixes

Thanks to Kenny2912 and LHCGreg for reporting these issues.

Flyway 6.4.1 (2020-04-30)

Changes

Bug fixes

  • Issue 2795 Unable to decrease block depth below 0 error in version 6.4.0
  • Issue 2794 ADD COLUMN IF NOT EXISTS in MariaDB generates a Flyway Parsing Error
  • Issue 2796 Parse error using MySQL 8 since flyway 6.3
  • Issue 2781 Delimiter changed inside statement
  • Issue 2786 Delimiter changed inside statement on delimiter change right after comment
  • Issue 2774 Parser issue for Sybase ASE for keyword GOTO
  • Issue 2783 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

  • Issue 1192 allow wildcard in flyway.locations
  • Issue 2695 Enable piping of config files to command line
  • Issue 2182 PostgreSQL: Parse search_path to determine name of first non-existing schema to create

Changes

  • Issue 2756 Fix performance issue with the MySQLSchema doEmpty() call
  • Issue 2769 Don't prompt for user+password for Azure passwordless auth
  • Issue 2754 Baseline doesn't work if flyway_schema_history table exists
  • Issue 2678 Parameters in JDBC URL

Bug fixes

  • Issue 2773 Flyway parsing bug: unable to decrease block depth below 0
  • Issue 2772 unable to decrease block depth below 0
  • Issue 2768 unable to decrease block depth below 0
  • Issue 2762 Flyway parsing bug: unable to decrease block depth below 0
  • Issue 2758 Block Depth Below 0 - MySQL 5.7 CREATE PROCEDURE
  • Issue 2770 No schema history found in dry run
  • Issue 2759 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

  • Issue 2701 Oracle parser: Improve support for oracle statements separated by a /
  • Issue 2716 Oracle parser: Don't suppress comments after Sqlplus PROMPT
  • Issue 2737 MySQL parser: Fix support for block statements with multiple cases denoted by THEN
  • Issue 2743 Fix memory leak
  • Issue 2748 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

  • Issue 2132 Command line should not prompt for values if user and/or password are in PostgreSQL JDBC URL
  • Issue 2720 MySQL parser: block depth error with IF NOT EXISTS
  • Issue 2724 SAP HANA parser: error on creating function
  • Issue 2726 MySQL parser: error when delimiter changed inside statement
  • Issue 2727 Flyway shouldn't try to colorize output when no `System.console()`
  • Issue 2733 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

  • Issue 2709 flyway.url must be set when running command but already set in flyway.conf
  • Issue 2447 Cleaning dry-runs

Bug fixes

  • Issue 2699 Default placeholder is not populated
  • Issue 2702 Building against enterprise flyway command line with gradle fails
  • Issue 2707 Flyway does not execute SQL in a migration to create a MySQL procedure when it contains DROP TABLE IF EXISTS
  • Issue 2715 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

  • Issue 1780 Flyway api load configuration files from the default locations
  • Issue 2022 Support for workingDirectory parameter added to clients which didn't already have it
  • Issue 2177/2685 Repeatable migrations with placeholders re-run when placeholder value changes
  • Issue 2555 Support for multiple lines in flyway.conf
  • Issue 2700 Add support for a timestamp placeholder

Changes

  • Issue 2527 Baselining with empty history table now throws error
  • Issue 2692 Providing a license key to the community edition is now a warning instead of an error

Bug fixes

  • Issue 2447 Fix cleaning SQL Server partition schemes/functions when there are cross-schema dependencies
  • Issue 2605 Flyway not able to create the schema history in Sybase with DDL IN TRAN = OFF
  • Issue 2684 Fix cleaning a Redshift schema containing procedures
  • Issue 2687 Fix mysql parser comment before DROP IF EXISTS
  • Issue 2689 Support putting comments and newlines within the package definition
  • Issue 2693 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

  • Issue 2674 Oracle SQL*Plus parsing extended to support SPOOL
  • Issue 2675 MySQL parsing bug
  • Issue 2676 MySQL CREATE TABLE IF EXISTS parsing bug
  • Issue 2677 Snowflake no longer needs dummy password if using key-based authentication
  • Issue 2679 Password prompt for SQL Server integration auth
  • Issue 2681 NullPointerException when running flyway info -json
  • Issue 2682 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

Bug fixes

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

Flyway 6.2.2 (2020-02-06)

New features

Bug fixes

  • Issue 2653 MariaDB does not clean system versioned tables
  • Issue 2655 MariaDB jdbc driver logs errors on startup
  • Issue 2657 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

Bug fixes

  • Issue 2567 Undo + ErrorOverride throws exception but fails to record in schema_history table
  • Issue 2612 Oracle: Package body initialization section with implicit END
  • Issue 2643 clean fails on SQL Server 2014 and older
  • Issue 2638 Add comment to select statement for schema history to disable load balancing on Pgpool-II
  • Issue 2649 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

  • Issue 2186 New option to explicitly validate SQL migration/callback script names
  • Issue 2590 Flyway output not colored in jenkins when using ansiColors plugin
  • Issue 2621 Re-add the CLI option to disable colorization.

Changes

  • Issue 1328 In multiple managed schema scenario, if one of the schemas already exists, no other schema is created

Bug fixes

  • Issue 2620 Scripts with empty description causing issues in Oracle and Sybase
  • Issue 2624 Error parsing CASE...END in SAP HANA
  • Issue 2626 Support for MariaDB enterprise version numbering
  • Issue 2634 Deadlock on some instances of Postgres
  • Issue 2637 Add environment variable for defaultSchema

Java compatibility

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

  • Issue 2608 Unrecognised configration parameters all reported on at the same time
  • Issue 2609 Oracle: fix parsing of Q'! ... !' quoted string literals
  • Issue 2611 Problems with Java comments in Oracle CREATE JAVA statement
  • Issue 2613 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

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

  • Issue 2519 Previous fix also needed for Azure MySQL Database v8
  • Issue 2582 Combining -json and -logFile yields no logFile
  • Issue 2591 Oracle: invalid delimiter (not alone on line) ignored
  • Issue 2596 Snowflake stored procedure issues in migrate and clean
  • Issue 2597 Parenthesis depth affects interpretation of LOOP in Oracle parser
  • Issue 2602 Redact licence key in -X (DEBUG) mode

Database compatibility

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

Flyway 6.1.1 (2019-12-09)

Bug fixes

  • Issue 2560 Whitespace after / delimiter causes migration to fail
  • Issue 2571 Changing delimiter to # in MySQL fails
  • Issue 2577 Support JavaScript in Snowflake stored procedures
  • Issue 2578 Clean fails for PROCEDURE in Postgres 12
  • Issue 2580 Escaping issue with environment variable substitution
  • Issue 2592 Cockroach doesn't support mixing DDL / DML in transactions
  • Issue 2595 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

  • Issue 1384 Special automatically-populated FLYWAY.CURRENT_SCHEMA placeholder
  • Issue 1479 Environment variable substitution in config files
  • Issue 1735 Snowflake support
  • Issue 2180 Option to log a copy of the command-line output to a file
  • Issue 2254 Machine-readable Flyway Info
  • Issue 2445 Cockroach 19.2 support
  • Issue 2532 H2 1.4.200 support
  • Issue 2546 Option to force migration to (or not to) run in a transaction

Changes

  • Issue 2576 New configuration parameter flyway.defaultSchema

Bug fixes

  • Issue 1466 Classpath scanning results are cached between migrate runs
  • Issue 2535 CREATE TABLE ... AS SELECT not allowed in MySQL when enforcing GTID consistency
  • Issue 2550 Oracle SQL*Plus: SET ECHO ON should echo to Flyway's output
  • Issue 2553 Error message improved when script is incorrectly named
  • Issue 2562 Dry Run fails to recognise baseline version
  • Issue 2566 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

  • Issue 2537 Unexpected error re. non-empty schemas
  • Issue 2539 HSQLDB: Unable to parse DROP INDEX IF EXISTS statement
  • Issue 2542 MS-SQL stored proc calls cause non-transactional statement error.
  • Issue 2493 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

  • Issue 2432 & in comments should not trigger SQL*Plus placeholder replacement Flyway Teams
  • Issue 2519 Workround for Azure MySQL Database (Basic Edition) incorrectly reporting version
  • Issue 2530 Empty line after / delimiter causes migration to fail
  • Issue 2531 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

Changes

  • Minor-version updates to some third-party dependencies

Bug fixes

  • Issue 2183 Fail-fast when errorOverrides are used with batch=true
  • Issue 2511 Support backtick as an identifier quote for H2 database running in MySql mode
  • Issue 2512 Null placeholder value no longer works for H2 database running in MySql mode
  • Issue 2519 Workround for Azure MySQL Database incorrectly reporting version
  • Issue 2522 Parser error when SQL*Plus SET statement is preceded by comments Flyway Teams
  • Issue 2523 Error when SQL*Plus SERVEROUTPUT is set to WORD_WRAPPED Flyway Teams

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

  • Issue 2504 Flyway gradle task cannot open file within custom location (windows)
  • Issue 2503 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

Changes

  • Issue 2116 validate() now warns on all checksum failures, rather than stopping at the first one found
  • Issue 2498 Avoid creating unnecessary ResolvedMigrationComparator instances
  • Issue 2499 Compare function(s) should return -1 || 0 || 1

Bug fixes

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

  • Issue 2436 H2 Oracle mode: Unable to create schema history table
  • Issue 1794 H2 Oracle mode: NULL not allowed for column 'installed_by'
  • Issue 2493 Forward-slash as division operator within PL/SQL
  • Issue 2496 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

Bug fixes

  • Issue 2467 Unable to create H2Database instance
  • Issue 2481 Getting unsupported error with correct versions?
  • Issue 2484 Parsing inline comments for SQL*Plus DEFINE statements fixed Flyway Teams
  • Issue 2486 SQL Azure incorrectly detected as SQL Server 2014
  • Issue 2487 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 Zygielo, Simon Stelling, Tauri28, and terje2001 for reporting these issues and submitting pull requests.

Flyway 6.0.0 (2019-08-19)

New features

Changes

  • Issue 2450 Unify database support policy in Enterprise edition

Incompatible changes

  • Issue 2276 Query results are now also displayed in Flyway Community Edition when using SELECT statements

Bug fixes

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

Bug fixes

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

Changes

Incompatible changes

Bug fixes

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

  • Issue 2215 MySQL: Migrate fails when the user does not have permission to SELECT on user_variables_by_thread table
  • Issue 2219 Undo followed by repair leads to corrupted schema history
  • Issue 2220 Command-line on Windows: Locations with spaces fails with `was unexpected at this time` error
  • Issue 2221 Flyway 5.2.2 incorrectly complains about required SQLite upgrade
  • Issue 2222 SAP HANA: CREATE OR REPLACE not working
  • Issue 2229 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

  • Issue 2213 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

Changes

  • Issue 2209 Integrate Trial Edition into Pro and Enterprise Editions

Bug fixes

  • Issue 2185 CONFIG statement cannot be used inside a user transaction
  • Issue 2190 SQLite: Migrations containing PRAGMA foreign_keys= should be marked as non-transactional
  • Issue 2197 MySQL: User-defined variables leak across migrations
  • Issue 2198 Flyway fails to find resources in Felix 6.0.1 environment
  • Issue 2202 NullPointerException with PostgreSQL CREATE RULE statements
  • Issue 2206 MariaDB: Can't create database 'null' error if no database was specified in URL
  • Issue 2210 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

  • Issue 2170 Command-line: Add flags for running specific editions

Bug fixes

  • Issue 2169 setCallbacks inconsistent deprecation warning
  • Issue 2171 MySQL Driver 5.1.x support
  • Issue 2175 'sp_addsubscription' cannot be executed within a transaction
  • Issue 2176 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

Incompatible Changes

  • Issue 1807 Disable recursive filesystem scanning down hidden directories
  • Issue 2165 MigrationResolver.resolveMigrations() now takes a Context parameter
  • Issue 2165 MigrationExecutor has been moved to the new org.flywaydb.core.api.executor package
  • Issue 2165 MigrationExecutor.executeInTransaction() has been renamed to canExecuteInTransaction()
  • Issue 2165 MigrationExecutor.execute() now takes a Context parameter

Changes

  • Issue 2147 Oracle 12.1 support is now Flyway Enterprise Edition-only
  • Issue 2164 JdbcMigration and SpringJdbcMigration have been deprecated in favor of JavaMigration
  • Issue 2164 BaseJdbcMigration and BaseSpringJdbcMigration have been deprecated in favor of BaseJavaMigration
  • Issue 2164 MigrationInfoProvider, MigrationChecksumProvider and ConfigurationAware have been deprecated in favor of JavaMigration

Bug fixes

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

Bug fixes

  • Issue 2051 PostgreSQL: clean fails when trying to drop aggregates added by extensions
  • Issue 2052 Regression Issue: Checksums invalid for blank migrations applied in v5.0.7 and below
  • Issue 2053 Repeatable migrations produce invalid SQL during dry-run
  • Issue 2060 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

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

Thanks to Dar Brett, Esteban Marin, Piotrek Zygielo, 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

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 Kaminski, 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

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

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

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

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

Incompatible Changes

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

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

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

Documentation fixes

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

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

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

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

Flyway 3.2 (2015-03-16)

New features

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

Incompatible Changes

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

Changes

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

Bug fixes

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

Flyway 3.0 (2014-04-20)

New Features

Incompatible Changes

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

Changes

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

Bug fixes

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

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

Flyway 2.3 (2013-12-17)

New Features

Changes

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

Bug fixes

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

Flyway 2.2.1 (2013-08-20)

Bug fixes

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

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

Flyway 2.2 (2013-07-15)

New Features

Incompatible Changes

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

Changes

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

Bug fixes

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

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

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

Special thanks to Ben Manes for contributing the Gradle Plugin!

Flyway 2.1.1 (2013-03-15)

Bug fixes

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

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

Flyway 2.1 (2013-03-05)

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

New Features

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

Incompatible Changes

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

Changes

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

Bug fixes

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

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

Flyway 2.0.3 (2012-12-05)

Bug fixes

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

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

Flyway 2.0.2 (2012-11-22)

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

Bug fixes

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

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

Flyway 2.0.1 (2012-11-20)

Bug fixes

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

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

Flyway 2.0 (2012-11-14)

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

New Features

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

Incompatible Changes

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

Changes

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

Bug fixes

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

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

Flyway 1.7 (2012-07-10)

New Features

  • Issue 174 Multiple differently named base dirs for SQL Migrations

Changes

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

Bug Fixes

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

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

Flyway 1.6.1 (2012-04-21)

Bug Fixes

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

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

Flyway 1.6 (2012-04-09)

New Features

Changes

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

Bug Fixes

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

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

Flyway 1.5 (2011-11-09)

New Features

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

Changes

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

Bug Fixes

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

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

Flyway 1.4.2 (2011-06-29)

Bug Fixes

Thanks to Armin Gattung for reporting this issue.

Flyway 1.4.1 (2011-05-27)

New Features

  • Issue 129 Use user supplied TransactionManager

Bug Fixes

Thanks to jmarin and floburka for reporting these issues.

Flyway 1.4 (2011-05-13)

New Features

Changes

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

Bug Fixes

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

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

Flyway 1.3.1 (2011-04-06)

New Features

Bug Fixes

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

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

Flyway 1.3 (2011-03-18)

New Features

Bug Fixes

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

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

Flyway 1.2 (2011-02-27)

New Features

Changes

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

Bug Fixes

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

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

Flyway 1.1 (2011-02-03)

New Features

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

Bug Fixes

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

Thanks to jaggerjackkurosaki and Thomas Kruse for reporting these issues

Flyway 1.0.1 (2010-12-27)

Bug Fixes

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

Flyway 1.0 (2010-12-26)

New Features

  • Clean now purges the Oracle recycle bin

Bug Fixes

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

Thanks to Mathias Bogaert for reporting the Flyway.configure issue

Flyway 0.9.5 (2010-12-12)

New Features

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

Changes

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

Bug Fixes

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

Flyway 0.9.4 (2010-11-24)

Changes

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

Bug Fixes

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

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

Flyway 0.9.3 (2010-11-09)

New Features

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

Thanks to Mathias Bogaert for reporting this issue

Flyway 0.9.2 (2010-11-05)

New Features

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

Changes

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

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

Flyway 0.9.1 (2010-09-14)

Bug fixes

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

Thanks to Hilario Fernandes for reporting this issue.

Flyway 0.9 (2010-08-25)

New Features

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

Changes

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

Bug Fixes

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

Flyway 0.8.5 (2010-07-26)

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

Flyway 0.8 (2010-07-15)

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

Flyway 0.7 (2010-06-29)

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

Flyway 0.6 (2010-06-13)

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

Flyway 0.0.5 (2010-05-13)

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

Flyway 0.0.4 (2010-05-09)

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

Flyway 0.0.3 (2010-04-26)

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

Flyway 0.0.2 (2010-04-23)

  • Fixed current version index on Oracle

Flyway 0.0.1 (2010-04-20)

  • Initial Release

Roadmap


Didn't find what you were looking for?