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