添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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
  • 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
  • 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
  • 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
  • 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.
  • Add NOLOCK to SQL Server query to reduce blocking
  • Fix result publishing when chaining commands
  • Issue 3947 skipExecutingMigrations now works for OSS

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

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

    Issue 3900 Increase Cloud Spanner support to 2.18.1 Issue 3905 Increase H2 support to 2.2.224

    Java compatibility

  • add file helpers
  • Thanks to credmond-git and BlueIce for reporting these issues.

    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
  • 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
  • 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.
  • 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`

    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.
  • 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
  • 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:[email protected] to fix CVE-2023-52428
  • Thanks to bhavneshpateloptum for reporting these issues.
  • 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.

    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.
  • 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`
  • 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
  • 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.
  • 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.

    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.
  • 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.
  • 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:[email protected] to software.amazon.awssdk:[email protected] to fix CWE-295
  • Thanks to kankaiz for reporting these issues.
  • 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.
  • 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

    Issue 3736 Increase CockroachDB support to V22.2

    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

    Issue 3723 Upgrade Jackson to 2.15.2

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

    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
  • 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`
  • 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.

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

    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.

    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.

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

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

    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.

    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.

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

    Issue 3539 Add support for PostgreSQL 15

    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 '&'
  • 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
  • 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
  • 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
  • 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.
  • 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

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

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

    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

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

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

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

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

    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
  • 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.
  • 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.
  • 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
  • Add Cockroach v21.1 support
  • Closed beta signup for Google Cloud Platform ( Cloud Spanner & Big Query )
  • Bug fixes

  • Fix issue where Flyway no longer prompts for credentials
  • Thanks to guillaumBrisard for reporting these issues.
  • Fix connecting to Snowflake with role which has special characters
  • Fix handling of PL/SQL / "slash" delimiters that are not in first column
  • Changes

    Issue 3174 Clean schemas before dropping them
  • 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
  • Add ignoreMigrationPatterns parameter to customize validate
  • Add support for Oracle proxy user connections
  • Changes

    Issue 3132 Log 0 rows affected at the debug level
  • 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.
  • 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

    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
  • Correct name for MSSQL integrated security DLL
  • Only validate cherry-picked migrations
  • Use correct execution time in migrate result
  • Performance improvements

    Issue 3024 Improve performance of shouldExecute Issue 2986 Create the schema history table when using skipExecutingMigrations without baseline
  • Make validate fix suggestions copy-pastable.
  • Bug fixes

    Issue 2987 only mark latest repeatable as deleted
  • 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
  • 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. 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. 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. 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. 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. 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. Issue 1803 Postgres "ERROR: must be superuser to create a base type" during clean of DOMAIN Issue 2026 ErrorOverrides should also work with negative error codes Issue 2027 Getting 'ERROR: Validate failed' after upgrading from 5.0.7 to 5.1.0 Issue 2029 Regression in 5.1.0 regarding non-transactional migrations including comments Thanks to Patrick Kohan, Peter Matseykanets and Simon Kissane for reporting these issues.

    Flyway 5.1.0 (2018-05-24)

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

    New features

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

    Incompatible Changes

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

    Changes

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

    Bug fixes

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

    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. Issue 1549 Flyway "(unsupported protocol: war)" with Tomcat 8.0.41 and unpackWARs=false Pull Request Issue 1553 cleanOnValidationError does not recover from "Detected failed migration" error Issue 1558 Fixed the current schema/current user confusion in OracleSchema Pull Request Issue 1559 Forbid performing Clean command against all system schemas in Oracle Pull Request Issue 1566 Make default resolvers handle all locations in one instance Pull Request Issue 1573 Clean improvements for Oracle Pull Request Issue 1578 Oracle statement fails when it contains 'string'as and no space in between Issue 1587 Repeatable migration with version incorrectly detected as versioned migration Issue 1607 For Postgresql migrations, add support for "DROP INDEX CONCURRENTLY .*" Pull Request Issue 1611 Fix a minor typo in Javadoc Pull Request Thanks to Brian Chen, Durim Kryeziu, Gili Tzabari, Jamie Swain, mtcremin, Stephan Pauxberger, svitalsky, Thomas Meyer and Victor Osolovskiy for reporting these issues and contributing fixes. 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 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 Issue 851 Support for PostgreSQL statements that cannot run within a transaction € Sponsored by JustWatch and Porch Issue 1151 Support overriding of installed_by user in metadata table Issue 1352 Add ignoreMissingMigrations flag Issue 1477 Commandline: Add -n flag to suppress credentials prompt

    Incompatible Changes

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

    Changes

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

    Issue 1067 Metadata table creation failure with fresh db Issue 1163 DB2 change delimiter using --#SET TERMINATOR Issue 1180 sqlite: flyway migrate fails, reports database is locked Issue 1261 classpath scanner does not find db.migration package or resources € Sponsored by Startrack Issue 1318 sqlite DB locked when you specify flywayDriver Issue 1331 Validation fails on migrate when schema doesn't exist Issue 1333 OracleDB failed to migrate while schema name contains character "-" Issue 1346 Migration hanging with HsqlDB 2.3.4 Issue 1348 Remove warning when using flyway.version maven property Issue 1351 Repair does not fix "Migration Description mismatch" error Issue 1358 Reverted version of a repeatable script should be reapplied Issue 1363 ValidateOnMigrate should fail for unapplied migration when outOfOrder=false Pull Request Issue 1364 Validate with target=current should fail on unapplied migration Issue 1368 Possible race condition on MetaDataTable-Upgrade Issue 1369 support for IBM DB2 users with dashes in username (like 'A-A') Issue 1382 Inconsistent usage documentation: conf/flyway.conf vs conf/flyway.properties vs ./flyway.conf Pull Request Issue 1387 schema_version column version not nullable on Sybase ASE Issue 1396 Log the inner exception thrown from JdbcMigrationResolver.resolveMigrations() Issue 1401 Not getting the full stack error Issue 1415 performance improvements when installing a large number of migration scripts Issue 1428 Repeatable migrations - error in case of checksum mismatch Issue 1430 Having only Repeatable Migrations crashes Flyway Issue 1446 SQL parsing problem when combining Postgres's COPY ... FROM stdin and SQL domains Issue 1457 When migrations have been applied by enabling out-of-order Flyway displays the wrong current version Issue 1463 Unable to clean schema that contains function calling another function and both have SCHEMABINDING Issue 1468 Using flyway.serverId produces WARNING log Issue 1470 Add support for Oracle editionable objects Pull Request Issue 1474 ClassCastException in AndroidScanner Pull Request Issue 1483 Flyway doesn't recognize Sybase ASE 12.5 Issue 1487 Exception "Unable to resolve Jdbc Java migrations in location" due to wrong assumption on classloader behavior Issue 1499 Sqlite locks when attempting a migration result in SQLException: [SQLITE_BUSY] Issue 1512 Warnings when application is packaged as a Spring Boot executable war Thanks to Andrew Berglund, Andrew McLaughlin, Antti Lampinen, azalesky, Benoit Devos, blimey74, Brian Krahmer, chrstnk, Craig Pardey, cristalp, David Vázquez Púa, Dustin Conrad, Eugen Pribulla, G. Richard Bellamy, JasonAUnrein, Jason Turim, JB Nizet, Jeremy Bush, Joris Kuipers, Juan Liska, masc3d, Michael Prankl, nathansgreen, Olivier Gérardin, PeeZu, Petar Tahchiev, pswrdf, qwazer, reactormonk, rousej, Stefan Ferstl, Stefan Hausner, sw00, Taufiq Hoven, tomaszglinski toro01 and zvika77 for reporting these issues and contributing fixes. Special thanks to JustWatch , Porch and Startrack for sponsoring features and fixes. Thanks to Dennis Hoer, frbo42, Gili Tzabari, hartrc, John McCall, lrozenblyum, smohara and Sten Røkke for reporting these issues and contributing fixes. Issue 1227 Resources not found from bundles without wiring to org.osgi.framework Pull Request Issue 1231 Upgrading AWS Redshift DB from Flyway 3.2.1 to 4.0 failed - couldn't upgrade metadata table Pull Request Issue 1233 Allow commandline client to specify placeholderReplacement Pull Request Issue 1235 Flyway upgrade from 3.2.1 to 4.0 fails with Oracle error ORA-00955: name is already used by an existing object Pull Request Issue 1238 Dollar-quoted PostgreSQL function definitions are parsed incorrectly in some situations Issue 1245 Flyway 4.0 config Postgres requires user/pass Issue 1249 MigrationInfoImpl violates the compareTo contract Issue 1255 Issue with create schema_version for Sybase ASE Issue 1264 Regression in multiline comments/quotes handling Issue 1265 Upgrade metadata table to v4.0 fails on Derby Pull Request Issue 1270 Vertica does not support repeatable migrations Issue 1280 beforeEachMigrate callback can't change search_path anymore Issue 1292 Clean does not delete procedures on case sensitive SQLServer Pull Request Issue 1293 Flyway cannot create schema table on Galera cluster (MariaDB) Pull Request Issue 1296 Order in which callbacks are executed Issue 1298 Warning about flyway.current property Issue 1299 Using MySQL Connector/J 6.x warns about JDBC driver class name Issue 1300 Fail if user is set in Flyway config, but password is only present in settings.xml Issue 1301 Fix IBM classloader regression Pull Request Issue 1302 NullPointerException migrating to "current" on empty DB

    Documentation fixes

    Issue 62 Fix jre setup documentation Issue 65 Rewrite Android documentation to fit Android Studio/Gradle and SQLDroid better Pull Request Issue 66 fix sbt version Pull Request Issue 68 Remove flywaySettings from sample configurations Pull Request Issue 70 Fix of lost tag `pre` around sample configuration Pull Request Issue 1275 Document SBT custom configuration usage Issue 1277 The fact that repeatable migrations are applied after versioned migrations should be documented explicitly Thanks to alekseevIN, Alexey Kobyakov, Antti Lampinen, Artem Konenko, Aurélien Mino, azalesky, Erin Drummond, fromi, Gian Marco Gherardi, Gili Tzabari, hntran8, J. Taylor O'Connor, Jeff Johnston, Johannes Brodwall, Kari Häkkinen, Kenji Yoshida, Kevin Wimmer, krispii, lrozenblyum, Maksim Serebro, Marat Abrarov, mezuzza, Nathan Vick, Nick Strecker, oohira, Renat Sabitov, ridiekel, sourcesmith, Sten Røkke, tsbx, Walter Gillett and Werner Mueller for reporting these issues and contributing fixes.

    Flyway 4.0 (2016-02-29)

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

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

    New features

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

    Incompatible Changes

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

    Changes

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

    Bug fixes

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

    Documentation fixes

    Issue 49 Sentence was missing a word Pull Request Issue 53 Minor wording change in documentation around Java class naming Pull Request Issue 607 Doc enhancement: More features for the feature comparison matrix Thanks to aegyed, Aurélien Mino, axaluss, Barry O'Neill, cajnoj, Christian Dedié, crump32, David Phillips, diwa, dukeyin, dzharikhin, Dzmitry Lazerka, Eduardo Piaro, Eric Parton, Fabio Lisboa, Gili Tzabari, gnomff, hamiller, Jason Wong, Jens Berke, Jens Doose, JGMM, Josh Mahonin, Karel Rank, Kevin Sheedy, khelsen, Kristopher Landon, Larivact, Lukas Eder, Luke Pryor, Marc-André Poulin, Mark Petrovic, Markus Umefjord, martin-grofcik, mdaquel, Michael Verrilli, MingoDynasty, mojoo, Nathan Vick, Neo Wu, Nitin Gautam, Pascal Gruen, pentavalle, pingw33n, PredatorVI, Ringerl, Sachin Walia, Salman Haq, sastorsl, Sebastian Tacke, Stephan Pauxberger, stkuehnl, Sylvain Guillopé, thelateperseus, Tim Büthe, Tom Eicher, Yevgeniy Mordovkin and ysobj for reporting these issues and contributing fixes. Thanks to avesse, David J. M. Karlsen and soemeier for reporting these issues and contributing fixes.

    Flyway 3.2 (2015-03-16)

    New features

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

    Changes

    Issue 752 Deprecated Flyway.setBaselineVersion(String) , use setBaselineVersionAsString(String) instead. Issue 752 Deprecated Flyway.setTarget(String) , use setTargetAsString(String) instead. Issue 752 Deprecated Flyway.setCallbacks(String...) , use setCallbacksAsClassNames(String...) instead. Issue 752 Deprecated Flyway.setResolvers(String...) , use setResolversAsClassNames(String...) instead. Issue 895 Deprecated Gradle plugin ID flyway , use org.flywaydb.flyway instead. Pull Request Issue 966 Commandline: Deprecated jarDir , use jarDirs instead.

    Bug fixes

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

    Documentation fixes

    Issue 959 Gradle documentation should have commas to separate placeholders Thanks to Adrian Christen, Andrew Murray, Armin Gattung, benheilers, Cosmin Stejerean, David M. Carr, david-mas, Diego Plentz, Gili Tzabari, gergelyszakacs, janbols, Marcello Nuccio, Mauro Molinari, Michael Forstner, pete-experimenter, Rahul Prabhakar, Sabine Gallus, Sanjay Deshmukh, sogft, Sudeep Ambekar and vaesbart for reporting these issues and contributing fixes. Issue 860 The FlywayCallback interface has two new methods: beforeBaseline() and afterBaseline() . Issue 860 info() now returns INIT migrations as BASELINE. Issue 860 info() now returns PREINIT migrations as BELOW_BASELINE.

    Changes

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

    Issue 691 Clean fix #664 breaks DB2 clean in some cases Issue 718 SQLServer: no exception thrown when statement fails Pull Request Issue 735 cygwin classpath problem Pull Request Issue 742 flyway info does cuts off or truncates information Issue 746 Unhelpful error when forgetting "flyway.driver" with xerial sqlite-jdbc Issue 754 flyway fails to remove forward slash from a script if it contains a comment Pull Request Issue 758 Fixed OSGi metadata table create script loading Pull Request Issue 761 Clean Oracle scheduled jobs Pull Request Issue 770 Improve Oracle error - show the ORA code Issue 774 Informational message from database logged at WARN level Pull Request Issue 779 Restore JDK6 compatibility for Gradle plugin Pull Request Issue 783 Spring Jdbc not available from command line Issue 793 MySQL flywayMigrate fails due to user permission Issue 800 Handle Oracle java source Pull Request Issue 801 ClassPathScanner fails with enum Issue 802 Clean on DB2 does not clean triggers Pull Request Issue 806 Flyway does not clean sequences on SQL Server 2012 Issue 816 Allow newer migrations to exist and be skipped by validateOnMigrate Issue 824 Classpath scanner does not detect sql-files in WEB-INF/classes in (non-exploded) war-file Issue 825 Warn instead of fail when clean cannot find a schema Issue 830 Allow gradle plugin to create multiple migrate tasks for different schemas Pull Request Issue 842 migrate [initOnMigrate, initVersion] should use initVersion when the schema does not exist Issue 843 Flyway suppresses warnings silently on SQLException Issue 866 Classpath Scanner swallows Instantiation Exceptions Issue 867 DB2 schema clean fails for expression-based index Issue 868 Update filed for MSSQL scripts containing 'Go' Issue 871 Please include SQLException message when failing to connect Issue 877 Exception cause lost in classutils instantiateAll Issue 884 Flyway incorrectly handles paths with a + in their name Thanks to Adrian Chung, aldas, Armin Gattung, Boris Stumm, Brandon Bremen, Carlo Conserva, Christine Teig, cowwoc, crannym, Dan Nawrocki, Dembach Goo Informatik, Deryl Spielman, everflux, flavor8, Hurricane Hamilton, James Elliott, Jurica Krizanic, larry-s, Lukasz Rozek, Mark Sievers, Michael Yaakoby, Mikhail Chibel, Muni10, Nathan Vick, Nick Golubev, Olivier Adam, orbfish, PeeZu, Ray Holder, rekonvald, Rao Sadhu, Sajan Chandran, Sebastian Vuorinen, Siva Panduranga Stephan Pauxberger, Steve Todd, Tom Eicher, Wilkin Cheung and Yiyu Jia for reporting these issues and providing fixes.

    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 is now tested with Ant 1.8.4 (was 1.8.2)
  • Deprecated the MigrationVersion() constructor. Use MigrationVersion.fromVersion(String) instead.

    Bug fixes

    Issue 456 MySQL CharSet cast support Pull Request Issue 480 MySQL SQL Parsing Error Pull Request Issue 575 Output failed statement Pull Request Issue 576 flyway:migrate complains about missing URL even when execution should be skipped Issue 585 Maven Plugin not overriding properties with System Properties Issue 589 flyway:clean doesnt remove check constraint Pull Request Issue 593 Parse error with mysql string literal that ends in b' or x' Pull Request Issue 594 Parse error with mysql string literal that ends in an escaped backslash Pull Request Issue 598 No "current" schema in flyway.url causes a Flyway exception Pull Request Issue 604 [oracle] flyway:clean doesn't handle DDL triggers very well Issue 611 MySQL : Parse error with a very simple script and mixed simple / double quotes Pull Request Issue 625 change or indicate in doc where flyway.locations filesystem in looking from ant task Issue 640 MySQL multi-line comment directives not recognised Pull Request Issue 656 Support Oracles multibyte datatype statements Issue 663 Clean doesn't handle temporal/versioned tables correctly in DB2 Pull Request Thanks to Adam Green, Baptiste Gaillard, Christian Dedié, Christoffer Eide, Dave O'Flynn, garichner, Kevin Sheedy, Lukasz Rozek, Matt Garner, migore, pimlottc, Pavel Boldyrev, Piotr Wielgolaski, Rajnish Srivastava, Robert Handschmann, Thomas Queste, Tom Eicher and Ulf Bamberg for reporting these issues and providing fixes. 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.

    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

    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

    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.2 (2012-11-22)

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

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

    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
  • Issue 248 New Flyway.info() call for info about both applied and pending migrations and current status of the

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

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

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

    Flyway 1.6 (2012-04-09)

    New Features

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

    Changes

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

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

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

    Flyway 1.5 (2011-11-09)

    New Features

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

    Changes

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

    Bug Fixes

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

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

    Flyway 1.4.2 (2011-06-29)

    Bug Fixes

  • Issue 119 Support Oracle connection users

    Thanks to Armin Gattung for reporting this issue.

    Flyway 1.4.1 (2011-05-27)

    New Features

  • Issue 129 Use user supplied TransactionManager

    Bug Fixes

  • Issue 121 Maven 3 plugin print logs

    Thanks to jmarin and floburka for reporting these issues.

    Flyway 1.4 (2011-05-13)

    New Features

  • Issue 116 Java 5 support

    Changes

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

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

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

    Flyway 1.3.1 (2011-04-06)

    New Features

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

    Bug Fixes

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

    Flyway 1.3 (2011-03-18)

    New Features

  • Issue 40 DB2 support
  • Bug Fixes

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

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

    Flyway 1.2 (2011-02-27)

    New Features

  • Issue 19 SQL Server support

    Changes

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

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

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

    Flyway 1.1 (2011-02-03)

    New Features

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

    Bug Fixes

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

    Thanks to jaggerjackkurosaki and Thomas Kruse for reporting these issues

    Flyway 1.0.1 (2010-12-27)

    Bug Fixes

  • Issue 75 Wrong detection of Spatial Extensions on Oracle 10g (but works on XE)
  • 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.
  • 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
  • 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.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
  •