Release Notes
Flyway 9.4.0 (2022-09-29)
Changes
- Code analysis is now available in Community Edition
Database compatibility
- Add support for SQL Server 2022
New features
- Add configuration to allow flyway to fail when sqlfluff finds issues when running `check code`
Flyway 9.3.1 (2022-09-20)
Bug fixes
- Fix cases of 'cherryPick' causing issues with change and drift reports
- Fix bug where 'installedBy' wasn't always populated during a baseline
- Fixed bug when checking for changes or drift when multiple schemas are configured
Flyway 9.3.0 (2022-09-08)
Bug fixes
- Fix issues with Community Fallback
- Fix Windows paths with spaces causing classpath issues
New features
- Closed the Teams preview access to Change and Drift report. Please contact sales at sales@flywaydb.org for license information.
Flyway 9.2.3 (2022-09-07)
Skipped due to a regression.
Changes
- Add Community fallback warning to JSON output object
- Show correct validation message when checking for license keys that have expired.
Flyway 9.2.2 (2022-09-02)
Bug fixes
- Fix issue with Flyway not running correctly on Macs with a path that has a space
- Added null-check to avoid NPE when scanning inaccessible locations
- Fix bug in 'check' when comparing non-Oracle databases with configured schemas
-
Issue 3515
Drop MariaDB JDBC driver back to major version 2 to enable MySQL compatibility
Changes
-
Issue 3296
Schemas are now created if the user has edited flyway.schemas after an initial migration
Thanks to juliahayward and hemberger for reporting these issues.
Flyway 9.2.1 (2022-08-31)
Changes
- Check report UI improvements
- change and drift reports now fail for incompatible database types
Database compatibility
-
Issue 3386
Updated to support Snowflake 6 and Snowflake Scripting
Java compatibility
- Remove JNA dependency as no longer needed by MariaDB
- Increase MariaDB driver version to 3.0.7
- Move flyway-commandline runtime dependency to correct scope
Thanks to filiprichtarik for reporting these issues.
Flyway 9.2.0 (2022-08-25)
Bug fixes
- Fix problems when appending to code analysis reports
- Fix bug in 'check -code' where multiple SQL files were not being correctly linted
- Configured suffixes are now case insensitive
Changes
- Improvements to the 'check' report
- Remove the error information from 'CompareResult' so that the existing JSON error handling is used
Java compatibility
- Remove unnecessary dependencies
- Moved Undo command into flyway-proprietary
- Remove unnecessary maven-model dependency
- Make 'CompositeResult' generic
-
Issue 3505
Include transitive GAX dependency in CLI
Thanks to jward-premise for reporting these issues.
Flyway 9.1.6 (2022-08-18)
Bug fixes
-
Issue 3499
connectRetriesInterval now defaults to 120 instead of 0 on the Maven plugin.
Changes
- code analysis now auto detects the dialect if a URL is provided, otherwise a '.sqlfluff' configuration file is needed
Thanks to mihalyr for reporting these issues.
Flyway 9.1.5 (2022-08-16)
New features
- Add SQLFluff to redgate/flyway Docker image for use with new integrations
Flyway 9.1.4 (2022-08-15)
Changes
-
Issue 3498
Updated dependencies to fix vulnerabilities
New features
- Add 'dryrun' to check as a report that can be generated
Thanks to ggolawski for reporting these issues.
Flyway 9.1.3 (2022-08-10)
Changes
- Add access to Community features for Teams and Enterprise artifacts when no license key is given
-
Issue 3491
PostgreSQL session locks now use one connection
Database compatibility
Thanks to henricook and hackyoMa for reporting these issues.
Flyway 9.1.2 (2022-08-03)
Bug fixes
- check includes all transitive dependencies so it runs out of the box
-
Issue 3479
BigQuery procedures containing `END AS` are not cut off early.
-
Issue 3487
Update ensured supported to latest documented versions for Oracle and Snowflake
New features
-
Issue 2895
Use transactional locks in PostgreSQL by default, which enables support for PgBouncer (session locks can be enabled again by setting 'flyway.postgresql.transactional.lock=false')
Java compatibility
- Update bundled JRE to latest version of Java 11 to include security updates
Thanks to arshaknorsoyan, matmannion and odin568 for reporting these issues.
Flyway 9.1.1 (2022-08-03)
Due to issues in the release process, this version is to be skipped as the artifacts are incomplete.
Flyway 9.1.0 (2022-08-02)
Due to issues in the release process, this version is to be skipped as the artifacts are incomplete.
Flyway 9.0.4 (2022-07-29)
Bug fixes
- Change reports now html encode SQL.
Flyway 9.0.3 (2022-07-28)
Bug fixes
- JSON output for 'drift' now always shows the 'driftDetected' field
Changes
- Improved tab styling of check reports
Flyway 9.0.2 (2022-07-26)
Changes
- Multiple 'check' reports now appear as tabs
- Serialize the LocalDateTime field in the check JSON result as a string
- No longer include `.html` when generating the JSON result for a check report
- bash entrypoint now adds 'native' folder to library path for use on Windows
- Only print the version information in Flyway once per execution
- No longer display the underlying 'DELETE' rows during 'info'
- License check now occurs when a Flyway object is constructed
Flyway 9.0.1 (2022-07-15)
Bug fixes
-
Issue 3481
Fix cases where validation fails saying checksums of '0' are now 'null'
Thanks to henricook for reporting these issues.
Flyway 9.0.0 (2022-07-13)
Skipped due to a regression.
Breaking changes
- Migration patterns that are version numbers are treated as numbers rather than strings when matching to migrations
- Script & Java migrations are no longer executed during a dry run.
- 'getResolvedMigration' method on Java Migrations interface now takes a StatementInterceptor
- Don't clear the Url/Pass/Username when setting a data source
- Change default of cleanDisabled to true.
- Removed deprecated parameters for configuring secrets managers
- Removed parameter 'oracleKerberosConfigFile' as it is replaced by 'kerberosConfigFile'
- Removed parameters 'ignorePendingMigrations', 'ignoreMissingMigrations', 'ignoreIgnoredMigrations' and 'ignoreFutureMigrations' as they are replaced by 'ignoreMigrationPatterns'
- 'MigrationType' moved into 'extensibility' package as an enum and replaced with 'CoreMigrationType'
- 'SQL__BASELINE' and 'JDBC__BASELINE' migration types removed from 'flyway-core'
- 'CoreMigrationType' enum field 'baselineMigration' now called 'baseline', for which the type 'BASELINE' now returns true
- 'baselineMigrationPrefix' removed from Configuration - see the docs for this parameter for how to configure it via the API
- use 'BaselineJavaMigration' from the 'flyway-proprietary' package to make Java-based Baseline Migrations now
- Removed 'isUndo' and 'isBaselineMigration' from 'ResolvedMigration'
- 'Context' in 'resolveMigrations' on a 'MigrationResolver' is now a class which also has 'ResourceProvider', 'SqlScriptFactory' and 'SqlScriptExecutorFactory'
Changes
- Info filter 'infoOfState' now allows multiple states as a comma-separated list
- Handle errors (with warning) when cleaning procs on snowflake
- 'flyway/flyway-azure' Docker images are deprecated and replaced with 'flyway/flyway:*-azure'
Database compatibility
- H2 1.4 is now in Teams
- Oracle 12.2 is now in Teams
- MariaDB 10.2 is now in Teams
- HSQLDB 2.4 is now in Teams
-
Issue 3469
Flyway CLI now bundles version 2.6.1 of the HSQLDB driver.
New features
- Add '-migrationIds' flag to 'info' to get a comma-separated list of versions or descriptions for repeatables
- Added the 'check' command to the Flyway CLI which lets you generate deployment reports. You can find more information here
Thanks to pzygielo for reporting these issues.
Flyway 8.5.13 (2022-06-16)
Bug fixes
-
Issue 3388
The Ascii table will not be logged if there are no columns
-
Issue 3428
Fix potential parsing bug during 'create package' statement in DB2
-
Issue 3440
Always close the underlying Java connection inside a Database object
Thanks to CharmanderJieniJieni, AlexandruKetroy and medwards8 for reporting these issues.
Flyway 8.5.12 (2022-05-31)
Bug fixes
- Fix relative locations not being relative to the working directory
-
Issue 3444
When using the delimiter keyword the value can be placed on the next line without entering an infinite loop
-
Issue 3449
Update checker times out if it doesn't receive a response
-
Issue 3454
The filename placeholder no longer causes errors in repeatable SQL migrations
Changes
- 'version' command now has JSON output
Thanks to sleepkever, csudhirr and alexandrugrigor for reporting these issues.
Flyway 8.5.11 (2022-05-16)
Changes
- Optimize param tokenization
- Update GCS dependency due to vulnerability
Java compatibility
- Update AWS ASK , AWS_SECRETSMANAGER-JDBC, Maven Core and MSAL4J dependencies to fix vulnerabilities
Flyway 8.5.10 (2022-04-29)
Bug fixes
- Fix NPE in Oracle when 'echo' is set to 'on' during spool
Changes
- Manually register the Oracle driver so Flyway CLI works with AWS Secrets Manager
Java compatibility
- Update recommended Spring JDBC version due to Spring vulnerability
Flyway 8.5.9 (2022-04-21)
Bug fixes
-
Issue 3427
PLSQL division on new line in package body is no longer classified as a delimiter
-
Issue 3433
Fix bug where connection details set in placeholders were overriding the main details
Changes
- Handle errors (with warning) when cleaning procs on snowflake
Thanks to olavquorum and bennyr1003 for reporting these issues.
Flyway 8.5.8 (2022-04-14)
Bug fixes
-
Issue 3418
Fix error where the 'version' command fails to be handled
Thanks to cies for reporting these issues.
Flyway 8.5.7 (2022-04-07)
Changes
- Update S3 dependency to fix vulnerability
Flyway 8.5.6 (2022-04-06)
Changes
- Add a failed state for Baseline Migrations
- Update version of Jackson Databind due to GHSA-57j2-w4cx-62h2
- Mask any parameter that ends with 'password' in the logs
-
Issue 3414
Ensure we close the connection created during the update stage
Database compatibility
-
Issue 3399
Add support for STRICT and LEGACY modes in H2
Thanks to medwards8 and MMaus for reporting these issues.
Flyway 8.5.5 (2022-03-28)
Bug fixes
- SQL*Plus 'spool' now ignores value of 'feedback' for update statements
-
Issue 3413
Script migrations applied previously using Teams Edition no longer cause an error in Community Edition
Java compatibility
- Upgrade jackson-databind to address CVE-2020-36518
Thanks to xmanemran for reporting these issues.
Flyway 8.5.4 (2022-03-15)
Changes
- Update PostgreSQL driver to fix code injection vulnerability
New features
-
Issue 3358
Add 'placeholderSeparator' parameter to allow an alternative to ':' in default placeholders
Thanks to Phil-Factor for reporting these issues.
Flyway 8.5.3 (2022-03-14)
Breaking changes
-
Issue 3405
Update shipped MSSQL JDBC driver to 10.2.0, which defaults 'encrypt' to 'true'
Bug fixes
- Fix issue where post schema clean didn't include correct schemas.
- Clean mode now cleans more schemas for SQL Server integrated authentication logins.
-
Issue 3396
Maven and Gradle plugins load configuration files from current directory by default
Thanks to caseyhall and lbreuss for reporting these issues.
Flyway 8.5.2 (2022-03-04)
Bug fixes
- Clean mode now cleans more schemas for SQL Server integrated authentication logins.
Changes
-
Issue 3403
Add info log saying number of SQL migrations skipped due to invalid naming, if any.
Thanks to sesgoe for reporting these issues.
Flyway 8.5.1 (2022-02-23)
Bug fixes
- Check if default 'jarDir' exists before using it
Changes
- Update Jackson Databind to 2.12.6
Flyway 8.5.0 (2022-02-14)
Bug fixes
- Fix exit code in Windows returning as 0 during error
- Fix possible NPE when no default schema is specified
- Ensure 'defaultSchema' is used over the first schema in 'schemas'
Changes
- Upgrade PostgreSQL driver to fix RCE vulnerability
- Remove displaying "user 'null'" when using Windows Authentication with SQL Server
Flyway 8.4.4 (2022-02-02)
Bug fixes
- Fix rare NPE when checking for updates
Changes
- Printing version no longer exits early
Flyway 8.4.3 (2022-01-26)
Changes
- Bump H2 version to avoid vulnerability
- Removing Autotrial feature
New features
- Add the path to the undo migration in the 'info' JSON output
-
Issue 3378
New callback, triggered by migrations with newly applied scripts
Thanks to troosan for reporting these issues.
Flyway 8.4.2 (2022-01-19)
Bug fixes
- Fix bug in Vault integration where it thinks the user is running Community edition incorrectly
Changes
- Update Google dependencies to fix DoS vulnerability in protobuf
Flyway 8.4.1 (2022-01-11)
Changes
- Extract Firebird code to plugin. This will need to be added as a new dependency. See Firebird documentation.
- Bump Log4J suggested version to 2.17.1 to mitigate CVE-2021-44832
-
Issue 3372
Bump H2 to 2.0.206 due to GHSA-h376-j262-vhq6
Database compatibility
-
Issue 3357
Add MariaDB 10.2 support back to Community edition
Thanks to everflux and dblackstock for reporting these issues.
Flyway 8.4.0 (2022-01-05)
Changes
- Upgrade suggested version of Log4J to 2.17
Thanks to everyone who reported these issues.
Flyway 8.3.0 (2021-12-23)
Bug fixes
-
Issue 3347
Fix NPE when parsing single-line 'BEGIN' statements in SQL Server and detect 'BEGIN CONVERSATION' and 'BEGIN DIALOG'
Changes
- Teams license check no longer requires valid URL
Database compatibility
New features
-
Issue 3365
Allow disabling placeholder replacement on a per-script basis
Thanks to noobgramming, jasouyris and md5 for reporting these issues.
Flyway 8.2.3 (2021-12-20)
Changes
- Upgrade suggested version of Log4J to 2.16
Flyway 8.2.2 (2021-12-14)
Changes
- Upgrade suggested version of Log4J to 2.15
-
Issue 3339
Upgrade H2 version to 2.0.202
-
Issue 3341
Remove unnecessary warning for MariaDB driver when connecting to a MySQL database on compatible database versions
Thanks to zenpaul and hemberger for reporting these issues.
Flyway 8.2.1 (2021-12-07)
Bug fixes
- Escape db name during doExists in MSSQL
Changes
- Extract MySQL code to plugin. This will need to be added as a new dependency. See MySQL documentation.
Flyway 8.2.0 (2021-11-30)
Breaking changes
- Removing MySQL Driver from inclusion in Flyway distribution due to License. MariaDB will be used as fallback driver if no MySQL driver is present on the Classpath.
Bug fixes
-
Issue 3331
Stop Flyway dropping schemas it did not create
Thanks to chipilov for reporting these issues.
Flyway 8.1.0 (2021-11-25)
Bug fixes
- Grab DBMS_OUTPUT from Oracle when handling errors
Changes
- Extract SQLServer code to plugin. This will need to be added as a new dependency. See SQL Server documentation.
- Clean XML Schema Collections in SQL Server
-
Issue 3329
Allow null values for installed on by using commit timestamp in GCP Cloud Spanner
-
Issue 3332
Update GSON to 2.8.9
New features
- Add validation patterns to repair for missing migrations
Thanks to plaflamme and leyuzhu for reporting these issues.
Flyway 8.0.5 (2021-11-17)
Bug fixes
- fix bug where notice level logs ignored the minimum log level configured
Changes
- Clean XML Schema Collections in SQL Server
- Rename 'FlywayExtension' in the API to 'PluginMetadata'
-
Issue 3327
Replace SET SQLBLANKLINES warning with debug message
New features
- Add 'beforeConnect' callback to Teams that executes before Flyway establishes a connection
- Add support for SQL*Plus variable concatenation
Thanks to everyone who reported these issues.
Flyway 8.0.4 (2021-11-10)
Breaking changes
- Replace 'ApiExtension' with 'ConfigurationExtension'. Instead of calling 'getExtensionConfiguration()' on a Configuration object, you must now call 'getConfigurationExtension()' on 'PluginRegister' which returns a 'ConfigurationExtension'
Bug fixes
- Add look ahead to parser to fix wrapped sql statements
- Fix bug with logs not appearing when using 'jarDirs'
Changes
- add notice log pointing to Flyway Hub on completion of validate command
Flyway 8.0.3 (2021-11-01)
Bug fixes
-
Issue 3304
Fix bug in parsing MySQL with multiple 'CASE' statements inside 'ORDER BY'
-
Issue 3310
Fix bug in detecting emptiness in non-existent schemas
-
Issue 3311
Fix bug in time function used when updating BigQuery lock
Changes
-
Issue 3307
Remove warning around schemas from CockroachDB
Database compatibility
New features
- Add ability to specify 'target=next' to apply just the next migration
- Add Kerberos authentication support for SQL Server
-
Issue 3306
Add 'ignoreMigrationPatterns' setter that takes an array of 'ValidatePattern's
Thanks to kevinrjones, cowwoc, todd-dev, A248, geirolz, klesniewski and md5 for reporting these issues.
Flyway 8.0.2 (2021-10-20)
Changes
- The JSON output for 'flyway migrate' now contains additional information about successful migrations run up to the point of failure when a migration fails
New features
- Allow wildcard usage of 'ignoreMigrationPatterns' from within Community Edition
Flyway 8.0.1 (2021-10-13)
Bug fixes
- Fix bug where encoding detection would fail if the file was empty
-
Issue 3299
Fix bug in the availability of custom placeholders in script migrations
Changes
- Set 10G field limit to using GCP Spanner in Community Edition
New features
- All Gradle tasks now return a result object
Thanks to Phil-Factor for reporting these issues.
Flyway 8.0.0 (2021-10-06)
Breaking changes
Flyway V8 introduced breaking changes incrementally over 3 beta releases. Check them below to see all breaking changes when upgrading to Flyway V8.
Bug fixes
- Fix issues in applying new migrations on top of baseline migrations
-
Issue 3291
Fix parsing of multiline configuration parameters that contain a '='
-
Issue 3292
Fix parsing of empty statements in SQLServer
Thanks to vincentoconnell and brynjulv for reporting these issues.
Flyway 8.0.0-beta3 (2021-09-29)
Breaking changes
- change Configuration boolean getter methods to match Java standard naming convention. (FailOnMissingTarget, DetectEncoding, OutputQueryResults, CreateSchemas and FailOnMissingLocations)
Bug fixes
-
Issue 3279
Fix constantly repairing migrations with an empty description
-
Issue 3284
HSQLDB not parsing DECLARE CURSOR foo FOR SELECT ... correctly
Changes
- Set 10GB data size limit to using GCP BigQuery in Community Edition
- Rename State Scripts to Baseline Migrations
Database compatibility
- Support latest version of Azure SQL Server in Community Edition
New features
- Add Command-line extensibility point to allow custom CLI verbs
- Add support for DAPR and GCSM Secrets Managers
Java compatibility
- Add base dependencies for Project Lombok
Thanks to StefanA2 for reporting these issues.
Flyway 8.0.0-beta2 (2021-09-21)
Bug fixes
-
Issue 3275
Fix parsing of identifiers with quotes in PostgreSQL
-
Issue 3279
Repair now checks for an empty description
New features
-
Issue 3277
Add default placeholders to script migrations
Performance improvements
-
Issue 3278
Remove redundant update check during license check
Thanks to tychokamphuis-accommodatiehuur, ewie, StefanA2 and Phil-Factor for reporting these issues.
Flyway 8.0.0-beta1 (2021-09-14)
Breaking changes
- Remove fields and methods marked as deprecated in V7. This includes the old '-json' flag and 'installedOn' in the JSON output from running info
- Remove android support
Bug fixes
-
Issue 3276
Fix issue with output from '-v' not appearing
Changes
- Deprecate old 'ignore' parameters for validate (to be removed in v9)
Database compatibility
- Deprecate Community support for database versions older than 5 years
Thanks to iilei for reporting these issues.
Flyway 7.15.0 (2021-09-06)
Bug fixes
-
Issue 3256
Fix issue with CockroachDB delete lock statement timestamp not updating
New features
- Add the ability to configure which logger to use
-
Issue 3257
Added 'connectionRetriesInterval' property to set customizable connection retry interval (Default: 2 minutes)
Thanks to dimw and senthil-yolabs for reporting these issues.
Flyway 7.14.1 (2021-09-01)
Bug fixes
- Fix unlocking bug in PostgreSQL
-
Issue 3258
Adding FUNCTION to the list of special cases for IF EXISTS in HSQL
-
Issue 3261
Fix various parsing issues in BigQuery
-
Issue 3266
Detecting abstract Java callback classes no longer cause Flyway to fail.
-
Issue 3269
Simplify MySQL query to fix compatibility with third party tool Vitess
Thanks to spadger, ferrisnorth, kgroble and JaspreetSinghJassal for reporting these issues.
Flyway 7.14.0 (2021-08-17)
Bug fixes
- Resolve a nesting issue with BigQuery parsing
- Fix cases of CLI hanging when no credentials are provided
New features
- Add support for placeholders in arbitrary script migrations
Thanks to everyone who reported these issues.
Flyway 7.13.0 (2021-08-11)
Bug fixes
- Fix casing in Azure Synapse queries
Changes
Database compatibility
New features
- Introduce State Scripts - a single, cumulative script that represents the state of your database after many migrations have been applied.
Thanks to klarajanstova and s-apanasionak for reporting these issues.
Flyway 7.12.1 (2021-08-05)
Changes
- DatabaseTypeRegister and VersionPrinter always use their class' classloader
New features
Thanks to everyone who reported these issues.
Flyway 7.12.0 (2021-07-30)
Bug fixes
-
Issue 3197
Fix resolving resources with the same name in multiple classpath locations
-
Issue 3241
Simplify migration sorting to fix 'Comparison method violates its general contract'
Changes
- Add VaultConfiguration object for configuring Vault in Maven and Gradle Plugins
- Release Vault integration to Maven as a separate artifact
New features
- Add Java API extension that allows reading configuration from Vault
Thanks to magicwerk and esauser for reporting these issues.
Flyway 7.11.4 (2021-07-26)
Bug fixes
-
Issue 3165
Fix execution of migrations without a transaction over a single connection
-
Issue 3232
Fix Gradle location configuration override order
-
Issue 3237
Fix deadlock due to exhausted connections when creating result objects
Thanks to pw-aowen, Leyren and uwolfer for reporting these issues.
Flyway 7.11.3 (2021-07-19)
Changes
-
Issue 3227
Bump GCP Spanner JDBC version to fix CVE
Database compatibility
- Verify support for PostgreSQL 14
Thanks to donna-156 for reporting these issues.
Flyway 7.11.2 (2021-07-13)
Bug fixes
- Fix in-product links that contain a reference
Changes
-
Issue 3227
Bump GCP Spanner JDBC version to fix CVE
Database compatibility
- Include the community DB support package in the CLI
-
Issue 3186
Add YugabyteDB (community)
Thanks to donna-156 and ashetkar for reporting these issues.
Flyway 7.11.1 (2021-07-08)
Changes
- Update Maven version to 3.8.1
- Override vulnerable Jackson versions
-
Issue 3214
Make PostgreSQL database classes extendable
-
Issue 3229
Fail faster when checking for updates
Thanks to ashetkar and odin568 for reporting these issues.
Flyway 7.11.0 (2021-07-01)
New features
- Enable Flyway Teams for 28 days for new schemas in CLI
- Remove the need to specify
-teams
in CLI
Bug fixes
-
Issue 3207
Fix interleaved repeatable migrations running indefinitely
- Ensure that (g)login.sql doesn't fail name validation in SQL*Plus
- Fix copyright symbol for better platform compatibility
Changes
- Make GCP Spanner and BigQuery beta publicly available
- Bump MSAL4J to fix transitive dependency CVE
Database compatibility
- Add Cockroach v21.1 support
-
Issue 2918
Add community-level TiDB support
-
Issue 3221
Verify support for HSQLDB 2.6
Thanks to A248, bb7133, donna-156, dvdtknsn, and johnlinp for reporting these issues.
Flyway 7.10.0 (2021-06-10)
New features
Bug fixes
- Fix issue where Flyway no longer prompts for credentials
Thanks to guillaumBrisard for reporting these issues.
Flyway 7.9.2 (2021-06-03)
Bug fixes
-
Issue 3177
Use an instance of DatabaseTypeRegister when getting the ClassLoader
- Fix connecting to Snowflake with role which has special characters
- Fix handling of PL/SQL / "slash" delimiters that are not in first column
Changes
Thanks to AigleeK, alexgast, aliusmiles, and polaskj for reporting these issues.
Flyway 7.9.1 (2021-05-19)
Bug fixes
-
Issue 3173
Use the ClassLoader specified to Flyway when using the ServiceLoader
- Oracle - Fix parsing of GOTO statements
- Inline method to fix compatibility with GraalVM
Changes
Thanks to AigleeK, alexgast and gastaldi for reporting these issues.
Flyway 7.9.0 (2021-05-13)
New features
-
Issue 2205
Add failOnMissingLocations parameter
-
Issue 3155
Allow targets that don't exist with '?'
- Add Flyway update checking in command line
- Add support for auto detecting file encoding for SQL migrations.
- Add Spanner Beta support
Bug fixes
-
Issue 3160
Fix parsing of Oracle ACCESSIBLE BY
-
Issue 3161
Clean all SQLServer objects in a 2-pass approach
Changes
-
Issue 3132
'n rows affected' is now debug level in logs
-
Issue 3162
Update MySQL driver version
- Update S3 dependency to fix vulnerabilities in transitive dependencies
- Detect Hikari pooled connections automatically when using Oracle proxy users
Thanks to artjomsimon, jeanremacle, mabako, rbroth, wparuch, and xiagw for reporting these issues.
Flyway 7.8.2 (2021-04-27)
New features
- Add support for Oracle proxy users when using Hikari pooled connections
-
Issue 3139
Add GNU-standard command line help options
Bug fixes
-
Issue 3152
Fix MySQL parsing nested blocks with labels
-
Issue 3153
Only show warning about missing default schema when relevant
- Fix issue with comparator resulting (rarely) in failure during sorting migrations
Thanks to austek, Eric Sauser and tomikmar for reporting these issues.
Flyway 7.8.1 (2021-04-16)
Bug fixes
Thanks to pzygielo for reporting this issue.
Flyway 7.8.0 (2021-04-15)
Skipped due to a regression.
New features
- Add
ignoreMigrationPatterns
parameter to customize validate
- Add support for Oracle proxy user connections
Changes
Bug fixes
-
Issue 3129
SQLServer: Don't accidentally parse identifiers in square brackets as key words
Thanks to rchurchley, wparuch and esauser for reporting these issues.
Flyway 7.7.3 (2021-04-08)
Bug fixes
-
Issue 3130
Fix parsing DISTRIBUTED TRANSACTION in SQL Server
New features
- Allow
PROXY_USER_NAME
in JDBC properties to create proxy connections to Oracle databases
Flyway 7.7.2 (2021-04-01)
Bug fixes
New features
-
Issue 3119
Updated MSSQL JDBC driver to allow for interactive authentication
Changes
-
Issue 3131
Update MariaDB support to 10.5
- Update dependencies
- Ship MSAL4J dependencies for AAD auth
- Update GCS dependency
- Update DB2 driver
- Update log4j dependency
- Update Amazon SDK dependency
- Make flyway.cmd more robust
Thanks to JD-CSTx and nicregez for reporting these issues.
Flyway 7.7.1 (2021-03-24)
Bug fixes
-
Issue 3110
Correctly parse
GO
in identifiers
-
Issue 3115
Handle
NOT ATOMIC
statements in MariaDB
-
Issue 3116
Fix cleaning of computed columns in SQL Server
- Fix JDBC properties environment variables not trimming underscores
Changes
-
Issue 2847
Display link to docs page upon PostgreSQL lock fail
-
Issue 3105
Promote update query debug logs to info logs
- Update various dependencies
- SQL callbacks support
shouldExecute
- Fix
-target=latest
for undo
- Add
installedOnUTC
field on JSON result for info
- Update copyright headers
Thanks to JD-CSTx, aherkarsatish11, bobdoah, rchurchley, and zikato for reporting these issues.
Flyway 7.7.0 (2021-03-11)
New features
-
Issue 3100
Add
flyway:workingDirectory
placeholder.
Bug fixes
- Clean SQL Server indexes in a 2-pass approach to avoid dependency errors
Changes
- Include preceding comments when executing SQL
Thanks to everyone who reported these issues.
Flyway 7.6.0 (2021-03-05)
New features
-
Issue 3084
Allow loading Gradle configuration artifacts outside of a Java project
Bug fixes
-
Issue 3090
Fix cleaning SQL Server computed columns which are primary keys
-
Issue 3091
Fix exception in migration comparator by sorting ignored migrations by version
-
Issue 3092
Fix NPE by checking CodeSource location isn't null
Changes
-
Issue 3098
Throw upgrade required exception when using shouldExecute in community
- Remove experimental annotations from Vault parameters
Thanks to eikek, esauser, and johnwright for reporting these issues.
Flyway 7.5.4 (2021-02-22)
Bug fixes
-
Issue 3088
Fix comparator exception in migration comparator
-
Issue 3090
Fix cleaning of SQL Server computed columns which are primary keys
- Fix incorrectly updating dropped schema list in clean JSON result
Changes
-
Issue 2761
Support SnowflakeDB `QUOTED_IDENTIFIERS_IGNORE_CASE = true`
-
Issue 3071
Support multiline boolean expressions for `shouldExecute`
-
Issue 3081
Log output from script migrations at the info level
Thanks to dvdtknsn, esauser, johnwright, and scottsauber for reporting these issues.
Flyway 7.5.3 (2021-02-10)
Bug fixes
-
Issue 3063
Drop SQLServer types at the database level
-
Issue 3071
Support multiline boolean expressions for shouldExecute
Changes
-
Issue 3074
Log referenced scripts used when calculating checksums
-
Issue 3066
Get MySQL and MariaDB version from the database
- Check that PostgreSQL unlock result is true
Database compatibility
Thanks to Sam-Redgate, StaffanHorke, TonytheEditor, chakrit, and scottsauber for reporting these issues.
Flyway 7.5.2 (2021-01-27)
Bug fixes
- Check that PostgreSQL advisory unlock result returns true
- Allow 'pro' in FLYWAY_EDITION environment variable
- Remove warning following tests against Snowflake 5.1
Changes
-
Issue 3042
Add fulltext database to SQL Server non-transactional list
-
Issue 3060
Add Flyway upgrade exceptions when setting secret management parameters
Thanks to JeanFrancoeur and wilkinsona for reporting these issues.
Flyway 7.5.1 (2021-01-21)
Bug fixes
- Alpine Docker image rebuilt based on openjdk:16-alpine to fix CVE (as 12-alpine is no longer maintained)
-
Issue 3049
HSQLDB: case-sensitivity bug on PROCEDURE fixed
-
Issue 3053
HSQLDB: failure to parse END inside a query fixed
Changes
- Vault integration: configuration now allows multiple locations for secrets
- Vault integration: now support V1 of key-value secret engine
Thanks to esauser and Peter Gerrard for reporting these issues.
Flyway 7.5.0 (2021-01-11)
Bug fixes
-
Issue 3037
Only use external authentication if it is required
-
Issue 3041
Correctly parse nested multi-line comments
-
Issue 3043
Case-insensitive HSQLDB parsing
New features
-
Issue 3039
Allow shouldExecute script configuration option to contain boolean expressions
Changes
-
Issue -1
Remove warning when using SAP HANA Cloud
Thanks to JeanFrancoeur, calvarius7, esauser, and tanguanpeng1234 for reporting these issues.
Flyway 7.4.0 (2021-01-04)
Bug fixes
-
Issue 3026
Fix parsing of wrapped Oracle SQL
-
Issue 3029
Include classpath variable in bash script
-
Issue 3034
HSQLDB - successfully parse drop procedure
New features
-
Issue 2239
New callback for custom schema creation SQL
-
Issue 3028
Support p6spy in URLs
- Support reading configurations from Vault and Conjur
Changes
-
Issue 3013
Move LoadableResource and Resource into the API
Thanks to RB14, calvarius7, ericparton, luoy1991, mLarsenAlkaDk, and tobato for reporting these issues.
Flyway 7.3.2 (2020-12-16)
Bug fixes
-
Issue 3021
Don't cascade when dropping SAP HANA views
-
Issue 3025
Check that connected keywords are on the same line when parsin in Oracle
-
Issue 3029
Use classpath environment variable in bash script
-
Issue 3031
Calculate correct 'undoable' value when using info filters
- Correct name for MSSQL integrated security DLL
- Only validate cherry-picked migrations
- Use correct execution time in migrate result
Performance improvements
Changes
- Display a message if external authentication files are found
Thanks to BaburaoLad, cesargomezvela, iggycoder, luoy1991, and rglidden for reporting these issues.
Flyway 7.3.1 (2020-12-04)
Bug fixes
New features
Changes
- Display a message if PostgreSQL or MySQL authentication files are found
Thanks to adipata, bjaglin, and tatumsu for reporting these issues.
Flyway 7.3 (2020-11-25)
New features
-
Issue 2914
Script filename placeholder introduced
-
Issue 2953
If Flyway cannot connect to the database, retries are now made in an exponential backoff pattern
-
Issue 2992
Dry Run output can now be directed to AWS S3 or Google Cloud Storage (if relevant SDK is present)
-
Issue 2997
Add migration preconditions using `shouldExecute` in script config
Bug fixes
-
Issue 2932
CockroachDB: lock indicators time out if left behind by Flyway erroring on bad scripts
-
Issue 2999
PostgreSQL 12: support for ALTER TYPE ... ADD VALUE being run in a transaction added
-
Issue 3005
PostgreSQL: cleaning no longer tries to drop extensions installed by a superuser
-
Issue 3010
MariaDB: script parsing error fixed
Thanks to adipata, axelfontaine, gendolf3d, OliverDTM and scranen for reporting these issues.
Flyway 7.2.1 (2020-11-18)
New features
-
Issue 2953
Exponential backoff scheme for connect intervals
Bug fixes
-
Issue 2932
Add a timeout to Flyway's custom table lock
-
Issue 2987
Display all validate messages in exceptions
-
Issue 2999
Allow 'alter type' in transactions for PostgreSQL 12 and up
-
Issue 2698
Execute migrations in cherryPick defined order
Changes
-
Issue 3005
Only drop PostgreSQL extensions owned by current user
-
Issue 2914
Full filename in filename default placeholder
Thanks to AigleeK, OliverDTM, axelfontaine, gendolf3d, holgerstolzenberg, and scranen for reporting these issues.
Flyway 7.2.0 (2020-11-09)
New features
-
Issue 960
Read MySQL credentials from option files
-
Issue 2914
Add filename as a default placeholder
- Option to filter info by migration state
Bug fixes
-
Issue 2987
Display all validate messages in exceptions
-
Issue 2987
Ignore superseded repeatables when validating
Performance Improvements
Changes
- Arbitrary script callbacks no longer require a description
Thanks to AigleeK, OliverDTM, ToBeReplaced, kasgilpofi, and wilkinsona for reporting these issues.
Flyway 7.1.1 (2020-10-29)
Bug fixes
-
Issue 2991
Fix Teams upgrade exception incorrectly appearing in Community edition
Performance Improvements
Changes
-
Issue 2988
Don't name primary key constraint on MariaDB
Thanks to kasgilpofi, wilkinsona, and willy0275 for reporting these issues.
Flyway 7.1.0 (2020-10-27)
Skipped due to a regression in Community edition, see this issue.
New features
-
Issue 960
Support pgpass for authentication
-
Issue 2847
Allow number of lock retries to be configured.
-
Issue 2984
Support for SLF4J v1.8+
-
Issue 2967
Add schema support for Cockroach 20.2
-
Issue 2694
Add windows native folder
-
Issue 2881
Allow for filtering info output by date or version
- Allow arbitrary script callbacks
Changes
-
Issue 2820
Add validate error codes and improve validate result object
-
Issue 2986
Create the schema history table when using skipExecutingMigrations without baseline
- Make validate fix suggestions copy-pastable.
Bug fixes
Thanks to A248, AigleeK, ToBeReplaced, aherkarsatish11, cheppsn, and yarhamjohn for reporting these issues.
Flyway 7.0.4 (2020-10-16)
Bug fixes
- Fix cherryPick feature name in exception
- Fix issue with licensing
Thanks to everyone who reported these issues.
Flyway 7.0.3 (2020-10-14)
Bug fixes
-
Issue 2921
Support for Log4J v2
-
Issue 2966
Passwords embedded in Flyway URLs redacted analogously to
flyway.password
parameter
-
Issue 2977
MySQL parser: BEGIN [WORK] not being parsed correctly
Database compatibility
- Flyway now ships with MySQL driver 8.0.20, following Whitesource recommendation
Thanks to Dan Carley and sniperrifle2004 for reporting these issues.
Flyway 7.0.2 (2020-10-09)
Bug fixes
-
Issue 2969
Drop support for setting s3 client via fluent configuration
-
Issue 2907
Log instead of throwing exception when PostgreSQL advisory locking fails
Thanks to josephlbarnett for reporting these issues.
Flyway 7.0.1 (2020-10-07)
Skipped due to a regression, see this comment.
Database compatibility
New features
Changes
Bug fixes
-
Issue 2898
Don't prompt for credentials with H2 in-memory databases
-
Issue 2949
Fix table locking retry logic
-
Issue 2954
Fix getting Oracle database name
-
Issue 2959
Fix handling of wrapped SQL in Oracle parser
-
Issue 2961
Fix SQLServer parser block handling
- Make outputQueryResults public
Performance Improvements
Thanks to AigleeK, TheSench, gendolf3d, mLarsenAlkaDk, peng-ran, and pyrocks for reporting these issues.
Flyway 7.0.0 (2020-09-28)
Changes
- Introduce Flyway Teams edition
- Make validate messages suggest actions
New features
-
Issue 2507
Add machine readable output for all commands
-
Issue 2780
Add jdbc-secretsmanager support
- Oracle SQL*Plus support for
glogin.sql
- Make cherry pick work for repair
Bug fixes
-
Issue 2208
clean assemblies at the database level
-
Issue 2924
Improve mysql parser block handling
-
Issue 2926
Reapply java repeatables when checksum changes from null
-
Issue 2928
Fix parser error when using repeated placeholders
-
Issue 2940
Fix sql server parser error
-
Issue 2448
Drop extensions in PostgreSQL when running clean
-
Issue 2736
Reintroduce TestContainers support
-
Issue 2872
Batch SQL doesn't error out
-
Issue 2917
Resolve maven configuration files relatively
- Make dry run work for repair
- Add envvar support for validate migration naming
Read about more features that were released in the beta.
Thanks to AigleeK, JeanRev, LuisUrrutia, amccarthy, belugabehr, cdalexndr, hauntingEcho, lbreuss, mschirmacher, sdchhabaria, stankiewicz, will-sargent-eero, and yarhamjohn for reporting these issues.
Flyway 7.0.0-beta1 (2020-09-02)
New features
-
Issue 1986
Allow skipping the execution of a migration
-
Issue 2458
Support for SQL migrations in AWS S3 storage
-
Issue 2594
Postgres driver updated to support SCRAM authentication
-
Issue 2133
Add new callbacks `beforeRepeatables` and `afterVersioned`
-
Issue 2688
Enable passing JDBC properties through to clients
- Support for SQL migrations in Google Cloud Storage
- Oracle SQL*Plus support for
login.sql
- Allow cherry picking which migrations to run
- Support deleting migrations
Changes
- Update gradle plugin to 6.1.1
- Command-line option `-json` superseded by `-outputType=json`
-
Issue 2805
The CLI default flyway.conf now specifies the location filesystem:sql
-
Issue 2808
Placeholder names are now case insensitive
-
Issue 1801
Ignore hidden directories on the classpath when finding resources
-
Issue 2785
Allow loading callbacks by scanning a provided package
Database compatibility
-
Issue 2324
Invalid targets now cause an error
-
Issue 2859
Only load from std in when a config file with the name '-' is given
- Non existent migration locations now display an error in the output
- Deprecated command-line argument
-logFile
removed (see -outputFile
for replacement)
- Deprecated migration types
SPRING_JDBC, UNDO_SPRING_JDBC
removed (use JDBC, UNDO_JDBC
instead)
- Deprecated dots as location path separators
Changes
-
Issue 2805
The CLI default flyway.conf now specifies the location filesystem:sql
-
Issue 2808
Placeholder names are now case insensitive
-
Issue 1801
Ignore hidden directories on the classpath when finding resources
-
Issue 2785
Allow loading callbacks by scanning a provided package
- Update gradle plugin to 6.1.1
- Command-line option `-json` superseded by `-outputType=json`
Database compatibility
-
Issue 2806
Add support for Azure Synapse
-
Issue 2466
Support for several older databases moved into Enterprise
- HSQLDB 2.3 (2010)
- PostgreSQL 9.4 (2014)
- Sybase ASE 16.0 (2014)
- Sybase ASE 16.1 (2015)
Docker images
- Docker images updated to be based on JDK 12: respectively
adoptopenjdk:12-jre-hotspot
and openjdk:12-alpine
Thanks to JonLally, KrzysztofMadejski, Me1gireesh, PetterKraabol, belugabehr, fkoehler, hdgarrood, leoherbie, nelvadas, qoomon, stankiewicz, olavloite, laurentgrangier, jitu1983, and radzimir for reporting these issues and/or submitting pull requests.
Flyway 6.5.7 (2020-09-22)
Changes
-
Issue 2936
Update postgres driver version because of XXE vulnerability
Bug fixes
Thanks to amccarthy and sstrang for reporting these issues and/or submitting pull requests.
Flyway 6.5.6 (2020-09-16)
Bug fixes
-
Issue 2924
Improve mysql block handling
-
Issue 2928
Fix parser bug when using multiple placeholders of the same name
-
Issue 2872
Make batches errors fail fast
Thanks to amccarthy, hauntingEcho, and sdchhabaria for reporting these issues.
Flyway 6.5.5 (2020-08-18)
Bug fixes
-
Issue 2903
Fix resource resolving logic to be more performant
Thanks to leoherbie for reporting these issues and/or submitting pull requests.
Flyway 6.5.4 (2020-08-12)
Changes
-
Issue 2900
Make scanner resource look up case insensitive
Bug fixes
-
Issue 2901
Fix performance degradation due to getting the absolute path earlier
Thanks to ekennedy247 for reporting these issues and/or submitting pull requests.
Flyway 6.5.3 (2020-07-29)
Bug fixes
-
Issue 2887
Oracle SQL*Plus: Support @-style import of script file with absolute path
-
Issue 2889
SnowflakeDB: Support //-style single-line comments in scripts
Flyway 6.5.2 (2020-07-22)
Bug fixes
-
Issue 2865
Remove unhelpful warning re. MariaDB driver / MySQL server following driver update
-
Issue 2875
Migration fails when placeholder value is much shorter than its name
-
Issue 2879
Documentation update to clarify script config file location
-
Issue 2883
Percona XtraDB: support strict mode MASTER similarly to ENFORCING
-
Issue 2884
Oracle parser: failure parsing package with no trailing /
Thanks to anake1, ankos, Mauro Molinari and t-kwasniewski for reporting these issues and/or submitting pull requests.
Flyway 6.5.1 (2020-07-13)
Bug fixes
-
Issue 2866
MySQL parser: fixed error around CREATE TABLE IF NOT EXISTS
-
Issue 2867
SQL*Plus: SPOOL now produces output during migration/callback to requested file
Docker images
-
Issue
Docker images updated to be based on JDK 12: respectively
adoptopenjdk:12-jre-hotspot
and openjdk:12-alpine
Thanks to Nathan Ginther and Yvette Cook for reporting these issues and/or submitting pull requests.
Flyway 6.5.0 (2020-06-25)
New features
-
Issue 2350
Added a config option to disable automatic schema creation
-
Issue 2766
Allow script encoding to be set on a per-script basis
-
Issue 2838
Make ResourceProvider and ClassProvider configurable
Bug fixes
Thanks to Sourav1407, XhstormR, geoand, htto, lwasylow, mikhailRo, monmallonga, and wkiszka for reporting these issues and/or submitting pull requests.
Flyway 6.4.4 (2020-06-10)
Bug fixes
-
Issue 2832
Fix bug with cleaning modules in DB2
-
Issue 2837
Fix bugs related to reading config from standard input
-
Issue 2843
Improved Snowflake support for $$ string literals
Changes
Thanks to intacctvaler, monmallonga, and srjonemed for reporting these issues.
Flyway 6.4.3 (2020-05-27)
Bug fixes
-
Issue 2559
Improve SQL*PLUS SET FEEDBACK support
-
Issue 2813
Fix cleaning a SQL Server table with a FILESTREAM column
-
Issue 2817
Fix PostgreSQL parser handling of escaped strings
-
Issue 2819
Support blank sql version prefix
-
Issue 2821
Fix REPAIR issues
-
Issue 2828
MySQL handle multiple IF EXISTS in one statement
Thanks to angusholder, davidjeddy, joachimvda, philippedurocher, and zjwu2000 for reporting these issues.
Flyway 6.4.2 (2020-05-12)
Changes
Bug fixes
Thanks to Kenny2912 and LHCGreg for reporting these issues.
Flyway 6.4.1 (2020-04-30)
Changes
Bug fixes
-
Issue 2795
Unable to decrease block depth below 0 error in version 6.4.0
-
Issue 2794
ADD COLUMN IF NOT EXISTS in MariaDB generates a Flyway Parsing Error
-
Issue 2796
Parse error using MySQL 8 since flyway 6.3
-
Issue 2781
Delimiter changed inside statement
-
Issue 2786
Delimiter changed inside statement on delimiter change right after comment
-
Issue 2774
Parser issue for Sybase ASE for keyword GOTO
-
Issue 2783
End of package body not detected with Oracle
Thanks to ChristianFischerJena, Nathan Ginther, Marc Bennewitz, Frank Huster, Damjan Vujnovic, Andreas Müller, laurentgrangier, and Wesley Leung for reporting these issues.
Flyway 6.4 (2020-04-21)
New features
-
Issue 1192
allow wildcard in flyway.locations
-
Issue 2695
Enable piping of config files to command line
-
Issue 2182
PostgreSQL: Parse search_path to determine name of first non-existing schema to create
Changes
-
Issue 2756
Fix performance issue with the MySQLSchema doEmpty() call
-
Issue 2769
Don't prompt for user+password for Azure passwordless auth
-
Issue 2754
Baseline doesn't work if flyway_schema_history table exists
-
Issue 2678
Parameters in JDBC URL
Bug fixes
-
Issue 2773
Flyway parsing bug: unable to decrease block depth below 0
-
Issue 2772
unable to decrease block depth below 0
-
Issue 2768
unable to decrease block depth below 0
-
Issue 2762
Flyway parsing bug: unable to decrease block depth below 0
-
Issue 2758
Block Depth Below 0 - MySQL 5.7 CREATE PROCEDURE
-
Issue 2770
No schema history found in dry run
-
Issue 2759
Failure to obtain Postgres 11 advisory lock
Thanks to Ali Ustek, Jörg Hohwiller, Alexis Deschamps, Ben Manes, Ben Manes, Jonas Natten, Jacquers, Damjan Vujnovic, Matteo Quintiliani, Chris Borckholder, and ln0v for reporting these issues.
Flyway 6.3.3 (2020-04-06)
Bug fixes
-
Issue 2701
Oracle parser: Improve support for oracle statements separated by a /
-
Issue 2716
Oracle parser: Don't suppress comments after Sqlplus PROMPT
-
Issue 2737
MySQL parser: Fix support for block statements with multiple cases denoted by THEN
-
Issue 2743
Fix memory leak
-
Issue 2748
DB2 parser: Support CREATE IF NOT EXISTS and DROP IF EXISTS
Thanks to JFNGO, JamesGuthrie, SamuraiPrinciple, netsrotr, rafael-trevisan, and sergey-selivanov for reporting these issues.
Flyway 6.3.2 (2020-03-24)
Bug fixes
-
Issue 2132
Command line should not prompt for values if user and/or password are in PostgreSQL JDBC URL
-
Issue 2720
MySQL parser: block depth error with IF NOT EXISTS
-
Issue 2724
SAP HANA parser: error on creating function
-
Issue 2726
MySQL parser: error when delimiter changed inside statement
-
Issue 2727
Flyway shouldn't try to colorize output when no `System.console()`
-
Issue 2733
SAP HANA parser: error on CASE ... END; IF ...
Thanks to Al Johri, Damjan Vujnovic, James Ball, Jonas Karlsson and stesix for reporting these issues.
Flyway 6.3.1 (2020-03-13)
Changes
-
Issue 2709
flyway.url must be set when running command but already set in flyway.conf
-
Issue 2447
Cleaning dry-runs
Bug fixes
-
Issue 2699
Default placeholder is not populated
-
Issue 2702
Building against enterprise flyway command line with gradle fails
-
Issue 2707
Flyway does not execute SQL in a migration to create a MySQL procedure when it contains
DROP TABLE IF EXISTS
-
Issue 2715
Flyway parsing bug: unable to decrease block depth below 0 in version 6.3.0
Thanks to AigleeK, feoktant, James Ball, Nick Edwards, Rafael Trevisan, for reporting these issues and/or submitting pull requests.
Flyway 6.3.0 (2020-03-05)
New features
-
Issue 1780
Flyway api load configuration files from the default locations
-
Issue 2022
Support for
workingDirectory
parameter added to clients which didn't already have it
-
Issue 2177/2685
Repeatable migrations with placeholders re-run when placeholder value changes
-
Issue 2555
Support for multiple lines in
flyway.conf
-
Issue 2700
Add support for a timestamp placeholder
Changes
-
Issue 2527
Baselining with empty history table now throws error
-
Issue 2692
Providing a license key to the community edition is now a warning instead of an error
Bug fixes
-
Issue 2447
Fix cleaning SQL Server partition schemes/functions when there are cross-schema dependencies
-
Issue 2605
Flyway not able to create the schema history in Sybase with
DDL IN TRAN = OFF
-
Issue 2684
Fix cleaning a Redshift schema containing procedures
-
Issue 2687
Fix mysql parser comment before DROP IF EXISTS
-
Issue 2689
Support putting comments and newlines within the package definition
-
Issue 2693
Add support for TEMPORARY TABLE in the mysql parser
Thanks to Komurugesan, artjomsimon, bjornhilstad, fumal4evr, goranpaues-tradedoubler, jakaarl, esauser, jaa2261, kippm, philci52, shadowmanos, and vitas for reporting these issues.
Flyway 6.2.4 (2020-02-20)
Bug fixes
-
Issue 2674
Oracle SQL*Plus parsing extended to support
SPOOL
-
Issue 2675
MySQL parsing bug
-
Issue 2676
MySQL CREATE TABLE IF EXISTS parsing bug
-
Issue 2677
Snowflake no longer needs dummy password if using key-based authentication
-
Issue 2679
Password prompt for SQL Server integration auth
-
Issue 2681
NullPointerException when running flyway info -json
-
Issue 2682
Print Flyway version in 'productVersion' property with -json
Thanks to emarcellus, Jonathan Putney, Slaiman Ahmdshah, Sreejith Madhavan, and Valdemar Grange for reporting these issues.
Flyway 6.2.3 (2020-02-13)
Changes
Bug fixes
Thanks to marcobehler, mbreevoort, and wjtkp for reporting these issues.
Flyway 6.2.2 (2020-02-06)
New features
Bug fixes
-
Issue 2653
MariaDB does not clean system versioned tables
-
Issue 2655
MariaDB jdbc driver logs errors on startup
-
Issue 2657
MariaDB dry run script contains invalid comment syntax
Thanks to the development team at CockroachDB for their assistance with issue 2663, and
dohrayme for reporting MariaDB issues.
Flyway 6.2.1 (2020-01-30)
Database compatibility
Bug fixes
-
Issue 2567
Undo + ErrorOverride throws exception but fails to record in schema_history table
-
Issue 2612
Oracle: Package body initialization section with implicit END
-
Issue 2643
clean
fails on SQL Server 2014 and older
-
Issue 2638
Add comment to select statement for schema history to disable load balancing on Pgpool-II
-
Issue 2649
Ensure flyway cleans partition functions on azure sql server version 12
Thanks to KiruthikaSS, Kindrat, filiprichtarik, LukeLaz, romaindup, and codicuz for reporting these issues and/or submitting pull requests.
Flyway 6.2.0 (2020-01-23)
New features
-
Issue 2186
New option to explicitly validate SQL migration/callback script names
-
Issue 2590
Flyway output not colored in jenkins when using ansiColors plugin
-
Issue 2621
Re-add the CLI option to disable colorization.
Changes
-
Issue 1328
In multiple managed schema scenario, if one of the schemas already exists, no other schema is created
Bug fixes
-
Issue 2620
Scripts with empty description causing issues in Oracle and Sybase
-
Issue 2624
Error parsing
CASE...END
in SAP HANA
-
Issue 2626
Support for MariaDB enterprise version numbering
-
Issue 2634
Deadlock on some instances of Postgres
-
Issue 2637
Add environment variable for defaultSchema
Java compatibility
Thanks to allenatdecisiv, esauser, Roman Dubinin, Marko K, Nicholas Fechner, stesix, rickselby and morl-la for reporting these issues and/or submitting pull requests.
Flyway 6.1.4 (2020-01-06)
Bug fixes
-
Issue 2608
Unrecognised configration parameters all reported on at the same time
-
Issue 2609
Oracle: fix parsing of
Q'! ... !'
quoted string literals
-
Issue 2611
Problems with Java comments in Oracle CREATE JAVA statement
-
Issue 2613
Multiple procedures each terminated with '/' in placeholder string fails to create procedures
Thanks to codicuz and jaa2261 for reporting these issues and/or submitting pull requests.
Flyway 6.1.3 (2019-12-20)
Bug fixes
Thanks to David Atkinson, codicuz and fszilinski for reporting these issues and/or submitting pull requests.
Flyway 6.1.2 (2019-12-16)
Bug fixes
-
Issue 2519
Previous fix also needed for Azure MySQL Database v8
-
Issue 2582
Combining -json and -logFile yields no logFile
-
Issue 2591
Oracle: invalid delimiter (not alone on line) ignored
-
Issue 2596
Snowflake stored procedure issues in
migrate
and clean
-
Issue 2597
Parenthesis depth affects interpretation of
LOOP
in Oracle parser
-
Issue 2602
Redact licence key in
-X
(DEBUG) mode
Database compatibility
Thanks to esauser, JFNGO, Joe Wu, SDepn, stevenenen and Tyson Gern for reporting these issues.
Flyway 6.1.1 (2019-12-09)
Bug fixes
-
Issue 2560
Whitespace after / delimiter causes migration to fail
-
Issue 2571
Changing delimiter to # in MySQL fails
-
Issue 2577
Support JavaScript in Snowflake stored procedures
-
Issue 2578
Clean fails for
PROCEDURE
in Postgres 12
-
Issue 2580
Escaping issue with environment variable substitution
-
Issue 2592
Cockroach doesn't support mixing DDL / DML in transactions
-
Issue 2595
Only a single line of output produced when
-logFile
used
Thanks to BartBM, Christoph Dreis, Jeroen Roosen, Joe Wu and Tarcio Saraiva for reporting these issues.
Flyway 6.1.0 (2019-11-26)
New features
-
Issue 1384
Special automatically-populated
FLYWAY.CURRENT_SCHEMA
placeholder
-
Issue 1479
Environment variable substitution in config files
-
Issue 1735
Snowflake support
-
Issue 2180
Option to log a copy of the command-line output to a file
-
Issue 2254
Machine-readable Flyway Info
-
Issue 2445
Cockroach 19.2 support
-
Issue 2532
H2 1.4.200 support
-
Issue 2546
Option to force migration to (or not to) run in a transaction
Changes
-
Issue 2576
New configuration parameter
flyway.defaultSchema
Bug fixes
-
Issue 1466
Classpath scanning results are cached between migrate runs
-
Issue 2535
CREATE TABLE ... AS SELECT
not allowed in MySQL when enforcing GTID consistency
-
Issue 2550
Oracle SQL*Plus:
SET ECHO ON
should echo to Flyway's output
-
Issue 2553
Error message improved when script is incorrectly named
-
Issue 2562
Dry Run fails to recognise baseline version
-
Issue 2566
Percona XtraDB 5.7 metadata issue
Thanks to Bob Tierney, David Campbell, esauser, Dennis Jansen, fanticat, fcaponi, Gavin Figueroa,
John Yarham, jshayward (no relation!),
Mike Breault, Milan Nankov, NEzer2
and rjungwirth for reporting these issues and/or submitting pull requests.
Flyway 6.0.8 (2019-10-30)
Bug fixes
-
Issue 2537
Unexpected error re. non-empty schemas
-
Issue 2539
HSQLDB: Unable to parse DROP INDEX IF EXISTS statement
-
Issue 2542
MS-SQL stored proc calls cause non-transactional statement error.
-
Issue 2493
Regression with forward-slash as division operator within PL/SQL
Thanks to David Atkinson, Niklas Lochschmidt, Seb Urbaniak and Tadayuki Onishi for reporting these issues and/or submitting pull requests.
Flyway 6.0.7 (2019-10-17)
Bug fixes
-
Issue 2432
&
in comments should not trigger SQL*Plus placeholder replacement Flyway Teams
-
Issue 2519
Workround for Azure MySQL Database (Basic Edition) incorrectly reporting version
-
Issue 2530
Empty line after
/
delimiter causes migration to fail
-
Issue 2531
Workround for Azure MariaDB Database incorrectly reporting version
Thanks to bramant, Matonen and stevenenen for reporting these issues and/or submitting pull requests.
Flyway 6.0.6 (2019-10-09)
New features
Changes
- Minor-version updates to some third-party dependencies
Bug fixes
-
Issue 2183
Fail-fast when errorOverrides are used with batch=true
-
Issue 2511
Support backtick as an identifier quote for H2 database running in MySql mode
-
Issue 2512
Null placeholder value no longer works for H2 database running in MySql mode
-
Issue 2519
Workround for Azure MySQL Database incorrectly reporting version
-
Issue 2522
Parser error when SQL*Plus
SET
statement is preceded by comments Flyway Teams
-
Issue 2523
Error when SQL*Plus
SERVEROUTPUT
is set to WORD_WRAPPED
Flyway Teams
Thanks to Axel Fontaine, elieabichar-wk, Richard Kettelerij and sladis for reporting these issues and/or submitting pull requests.
Flyway 6.0.5 (Skipped due to regression in Community)
Flyway 6.0.4 (2019-09-23)
Bug fixes
-
Issue 2504
Flyway gradle task cannot open file within custom location (windows)
-
Issue 2503
Checksum mismatch with different relative path in 6.0
Thanks to esauser and gintsgints for reporting these issues and/or submitting pull requests.
Flyway 6.0.3 (2019-09-13)
New features
Changes
-
Issue 2116
validate()
now warns on all checksum failures, rather than stopping at the first one found
-
Issue 2498
Avoid creating unnecessary ResolvedMigrationComparator instances
-
Issue 2499
Compare function(s) should return -1 || 0 || 1
Bug fixes
Thanks to cdalexndr, Ezra Epstein, Martin Konôpka and gorille for reporting these issues and/or submitting pull requests.
Flyway 6.0.2 (2019-09-09)
Bug fixes
-
Issue 2436
H2 Oracle mode: Unable to create schema history table
-
Issue 1794
H2 Oracle mode: NULL not allowed for column 'installed_by'
-
Issue 2493
Forward-slash as division operator within PL/SQL
-
Issue 2496
NPE in AsciiTable.render
Thanks to Garret Wilson, Gerard de Leeuw, Jeroen Meys and GregorKo for reporting these issues and/or submitting pull requests.
Flyway 6.0.1 (2019-08-29)
New features
Bug fixes
-
Issue 2467
Unable to create H2Database instance
-
Issue 2481
Getting unsupported error with correct versions?
-
Issue 2484
Parsing inline comments for SQL*Plus
DEFINE
statements fixed Flyway Teams
-
Issue 2486
SQL Azure incorrectly detected as SQL Server 2014
-
Issue 2487
Flyway 6.0 clean migrate command is throwing an 'eName' is not recognized as an internal or external command error on PostgreSQL 11
Thanks to 123Haynes, Kevin George, Morshed Daud, pcable, Piotrek Żygieło, Simon Stelling, Tauri28, and terje2001 for reporting these issues and submitting pull requests.
Flyway 6.0.0 (2019-08-19)
New features
Changes
-
Issue 2450
Unify database support policy in Enterprise edition
Incompatible changes
-
Issue 2276
Query results are now also displayed in Flyway Community Edition when using
SELECT
statements
Bug fixes
-
Issue 2224
Allow to specify target migrate version to match the default behavior
-
Issue 2260
Callback output doesn't match execution order
-
Issue 2272
Gradle plugin does not resolve `implementation`-scoped artifacts, only `compile`
-
Issue 2352
Typo in MigrationType Javadoc
Pull Request
-
Issue 2355
gradle flywayMigrate failing on missing postgresql CopyManager
-
Issue 2384
JavaUtilLog doesn't need to be instantiated with ClassUtils
Pull Request
-
Issue 2392
Mixed scripts above target trigger error when mixed=false
-
Issue 2409
Flyway fails as SQLDroid misreports SQLite version as 0.0
-
Issue 2410
MariaDB: clean fails when event scheduler is disabled
-
Issue 2413
UTF-8 BOM stripping no longer works in 6.0.0-beta2
-
Issue 2414
Incorrect detection of GO keyword inside identifiers
-
Issue 2417
SQLite clean fails due to violated foreign key constraints
-
Issue 2424
slf4j
loggerNameMismatch
warning disabled
-
Issue 2425
Dry run failing on JDBC defined data types (see also 2462)
-
Issue 2438
Redshift
ALTER TABLE ALTER COLUMN
isn't executed in transaction
-
Issue 2441
Output latest supported DB version with warning
-
Issue 2442
HSQLDB parser:
IF EXISTS
causes incorrect block depth count
-
Issue 2446
Migration files with hard spaces don't work anymore
-
Issue 2447
Flyway clean doesn't remove partition schemes and functions
Thanks to AigleeK, anjo-swe, Árpád Egyed, beyondlov1, Christian Swan, dnk8n, esauser, François Guillot, JohnEgan91,
Kirill Vergun, krite, mpe85, Richard Glidden, Ryan McElroy, sdwarwick and voronaam for reporting these issues.
Flyway 6.0.0-beta2 (2019-05-30)
New features
Bug fixes
-
Issue 2243
When running multiple instances of the app, baselineOnMigrate is not working properly
-
Issue 2245
Dependent jars for Java migrations not on class path, same as in issue #783
-
Issue 2267
Windows: CLI fails with CLASSPATH env var set to a value containing brackets
-
Issue 2270
LogFactory not initialized with the right classloader if first log is from the Flyway class
-
Issue 2307
SQL Server: Incorrect syntax error using GOTO and Labels
-
Issue 2308
Empty placeholders no longer work in 6.0.0-Beta
-
Issue 2310
SQL*Plus parsing fails when statement is immediately preceded by comment
-
Issue 2317
H2: Concurrent migration of empty database fails
-
Issue 2325
Update H2Schema to work with
DATABASE_TO_UPPER=false
Pull Request
-
Issue 2329
Cannot execute PostgreSQL migration that contains ? operator for jsonb
-
Issue 2334
Enable configFiles configuration for maven plugin
Pull Request
-
Issue 2335
H2: clean does not remove function alias
-
Issue 2338
Create stored procedure for MySql and MariaDB fails
-
Issue 2341
MySQL: Reset
SQL_SAFE_UPDATES
and FOREIGN_KEY_CHECKS
after each migration
-
Issue 2347
Feature 'Display query results' doesn't give output in 5.2.4 Pro for Oracle
-
Issue 2363
Undoable migrations not shown as undoable in flyway info
-
Issue 2368
SQLPlusDefineSqlStatement should not depend on SLF4J
-
Issue 2370
Debug level does not work for enterprise option
-
Issue 2374
Dry run doesn't intercept UPDATE run with
executeQuery()
-
Issue 2379
DB2Parser struggles with block depth count
-
Issue 2383
SQL*Plus @ with file path fails to load correct file
-
Issue 2395
DB2: Clean excludes user-defined functions based on new classifications
-
Issue 2397
SQL Server: clean doesn't work for system-versioned temporal tables
Thanks to alexander-semenets-dev, armondoortega, Cristina Petri, Ernst-Udo Wallenborn,
Jeremy Fleischman, Joe Barnett, Josh Wheeler, KiruthikaSS, kwood612, Lucas Persson, Mária Jurčovičová,
Me1gireesh, pvhors, Richard Glidden,
Sofoklis Papasofokli, swanym, tcat2 and Tomáš Poledný for reporting these issues and contributing fixes.
Flyway 6.0.0-beta (2019-02-12)
New features
Changes
Incompatible changes
Bug fixes
-
Issue 63
Support trailing single line comments
-
Issue 558
MySQL statement not recognized due to multiple comment directives on a single line
-
Issue 1706
Parser does not support multiple statements per line
-
Issue 2198
Flyway fails to find resources in Felix 6.0.1 environment
-
Issue 2228
NullPointerException with PostgreSQL multi-statement CREATE RULE
-
Issue 2232
Clean tries to drop a table from an extension and fails
-
Issue 2236
canExecuteInTransaction is not respected by JavaMigration
-
Issue 2242
CREATE FULLTEXT CATALOG statement cannot be used inside a user transaction
-
Issue 2252
Oracle: Parser fails on VIEW ... WITH not followed by PL/SQL
-
Issue 2263
Oracle: cleaning type fails with object does not exist
-
Issue 2266
Flyway does not clean sequences in MariaDB
-
Issue 2275
Unable to override error S00011:15404
-
Issue 2280
Dry-run file contains statements with invalid syntax
-
Issue 2281
Sybase ASE: parsing error with double-quoted string literals
-
Issue 2284
Documentation Typo
Pull Request
-
Issue 2287
DB2: Clean excludes views whose names end with _V
-
Issue 2288
Unable to discard a migration after undoing it
-
Issue 2289
MariaDB not recognized with MariaDB JDBC driver 2.4.0
-
Issue 2298
The procedures 'sp_serveroption' and 'sp_droplinkedsrvlogin' cannot be executed within a transaction
Thanks to AlBa231, armondoortega, asamonov, CobraFlow, esauser, Evan J. Ercolano, Gerd Behrmann,
Guy Brand, jankoh, Jason Turim, Jonas Kongslund, jutoft, Lochan08, Renat Sabitov, Sabine Heimsath,
smrutikanta-cog, svpace, tinybarks and tomas-silhavy for reporting these issues and contributing fixes.
Flyway 5.2.4 (2018-12-04)
Bug fixes
-
Issue 2215
MySQL: Migrate fails when the user does not have permission to SELECT on user_variables_by_thread table
-
Issue 2219
Undo followed by repair leads to corrupted schema history
-
Issue 2220
Command-line on Windows: Locations with spaces fails with `was unexpected at this time` error
-
Issue 2221
Flyway 5.2.2 incorrectly complains about required SQLite upgrade
-
Issue 2222
SAP HANA: CREATE OR REPLACE not working
-
Issue 2229
flyway.errorOverrides broken within callbacks
Thanks to ArunNeo, Jason Hinch, Jean-Pierre Froud, Kevin George, laurre
and seb-urbaniak for reporting these issues.
Flyway 5.2.3 (2018-11-26)
Bug fixes
-
Issue 2213
Flyway warns about Postgres 10.5 being unsupported
Thanks to Antti Lampinen for reporting this issue.
Flyway 5.2.2 (2018-11-25)
New features
Changes
-
Issue 2209
Integrate Trial Edition into Pro and Enterprise Editions
Bug fixes
-
Issue 2185
CONFIG statement cannot be used inside a user transaction
-
Issue 2190
SQLite: Migrations containing PRAGMA foreign_keys= should be marked as non-transactional
-
Issue 2197
MySQL: User-defined variables leak across migrations
-
Issue 2198
Flyway fails to find resources in Felix 6.0.1 environment
-
Issue 2202
NullPointerException with PostgreSQL CREATE RULE statements
-
Issue 2206
MariaDB: Can't create database 'null' error if no database was specified in URL
-
Issue 2210
SQL*Plus: SHOW and SET should allow multiple commands on same line
Thanks to Gerd Behrmann, htto, pjchester, Renat Sabitov, seb-urbaniak and SH.Xue for reporting these issues.
Flyway 5.2.1 (2018-10-24)
New features
-
Issue 2170
Command-line: Add flags for running specific editions
Bug fixes
-
Issue 2169
setCallbacks inconsistent deprecation warning
-
Issue 2171
MySQL Driver 5.1.x support
-
Issue 2175
'sp_addsubscription' cannot be executed within a transaction
-
Issue 2176
MySQL: Exception restoring original database on a connection to a dropped database
Thanks to edquan, GregorKo, seb-urbaniak and Stéphane Nicoll for reporting these issues.
Flyway 5.2.0 (2018-10-04)
New features
Incompatible Changes
-
Issue 1807
Disable recursive filesystem scanning down hidden directories
-
Issue 2165
MigrationResolver.resolveMigrations()
now takes a Context parameter
-
Issue 2165
MigrationExecutor
has been moved to the new org.flywaydb.core.api.executor
package
-
Issue 2165
MigrationExecutor.executeInTransaction()
has been renamed to canExecuteInTransaction()
-
Issue 2165
MigrationExecutor.execute()
now takes a Context parameter
Changes
-
Issue 2147
Oracle 12.1 support is now Flyway Enterprise Edition-only
-
Issue 2164
JdbcMigration
and SpringJdbcMigration
have been deprecated in favor of JavaMigration
-
Issue 2164
BaseJdbcMigration
and BaseSpringJdbcMigration
have been deprecated in favor of BaseJavaMigration
-
Issue 2164
MigrationInfoProvider
, MigrationChecksumProvider
and ConfigurationAware
have been deprecated in favor of JavaMigration
Bug fixes
-
Issue 1909
Flyway breaks when JDBC driver returns null URL
-
Issue 2035
PostgreSQL: Restore role to its original value between migrations instead of resetting it
-
Issue 2048
Oracle: Parser fails on CREATE VIEW ... AS WITH
-
Issue 2071
DROP FULLTEXT INDEX statement cannot be used inside a user transaction
-
Issue 2082
Non-transactional RECONFIGURE statement not working in SQL Server
-
Issue 2088
Derby Embedded DB stays open when using the Gradle wrapper
-
Issue 2095
Flyway fails to drop aggregate functions from postgres on clean
-
Issue 2096
Sql Server schema clean throws exception for indices on virtual columns for json attributes
-
Issue 2097
CockroachDB 2.0: Clean broken for sequences
-
Issue 2115
Oracle SQL/Plus DEFINE should not be case sensitive
-
Issue 2118
SQL*Plus: SET SERVEROUTPUT ON SIZE not processed correctly
-
Issue 2123
Performance issue for the MySQLSchema doEmpty() call
-
Issue 2134
PostgreSQL current schema function throws NPE instead of permission denied exception
-
Issue 2136
Issues connecting to mariadb linux socket
-
Issue 2143
COPY ... FROM fails if run after a single-line comment
-
Issue 2148
Flyway uses schema_version table even if I specify the table to be flyway_schema_history
Thanks to Daniel Scott, DanskerDave, Elvadas NONO, Fabian Bergmark, Gili Tzabari, Guy Brand,
hdconradi, HiddenKnowledge, JeP42, JLopeDeB, Joe Lee-Moyet, Matt Sprague, Matthew Burghoffer, Mihir Mehta,
raffig, Reinhard Handler, Sajith1988V, swanke00, Tim Hadwen and Valentin Gohard for reporting these issues.
Flyway 5.1.4 (2018-07-04)
New features
-
Issue 2054
Additional SQL*Plus SET commands support (ESCAPE, FLAGGER, HEADING) Flyway Teams
-
Issue 2059
Warn about MariaDB driver usage when connection to MySQL 5.5+
Bug fixes
-
Issue 2051
PostgreSQL: clean fails when trying to drop aggregates added by extensions
-
Issue 2052
Regression Issue: Checksums invalid for blank migrations applied in v5.0.7 and below
-
Issue 2053
Repeatable migrations produce invalid SQL during dry-run
-
Issue 2060
SQL Server: error parsing string literals starting with 'as'
Thanks to CatalinaMoisuc, Craig Davidson, Paul Chown and Uri Hendler for reporting these issues.
Flyway 5.1.3 (2018-06-20)
Bug fixes
-
Issue 2028
Unable to clean schema that contains a user-defined function with schemabinding in SQL Server
-
Issue 2031
Warning: Input stream has been finalized or forced closed without being explicitly closed
-
Issue 2037
Upgrade Maven plugins to protect against Zip Slip
Pull Request
-
Issue 2041
Sybase 15.7: Incorrect syntax near 'GO'
-
Issue 2042
Workaround a bug in windows cmd
Pull Request
-
Issue 2045
Info: Synthetic migrations (like SCHEMA) should not show up as repeatable
-
Issue 2046
ErrorOverrides fail to override warning into error
-
Issue 2047
Batching sometimes executes statements twice
Thanks to Dar Brett, Esteban Marin, Piotrek Żygieło, seneiran and sullis for reporting these issues and contributing fixes.
Flyway 5.1.2 (Skipped due to build process failure)
Flyway 5.1.1 (2018-05-28)
Bug fixes
-
Issue 1803
Postgres "ERROR: must be superuser to create a base type" during clean of DOMAIN
-
Issue 2026
ErrorOverrides should also work with negative error codes
-
Issue 2027
Getting 'ERROR: Validate failed' after upgrading from 5.0.7 to 5.1.0
-
Issue 2029
Regression in 5.1.0 regarding non-transactional migrations including comments
Thanks to Patrick Kohan, Peter Matseykanets and Simon Kissane for reporting these issues.
Flyway 5.1.0 (2018-05-24)
DO NOT USE: This release contains an important checksum validation regression which has been fixed in 5.1.1.
New features
Incompatible Changes
-
Issue 1707
FlywayConfiguration.getCallbacks()
now returns Callback[]
instead of FlywayCallback[]
-
Issue 1707
Flyway.getCallbacks()
now returns Callback[]
instead of FlywayCallback[]
-
Issue 1865
'Ignored' migrations now trigger an error by default. The old more lenient behavior can be restored by setting `ignoreIgnoredMigrations` to `true`
-
Issue 1883
SQL*Plus support is now disabled by default and must be explicitly activated using the new
oracle.sqlplus
flag
-
Issue 1928
Flyway
now implements Configuration
instead of FlywayConfiguration
-
Issue 1928
FlywayConfiguration.getLocations()
now returns Location[]
instead of String[]
-
Issue 1928
Flyway.getLocations()
now returns Location[]
instead of String[]
-
Issue 1928
Flyway.getSchemas()
now returns an empty array (instead of the connection's default schema) if no schemas were set using setSchemas()
-
Issue 1946
FlywayConfiguration.getEncoding()
now returns Charset
instead of String
-
Issue 1946
Flyway.getEncoding()
now returns Charset
instead of String
Changes
-
Issue 1707
FlywayCallback
and BaseFlywayCallback
have been deprecated in favor of Callback
.
-
Issue 1928
FlywayConfiguration
has been deprecated in favor of Configuration
.
-
Issue 1989
Flyway Command-line now ships with H2 1.4.197
-
Issue 2007
Flyway Command-line now ships with MariaDB JDBC driver 2.2.4
-
Issue 2013
Flyway Command-line now ships with Derby 10.14
-
Issue 2014
Flyway Command-line now ships with JRE 8u172
-
Issue 2015
Flyway Command-line now ships with SQL Server JDBC driver 6.4.0
-
Issue 2016
Flyway Command-line now ships with PostgreSQL JDBC driver 42.2.2
Bug fixes
-
Issue 100
Clean tries to drop a function from an extension and fails
-
Issue 1362
Header comment on stored procedure
-
Issue 1420
Line break settings are not respected (Windows)
-
Issue 1707
Non-transactional SQL callbacks failing after upgrade to 4.2.0
-
Issue 1876
Postgres COPY FROM STDIN fails on data containing string delimiters
-
Issue 1892
Allow executing info while a migration is running
-
Issue 1917
CommandLine Help / Usage for Community Editions shows PRO commands and options
-
Issue 1918
UNC path support for filesystem locations
-
Issue 1922
LogFactory should use same classloader for feature detection and loading the correct logcreator
-
Issue 1923
Flyway Maven Plugin can't find JDBC driver if the driver is a dependency with scope provided
-
Issue 1924
Too much memory allocations
-
Issue 1926
PostgreSQL: Flyway uses "public" schema instead of current_schema when search_path starts with $user
-
Issue 1927
Flyway 5 regression when line in multi line string starts with single line comment
-
Issue 1932
Do not delete types that extensions depend on when cleaning PostgreSql
Pull Request
-
Issue 1940
PostgreSQL: Ignore objects created by extensions when checking whether a schema is empty
-
Issue 1943
Flyway schema creation issue on Oracle 12.2 DB with password policy enabled
-
Issue 1945
COPY ... FROM stdin throws "missing data for column" error
-
Issue 1948
On PostgreSql the alternate quote string literal is not detected if it is not followed by a space
-
Issue 1950
Repair dry-run: java.lang.IndexOutOfBoundsException
-
Issue 1955
Redshift: Unable to create uppercase schema history table
-
Issue 1959
PostgreSQL search path not restored properly after migrations when auto-comit == false
-
Issue 1968
JDBC Migration failures not entered into schema_version table
-
Issue 1979
Support for tnsnames.ora if TNS_ADMIN is set (issue #1806) does not work correctly
-
Issue 1983
Failure on creation of a schema history table on an empty database when autoCommit is false
-
Issue 1989
Clean cannot drop schema with H2 1.4.197 and newer
-
Issue 1992
CREATE SUBSCRIPTION PostgreSQL statement not detected as non-transactional
-
Issue 2011
SQL Server parsing issue when string literal is followed by as keyword without a space in between
-
Issue 2025
Baseline migration is always updated when repairing
Thanks to aebaugh, AndrasJanurik,
andrey-poltavskiy, Bartosz Kamiński, Ben Manes, bigslack, Brett Randall, Brian O'Halloran,
brodgers-oreilly, Chuck May, cmcmurtrie, Craig Davidson, Daniel Huss, Dmitrii Apanasevich,
Jens Doose, jezovuk, jMediaConverter, Kevin Sheedy, Konrad Botor, Leo Breuss,
luengnat, Manikanta G, nireno, nkbysani, Oleg Artenii, Peter Wippermann, Punnapulusu, Razvan,
Sandra Parsick, Simon Gamma, TimoTHa, umapathy08, Wim Deblauwe and Yannik Hampe for reporting these issues.
Flyway 5.0.7 (2018-01-30)
Changes
-
Issue 1912
Flyway now requires the Java 9 compiler to build. Java runtime compatibility is unchanged.
Bug fixes
-
Issue 1901
DB2 parsing issue when END IF is split across lines
-
Issue 1906
CLI flyway specified drivers directory via jarDirs not applied
-
Issue 1907
Off-by-one error for installed_rank in dry run scripts
-
Issue 1911
Make it clearer that a Dry Run does not modify the database
Thanks to buuren and David Atkinson for reporting these issues.
Flyway 5.0.6 (2018-01-16)
New features
-
Issue 1897
Info should also print the current schema version
Bug fixes
-
Issue 1878
DB2 Stored procedure scripts which run in 4.1.2 fail to execute in 5.0.2
-
Issue 1890
MigrationInfoImpl (still) violates compareTo contract
-
Issue 1893
flyway schema version table creation fails after SQL callback execution
-
Issue 1894
Missing semi colon in the dryrun SQL to insert into the flyway_schema_history table
Thanks to aebaugh, David Atkinson, Lyor Goldstein and Rob34 for reporting these issues and contributing fixes.
Flyway 5.0.5 (2018-01-04)
Bug fixes
-
Issue 1882
Add Maven artifact install and deploy scripts
-
Issue 1884
Undo command does not respect the expected order when used with target
-
Issue 1885
Location that only contains repeatable Migrations leads to ArrayIndexOutOfBounds
-
Issue 1886
Incorrect WARNING: Ignoring unsupported SQL*Plus statement when "column" text appears on a new line
Thanks to David Atkinson, David J. M. Karlsen, ImmanuelRhesa and quentinbricard
for reporting these issues and contributing fixes.
Flyway 5.0.4 (2018-01-02)
New features
-
Issue 1882
Add Maven artifact install and deploy scripts
Changes
Bug fixes
-
Issue 1498
Cannot load migration SQL scripts from the root of the classpath in a jarfile
-
Issue 1875
SAPHANATable.doDrop() should drop with CASCADE
-
Issue 1879
Support for Redshift statements which cannot be run inside a transaction
Thanks to Gareth Rogers, Jonathan Bregler and Matyas Albert Nagy
for reporting these issues and contributing fixes.
Flyway 5.0.3 (2017-12-20)
New features
Bug fixes
-
Issue 502
sp_MSForeachtable statement hangs
-
Issue 1250
One connection is used for all migrations causes an issue with session params redefined
-
Issue 1508
Support for cleaning SQL Server Rule and Default objects
-
Issue 1633
Implementing MigrationInfoProvider.getDescription() returning String longer than 200 characters
-
Issue 1676
SQL Server USE statements within migration cause Flyway to fail
-
Issue 1838
SQL Server migration batch terminator as first statement gives empty query error
-
Issue 1861
SET SERVEROUTPUT ON Not working in 5.0.1 trial
-
Issue 1869
Unknown configuration property: flyway.skip when property set to false or null
-
Issue 1873
Support for cleaning SQL Server DATABASE triggers
Thanks to Ayrat Natfullin, Catchwa, gscht,
mahidbdw, mpapetti, Patrik Duditš and vencoreguy for reporting these issues and contributing fixes.
Flyway 5.0.2 (2017-12-08)
Bug fixes
-
Issue 1859
Validation error with schema_version table name
-
Issue 1862
Gradle plugin not published successfully
-
Issue 1863
flyway -dryRunOutput causes a migrate when a colon is used instead of =
Thanks to David Atkinson, Marceau Dewilde and Tommy Odom for reporting these issues and contributing fixes.
Flyway 5.0.1 (2017-12-07)
This release is identical to Flyway 5.0.0. It only adds the platform specific distribution of Flyway Command-line
which were missing in Flyway 5.0.0.
Flyway 5.0.0 (2017-12-07)
Important note for users upgrading from Flyway 3.x: This release no longer supports a schema history
table upgrade from Flyway 3.x. You must upgrade to Flyway 4.2.0 first before upgrading to Flyway 5.0.0.
Important note for EnterpriseDB, Vertica, SolidDB, Phoenix and Greenplum:
Support for these databases has been kept back and will be integrated later in the Flyway 5.0 series.
You can keep using Flyway 4.2.0 until then.
New features
-
Issue 87
Output to sql file instead of committing against the DB
-
Issue 109
Undo migrations
-
Issue 797
Official Flyway Dockerfile
-
Issue 809
Promote internal logging wrapper to external API
-
Issue 944
Allow to use paths relative to flyway.conf location
-
Issue 1562
Add flyway.configFiles support to Gradle plugin
-
Issue 1624
Multiple configuration files
-
Issue 1663
Support TestContainers JDBC connection string
-
Issue 1693
Command-line: Add -D support to define JVM system properties
-
Issue 1699
Command-line: allow setting system properties in config file
-
Issue 1727
Command-line: JAVA_ARGS environment variable support
-
Issue 1728
Command-line: Use Windows CLASSPATH environment variable
-
Issue 1733
Redshift JDBC 4.2 driver support
-
Issue 1742
Allow Multiple Suffixes/File Extensions
-
Issue 1754
Allow injecting a complete Configuration
-
Issue 1760
CockroachDB support
-
Issue 1777
Sybase ASE jConnect JDBC driver support
-
Issue 1804
Repair: also correct migration type
-
Issue 1806
Oracle: Automatically enable support TNSNames aliases if TNS_ADMIN is set
-
Issue 1819
Flyway Command-line now ships with the official Microsoft JDBC driver for SQL Server
-
Issue 1845
Oracle SQL*Plus commands support
-
Issue 1849
Show output from select statements in console
Incompatible changes
-
Issue 109
The
FlywayCallback
interface has 4 new methods:
beforeUndo
, beforeEachUndo
, afterEachUndo
and afterUndo
-
Issue 109
The
MigrationInfoProvider
interface has 1 new method: isUndo
-
Issue 109
The
MigrationState
enum has 2 new elements: AVAILABLE
and UNDONE
-
Issue 1402
Maven 3 is now the new minimum supported version
-
Issue 1429
Gradle 3.0 is now the new minimum supported version
-
Issue 1577
Flyway now fails on incorrect parameter instead of showing a warning
-
Issue 1692
Java 8 is now the new minimum supported version
-
Issue 1818
Sybase ASE 15.7 is now the new minimum supported version
-
Issue 1820
DB2 z/OS support has been discontinued
-
Issue 1827
Redshift users must now connect using the Redshift driver. Connections with the PostgreSQL driver are no longer supported.
-
Issue 1841
MigrationState.SUPERSEEDED has now been renamed to SUPERSEDED
- Oracle 12.1 is now the new minimum supported by Flyway Community Edition
- SQL Server 2014 is now the new minimum supported by Flyway Community Edition
- DB2 10.5 is now the new minimum supported by Flyway Community Edition
- MySQL 5.5 is now the new minimum supported by Flyway Community Edition
- MariaDB 5.5 is now the new minimum supported by Flyway Community Edition
- PostgreSQL 9.3 is now the new minimum supported by Flyway Community Edition
- SAP HANA 2.0 is now the new minimum supported by Flyway Community Edition
- HSQLDB 2.0 is now the new minimum supported by Flyway Community Edition
- Derby 10.11 is now the new minimum supported by Flyway
Changes
-
Issue 1752
Flyway Command-line now ships with MariaDB JDBC driver 2.2.0
Pull Request
-
Issue 1756
Flyway Command-line now ships with PostgreSQL JDBC driver 42.1.4
-
Issue 1822
Flyway Command-line now ships with H2 1.4.196
-
Issue 1823
Flyway Command-line now ships with HSQLDB 2.4.0
-
Issue 1824
Flyway Command-line now ships with SQLite 3.20.1
-
Issue 1848
The default for flyway.table has been changed from schema_version to flyway_schema_history
-
Issue 1850
The Flyway Command-line platform-specific archives now ship with JRE 8u152
Bug fixes
-
Issue 183
Multiline RULE declarations are not parsed correctly
-
Issue 1167
Clean on DB2 functions or procedures fails when two procedures have the same name
Pull Request
-
Issue 1305
Maven warning when using Flyway plugin with parallel builds
-
Issue 1336
State column contents truncated in Info command
-
Issue 1361
Clean fails to DROP AGGREGATE in SQL Server
-
Issue 1426
SQL Server: ALTER DATABASE ... SET SINGLE_USER not supported
-
Issue 1550
Numerous flaws in Clean implementation for Oracle DB
Pull Request
-
Issue 1554
validate does not respect target
-
Issue 1575
Command info: Comparison method violates its general contract
-
Issue 1601
Clean improvements for Oracle pt.2
Pull Request
-
Issue 1620
Flyway logs passwords at INFO level
-
Issue 1625
Callbacks are added and executed multiple times
-
Issue 1627
Appengine & ClassPathScanner : throw AccessControlException since 4.1.0
-
Issue 1634
DB2 inserting of triggers fails, depending on the format of the statement
-
Issue 1636
Metadata table creation error is not reported
-
Issue 1642
Java error when running flyway from bash shell of Git for Windows
Pull Request
-
Issue 1649
flyway:clean fails on db2 when trying to drop versioning on tables which is accessed by a MQT
Pull Request
-
Issue 1654
Deadlock produced in Postgres when running migrations in parallel with a migration task containing CREATE INDEX CONCURRENTLY
Pull Request
-
Issue 1678
ignoreMissingMigrations default not specified
-
Issue 1686
Gradle plugin warning after migrating to Gradle 4.0
Pull Request
-
Issue 1690
Support for labels preceding DB2 SQL PL BEGIN ... END block
-
Issue 1691
DB2 stored procedure nested block support
-
Issue 1694
Can't use Use MSDB in SQL server
-
Issue 1701
Table.exists() very slow in Postgres Environments with a lot of objects
Pull Request
-
Issue 1711
SQL Server BACKUP and RESTORE statements broken
-
Issue 1713
Suppress redundant "SQLite does not support setting the schema..." messages
-
Issue 1723
Anonymous block in SAP HANA is not working
-
Issue 1726
outOfOrder parameter value not validated
-
Issue 1729
Resource leak detected enabling Strict Mode on Android platform
Pull Request
-
Issue 1732
Cannot create metadata table in DB2 when default table organization is set to column
-
Issue 1757
Warn on incompatible class change
-
Issue 1764
USE sql command leaks to subsequent migration files
-
Issue 1782
First character in script column of schema_version table removed if double back slashes in location.
-
Issue 1802
Clean fails when Postgres DOMAIN depends on SEQUENCE
-
Issue 1813
Checksum mismatch error not helpful
-
Issue 1817
DB2 truncate statement fails under Flyway 4.2.0
-
Issue 1831
Incorrect Redshift search_path parsing
-
Issue 1842
Oracle: Ignore lone /
-
Issue 1846
Oracle statement fails when it contains DATE'11/29/2017' and no space in between
-
Issue 1847
Documentation is not clear about the definition of missing and future migration
-
Issue 1851
CockroachDb invalid default database name
Pull Request
-
Issue 1854
Adding comment surrounding usage of Oracle TNS Connection string
Thanks to Alexei Osipov, andrey-poltavskiy, aoksys, Carl Taylor, Christopher Smith, Craig Davidson, czyzby,
Dennis Hoer, djohnsonmach, FlakM, Francesco Proietti, George Thomas, Gili Tzabari,
hmtelbi, Igor Nikolaev, J0s3f, Jason Hinch, Jasper Brekelmans, Jasper van Wanrooy, jcoulehan,
Jeffrey Li, Jens Doose, Jidehem, John McCall, Joshy Austin, jsross, Julien Coupez, Kevin Bloch,
masc3d, Mattias Sällström, Mihir Mehta, mstarita, nvartolomei,
o2dac, pswrdf, rbatllet, Renat Sabitov, Rob34, RobertRad, Roger Qiu,
Sabine Heimsath, sandman24, sasivarnans,
Simon Kissane, Stefano Teodorani,
Stephan Pauxberger, Tibor Baksa, ToBeReplaced, Victor Osolovskiy, vojbarzz,
wanglin0413, xindu and Yogi2803 for reporting these issues and contributing fixes.
Flyway 4.2.0 (2017-04-27)
New features
Changes
-
Issue 1585
Rename `allowMixedMigrations` to `mixed`
-
Issue 1588
Enable single-connection mode for SQL Server
-
Issue 1589
Enable single-connection mode for DB2
-
Issue 1590
Enable single-connection mode for Derby
Bug fixes
Thanks to Brian Chen, Durim Kryeziu, Gili Tzabari, Jamie Swain, mtcremin,
Stephan Pauxberger, svitalsky,
Thomas Meyer and Victor Osolovskiy for reporting these issues and contributing fixes.
Flyway 4.1.2 (2017-03-06)
Bug fixes
-
Issue 1531
SAP HANA: CREATE PROCEDURE statements with embedded semicola don't work
Pull Request
-
Issue 1534
MetaDataTable not updated with autoCommit false
-
Issue 1537
PostgreSQL: Flyway fails after applying migration containing SET ROLE statement
-
Issue 1539
Gradle: Unable to instantiate JDBC driver declared as buildscript dependency
-
Issue 1540
WITH (OIDS=FALSE) fails on CockroachDB
Thanks to ace130-github, Fabian Vogler, Geir Harald Hansen, Sachin Walia
and sergey-selivanov for reporting these issues and contributing fixes.
Flyway 4.1.1 (2017-02-16)
Bug fixes
-
Issue 1095
MSSQL Server: exclude microsoft tools procedures/functions from empty schema detection
Pull Request
-
Issue 1525
JRE missing from 4.1.0 release
-
Issue 1527
Unable to instantiate JDBC driver defined in compile scope from Gradle plugin
-
Issue 1533
NullPointerException while applying repeatable migration with Maven
Thanks to Dennis Hoer, Jean Revertera, Lightside Tech
and Victor Boldurat for reporting these issues and contributing fixes.
Flyway 4.1.0 (2017-02-08)
New features
Incompatible Changes
Changes
- Schema marker metadata table entries (generated when Flyway creates a schema) do not have an explicit version anymore
- H2 Jdbc driver: Flyway is now tested with 1.4.193 (was 1.4.191)
- Hsql Jdbc driver: Flyway is now tested with 2.3.4 (was 2.3.3)
- The Gradle plugin has now been rewritten in Java (used to be written in Groovy)
Bug fixes
-
Issue 1067
Metadata table creation failure with fresh db
-
Issue 1163
DB2 change delimiter using --#SET TERMINATOR
-
Issue 1180
sqlite: flyway migrate fails, reports database is locked
-
Issue 1261
classpath scanner does not find db.migration package or resources
€ Sponsored by Startrack
-
Issue 1318
sqlite DB locked when you specify flywayDriver
-
Issue 1331
Validation fails on migrate when schema doesn't exist
-
Issue 1333
OracleDB failed to migrate while schema name contains character "-"
-
Issue 1346
Migration hanging with HsqlDB 2.3.4
-
Issue 1348
Remove warning when using flyway.version maven property
-
Issue 1351
Repair does not fix "Migration Description mismatch" error
-
Issue 1358
Reverted version of a repeatable script should be reapplied
-
Issue 1363
ValidateOnMigrate should fail for unapplied migration when outOfOrder=false
Pull Request
-
Issue 1364
Validate with target=current should fail on unapplied migration
-
Issue 1368
Possible race condition on MetaDataTable-Upgrade
-
Issue 1369
support for IBM DB2 users with dashes in username (like 'A-A')
-
Issue 1382
Inconsistent usage documentation: conf/flyway.conf vs conf/flyway.properties vs ./flyway.conf
Pull Request
-
Issue 1387
schema_version column version not nullable on Sybase ASE
-
Issue 1396
Log the inner exception thrown from JdbcMigrationResolver.resolveMigrations()
-
Issue 1401
Not getting the full stack error
-
Issue 1415
performance improvements when installing a large number of migration scripts
-
Issue 1428
Repeatable migrations - error in case of checksum mismatch
-
Issue 1430
Having only Repeatable Migrations crashes Flyway
-
Issue 1446
SQL parsing problem when combining Postgres's COPY ... FROM stdin and SQL domains
-
Issue 1457
When migrations have been applied by enabling out-of-order Flyway displays the wrong current version
-
Issue 1463
Unable to clean schema that contains function calling another function and both have SCHEMABINDING
-
Issue 1468
Using flyway.serverId produces WARNING log
-
Issue 1470
Add support for Oracle editionable objects
Pull Request
-
Issue 1474
ClassCastException in AndroidScanner
Pull Request
-
Issue 1483
Flyway doesn't recognize Sybase ASE 12.5
-
Issue 1487
Exception "Unable to resolve Jdbc Java migrations in location" due to wrong assumption on classloader behavior
-
Issue 1499
Sqlite locks when attempting a migration result in SQLException: [SQLITE_BUSY]
-
Issue 1512
Warnings when application is packaged as a Spring Boot executable war
Thanks to Andrew Berglund, Andrew McLaughlin, Antti Lampinen, azalesky,
Benoit Devos, blimey74,
Brian Krahmer, chrstnk, Craig Pardey, cristalp, David Vázquez Púa, Dustin Conrad, Eugen Pribulla,
G. Richard Bellamy, JasonAUnrein, Jason Turim, JB Nizet, Jeremy Bush,
Joris Kuipers, Juan Liska, masc3d, Michael Prankl, nathansgreen,
Olivier Gérardin, PeeZu, Petar Tahchiev, pswrdf, qwazer,
reactormonk, rousej, Stefan Ferstl, Stefan Hausner, sw00, Taufiq Hoven, tomaszglinski
toro01 and zvika77 for reporting these issues and contributing fixes.
Special thanks to JustWatch, Porch
and Startrack for sponsoring features and fixes.
Flyway 4.0.3 (2016-06-17)
Bug fixes
Thanks to aaltergot and hartrc for reporting these issues and contributing fixes.
Flyway 4.0.2 (2016-06-09)
Changes
-
Issue 1319
Update MariaDB driver to latest version
Bug fixes
-
Issue 1211
PostgreSQL upper case schema names end up double quoted
-
Issue 1307
Removed drop table because of issues with partitioned tables
Pull Request
-
Issue 1309
Maven plugin : warning about flyway.configFile
-
Issue 1326
SqlScriptFlywayCallback errors in ALL_CALLBACKS list
-
Issue 1327
Option to Suppress "SQLServer does not support setting the schema..." messages
Documentation fixes
Thanks to Dennis Hoer, frbo42, Gili Tzabari, hartrc, John McCall, lrozenblyum, smohara and Sten Røkke
for reporting these issues and contributing fixes.
Flyway 4.0.1 (2016-05-06)
Bug fixes
Documentation fixes
Thanks to alekseevIN, Alexey Kobyakov, Antti Lampinen, Artem Konenko,
Aurélien Mino, azalesky, Erin Drummond, fromi, Gian Marco Gherardi, Gili Tzabari,
hntran8, J. Taylor O'Connor, Jeff Johnston, Johannes Brodwall,
Kari Häkkinen, Kenji Yoshida, Kevin Wimmer, krispii, lrozenblyum, Maksim Serebro, Marat Abrarov,
mezuzza, Nathan Vick, Nick Strecker, oohira, Renat Sabitov, ridiekel,
sourcesmith, Sten Røkke, tsbx, Walter Gillett
and Werner Mueller for reporting these issues and contributing fixes.
Flyway 4.0 (2016-02-29)
This version comes with a new metadata table format. Migration is transparent and automatic on
first
run of any Flyway command. This new format is not compatible with older Flyway versions.
Note: DB 2 z/OS, Vertica, and solidDB users may have to manually upgrade the metadata table or
drop it and baseline the schema again.
New features
Incompatible Changes
-
Issue 477
When a location is not found a warning is now emitted instead of an exception
-
Issue 724
When using the command-line tool with no database user or password, you must now pass in an empty value to
avoid being prompted
-
Issue 767
mvn flyway:clean is now executed in the clean phase by default
-
Issue 891
The Flyway SBT plugin now requires SBT 0.13.7
-
Issue 935
Command-line: error messages are now sent to stderr instead of stdout
Pull Request
-
Issue 979
The default location for the Flyway Maven, Gradle and SBT plugins is now
filesystem:src/main/resources/db/migration
-
Issue 988
Fail validate if an already applied migration couldn't be found
-
Issue 989
To ignore failed future migrations, you must now also set
ignoreFutureMigrations
to
false
.
-
Issue 1116
Removed all deprecated API from Flyway 3.x
Changes
-
Issue 977
Flyway now warns on invalid command-line options
-
Issue 1152
Upgrade Command-line tool bundled JRE to 8u74
-
Issue 1214
Upgrade Command-line tool bundled JDBC drivers to latest versions
Bug fixes
-
Issue 178
Support for reference-partitioned tables (Oracle 11g)
Pull Request
-
Issue 253
Ignore line endings when calculating checksums
-
Issue 669
Ignore sqlplus set define off command
-
Issue 737
search_path is not restored after migration
-
Issue 763
sbt tasks do not use scope specific settings
Pull Request
-
Issue 788
Provide default implementation for FlywayCallback
-
Issue 905
NullPointerException at org.flywaydb.maven.MigrateMojo.doExecute(MigrateMojo.java:35)
-
Issue 917
After running flywayMigrate in SBT there is no straightforward way to know current db version
-
Issue 983
Redshift COPY not working
-
Issue 995
Error setting current schema to "public"
-
Issue 999
ClassCastException in PostgreSQLDbSupport.executePgCopy when using BasicDataSource
Pull Request
-
Issue 1000
SQL exception in COPY statement when the DELIMITER is set to a semicolon
-
Issue 1001
Gradle plugin can not set placeholderReplacement property
-
Issue 1023
Flyway should not expect "org/flywaydb/core/internal/version.txt" to be on the custom classpath
-
Issue 1025
afterEachMigrate fails, migration succeeds, but migration not written to schema_version
-
Issue 1033
Missing Import-package MANIFEST.MF headers for postgresql
-
Issue 1036
ORA-00911: invalid character
-
Issue 1042
Single connection in DriverDataSource can never be closed
-
Issue 1043
Migration with Flyway.setPlaceholderReplacement(false) fails with "org.flywaydb.core.api.FlywayException: No
value provided for placeholder expressions"
-
Issue 1049
ORA-32794 in Oracle 12c using identity columns
-
Issue 1075
Support option to use Slf4j/Commons Logging/JUL when using the command line tool
-
Issue 1077
Oracle JDBC issue on Linux - IO Error: Connection reset
-
Issue 1080
ORA-00911: Invalid character on 'From'
Pull Request
-
Issue 1081
Change of Delimiter does not work correct for SQLite
-
Issue 1085
Clean on embedded derby database does not clean triggers
-
Issue 1089
SQL cannot be parsed when using binary type "char (16) for bit data": X'0123'
Pull Request
-
Issue 1093
ORA-01950 on schema baseline/init in Oracle 12.1
-
Issue 1099
Flyway fails to connect with the database if the OS user name is longer than 30 characters
-
Issue 1106
A tableName """t""" cause error on PostgreSQLSchema.doAllTables()
-
Issue 1108
Flyway does not reset the current schema between migrations
-
Issue 1109
ORA-65040 error when trying to clean different schema with system user
-
Issue 1111
Support for Vertica (or replace) Function
Pull Request
-
Issue 1124
Fix flyway script on Git Bash for Windows
Pull Request
-
Issue 1129
Fails to clean materialized view that has dependent view on postgres
-
Issue 1136
Multi Line comments are not handled correctly
Pull Request
-
Issue 1142
OsgiClassPathLocationScanner supports only current bundle
Pull Request
-
Issue 1154
Drop functions with length attributes in DB2
Pull Request
-
Issue 1164
Use nanoTime() for StopWatch
Pull Request
-
Issue 1165
Sql file callbacks does not work with empty sqlMigrationPrefix
-
Issue 1171
GAE uses different Driver: Unable to obtain Jdbc connection from DataSource
Pull Request
-
Issue 1190
PostgreSQL: Filter functions and views from extensions during clean
Pull Request
-
Issue 1193
Unable to clean schema that contain a Computed Column Defined with a User-Defined Function
-
Issue 1196
PostgreSQL: trim schema name
-
Issue 1197
Improved JavaDoc for callbacks, resolvers and migrations
Pull Request
-
Issue 1217
Fixed flyway 4.0 upgrade for Redshift (it does not support alter column)
Pull Request
Documentation fixes
Thanks to aegyed, Aurélien Mino, axaluss, Barry O'Neill,
cajnoj, Christian Dedié, crump32, David Phillips, diwa, dukeyin, dzharikhin,
Dzmitry Lazerka, Eduardo Piaro,
Eric Parton, Fabio Lisboa, Gili Tzabari, gnomff,
hamiller, Jason Wong, Jens Berke, Jens Doose, JGMM, Josh Mahonin, Karel Rank, Kevin Sheedy, khelsen, Kristopher
Landon,
Larivact, Lukas Eder, Luke Pryor, Marc-André Poulin, Mark Petrovic, Markus Umefjord,
martin-grofcik, mdaquel, Michael Verrilli,
MingoDynasty, mojoo, Nathan Vick, Neo Wu, Nitin Gautam, Pascal Gruen, pentavalle, pingw33n,
PredatorVI, Ringerl, Sachin Walia, Salman Haq, sastorsl, Sebastian Tacke, Stephan Pauxberger, stkuehnl, Sylvain
Guillopé,
thelateperseus, Tim Büthe,
Tom Eicher, Yevgeniy Mordovkin and ysobj for reporting these issues and contributing fixes.
Flyway 3.2.1 (2015-03-20)
Bug fixes
Thanks to avesse, David J. M. Karlsen and soemeier for reporting these issues and contributing fixes.
Flyway 3.2 (2015-03-16)
New features
Changes
-
Issue 752
Deprecated
Flyway.setBaselineVersion(String)
, use
setBaselineVersionAsString(String)
instead.
-
Issue 752
Deprecated
Flyway.setTarget(String)
, use setTargetAsString(String)
instead.
-
Issue 752
Deprecated
Flyway.setCallbacks(String...)
, use setCallbacksAsClassNames(String...)
instead.
-
Issue 752
Deprecated
Flyway.setResolvers(String...)
, use setResolversAsClassNames(String...)
instead.
-
Issue 895
Deprecated Gradle plugin ID
flyway
, use org.flywaydb.flyway
instead.
Pull Request
-
Issue 966
Commandline: Deprecated
jarDir
, use jarDirs
instead.
Bug fixes
-
Issue 598
No "current" schema in flyway.url causes a Flyway exception
-
Issue 752
Overloaded setters break Spring XML usage € Sponsored by David Harrigan
-
Issue 892
Using (deprecated) init goal in Maven takes wrong baseline version
-
Issue 893
Add command images to Javadoc
-
Issue 898
Flyway baselines new schemas, since they always have a schema_version table
-
Issue 902
slf4j optional package import missing from OSGi manifest
-
Issue 903
Fix an error where MigrationVersion wouldn't parse correctly
Pull Request
-
Issue 905
NullPointerException at org.flywaydb.maven.MigrateMojo.doExecute(MigrateMojo.java:35)
-
Issue 918
Explicitly drop Views then doing a Flyway.clean() on a PostgreSQL db
-
Issue 921
Incorrect parsing when space is missing between end quote and next token
-
Issue 922
Escape command-line arguments
-
Issue 939
Multiline comment closing not detected properly
-
Issue 940
Implicit baseline triggered by baselineOnMigrate does not respect baselineVersion
-
Issue 951
Still issues with the Gradle plugin under Java 6
-
Issue 955
Loading configFile from relative path seems to be broken
-
Issue 957
Improve DataSource not set error message for non-API clients
-
Issue 958
Backslashes are not treated properly in conf file
-
Issue 965
Problem with double quotes
Documentation fixes
-
Issue 959
Gradle documentation should have commas to separate placeholders
Thanks to Adrian Christen, Andrew Murray, Armin Gattung, benheilers,
Cosmin Stejerean, David M. Carr, david-mas,
Diego Plentz, Gili Tzabari, gergelyszakacs, janbols, Marcello Nuccio, Mauro Molinari,
Michael Forstner, pete-experimenter, Rahul Prabhakar, Sabine Gallus,
Sanjay Deshmukh, sogft, Sudeep Ambekar and vaesbart for reporting these issues and contributing fixes.
Flyway 3.1 (2014-11-27)
New Features
Incompatible Changes
-
Issue 860
The
FlywayCallback
interface has two new methods: beforeBaseline()
and afterBaseline()
.
-
Issue 860
info()
now returns INIT migrations as BASELINE.
-
Issue 860
info()
now returns PREINIT migrations as BELOW_BASELINE.
Changes
-
Issue 860
Deprecated
init()
, use baseline()
instead.
-
Issue 860
Deprecated
initVersion
, use baselineVersion
instead.
-
Issue 860
Deprecated
initDescription
, use baselineDescription
instead.
-
Issue 860
Deprecated
initOnMigrate
, use baselineOnMigrate
instead.
-
Issue 860
Deprecated
FlywayCallback.beforeInit()
, use FlywayCallback.beforeBaseline()
instead.
-
Issue 860
Deprecated
FlywayCallback.afterInit()
, use FlywayCallback.afterBaseline()
instead.
-
Issue 860
Deprecated
MigrationState.PREINIT
, use MigrationState.BELOW_BASELINE
instead.
-
Issue 860
Deprecated
MigrationType.INIT
, use MigrationType.BASELINE
instead.
- Derby Jdbc driver: Flyway is now tested with 10.11.1.1 (was 10.8.2.2)
- Hsql Jdbc driver: Flyway is now tested with 2.3.2 (was 2.2.8)
- PostgreSQL Jdbc driver: Flyway is now tested with 9.3-1102-jdbc4 (was 9.0-801.jdbc4)
- SQLite Jdbc driver: Flyway is now tested with sqlite-jdbc 3.7.15-M1 (was sqlite-jdbc 3.7.2)
Bug fixes
-
Issue 691
Clean fix #664 breaks DB2 clean in some cases
-
Issue 718
SQLServer: no exception thrown when statement fails
Pull Request
-
Issue 735
cygwin classpath problem
Pull Request
-
Issue 742
flyway info does cuts off or truncates information
-
Issue 746
Unhelpful error when forgetting "flyway.driver" with xerial sqlite-jdbc
-
Issue 754
flyway fails to remove forward slash from a script if it contains a comment
Pull Request
-
Issue 758
Fixed OSGi metadata table create script loading
Pull Request
-
Issue 761
Clean Oracle scheduled jobs
Pull Request
-
Issue 770
Improve Oracle error - show the ORA code
-
Issue 774
Informational message from database logged at WARN level
Pull Request
-
Issue 779
Restore JDK6 compatibility for Gradle plugin
Pull Request
-
Issue 783
Spring Jdbc not available from command line
-
Issue 793
MySQL flywayMigrate fails due to user permission
-
Issue 800
Handle Oracle java source
Pull Request
-
Issue 801
ClassPathScanner fails with enum
-
Issue 802
Clean on DB2 does not clean triggers
Pull Request
-
Issue 806
Flyway does not clean sequences on SQL Server 2012
-
Issue 816
Allow newer migrations to exist and be skipped by validateOnMigrate
-
Issue 824
Classpath scanner does not detect sql-files in WEB-INF/classes in (non-exploded) war-file
-
Issue 825
Warn instead of fail when clean cannot find a schema
-
Issue 830
Allow gradle plugin to create multiple migrate tasks for different schemas
Pull Request
-
Issue 842
migrate [initOnMigrate, initVersion] should use initVersion when the schema does not exist
-
Issue 843
Flyway suppresses warnings silently on SQLException
-
Issue 866
Classpath Scanner swallows Instantiation Exceptions
-
Issue 867
DB2 schema clean fails for expression-based index
-
Issue 868
Update filed for MSSQL scripts containing 'Go'
-
Issue 871
Please include SQLException message when failing to connect
-
Issue 877
Exception cause lost in classutils instantiateAll
-
Issue 884
Flyway incorrectly handles paths with a + in their name
Thanks to Adrian Chung, aldas, Armin Gattung, Boris Stumm,
Brandon Bremen, Carlo Conserva, Christine Teig, cowwoc, crannym,
Dan Nawrocki, Dembach Goo Informatik, Deryl Spielman, everflux, flavor8, Hurricane Hamilton,
James Elliott, Jurica Krizanic, larry-s, Lukasz Rozek, Mark Sievers, Michael Yaakoby, Mikhail Chibel,
Muni10, Nathan Vick, Nick Golubev, Olivier Adam, orbfish, PeeZu, Ray Holder, rekonvald, Rao Sadhu,
Sajan Chandran, Sebastian Vuorinen, Siva Panduranga Stephan Pauxberger, Steve Todd, Tom Eicher, Wilkin Cheung
and Yiyu Jia for reporting these issues and providing fixes.
Flyway 3.0 (2014-04-20)
New Features
-
Issue 76
SQLite & Android support
-
Issue 353
Command-line tool: Multiple operations can now be specified at once
-
Issue 469
Custom MigrationResolver support
-
Issue 618
Repair: update checksums after migration
-
Issue 626
Custom ClassLoader support
-
Issue 651
Pre and post hooks for each operation Pull Request
-
Issue 655
Disable transaction for a particular migration
-
Issue 667
MariaDB support
-
Issue 679
Allow to configure maven plugin from a property file
-
Issue 730
Configurable separator between version and description
Incompatible Changes
- Dropped compatibility with the Flyway 1.X metadata table format. If you are upgrading from 1.X, you must
upgrade
to 2.3 first, before upgrading to 3.0.
-
Issue 97
Validate should fail if there are migrations in source that have not been run on the database
-
Issue 536
Drop Java 5 support & remove deprecated API
-
Issue 537
Move packages & groupId from
com.googlecode.flyway
to org.flywaydb
-
Issue 695
validateOnMigrate
is now true by default
Changes
- DB2 Jdbc driver: Flyway is now tested with db2jcc4 4.17.29 (was db2jcc 3.62.56)
- Oracle Jdbc driver: Flyway is now tested with OJDBC6 12.1.0.1 (was OJDBC5 11.2.0.2.0)
- PostgreSQL Jdbc driver: Flyway is now tested with 9.0-801.jdbc4 (was 9.0-801.jdbc3)
- SQL Server Jdbc driver: Flyway is now tested with Jtds 1.3.1 (was 1.2.7)
Bug fixes
-
Issue 430
Display the connection url
-
Issue 484
IllegalArgument when executing Flyway Ant build script several times in the same JVM
-
Issue 489
Validate does not report different descriptions for same version
-
Issue 496
Need sql print statements to be logged in Flyway logs
-
Issue 540
ORA-00900: invalid SQL statement - bug in the parser
-
Issue 543
Parser does not properly recognize some multiline string literals
-
Issue 557
MySQL statement not recognized due to a space character at the end of a comment directive
-
Issue 584
NumberFormatException thrown when using command line tools
-
Issue 606
Found more than one migration with version when multiple locations named with the same roots
-
Issue 612
Inconsistent definition of "locations" parameter
-
Issue 621
flyway clean does not remove mysql events
-
Issue 639
Flyway migrates correctly. but in the schema_version table the scriptname is prefixed with a /
-
Issue 642
Local migration file overwrites database's description
-
Issue 673
Some Unicode characters can still lead to StringIndexOutOfBoundsException Pull Request
-
Issue 678
flyway fails recognizing sql server delimiter while parsing sql migration
-
Issue 681
Maven site complains that repository url 'http://flywaydb.org/repo' is invalid
-
Issue 682
Maven Plugin - Cannot set boolean system property Pull Request
-
Issue 684
Allow passing custom initialization SQL for database connections Pull Request
-
Issue 687
Oracle cleanup - flyway fails on tables that have Flashback enabled Pull Request
-
Issue 688
Support for Oracle cluster Pull Request
-
Issue 692
Flyway doesn't remove trailing slash in PL/SQL block
-
Issue 694
sbt: Allow specifying URL through system properties Pull Request
-
Issue 697
flyway:clean doesn't remove compiled java source Pull Request
-
Issue 706
Info marks schema creation as missing (should be success)
-
Issue 708
flyway.repair() doesn't commit when data source is not autocommit
-
Issue 716
Load and inject configured Custom MigrationResolver implementations
-
Issue 720
FlywayException message is not saying anything usefull Pull Request
-
Issue 725
NullPointerException in quoteReplacement
-
Issue 727
fix placeholders override by property configuration and add sbt large test for placeholders
Thanks to adelinor, adiGadiG, Andriy Binetskyy, Anthony Galea, Antti Virtanen,
awal11, Ben Manes, bobwenx, Brian Hartin, Christian Dedie, cowwoc, Craig Forbes,
Dan Bunker, Deryl Spielman, Eric Jain,
Eugen Pyanov, Fatos Sopjani, Fernando Correia, Gerald Quintana, ggrussenmeyer, gregul, Jon Todd,
Jonathan Holloway, kavithaparameswaran, kongslund, Lidija, Lukasz Rozek, Michal Lisiecki, Mircea Pop,
Nicolas Peters, Patrick Kranz, Prismapanda, quiver, rattigan, Regis Leray, Roger Brechbühl, samidha14
and vertex-github for reporting these issues and providing fixes.
Flyway 2.3 (2013-12-17)
New Features
Changes
- Flyway is now tested with Ant 1.8.4 (was 1.8.2)
- Deprecated the
MigrationVersion()
constructor. Use
MigrationVersion.fromVersion(String)
instead.
Bug fixes
Thanks to Adam Green, Baptiste Gaillard, Christian Dedié, Christoffer Eide, Dave O'Flynn, garichner, Kevin
Sheedy,
Lukasz Rozek, Matt Garner, migore, pimlottc, Pavel Boldyrev, Piotr Wielgolaski,
Rajnish Srivastava, Robert Handschmann, Thomas Queste, Tom Eicher and Ulf Bamberg
for reporting these issues and providing fixes.
Flyway 2.2.1 (2013-08-20)
Bug fixes
-
Issue 555
True exception causes lost when there is no cause chain
-
Issue 559
NullPointerException on database without default schema
-
Issue 563
MigrationVersion compareTo is very slow Pull
Request
-
Issue 570
Flyway failing with single quote as part of MySQL Stored Procedure Create Statement
-
Issue 571
Plugin fails with Maven 3.1 - An API incompatibility was encountered during configuration of mojo
-
Issue 572
NumberFormatException with file names like V1..1__desc.sql Pull
Request
-
Issue 574
Passing in target property causes GroovyCastExtention Pull
Request
Thanks to Chrissyx, Dario Matonicki, hvvikram, Michael Krotscheck, Piotr Wielgolaski, Thomas Jung and Tom
Stordy-Allison
for reporting these issues and contributing fixes.
Flyway 2.2 (2013-07-15)
New Features
Incompatible Changes
- Flyway now throws an exception if a placeholder is missing a replacement value
init
is now idempotent. Calling init
multiple times with the same values no longer
throws an exception.
- Ant: Dropped support for the separate Spring distribution.
Spring is still supported by
adding the
Spring jars yourself on Flyway's classpath
- Ant: The distribution is now called
flyway-ant-2.2.[zip|tar.gz]
(dropped the
-dist part)
- Command-line: Dropped support for the Spring distribution.
Spring is still supported by
adding the
Spring jars yourself in the /jars directory
- Command-line: The distribution is now called
flyway-commandline-2.2.[zip|tar.gz]
(dropped the -dist part)
- Command-line: The root directory is now called flyway-2.2 (dropped the -commandline part)
- Command-line: On Linux and OSX the script is now called
flyway
(dropped the
.sh)
Changes
- Flyway is now tested with the Microsoft JDBC Driver 4.0.2206.100 (was 3.0.1301.101)
Bug fixes
-
Small Bug in Flyway.getLocations() -> flyway-test-extension crash
-
Issue 453
flyway.cmd cannot determine console width on windows 7
-
Issue 456
"Migrate" command fails when the SQL Server login doesn't have a default schema
-
Issue 458
FlywayException executing flyway:info with -f maven option
-
Issue 459
Flyway.migrate() leaves the metadata table locked if it throws an exception
-
Issue 462
Flyway 2.1.1 hangs on ANALYZE command € Sponsored
-
Issue 463
Clean on DB2 functions or procedures fails when two procedures have the same name
-
Issue 464
Clean on DB2 fails to clean schemas with ARRAY TYPES
-
Issue 471
Dropping queue tables throws Exception
-
Issue 472
SQL Server Unable to drop schema when functions exist
-
Issue 473
SQL Server: flyway:clean should drop synonyms
-
Issue 474
MySql - Cannot create table or query data from tables in migration steps because meta data table is locked
-
Issue 477
Fail fast for missing placeholders
-
Issue 481
Hexadecimal Value using x'1234' notation not parsed correctly
-
Issue 491
Oracle COMPOUND TRIGGER with initialization section not working properly
-
Issue 497
MySQLSqlStatementBuilder gets confused with lines containing escaped single quote
-
Issue 499
MySQL dump file's Views are not migrated
-
Issue 501
Flyway Clean on PostgreSQL leaves TYPES
-
Issue 505
Ant Tasks "validate" and "migrate" do not show actual and expected checksums
-
Issue 542
zero-length delimited identifier at or near """" on Postgres
-
Issue 548
Need a way to find out from FlywayException which SQL command failed
-
Pull Request 23
Consider colons as a token separator
-
Pull Request 25
Version in child projects is redundant, since it is inherited from the parent
Thanks to Alex Zuroff, Brian Hartin, Christian Holzer, David Bellem, Florian Eska, Geoff, Giovanni Toraldo,
Jason Januzelli, Jens Berke,
Leandro de Oliveira, Mark Garrison, Michael Hirsch,
Nayan Hajratwala, Patrick Malouin, Pavel Boldyrev, Pekka Mannisto, Radek Mensik, Roger Brechbühl, Ryan Williams,
service (figel.it) and Tim Andersen
for reporting these issues and contributing fixes.
Special thanks to David Harrigan for sponsoring the fix for issue 462!
Special thanks to Ben Manes for contributing the Gradle Plugin!
Flyway 2.1.1 (2013-03-15)
Bug fixes
-
Issue 443
Property flyway.consoleWidth should be optional in 2.1 command line
-
Issue 444
Add -X option to command line tool help
-
Issue 445
T-SQL Unicode string syntax broken in 2.1
-
Issue 449
Maven plugin raises NPE when url configuration is missing
-
Issue 450
MySQL - schema_version table remains LOCKed after Flyway runs
Thanks to Alex Krauss, Alex Panchenko, Alex Zuroff and Greg Case for reporting and contributing fixes for
these issues.
Flyway 2.1 (2013-03-05)
This version fixes minor issues with the metadata table. Migration is transparent and automatic
on first
run.
New Features
-
Issue 74
Automatic schema creation
-
Issue 219
Allow 'skip' in Maven Plugin
-
Maven Plugin: Support encrypted passwords in settings.xml
-
Issue 223
Command-line: Customizible location of jars folder
-
Issue 247
Allow loading SQL migrations from Filesystem (instead of only from classpath)
-
Issue 277
Command-line: Allow to load sql-migrations from different directory
-
Issue 324
flyway.driver
is now optional. It is auto-detected based on flyway.url
when
omitted
Incompatible Changes
- The deprecated
flyway.baseDir
property has been removed.
- The deprecated
flyway.basePackage
property has been removed.
- The default for
flyway.initVersion
has been changed to 1 (was 0).
-
Issue 340
Invalid locations now result in an exception being thrown instead of being silently ignored.
- Command-line: The default for
flyway.locations
has been changed to filesystem:<<INSTALL-DIR>>/sql
Changes
- Deprecated
flyway.initialVersion
. Use flyway.initVersion
instead.
- Deprecated
flyway.initialDescription
. Use flyway.initDescription
instead.
- Flyway now enforces the rules for what constitutes a valid version.
- SqlServer: Flyway is now tested with Jtds 1.2.7 (was 1.2.4).
- H2: Flyway is now tested with H2 1.3.170 (still compatible with 1.2.137 and above).
-
Issue 244
Flyway can now also be built with JDK 7 and above. (Minimum is still JDK 6)
Bug fixes
-
Issue 351
better log messages of DBMigrator
-
Issue 377
db/migration-test not recognized as location
-
Issue 381
setLocations does not override deprecated baseDir or basePackage
-
Issue 383
Support longer usernames
-
Issue 384
Special umlauts create IndexOutOfBoundsExceptions
-
Issue 387
schema_version table could have a primary key
-
Issue 394
HSQLDB : Quote in comment breaks parser
-
Issue 404
Bash script compatibility
-
Issue 407
OSGi: Add support for felix framework
-
Issue 413
Uninstantiatable JdbcMigration tests should throw exception
-
Issue 415
Support of db2 stored procedures
-
Issue 423
Classpath issue with EAR and Websphere
-
Issue 426
Current version of schema is always 0
-
Issue 427
Support for anonymous blocks in postgresql
-
Issue 428
Unclosed string literals in comments break statement parsing
-
Issue 430
H2 breaks when DATABASE_TO_UPPER=FALSE
-
Issue 432
Maven Plugin does not scan the test classpath for sql files
-
Issue 436
Description field isn't long enough
-
Issue 439
mysql cluster synchronize fail
-
Pull Request 9
Command-line Unix: Resolve symlinks in flyway.sh
Thanks to agattiker, Benoit Cantin, Christian Haelg, Constantine Linnick, Daniel Wilmer,
Dmitry Bitman, dyou08, Gerd Behrmann, Gerrit Brehmer,
Giorgio Gallo, Herve Martin, István Nagy, Joe McCall, Jonathan Tougas, Judith Aigner, Kamil Szymański,
Klas Klassen, Marcin Jancewicz, Marcin Z., Martin Baillie, Michael Meyer,
rbrueske, Tero Keski-Valkama, Tom Stordy-Allison, Tomek Kaczanowski and Viktoras Makauskas
for reporting these issues and contributing fixes.
Flyway 2.0.3 (2012-12-05)
Bug fixes
-
Issue 372
Schemas property bug in AbstractFlywayMojo
-
Issue 374
OracleDbSupport assumes XML DB installed
-
Issue 375
Flyway is extremely slow on MySQL with a lot of schemas
-
Issue 379
maven flyway:migrate initOnMigrate and initVersion
-
Issue 380
First character of migration script name is removed in schema_version.
Thanks to David Gundersen, Don (dyou08), Mark Allen, turbohappy and Viktoras Makauskas
for reporting these issues.
Flyway 2.0.2 (2012-11-22)
This version performs minor fixes on the metadata table. Migration is transparent and automatic
on first
run.
Bug fixes
-
Issue 362
NPE when using "Serve modules without publishing"
-
Issue 367
Migrations fail with escaped single quote characters from mysqldump
-
Issue 368
flyway2.0.1 #setOutOfOrder() fails due to constraint violations
-
Issue 369
Broken link in documentation
Thanks to Leandro de Oliveira, Nelson Loyola, NoSuchLuke and Oliver Heil
for reporting these issues.
Flyway 2.0.1 (2012-11-20)
Bug fixes
-
Issue 358
Flyway 2.0 can break validation of applied PostgreSQL migrations because it removes "public" from the search
path
-
Issue 360
Command-line: OutOfOrder property doesn't get applied
-
Issue 361
flyway:clean does not work with Oracle XML DB and XMLIndex
-
Issue 364
Wrong DDL upgradeTo20FormatPart1.sql for Oracle
Thanks to Jens Berke, Nikos Sikalias, Sebastian (movio.co) and Sten Røkke
for reporting these issues.
Flyway 2.0 (2012-11-14)
This version comes with a new metadata table format. Migration is transparent and automatic on
first
run.
New Features
- Issue 99 New
Flyway.repair()
call for repairing the metadata table after a failed migration on a database
without DDL
transaction support.
-
Issue 105
initOnMigrate
flag to automatically initialize a non-empty schema to initVersion.
-
Issue 138
outOfOrder
flag for applying migrations with older version numbers that haven't been applied
yet
- Issue 248 New
Flyway.info()
call for info about both applied and pending migrations and current status of the
DB.
Incompatible Changes
- Migrations now always require a description.
- The name of the schemas specified with
schemas
are now case-sensitive.
- Issue 273 When
schemas
is
set, the first schema in the list is now automatically set as the default one.
- Core:
Version
has been renamed to MigrationVersion
for consistency.
- Core:
Flyway.getInitVersion()
now returns an instance of MigrationVersion
(was
SchemaVersion
).
- Core:
Flyway.getTarget()
now returns an instance of MigrationVersion
(was SchemaVersion
).
- Core:
MigrationInfoProvider.getVersion()
now returns an
instance of
MigrationVersion
.
- Maven:
schemas
is now a nested configuration element instead of a simply configuration property
Changes
- Issue 290 Commons-Logging
Dependency is now optional.
- Deprecated
Flyway.status()
. Use Flyway.info()
instead.
- Deprecated
Flyway.history()
. Use Flyway.info()
instead.
- Deprecated
validationMode
. Use validateOnMigrate
instead.
- Deprecated
validationErrorMode
. Use cleanOnValidationError
instead.
- Deprecated
disableInitCheck
. Use initOnMigrate
instead.
- Core: Deprecated
com.googlecode.flyway.core.exception.FlywayException
. Use
com.googlecode.flyway.core.api.FlywayException
instead.
- Core: Deprecated
Flyway.setinitVersion(SchemaVersion)
. Use
Flyway.setinitVersion(MigrationVersion)
instead.
- Core: Deprecated
Flyway.setTarget(SchemaVersion)
. Use
Flyway.setTarget(MigrationVersion)
instead.
- Command-line: Distribution without Spring no longer contains logging jars
- Ant: Distribution without Spring no longer contains logging jars
- HsqlDb: Flyway is now tested against HsqlDb 2.2.6 (was 1.8.0.10). Still compatible with HsqlDb 1.8.
- HsqlDb: Concurrent migration support for HsqlDb 2.0 and newer.
- Oracle: To be compatible with SqlPlus, Flyway now always expects /
to terminate a create type statement.
- DB2: Flyway is now tested against 9.7.0.7 (was 9.7.0.2). Fix Pack 7 fixes important issues related to
calling REORG from JDBC.
Bug fixes
-
Issue 145
SQL Scripts with wrong description separator fail due to DB constraints
-
Issue 183
Calculation of checksum is platform encoding dependent.
- Issue 199 Trimming of
whitespaces in SQL migrations breaks stored procedures formatting.
-
Issue 218
createMetaDataTable.sql doesn't escape schema, table and field names
- Issue 228 Oracle - SQL
hints
- Issue 231 Oracle Sql
Parser: support comments inside package body
- Issue 240 Empty lines are
stripped from multi-line string inserts
-
Issue 276
Older DB2 versions limit the length of constraint names causing schema_version creation to fail
- Issue 285
OracleSqlScript does not support delimiter for TYPE(s) in
1.6.1
- Issue 287 JNLP classloader not supported
- Issue 293 1.7 issues
warnings about deprecated baseDir and basePackage even if they are not defined
- Issue 296 "unexpected
end of statement" in flyway 1.7 when creating multi-statement TRIGGER in HSQL
- Issue 298 Java migrations:
ignore abstract classes
- Issue 300 flyway:clean
doesn't remove Schema-level triggers on Oracle
-
Issue 303
dropping aggregate function fails with clean
-
Issue 304
SQL migration with multiline INSERT takes too long
-
Issue 305
SqlScript parser misses */ closing comment if line starts with --
-
Issue 307
CommandLine 1.7 --- More than one migration with same version
-
Issue 309
SQL script multiple comments issue
-
Issue 310
Having Delimiter keyword within block comment
-
Issue 313
Flyway breaks on quotes inside comments
-
Issue 315
Oracle clean schema fails to drop SYS_IOT_OVER tables
-
Issue 341
NTLM Authentication
-
Issue 348
ORA-00933 in case of schema name containing a dot symbol
-
Issue 355
Flyway clean fails with Oracle nested tables
-
Issue 356
Cannot create multi-statement triggers on DB2
- Added JBoss VFS v2 support to enable deployment inside JBoss 5.
Thanks to Adam Peresztegi, Adriano Machado, alehby, Alix Warnke, Anssi Huusko, Brian Troutwine, Cornelius
Buschka, Daniel Kan, Darragh O'Toole, Dmitry Bedrin, donald87, Emmanuel Potvin, Geir Nerboe, Gilman Tolle,
Greg Bujak, Haam Tham, Jochen Munz, Klaus Etkar, Kris Mulica, kwbrockhoff, Luc Degraef, Patrick van Dissel,
saran600101, Stefan Röck, Stephen Friedrich, Steve Tarka, Tim Andersen, Tomek Kaczanowski and Vikram Hullukunte
for reporting these issues.
Flyway 1.7 (2012-07-10)
New Features
- Issue 174 Multiple
differently named base dirs for SQL Migrations
Changes
- Issue 59 Spring Dependency
is now optional.
- Core: Flyway now directly depends on commons-logging. This previously happened transitively through the
spring-jdbc dependency.
- Core: Removed deprecated Flyway.get/setTransactionManager() methods. They already had no effect anymore
since 1.6
- Core: Deprecated JavaMigration. Use
SpringJdbcMigration instead.
- Core: Deprecated JavaMigrationInfoProvider. Use MigrationInfoProvider instead.
- Core: Deprecated JavaMigrationChecksumProvider. Use MigrationChecksumProvider instead.
- Core: Deprecated flyway.baseDir and flyway.basePackage properties. Use the new flyway.locations instead.
- Command-line: New download distribution without Spring dependencies
- Ant: New download distribution without Spring dependencies
- Ant: Deprecated direct nesting of placeholder elements. They must now be wrapped inside a placeholders
container.
Bug Fixes
- Issue 156 OSGI: Incorrect
Unable to find path for sql migrations
- Issue 181 Deploying
flyway-core in virgo (Spring DM Server) fails with ClassNotFoundException: javax.sql.DataSource
- Issue 182 Allow spring
3.0.x in osgi import-package
- Issue 198 Angled-brackets
need to be escaped in Javadoc
- Issue 211 Validation
package missing from OSGi exported packages
- Issue 227 Deployment in a
WAR on JBoss
- Issue 252 1.6.1 flyway.sh
classloader problem
- Issue 256 Enable File
Scanning for Zip Protocol
- Issue 262 Fix incorrect
handling of nested dollar quotes in PostgreSQL scripts
- Issue 263 Flyway
commandline 1.6.1 no available on Maven central
- Issue 264 Getting
FlywayException when running maven flyway:migrate goal in
Jenkins
- Issue 269
FileSystemLocationScanner and Symbolic Links on
Unix
- Issue 271 Flyway clean
fails to clean db2 when using views with materialized query tables
- Issue 272 Flyway clean
doesn't drop DB2 aliases
- Issue 279 Migrate fails on
.sql files with utf-8 signature
Thanks to Anssi Huusko, Cornelius Buschka, cowwoc, Friedrich Schaeuffelhut, Haam Tham, jtucker, Jussi Mononen,
Konstantin Zmanovsky, Marco Descher, Mathias Bogaert, Michael Lubavin, Michal Sabo, Stefan Ferstl, Thomas
Letsch, Thomas Recloux and Tsai Liming for reporting and providing patches for these issues.
Flyway 1.6.1 (2012-04-21)
Bug Fixes
- Issue 239 Flyway 1.6
classpath scanner does not find files unless baseDir has trailing '/'
- Issue 241 1.6 ant task no
longer works with sql migrations
- Issue 242 Fail to properly
load resource files (SQL) in WebappClassLoader
Thanks to Marc Dumontier, Steve Tarka and vtkstef for reporting these issues.
Flyway 1.6 (2012-04-09)
New Features
Changes
- Flyway is now built with JDK 6, but still compatible with JDK 5.
- Flyway is now tested against the SQL Server sqljdbc4 driver (was sqljdbc).
- Flyway.get/setTransactionManager are now deprecated and have no effect anymore. More info
Bug Fixes
- Issue 79 Migrations don't
support semicolons within quotes
- Issue 184 Huge SQL
migrations force huge heap space for doing flyway migrate
- Issue 186 Javadoc of
getBaseDir method of Flyway class is not consistent with implementation.
- Issue 192 Regression in
1.5 -- Oracle parsing of SQL Script fails due to fieldname 'Function'
- Issue 200 Cannot invoke
setDataSource() multiple times
- Issue 208 Incorrect
Javadoc for Flyway.setBaseDir(String)
- Issue 209 Support dropping
custom domains and enums in PostgreSQL
- Issue 212 Multiline
inserts not supported by PostgreSQLSqlScript
- Issue 217 Command-line
tool may fail to find config on windows machine
- Issue 220 Maximum open
cursors
- Issue 224 Oracle triggers
- Issue 225 Clean for SQL
Server does not remove User Defined Table Types
- Issue 232
SqlMigrationResolver ignores scripts in a multi-module
environment
- Issue 236 Flyway clean
fails for table created by Oracle text
Thanks to Alexander Hansen, Andrew Hunt, asotobu, Corin Fletcher, cowwoc, jaggerjackkurosaki, Juha Komulainen,
Klaus Etkar, Kris Mulica, Luc Degraef and vadim for reporting and contributing patches for these
issues.
Flyway 1.5 (2011-11-09)
New Features
- Issue 39 Ant Tasks for
Flyway
- Issue 136 Support for
server credentials from settings.xml (Maven plugin)
Changes
- Calling validate either through the API, the Maven plugin, the Command-Line client or the Ant Tasks now
automatically sets the validationMode to ALL
- Removed the deprecated Flyway.init(version,description) method
- Removed the deprecated BaseJavaMigration class and the pre
1.0 inheritance-based Java Migration support (update to implements JavaMigration
if you haven't already done so)
Bug Fixes
- Issue 135 Include URL of
offending migrations in case of conflict
- Issue 143 flyway.sh clean
fails due to dependencies (PostgreSQL cleaning of base types & functions)
- Issue 144 Postgresql
functions defined in multiple-lines with $_$ placeholders fail to migrate
- Issue 146 Allow
placeholder to disable sql code
- Issue 148 Flyway command
line returns exit status 0, even on failure
- Issue 152 NullPointerExcpetion
Null
- Issue 153 Command line
tool 1.4.2 (Windows) - sql folder - unexpected behavior
- Issue 154 Command line
tool 1.4.2 (Windows) - validating changes to executed migrations not happening
- Issue 159 Delimiter change
happens outside of FUNCTIONS, PROCEDUREs and PACKAGES in Oracle
- Issue 160 Not dropping
database object types during a Clean (Oracle)
- Issue 161 Maven validate
goal doesn't validate
- Issue 162 Migrations won't
work on MS SQL Server with case sensitive collation
- Issue 168 flyway:clean
doesn't work in PostgreSQL on tables with child tables
- Issue 170 Must not apply
migration if migration pattern is violated
- Issue 173 Oracle: create
procedure parser issue
- Issue 175 HsqlDB does not
cleanup sequences
Thanks to Seb Brousse, Christoph Giess, Jeremy Smith, Jon Roler, cowwoc, donald87, Timo Meinen, Octavian,
Dileep Hareendran, Kris Mulica, Ulf Bamberg, Luc Degraef and casibbald for contributing patches and reporting
these issues.
Flyway 1.4.2 (2011-06-29)
Bug Fixes
Thanks to Armin Gattung for reporting this issue.
Flyway 1.4.1 (2011-05-27)
New Features
- Issue 129 Use user
supplied TransactionManager
Bug Fixes
Thanks to jmarin and floburka for reporting these issues.
Flyway 1.4 (2011-05-13)
New Features
Changes
- Flyway is now tested with the DB2 Db2jcc driver (was Db2jcc4)
- Flyway is now tested with the Oracle Ojdbc5 driver (was Ojdbc6)
- Flyway is now tested with the PostgreSQL Jdbc3 driver (was Jdbc4)
Bug Fixes
- Issue 93 Include paths of
offenders in migration conflict error message
- Issue 94 "Found more
than one migration" error for duplicate resources
- Issue 96 Migration fails of
version description is excessive
- Issue 124 Maven:
flyway.schemas seems not be recognized
- Issue 125 Oracle
Materialized View logs cause an exception during cleaning.
- Issue 126 Cleaning Oracle
Materialized Views causes exception
- Issue 128 H2SqlScript does
not correctly detect statements
Thanks to Armin Gattung, Chris Wewerka, Gili Tzabari, Adriano Machado, everflux and stembler for reporting these
issues.
Flyway 1.3.1 (2011-04-06)
New Features
Bug Fixes
- Issue 102 Oracle: Flyway
now throws an exception when a clean is attempted on the SYSTEM schema
- Issue 108 DB2Support:
Detection of tables for schema cleaning also includes views
- Issue 110 H2 Problem: drop
table statements are created for views
- Issue 111 Flyway should
not attempt to clean generated sequences on H2
- Issue 113 DB2Support
Clean: Generation of drop sequences should not include system generated sequences
- Issue 115 The command line
tool does not support -target property
- Issue 120 Accept "go"
delimiter in small caps for SQL Server
- Fixed cleaning of views for HsqlDb
Thanks to Chris Wewerka, Eric Jain, Derek Kwok, Matthew Lai and Julien Dumetier for reporting these
issues.
Flyway 1.3 (2011-03-18)
New Features
Bug Fixes
- Issue 103 Flyway can now
clean sequences, constants and domains on H2
- Issue 104 mvn flyway:clean
fails with SQL-Exception when db user does not have DBA permissions (Oracle XE)
Thanks to Chris Wewerka for contributing the DB2 support!
Thanks to M.Ahyaie, Jonas Kilian and Martin
Pletzer for reporting these issues.
Flyway 1.2 (2011-02-27)
New Features
Changes
- Flyway is now tested with MySQL version 5.1 (up from 5.0)
- Flyway is now tested with the Oracle OJDBC6 JDBC driver (up from OJDBC14)
Bug Fixes
- Issue 92 Flyway might be
leaking database connections
- Issue 95 The clean command
needs to quote table names
- Support for semicolon at the end of a line inside a string literal (H2)
- Support for CREATE PACKAGE statements (Oracle)
- Issue 63 Support trailing
single line comments
- Issue 97 Maven Plugin
should not log spring messages to console
- Issue 89 Restore capability
to use non-empty database without init
Thanks to Adriano Machado for contributing the SQL Server support!
Thanks to Gili Tzabari, René
Samselnig, Daniel Garcia, Ulf Bamberg and Gene Gotimer for reporting the other issues
Flyway 1.1 (2011-02-03)
New Features
- Issue 43 Standalone tool to
run Flyway directly from the command-line
- Issue 77 The Flyway Maven
plugin now suggests running mvn compile if no migrations have been found.
- Issue 80 Prevent migrate()
or validate() on a non-empty schema without a metadata table with at least one applied migration.
Bug Fixes
- Issue 78 Spring JDBC
dependency missing from POM.
- Support for semicolon at the end of a line inside a string literal (Hsql only for now)
- Issue 81 Validation fails
with type mismatch for INIT
Thanks to jaggerjackkurosaki and Thomas Kruse for reporting these issues
Flyway 1.0.1 (2010-12-27)
Bug Fixes
- Issue 75 Wrong detection of
Spatial Extensions on Oracle 10g (but works on XE)
Flyway 1.0 (2010-12-26)
New Features
- Clean now purges the Oracle recycle bin
Bug Fixes
- Issue 72
Flyway.configure(Properties) also works when the DataSource is
set explicitly beforehand.
Thanks to Mathias Bogaert for reporting the Flyway.configure issue
Flyway 0.9.5 (2010-12-12)
New Features
- Issue 36 Added support for
specifying a target version up to which Flyway should run migrations.
- Added new property ignoreFailedFutureMigration to ignore migration failures that happened while
deploying a newer version of the software. This allows for software rollbacks without having to do database
rollbacks, at the cost of weakening fail fast.
- Issue 31 Flyway now has its
own exception hierarchy. All exceptions thrown are now of type FlywayException.
- Issue 44 Flyway can now
find SQL migrations even if they are in subfolders of baseDir.
Changes
- Removed support for upgrading from pre 0.9 versions. If you need to upgrade from 0.8.5 and earlier, you must
migrate to 0.9.4 first before migrating to this version.
- Removed support for the deprecated metaDataTable property. Use table instead.
- Removed the deprecated Flyway.init(SchemaVersion version) method. Use Flyway.init(SchemaVersion
version,
String description) instead.
- Issue 30 Java migrations
are now based on interfaces instead of inheritance. The existing BaseJavaMigration class has been
deprecated and retrofitted to
this new model.
Bug Fixes
- Fixed an issue with Oracle Spatial Index tables causing a failure when attempting to clean.
Flyway 0.9.4 (2010-11-24)
Changes
- Issue 61 Reduced the info
logging to a single line per migration
Bug Fixes
- Fixed a bug in the Oracle Sql Parser which caused it to trip over column names starting with 'begin'
- Fixed custom version table name handling. Setting the datasource before the table name was causing an error.
This also affected the Maven plugin.
- Issue 65 New-lines are now
preserved in statements to improve the readability of stored procedures.
Thanks to Mathias Bogaert for reporting the logging issue and Daniel Garcia for reporting and contributing a
patch for the new-line issue
Flyway 0.9.3 (2010-11-09)
New Features
- Issue 62 Added support for
MySQL comment directives (/*!...*/;) so MySQL dumps can be used as migrations
Thanks to Mathias Bogaert for reporting this issue
Flyway 0.9.2 (2010-11-05)
New Features
- Issue 51 The Flyway class
can now be configured using a Properties object
- Issue 41 Support for
PostgreSQL, including stored procedures (CREATE FUNCTION with $$ escapes)
Changes
- Issue 38 The
SchemaVersion class doesn't contain the description
anymore
- Issue 57 Ignoring oracle
recycle bin tables when running clean
- Issue 55 Maven plugin does
not trigger phase compile anymore (use mvn compile flyway:migrate instead). Fixes Hudson problems.
- Issue 53 Added default
phase pre-integration-test to clean and migrate mojos
Thanks to Philipp (godhood) for contributing large parts of the PostgreSQL support
Flyway 0.9.1 (2010-09-14)
Bug fixes
- Fixed parsing of CREATE FUNCTION and CREATE PROCEDURE statements in PL/SQL
Thanks to Hilario Fernandes for reporting this issue.
Flyway 0.9 (2010-08-25)
New Features
- Support for migration checksums (CRC-32 for SQL Migrations, optional custom implementation for Java
migrations)
- Optional accidental change detection running validation (including checksums) before migration
- mvn flyway:validate goal to validate the applied migrations against the available ones in the
classpath
- Sql migrations file names can now have a configurable prefix (Default: V) and suffix (Default: .sql)
Changes
- The metadata table format has been extended with new columns (type, checksum, installed_by). Existing
metadata tables will be upgraded automatically on the first run, no manual intervention is required.
- The schemaMetaDataTable property has been renamed to table in both the Flyway class and
the Maven plugin. The old property still works, but has been deprecated and will be removed in 0.9.5
- mvn flyway:migrate now automatically triggers the compile phase to ensure that new migrations are found
by the plugin
Bug Fixes
- Fixed a problem where Flyway could not clean an Oracle database when the spatial extensions where
missing
Flyway 0.8.5 (2010-07-26)
- Added mvn flyway:history goal to display the complete migration history of the schema
- The encoding of the Sql migration files is now configurable
- mvn flyway:clean is now more robust and available for all supported databases
- Added mvn flyway:init to initialize an existing schema with a metadata table and an initial version
- mvn flyway:status show installation date instead of execution time
- Added MySQL stored procedure support
- Java migrations now inherit from
com.googlecode.flyway.core.migration.java.BaseJavaMigration
- Fixed all known bugs
Flyway 0.8 (2010-07-15)
- Added mvn flyway:status goal to display the current version of the schema
- Fixed logging in Maven Plugin
- Base package changed to com.googlecode.flyway to match Maven groupId
- Restored Spring 2.5 compatibility
- Added an example of a Java Migration to the sample application
Flyway 0.7 (2010-06-29)
- Added support for parallel migrations. Flyway is now safe to deploy in a cluster.
- [Alpha] Added initial mvn flyway:clean goal to remove all objects from the
schema. Note: Only for Oracle in 0.7
Flyway 0.6 (2010-06-13)
- Updated maven groupId to com.googlecode.flyway
- Added HsqlDb support
- Added Maven Plugin with Migrate mojo (mvn flyway:migrate)
- Added Sample application
- Fail-fast when a previous migration failed
- Improved performance and logging output
- Added H2 database support
Flyway 0.0.5 (2010-05-13)
- Fixed connection leaks
- Improved support for PL/SQL blocks having a declare section
Flyway 0.0.4 (2010-05-09)
- Display exact script name and line number when a statement could not be executed
- Added support for multi-line comments /* */ in sql scripts
Flyway 0.0.3 (2010-04-26)
- Added support for Ant-style ${placeholder} replacement in sql migrations
- Added support for oracle pl/sql blocks in sql migrations
Flyway 0.0.2 (2010-04-23)
- Fixed current version index on Oracle
Flyway 0.0.1 (2010-04-20)
Roadmap