NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Maven Central · #765 by repository stars
Last release 6 days ago
02 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 29 of 34 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
34 releases · first in 2024
See release notes here
See release notes here
Flyway now defaults FLYWAY_USE_SYSTEM_PROXIES to false, making inheritance of the operating system proxy configuration opt-in
Flyway Report has been updated to a new implementation and is now enabled by default. If you need to use the legacy implementation, set the FLYWAY_NEW_REPORTS environment variable to false
init no longer writes the root redgateCompare.filterFile setting for SQL Server and Oracle projects
Flyway no longer reports that changes were successfully rolled back when an exception occurred during rollback
Oracle parser no longer fails when END CASE, END LOOP, or END IF is split across two lines
One column per month.
See release notes here
See release notes here
See release notes here
See release notes here
connections now report their application name as "Redgate_Flyway" rather than "Flyway by Redgate" on every database that supports it
Databricks connections now identify Flyway to Databricks as "Redgate_Flyway" via the UserAgentEntry connection property
drift results are published to Flyway Pipelines for any drift check when publishResult is enabled, not only for checks against a Flyway Pipelines snapshot
Flyway now sets the pgjdbc assumeMinServerVersion property to 9.1 on PostgreSQL connections
testConnection.environmentName names the environment supplied on standard input, so provisioners act on the environment being tested rather than standing up a second one, and progress and error messages name it rather than default
connections to PostgreSQL and CockroachDB now report application_name as "Flyway by Redgate" rather than the pgjdbc default
the docker provisioner built container connection URLs against localhost, which could resolve to an address the container was not published on, so clients failed to connect to a container Flyway had reported as ready
See release notes here
See release notes here
Flyway MCP adds a new Test Migrate tool that runs pending migration scripts against your configured shadow database.
Flyway MCP now also supports 3-sided diff by creating a checkpoint of the schema model before updating, so it can be compared against the development database.
drift results were published to Flyway Pipelines even when publishResult was false
dry runs no longer publish migrate events to Flyway Service as deployments
Fixed an issue where an unusually long configuration value could cause Flyway's debug configuration table to render incorrectly
generated migration filename timestamps are now in UTC rather than the local system timezone
See release notes here
See release notes here
Added a deployment overview table to the dry run report
check.code.profile and check.code.profiles let a code analysis run exclude a named set of rules and rule groups, so analysing a schema model no longer reports violations from rules that cannot apply to it. A built-in schemaModel profile is included.
flyway deploy now publishes the deployment to Flyway Pipelines when publishResult is enabled
Added a comment to check dryrun reports when they are truncated
skip restoring sql server database name and 'ansi_nulls' if they're unchanged
The JSON report file now carries a top-level schemaVersion field identifying the version of the report format.
Fixed DB2 migrations failing with SQLCODE=-428 when a schema check introduced in a previous release broke the requirement that some statements (e.g. TRUNCATE) be first in a unit of work
setting url, user or password on an environment using the docker provisioner is now rejected. The provisioner supplies these from the container it starts, and a configured value was silently used by operations that ran without provisioning.
the cached credentials from flyway auth are no longer invalidated when Flyway is upgraded. Note that upgrading to this version requires running flyway auth once more.
the docker provisioner's container connection details were discarded when the build environment was resolved without provisioning, so Flyway could migrate and compare against a url left in configuration instead of the container it started.
the docker provisioner showed the raw Docker CLI error instead of a clear message when the Docker daemon was not running
Docker images now run on JRE 25 (previously JRE 21)
Update upgrade org.eclipse.jetty:jetty-server to 12.1.12
See release notes here
See release notes here
Improve dry run script's reviewability by removing unnecessary statements
the Flyway MCP Server tool "create_before_pull_snapshot" has been renamed to "create_schema_model_checkpoint"
jackson-databind is now an optional dependency of flyway-core. If your application or integration relies jackson-databind, you should explicitly declare it as a dependency in your project rather than relying on flyway-core to provide it transitively
JSON support is no longer bundled with flyway-core and is now provided through the new flyway-core-utilities module
Upgraded com.fasterxml.jackson.core:jackson-annotations from 2.21 to 2.22
Upgraded com.fasterxml.jackson.core:jackson-core from 2.22.1 to 2.22.2
Upgraded com.fasterxml.jackson.core:jackson-databind from 2.22.1 to 2.22.2
Upgraded org.mariadb.jdbc:mariadb-java-client from 2.7.13 to 2.7.14
See release notes here
See release notes here
fixed Oracle parser failing with "Incomplete statement" when a PL/SQL package body referenced a table or column literally named CASE after INSERT INTO, UPDATE, JOIN, CREATE TABLE, or AS
the docker provisioner rejected a sourceEnvironment that declared provisioner = "none", reporting it as already provisioned
TOML support is no longer bundled with flyway-core and is now provided through the new flyway-core-utilities moduleSee release notes here
See release notes here
CREATE, ALTER and DROP IDENTITY PROVIDER statements were run inside a migration transaction, which Redshift does not supportConfigurationExtension.copy() no longer requires jackson-databind on the classpath; if it's absent, copy() falls back to a shallow copySee release notes here
See release notes here
Flyway now warns when validate resolves no migrations from the configured locations but the schema history contains applied migrations
mcp server project load will no longer raise an error if a .conf project was detected in a default location outside of the project root
OSS no longer recognises the 'publishResult' or 'checkDriftOnMigrate' parameters which had no effect
Configuration details defined against a specific environment, such as a custom schema history table or default schema, were lost when Flyway switched to that environment
The Docker provisioner could not connect to Oracle 23 and later containers, failing with ORA-12514, because it requested the wrong pluggable database service
CockroachDB is now provided as a standalone database module. API users targeting CockroachDB should include the new CockroachDB module instead of relying on the PostgreSQL moduleUpgraded adoptium/temurin25-binaries from 25.0.3+9 to 25.0.4+7
Updated BouncyCastle to 1.85 to address a High severity Uncontrolled Recursion advisory
Updated Oracle SQLcl in the Flyway Docker oracle image to 26.2.0.181.2110, resolving CVE-2026-68494 in jackson-core
See release notes here
See release notes here
deploy command result now includes execution time in milliseconds
environments_<name><setting> and flyway<setting> environment variables can now use any letter casing in their prefix, e.g. ENVIRONMENTS_PRODUCTION_PASSWORD
Databricks Lakebase is now recognised as a supported PostgreSQL-derivative database type in public preview
snapshot history is now supported on Databricks
Databricks identifiers containing a backtick produced invalid SQL
Databricks migrations could fail at the unlock step with a Delta ConcurrentAppendException; the lock keepalive no longer races the unlock
Issue 4259 Fixed afterConnect callback not being fired on the migration connection
Fixed an issue that prevented several after*OperationFinish SQL callback scripts (clean, validate, undo, repair, baseline) from ever running
Fixed an issue where the Docker provisioner for Oracle would immediately exit
Fixed dry run failing on Databricks with "Unable to switch connection to read-only" error
See release notes here
See release notes here
Add support for new 'IncludeOnlineIndexCreation' option for Oracle
check drift and check changes JSON output now includes an id for each difference, allowing drift to be resolved against specific objects
Flyway MCP server now available, exposing development-time tools an AI agent can call. These tools run flyway commands for both state based and migrations projects
Include the offending SQL in error messages for Flyway Desktop when debug logging is disabled
the docker provisioner now reports a dedicated error code when a SQL Server or Oracle container is provisioned without accepting the database vendor's EULA
See release notes here
See release notes here
-h help for migrate, info, validate, clean, and undo now lists relevant configuration parameters and a usage example instead of just a description
Oracle SQL error output no longer shows the redundant SQL State and Error Code lines, as the ORA-#### code is already in the message
testConnection now keeps the configured environments available so provisioners that reference another environment (for example the docker provisioner's sourceEnvironment) resolve correctly when testing an inline environment
testConnection now reports provisioning progress (e.g. Docker container start-up) when progress output is enabled
the docker provisioner now reports clear, dedicated errors when the Docker CLI is not installed or the Docker daemon is not running
the legacy compose-file configuration of the preview docker provisioner is deprecated and now logs a warning; use the docker-compose provisioner instead
using 'auth' without the '-IAgreeToTheEula' flag defaults to an interactive EULA agreement process
Fixed an issue where authentication warnings could be displayed multiple times during a Flyway run
Issue 4253 Fixed FlywayUnknownMigrationTypeException when schema history table contains legacy SPRING_JDBC type from older Flyway versions
driver JARs from eager static classpath loading to lazy dynamic loadingSee release notes here
See release notes here
filesystem location 'not found' messages now report the effective working directory and prompt you to check it, since running Flyway from the wrong working directory (without -workingDirectory) is a common cause
Native Connectors mode is now enabled by default for Cassandra
outOfOrder mode is now reported at info level instead of as a warning
The preview docker environment provisioner has been renamed to docker-compose. Existing docker provisioner configurations that use a compose file continue to work via automatic forwarding.
A missing callback location (including the default filesystem:callbacks) is now skipped instead of being logged as an error or failing the command
drift resolution script generation failures no longer fail the check drift command; drift is still reported and any scripts that can be generated are still written
Fixed drift resolution failing to generate scripts when the drift included object types whose names contain spaces (e.g. user-defined types)
The smart docker provisioner now starts Postgres and MySQL build containers with valid credentials and a usable default schema, so provisioning and migrating against them succeeds
Upgraded com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.22.0
Upgraded tools.jackson.core:jackson-databind from 3.1.1 to 3.1.4
See release notes here
See release notes here
Added a check.driftResolutionFolder setting to configure the folder in which drift resolution scripts are generated when drift is detected
Flyway CLI now exits with a distinct exit code derived from the error code when a FlywayException is thrown
See release notes here
See release notes here
See release notes here
See release notes here
Flyway now warns when an offline permit is due to expire within the next 30 days
Improved progress reporting for PostgreSQL, MySQL and SQLite
Licensing module dependency to be recognized as Redgate editionSee release notes here
See release notes here
flyway-proprietary module to use Redgate proprietary featuresEnvironment Variable resolver syntax now works in all flyway configuration parameters, not just environment connection properties
fix crash in check code when SQLFluff emits LXR violations for files containing a UTF-8 BOM
Fixed misleading "try running the 'auth' command" warning appearing when already running auth command
Upgraded ch.qos.logback:logback-classic from 1.2.3 to 1.2.13
Upgraded org.apache.derby:derby from 10.16.1.1 to 10.17.1.0
Upgraded org.apache.logging.log4j:log4j-core from 2.17.1 to 2.25.4
flyway repair against a dry-run target no longer fails for SQL baseline migrations
flyway repair against a dry-run target no longer fails for SQL baseline migrations
license text files now included in Flyway distributions
Flyway now supports Native Connectors mode for the Deploy command
Auth command now defers to existing license providers instead of redundantly re-authenticating. License output now reports the acquisition method.
configuration errors caused solely by obsolete parameters now throw ObsoleteConfigurationParametersException, exposing the obsolete parameters as structured data
Issue 4229 Gradle plugin is now compatible with Gradle's configuration cache for environment variable and system property inputs
obsolete parameter exception payload now includes a reason field explaining why each parameter is obsolete
simplified namespace short-circuiting (aka scoped namespacing) so that mixing scoped and unscoped namespaces is allowed
DROP ... IF EXISTS and CREATE ... IF NOT EXISTS for Oracle parserUpgraded adoptium/temurin25-binaries from 25.0.2+10 to 25.0.3+9
Upgraded com.google.jimfs:jimfs from 1.3.0 to 1.3.1
Upgraded org.apache.maven.plugins:maven-antrun-plugin from 1.7 to 1.8
Upgraded org.apache.maven.plugins:maven-compiler-plugin from 2.3.2 to 3.15.0
Upgraded org.apache.maven.plugins:maven-deploy-plugin from 3.0.0-M1 to 3.1.4
Upgraded org.apache.maven.plugins:maven-failsafe-plugin from 3.1.0 to 3.5.5
Upgraded org.apache.maven.plugins:maven-install-plugin from 3.0.0-M1 to 3.1.4
Upgraded org.apache.maven.plugins:maven-jar-plugin from 3.0.2 to 3.5.0
Upgraded org.apache.maven.plugins:maven-resources-plugin from 2.5 to 3.5.0
Upgraded org.apache.maven.plugins:maven-surefire-plugin from 3.1.0 to 3.5.5
Upgraded org.apache.maven.wagon:wagon-http from 2.12 to 3.5.3
Upgraded org.codehaus.mojo:versions-maven-plugin from 2.7 to 2.21.0
Upgraded org.junit.jupiter:junit-jupiter from 6.0.1 to 6.0.3
Upgraded org.junit.platform:junit-platform-launcher from 6.0.1 to 6.0.3
Upgraded org.mockito:mockito-core from 5.18.0 to 5.23.0
Upgraded org.mockito:mockito-junit-jupiter from 5.18.0 to 5.23.0
Bumped aws-secretsmanager-jdbc from 2.0.4 to 2.1.0
Flyway now supports Native Connectors mode for Cassandra. The JDBC-based approach has been deprecated
Flyway now supports Azure Key Vault as a secrets resolver
Flyway now supports Native Connectors mode for Cassandra. The JDBC-based approach has been deprecated
flyway prepare with -prepare.source=schemaModel now fails with a clear error when the configured schema model directory does not exist
"initSql" has been deprecated. Please use the "afterConnect" callback instead
The Flyway Secret Manager feature is no longer available under Teams license
Fix pluginConfigurations in the Maven and Gradle plugins not being handled by Flyway
Retry Informix table drops on ISAM file lock errors
Nothing published for this version
(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 migrationsjetty-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.
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.
Fixed the bug that prevented powershell scripts from running when located in a folder with spaces in the folder name.
Fixed the bug that prevented powershell scripts from running when located in a folder with spaces in the folder name.
Fixed the issue where schemas might get inadvertently cleaned when running check in MySQL
Azure Identity is now a dependency of Flyway for SQL Server Active Directory MSI authentication
Flyway now supports Environment Overrides for parameters configuration
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix a bug where mongoDb database name was null
Fix a bug where mongoDb database name was null
Removed duplicate libraries from the command line
Issue with ${flyway:workingDirectory} not using configured working directory has been fixed
Fixed an issue where failed migrations could report a negative execution time
Fixed bug where certain keywords in BigQuery and HSQL were not handled correctly when in lower case.
Fixed bug where certain keywords in BigQuery and HSQL were not handled correctly when in lower case.
Fix a bug where targetSchemaVersion is not set in API and JSON result objects when migrate fails, or no versioned migrations are applied
Fix the bug preventing users from initiating a trial using the "auth" command
Issue 3900 Increase Cloud Spanner support to 2.18.1
Issue 3905 Increase H2 support to 2.2.224
Thanks to credmond-git and BlueIce for reporting these issues.
Flyway shouldn't call SqlFluff if there are no pending migrations found
Reworded exception messages when executing scripts fails to say "Script ... failed" instead of "Migration ... failed"
'beforeEachMigrateStatement' and 'afterEachMigrateStatement' callbacks are now open source features
Updated wording on Drift Report
Personal Access Tokens are now supported as a method of authorizing Flyway
'versioned' and 'repeatable' can now be used for 'ignoreMigrationPatterns' in the open-source version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →