Liquibase 4.17.0 Release Notes

Liquibase v4.17.0 is a major release.

See GitHub formatted release notes for more information. Full changelog: 4.16.0–4.17.0 (October 7, 2022)

Notable Changes

  • [PRO] The liquibase flow command and flow files are available with a Liquibase Pro license. It allows you to create portable, platform-independent Liquibase workflows that can run across different tools without modifying each workflow.
  • [PRO] Pro license users can now integrate Amazon S3 with Liquibase. You can extend Liquibase to use remote file locations to enable secure, centralized file management. Learn more here: S3
  • [PRO] Pro license users can use searchpath to find files located on S3 that cannot be found by an absolute path.

API Breaking Changes

  • The liquibase.resource.ResourceAccessor APIs were updated to take advantage of the new liquibase.resource.Resource abstraction that was introduced. Code that USES the existing ResourceAccessor methods will continue to work as before with no changes, but if you have written custom implementations of ResourceAccessor there are new and changed methods to implement. For more information, see javadocs.liquibase.com

Enhancements

  • Created new liquibase.resource.Resource interface by @nvoxland in #3064
  • Created ThreadLocalScopeManager by @nvoxland in #3240
  • Create liquibase_autocomplete.zsh by @szandany in #3130

Fixes

  • AlterSequence: include NOORDER clause ordered="false" is specified by @LeBezout in #1044
  • Upper case result columns only for case-insensitive databases by @fbiville in #3102
  • Postgresql: Fix for case when current search_path is an empty string by @gadget in #3233
  • Fix missing catalog on add column rollback by @jandurovec in #921
  • Fix an error which can occur if getAutoCommit is called on a closed connection by @gpsfl in #3135
  • Apply sqlVisitors to CompoundStatements on DB2z by @MichaelKern-IVV in #3220
  • Improved message when precondition onFail: MARK_RAN is set by @MultiM25 in #2238
  • Add default catalog condition to SequenceSnapshotGenerator for Oracle by @gabrielnardes in #3152
  • Fixed issue with H2 loadUpdateData not correctly handling values with the string " values " in the inserted data by @tomyy in #1831
  • Fix the smallserial issue not being parsed as a SmallInt type for Postgres by @MalloD12 in #3234
  • Remove Snowflake unsupported logging from snapshot command (DAT-11291) by @abrackx in #3277
  • Fix "double" handling with H2 by @MalloD12 in #3273
  • Firebird: fix createIndex missing space around "computed" by @Markus-Patt in #1500
  • Test Race Condititons During Liquibase Locking by @schrieveslaach in #2327
  • Use configuration to get 'altTablespace', 'altSchema' and 'altCatalog… by @mehrabisajad in #3124
  • Add missing generator for parameterized SQL statements by @fbiville in #3225
  • Add catalog null check to fix initializing a MSSQL db issue by @MalloD12 in #3235
  • PD-2838: pointing DB list to docs by @adrian-velonis1 in #3280
  • Addition of liquibase.update() Enhancement Request #1614 by @Betlista in #1638
  • Fixed createView handling of replaceIfExists=true when the string "replace" exists in the view definition by @filipelautert in #3305
  • DAT-11407: replace backslashes in NotFoundResource URI by @StevenMassaro in #3322
  • Fix generateChangeLog and diffChangeLog logic to avoid including default schema name when it should not by @MalloD12 in #3246

Updates

Security Updates

None

JDBC Driver and Third-Party Library Updates

  • Upgraded snowflake-jdbc from 3.13.21 to 3.13.22 by @dependabot in #3196
  • Upgraded opencsv from 5.6 to 5.7.0 by @dependabot in #3243
  • Upgraded installer to use JDK 17.0.4.1 by @nvoxland in #3266
  • Upgraded sqlite-jdbc from 3.39.2.1 to 3.39.3.0 by @dependabot in #3267
  • Upgraded jaxb-core from 4.0.0 to 4.0.1 by @dependabot in #3292
  • Upgraded mariadb-java-client from 3.0.7 to 3.0.8 by @dependabot in #3293
  • Upgraded jaxb-runtime from 4.0.0 to 4.0.1 by @dependabot in #3294
  • Upgraded snakeyaml from 1.32 to 1.33 by @dependabot in #3310

OWASP Dependency Check: Reported Vulnerabilities

None

New Contributors

  • @trentdm made their first contribution in #3227
  • @gadget made their first contribution in #3233
  • @jandurovec made their first contribution in #921
  • @gpsfl made their first contribution in #3135
  • @MichaelKern-IVV made their first contribution in #3220
  • @MultiM25 made their first contribution in #2238
  • @gabrielnardes made their first contribution in #3152
  • @tomyy made their first contribution in #1831
  • @neilnaveen made their first contribution in #2997
  • @Markus-Patt made their first contribution in #1500
  • @adrian-velonis1 made their first contribution in #3280
  • @Betlista made their first contribution in #1638
  • @filipelautert made their first contribution in #3305