NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Maven Central · #790 by repository stars
Last release 8 months ago
28 Jan 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
87 releases · first in 2023
The 'passOnRegexMatch' field in the Code Analysis Regex Rule is no longer supported
The 'passOnRegexMatch' field in the Code Analysis Regex Rule is no longer supported
The 'plugin' namespace for configuration parameters is no longer supported
The environment variable 'REDGATE_LICENSING_PERMIT_PATH' has been replaced by the standard 'FLYWAY_OFFLINE_PERMIT_PATH'
Flyway no longer ships the default Redgate regex ruleset
Reports now display results from separate flyway command invocations on the main page. Reports no longer contain a timestamp dropdown.
The 'majorRules', 'minorRules', 'majorTolerance', and 'minorTolerance' settings have been removed and are now no longer supported in Code Analysis
MongoDB support via JDBC has been removed. MongoDB is now supported only in Native Connectors mode
Support for SQLFluff versions prior to '1.3' has been removed You can find out more at Flyway V12 - updating from V11
Changed the method signature of the public 'CommandExtension' interface
CompositeResult is now a record
Thanks to 023-dev for reporting these issues.
One column per month.
Issue 4152 Upgrade google-cloud-spanner to 2.34.1 and google-cloud-storage to 2.60.0 to fix CVE-2025-55163
Upgraded RgCompare.Cli from 1.48.1.2503 to 1.48.1.2582
Upgraded sqlfluff from 3.5.0 to 4.0.0
Issue 4152 Upgrade google-cloud-spanner to 2.34.1 and google-cloud-storage to 2.60.0 to fix CVE-2025-55163
Thanks to lesniakd for reporting these issues.
Upgraded RgCompare.Cli from 1.47.1.2438 to 1.48.1.2503
generated drift incorporate script will now contain object existence checks for SQL Server
check is called with both -drift and -changes flags, -drift is now always run first as there will be a performance improvement when using a build environmentUpgraded RgCompare.Cli from 1.47.0.2331 to 1.47.1.2438
Upgrade Netty from 4.2.7 to 4.2.9
model, generate, and prepare commands now return full selection output instead of a list of names of included dependencies
model, generate, and prepare commands now return full selection output instead of a list of names of included dependenciesUpgraded RgCompare.Cli from 1.46.0.2246 to 1.47.0.2331
Upgrade MariaDB from 2.7.11 to 2.7.13
It is now possible to switch off automatic dependency handling for Oracle when performing comparison operations. This is done by setting includeDepend
includeDependencies = false in the [redgateCompare.oracle.options.behavior] section of the config file.Fixed issue when running check -drift against a database with no snapshot history table
check -drift against a database with no snapshot history tableUpgraded RgCompare.Cli from 1.45.1.2083 to 1.45.1.2176
Upgraded MongoDB Sync Driver to 5.6.1
'testConnection' command is now supported in Native Connectors mode
When using Oracle in 'Native Connectors' mode, Flyway now fails early during database initialization if the migration execution tool cannot connect
When using MongoDB in 'Native Connectors' mode, Flyway now fails early during database initialization if the migration execution tool cannot connect
Fix issue with obtaining the value of SQLPlus placeholders on Oracle 26ai
fixed an issue with using the create-database provisioner where a reprovision operation would not fully occur if no additional provisioner configuration was specified
Upgraded RgCompare.Cli from 1.45.1.2021 to 1.45.1.2083
Upgraded sqlfluff from 3.4.2 to 3.5.0
Fixed an issue where the bundled SqlFluff was not included with some versions of the CLI
Redgate bundled SQLFluff was not shipped in this release due to a packaging problem
Added ability to run code analysis on individiual scripts with 'check.scriptFilename' and new 'SCRIPT' scope
Snapshot history version column will now be populated when a database is used as the source for the snapshot
Comparison options can now be configured via the command-line
testConnection command can test Comparison Engine connections
snapshots can be written to an s3 bucket and read from an s3 bucket when performing drift checks
Flyway now supports reporting the usage of '--noqa' tags that suppress code analysis linting
Fixed missing descriptions for SQLFluff rules RG07, RG08, RG11, and RG12
Issue 4172 Fix getting Oracle metadata properties
Issue 4169 Fixes an additional connection being created when running migrate or undo
Thanks to toadzky and MahogaWeerasinghe for reporting these issues.
It is now possible to capture and store snapshots in a target database in a flyway snapshot history table following a migrate, undo, or deploy action.
It is now possible to capture and store snapshots in a target database in a flyway snapshot history table following a migrate, undo, or deploy action. These snapshots can be used for drift analysis and potentially for rollback. For more information see snapshots .
standard logging is now included with outputType=json; it is posted via STDERR
Fixed issue where namespace short-circuiting would not work when environment parameters were set
Test connection will only output success if it is successful
Redgate bundled SQLFluff was not shipped in this release due to a packaging problem
Regex code analysis now reports all identified violations instead of only the first one
Added a new 'testConnection' command to test the validity of a configured database connection
Updated latest version of SQL Server to 2025
Oracle now respects the encoding configuration parameter when reading SQL migrations.
Upgraded RgCompare.Cli from 1.44.0.1673 to 1.45.1.1821
Upgrade mssql-jdbc to 12.10.2
Upgrade Couchbase SDK to 3.9.2
Upgrade Databricks JDBC to 3.0.1
Upgraded Netty to 4.2.7
Flyway now provides clearer error messages when online authentication methods fail
debugMode and quietMode in Loggers. When using Flyway via the Java API, Log level is now configured via LogFactory.setLogLevel(LogLevel). All appropriate loggers will now honor the LogLevel including quietMode (most loggers were previously flawed and would ignore this)Flyway now supports configuring Offline Permits via command-line parameters and TOML configuration
Issue 4135 Improved redaction of passwords in JDBC connection strings
Issue 4151 No longer crash when calling ClassUtils.getInstallDir if jars located at root of filesystem
Thanks to mendhak, crammond, calou and mmitch for reporting these issues.
Packaged SQL Fluff added to docker images
Packaged SQL Fluff added to docker images
Enhanced exception handling during Code Analysis to allow Flyway to continue generating the Report if partial results are already available
Flyway now provides more comprehensive details in code analysis results
Issue 4155 Schema history index is now created in a specified tablespace for Oracle and DB2
stop detecting schema model folder as a SQL server schema model when it was empty but had empty sub folders
Thanks to acarstensen for reporting these issues.
Issue 4119 Update shaded aws-secretsmanager-jdbc to not include io.netty to remove vulnerable dependencies
JVM Startup time added to verbose logs
Issue 4119 Update shaded aws-secretsmanager-jdbc to not include io.netty to remove vulnerable dependencies
Thanks to numeraltwo for reporting these issues.
Deprecated constructor on Location class. Use new static factory method instread.
Deprecated constructor on Location class. Use new static factory method instread.
it is now possible to implement locations via plugins
Flyway now provides clearer error messages when attempting to load an unlicensed plugin
Bump netty-common-http to 4.1.125 to fix CVE-2025-58057
It is now possible to define beforeDeploy, afterDeploy, and afterDeployError callbacks in locations specified by the callbackLocations parameter. This allows logic to be executed before and after script execution for state-based deployments.
deploy command now supports errorOverrides, allowing for graceful handling of SQL Server PRINT statements
it is now possible to specify callback-specific locations using the callbackLocations parameter
Callback interface now extends a generic interface. The compile-time signature is unchanged.Upgraded RgCompare.Cli from 1.41.0.1246 to 1.42.2.1345
Bump netty-common-http to 4.1.125 to fix CVE-2025-58057
'majorRules' and 'minorRules' parameters in Code Analysis are now deprecated
A new 'failOnError' mode has been introduced in Flyway 'check' code analysis
add support to generate undo script for state based model migration
Bump Netty-common, netty-resolver and netty-codec-http2 to 4.1.124 to fix CVE-2025-55163
Upgraded RgCompare.Cli from 1.39.4.1185 to 1.40.1.1194
Bump Netty-common, netty-resolver and netty-codec-http2 to 4.1.124 to fix CVE-2025-55163
Table of useful configuration options will now print if no migrations found
Removed flywayTelemetryManager from CommandExtension API signature
New configuration option that allows a WHERE clause to be specified for comparison operations on each static data table to filter the returned rows
'passOnRegexMatch' parameter in Regex Code Analysis is now deprecated
Added community db IRIS
Added community db QuestDB
Upgraded RgCompare.Cli from 1.38.0.974 to 1.38.0.1042
Upgraded sqlfluff from 3.4.1 to 3.4.2
Issue 4089 Gradle plugin now uses Extensions API over deprecated Conventions API
Code analysis reports now display both the number of files with violations and the total number of violations
Issue 4089 Gradle plugin now uses Extensions API over deprecated Conventions API
Upgraded RgCompare.Cli from 1.37.0.926 to 1.38.0.974
org.apache.commons:commons-lang3 to 3.18.0
Upgraded Jackson from 2.15.2 to 2.19.1
Thanks to mokamoto12 for reporting these issues.
A new parameter has been added to Regex Rule configuration files, allowing individual Regex Rules to be selectively disabled
Upgraded RgCompare.Cli from 1.36.0.820 to 1.37.0.926
mssql-jdbc 12.6.3 -> 12.10.1
The 'help' command now provides targeted help for individual 'check' sub-commands
Update terminology in docs from AAD to Microsoft Entra
New SQL Server projects will now surface 'PRINT' statements as info logs instead of warnings with a default error override in the project settings
error output is now a record and supports custom payloads for different exception types
Backup provisioner will no longer attempt to create users that already exist
It is now possible to set generate.usePlaceholders=true to allow the generate verb to place placeholders into generated files
Flyway now supports specifying the code analysis scope for migrations
Flyway now supports configuring the SQL dialect for code analysis via a dedicated configuration parameter
Native Connectors is now available via the API
Issue 4092 Gradle tasks now use lazy instantiation
flyway prepare target parameter will now default to the value of the environment parameter if the source is schema model or migrations. This makes it more straightforward if the connection details are provided as parameters rather than as a toml environment, and makes the command neater if prepare and deploy are chained together.
Thanks to mokamoto12 for reporting these issues.
Deprecated MongoDB using legacy JDBC driver. Please make sure Mongosh is installed to use Native Connectors
The snapshot command now creates any missing parent directories for the provided snapshot file path
MongoDB Native Connectors now supports outputQueryResults for Javascript migrations
Flyway code analysis now reports analyzed files more accurately
Deprecated MongoDB using legacy JDBC driver. Please make sure Mongosh is installed to use Native Connectors
improved error message information for script migration errors
SQLFluff Code Analysis will now show the line number and position of a violation
SQLFluff Code Analysis will now show the line number and position of a violation
suppressed incorrect warning about transactions appearing when running prepare
OSS command-line artifacts will now be downloaded from the release tag on GitHub instead of Maven
Flyway now allows enabling or disabling Code Analysis Rules Engines via configuration
diffText console output will use the unified diff format when -color=never is set or color support has not been detected.
Upgraded RgCompare.Cli from 1.33.3.433 to 1.33.6.573
Databricks JDBC driver 2.7.1 -> 2.7.3
Jackson-databind is now a dependency of flyway-core
Jackson-databind is now a dependency of flyway-core
Fixed a bug where SQLFluff code analysis reported files with violations even when the violation count was zero
Issue 4074 MongoDB Native Connectors now throws when there is a writeError
NC Mongo now uses temporary files to remove issues with " characters in migrations
Support Create table inside IF THEN block for BigQuery
Thanks to marcust for reporting these issues.
Issue 4068 Snowflake will not set a role after a migration if the current role is the same as the original role before a migration
Issue 4046 Make jackson libraries optional on flyway-core. JSON and TOML features will require these libraries
added Oracle debug information to documentation
Flyway now throws error if PAT is set in OSS edition
Thanks to trainman and axelfontaine for reporting these issues.
Deprecate detectUserByUrl and detectPasswordByUrl methods from the DatabaseType API
Fixed an issue where the TLS auto-configuration failed to recognize a supported object type in the client PEM file
flyway will raise an error if a provisioner is requested to be used when dry run is set
The PostgreSQL parser now supports CASE statements within a BEGIN ATOMIC statement
STREAMLIT objects to Snowflake parserUpgraded RgCompare.Cli from 1.30.2.26351 to 1.30.2.26414
Upgraded sqlfluff from 3.3.1 to 3.4.0
Thanks to andreir229 for reporting these issues.
Update jetty-server to 9.4.57.v20241219 to fix CVE-2024-6763
test databaseUpgraded RgCompare.Cli from 1.30.2.26299 to 1.30.2.26351
Update databricks-jdbc to 2.7.1
Update jetty-server to 9.4.57.v20241219 to fix CVE-2024-6763
Thanks to heikkis, swarna7602, lambdaupb, and oimo23 for reporting these issues.
Native Connectors for Oracle now supports clean
Native Connectors for Oracle now supports clean
Added new error code FAILED_BASELINE_MIGRATION to convey failure when migration a baseline
Upgraded RgCompare.Cli from 1.30.2.26158 to 1.30.2.26299
Upgraded azure-identity 1.14.2 -> 1.15.4
Upgraded msal4j 1.15.1 -> 1.20.0
Flyway now supports Native Connectors mode for Oracle Database
Fixed an issue where diff comparisons of empty schema models to empty would use the SqlServer comparison engine
Fixed an issue where the MongoDB connection string's 'authSource' parameter was not being correctly applied
Fixed an issue where performing a dry run on non-Native Connectors databases triggered a misleading Native Connector warning message
The shape of the JSON object during an error has changed to include 'sqlState' and 'sqlErrorCode' for conveying the SQL state and error code from a da
If Mongosh is available, Flyway Redgate Edition will default to using the Native Connectors Mode for MongoDB
Update Snowflake to 3.23.1 to fix CVE-2025-27496
Added support for change reports to projects deploying from a Schema model. This can be enabled by setting '-check.changesSource=schemaModel' when running 'check -changes'
(preview) add support for migration tags. Tags can be used to cherry pick groups of migrations.
Fixed an issue where Flyway would fail to fall back to 'flywayDesktop.schemaModel' during 'diff'
Fixed an issue where Flyway would fail to fall back to 'flywayDesktop.schemaModel' during 'diff'
Issue 4039 Fix OpenTelemetry dependencies not being shipped with GCP Spanner in open source
Thanks to tomwinget for reporting these issues.
Fixed an issue where Flyway incorrectly examined an unused permit on disk and gave a misleading warning message
Fixed an issue where Flyway incorrectly examined an unused permit on disk and gave a misleading warning message
fixed an issue where check filterFile was not being used for check actions
Fixed missing Oracle Wallet dependencies after upgrading to ojdbc11
Fixed missing Oracle Wallet dependencies after upgrading to ojdbc11
fixed an issue where clean, backup and snapshot provisioners would not use configured properties from the flyway namespace. This fixes an issue where script callbacks would not be called for the subset of flyway operations directly caused by these provisioners running.
Fixes issue where specifying an empty cherry pick list to the diff build database property would be treated as if cherry pick was not specified. This fixes an issue seen in the check reports when deploying to an empty target for the first time.
Flyway Enterprise now automatically configures 'javax.net.ssl.keyStore' and 'javax.net.ssl.trustStore' for MongoDB TLS connections in Native Connectors mode
Added user defined placeholder resolver
Update Netty Common and Netty Handler to 4.1.118.Final to fix CVE-2025-25193 and CVE-2025-24970
Fixed an issue with the reports where previous reports before the current report displayed invalid results
Issue 3771 Fixed an issue where the Flyway 'configuration' API returned Configuration objects with shared references instead of deep copies
deploy command will now succeed with a warning if the deployment script does not exist, allowing for smoother chaining with the prepare command.CosmosDB added
AWS DocumentDB added
.json migrationsUpdate Cassandra JDBC Wrapper to 4.13
Update AWS S3 SDK to 2.30.18
Update Netty Common and Netty Handler to 4.1.118.Final to fix CVE-2025-25193 and CVE-2025-24970
Thanks to KarolRoman for reporting these issues.
Upgrade snowflake-jdbc 3.20.0 to 3.22.0 to fix CVE-2025-24790
Converted FlywayTelemetryManager to use the plugin interface
Removed ARM V7 support from docker images
check changes will not require a target url/environment when provided with snapshots
Converting .conf files to toml using flyway init now preserves conf defaults
Fixed issue where converting a .conf file to toml in place via flyway init might not rename the original .conf file to .conf.bak
Native connectors respects set schema for Mongodb using Mongosh
Fixed an issue where callbacks were incorrectly loaded as migrations when Native Connectors mode was enabled
check no longer fails for SQLServer with the error: "Database passed into LiveSQLProvider needs to have DbConnectionInstructions"
check changes will now prefer using a given deployment snapshot over the live environment. In cases where drift appears in the live environment, this will mean that drift will now be excluded from the change report when possible.
the default filter file created upon SqlServer project initialization now ignores certificates
Issue 4010 Snowflake now supports COMMENT IF EXISTS
Update databricks to 10.16.4
Issue 4005 Update Databricks JDBC driver to 2.6.40
placeholders support in Native Connectors
Include ARM 64 in the Alpine docker image
Thanks to nicolashenry and mlorek for reporting these issues.
the shouldExecuteExpression field now displays the expression correctly in the JSON output of the info command
the shouldExecuteExpression field now displays the expression correctly in the JSON output of the info command
Fixed an issue where 'deploy' could fail due to null results despite having executed correctly
Native Connectors now supports validateMigrationNaming
Issue 3986 ship library org-reactive-streams
Thanks to ExtraClock for reporting these issues.
Upgraded to .NET 9. Existing workflows that do not depend on .NET should not need to change
Improve error output of un-parsable TOML configuration to display line and point of failure
Issue 3438 Snowflake will only drop USER PROCEDURES instead of all PROCEDURES
Issue 3601 Snowflake will now drop stages when running clean
Thanks to iapethus and vgw-chriskruger for reporting these issues.
Issue 3432 Increase block depth for WHILE, LOOP and REPEAT keywords in HSQLDB
Issue 3432 Increase block depth for WHILE, LOOP and REPEAT keywords in HSQLDB
Issue 3986 Update azure-identity to 1.14.2
Thanks to wangbfqq and ExtraClock for reporting these issues.
Stop deploying to deprecated org.flywaydb.enterprise group ID on the Redgate Maven Repository . Please use com.redgate.flyway
Stop deploying to deprecated org.flywaydb.enterprise group ID on the Redgate Maven Repository . Please use com.redgate.flyway
cleanOnValidationError function and configuration has been removed. An error will be thrown if this feature is configured
Flyway will no longer provide an interactive method to input database usernames and passwords. Please use other configuration or URL methods
Environments used with the 'check' command must have a provisioner defined or the '-cleanDisabled=false' parameter must instead be specified when running the check command. Please see here for more information.
The prepare and deploy flyway commands have been added, enabling a state-based deployment directly from a schema model or another database
The following flyway commands are now out of preview: 'add', 'diff', 'model', 'diffText' and 'generate'
Issue 3970 Add AWS Advanced MySQL wrapper support
Thanks to seungdangdang for reporting these issues.
(Preview) the preview verb 'diffApply' has been replaced with the verb 'model'
Fix error message when using unpopulated default placeholders with configured seperators
Fixed an issue where the 'Placeholders' configuration erased the 'jdbcProperties' configuration
Resolved issue where Flyway would fail to publish an event to Flyway Pipelines using a PAT token in conjunction with using an offline permit for licensing
collations will now be dropped on postgres
MySQL schema history table will create using default storage engine instead of being forced to InnoDB
addTimestamp boolean option for generate and add verbs has been replaced with timestamp=always|auto|never option
flyway init -init.projectName=test you can now shortcut to flyway init -projectName=test.Thanks to Mihitoko and kantselovich for reporting these issues.
Upgrade snowflake-jdbc 3.14.3 to 3.20.0 to fix CVE-2024-43382
check.url, check.password and check.username. These undocumented historic fields have been deprecated for a while and have confusing impacts (such as not working in all check functionality). It is recommended to use environments to replace this functionality, alternatively, check does support standard url, username and passwordBackup provisioner now puts database into single user mode before restoring
Legacy Flyway keys (FL0...) are now deprecated
Update H2 2.3.224 to 2.3.232
Upgrade snowflake-jdbc 3.14.3 to 3.20.0 to fix CVE-2024-43382
repair performance when removing failed migrationsFixed an issue where Flyway incorrectly displayed a warning about missing locations, even when locations were properly configured per environment
Remove erroneous Guava import
Fixed an issue where Flyway incorrectly displayed a warning about missing locations, even when locations were properly configured per environment
Enable out of process change detection for all license tiers when publishing results to Flyway Service
Drift results are now sent to Flyway Service when the service is enabled
Thanks to gsmet and tdg5 for reporting these issues.
jetty-server 9.4.53.v20231009 to 9.4.56.v20240826 to fix CVE-2024-8184
Fix a bug where error messages are produced when check -drift is run without setting deployedSnapshot
FLYWAY_PIPELINE_ID environment variable was previously broken but is now fixed
Thanks to cowwoc for reporting these issues.
Upgrade google-cloud-spanner-jdbc 2.18.1 to 2.22.1 to fix CVE-2024-7254
Add support for DB2 ZOS
DB2 and Redshift now support AWS Secrets Manager
Upgrade google-cloud-spanner-jdbc 2.18.1 to 2.22.1 to fix CVE-2024-7254
Upgrade google-cloud-secretmanager 2.20.0 to 2.51.0 to fix CVE-2024-7254
Upgrade google-cloud-storage version 2.22.5 to 2.43.1 to fix CVE-2024-7254
Resolved cascading failure when reporting results to Flyway Pipelines
Resolved cascading failure when reporting results to Flyway Pipelines
Fix issue with createStatement override not being used in DB2 Z/OS
Fixed the issue that 'Check' command should throw an Exception if current environment and build environment are the same
Fixed the issue that 'Check' command should throw an Exception if current environment and build environment are the same
Issue 3812 Fixed the bug that Flyway failed to load Callbacks which are configured as a 'classpath'
Issue 3812 Fixed the bug that Flyway failed to load Callbacks from default path 'db/callback'
Update Parser createStatement method signature
Retire usage of https://nexus.flywaydb.org
Thanks to liununu for reporting these issues.
cleanOnValidationError is now deprecated
Flyway now supports setting personal access token (PAT) through API
Added a warning message if 'group' parameter is enabled for databases which don't support DDL transactions
Thanks to Quairix for reporting these issues.
Your coding agent can read these notes before it upgrades. Set up the MCP server →