Liquibase 4.19.1 Release Notes

Liquibase v4.19.1 is a patch release.

See GitHub formatted release notes for more information. Full changelog: 4.19.0–4.19.1 (March 7, 2023)

Enhancements

  • Publish liquibase-extension-testing to github packages (DAT-12833) by @abrackx in #3697
  • Add support for multiple schemas to dbDoc command by @zpanderson in #1834
  • No need redundant conditions. by @arturobernalg in #3553
  • Replace expressions with type arguments with diamond type <>. by @arturobernalg in #3591
  • Remove duplicate conditions in expressions and branches of if statements. They are used due to oversight. by @arturobernalg in #3548
  • Replace constant charset String literal with the predefined StandardC… by @arturobernalg in #3568
  • Normalize path of SQL changelog file when parsing (DAT-11891) by @StevenMassaro in #3664
  • Delegate changeset equality tests by @droy-sandbox in #3550
  • (DAT-6636) Refactor of TagExistsCommandStep and extraction of code to new LockServiceCommandStep by @filipelautert in #3667
  • Refactors CalculateChecksumCommandStep by @filipelautert in #3696
  • CORE-3044 avoid locking if no updates pending by @RichardBradley in #2190
  • Warning in case of missing Liquibase files instead of throwing an exception by @mhewedy in #3081
  • Remove redundant modifiers. by @arturobernalg in #3594
  • Update maven-bundle-plugin instructions to export package containing XSD files by @GeertZondervan in #3597
  • Remove redundant conditions that covered by a subsequent condition. by @arturobernalg in #3590
  • Add support for db2 view comments (DAT-12529) by @abrackx in #3723
  • Remove unnecessary cast expressions. by @arturobernalg in #3670
  • Performance improvements by @filipelautert in #3588
  • Implemented a summary of change sets which get filtered out during update (DAT-12068) by @wwillard7800 in #3730
  • Support tabular format for history command by @fbiville in #3541
  • Remove Unnecessary operation/modifier: by @arturobernalg in #3657
  • Update and rename bug_report.md to bug_report.yaml by @kevin-atx in #3728
  • Improve command line help message format by @StevenMassaro in #3829
  • Use StandardCharsets constant instead. (DAT-12853) by @arturobernalg in #3725
  • Update SnakeYAML usage - do not call deprecated methods by @asomov in #3632
  • Avoid global mutable state of Non-final fields in enumeration types. by @arturobernalg in #3727
  • Use constants instead of arrays with known lengths of zero by @arturobernalg in #3716
  • Simplify lambda expressions when possible by @arturobernalg in #3736
  • [PRO] Added new modifyChangeSets tag to support specification of runWith attribute for all change sets in include or includeAll
  • [PRO] DAT-7922 Implement a check for one change per changeset by @wwillard7800 in liquibase/liquibase-pro#790
  • [PRO] DAT-11915 Correctly escape SQL to enable and disable triggers on PostgreSQL by @wwillard7800 in liquibase/liquibase-pro#799
  • [PRO] DAT-10157: add database scope for reserved words checks by @StevenMassaro in liquibase/liquibase-pro#802
  • [PRO] DAT-13189 safely set code point limit for SnakeYaml by @StevenMassaro in liquibase/liquibase-pro#827
  • [PRO] DAT-13440: show changesetsRolledback only after rollback is complete by @StevenMassaro in liquibase/liquibase-pro#838
  • [PRO] DAT-12568 by @jnewton03 in liquibase/liquibase-pro#844

Fixes

  • Fixes generate-changelog table/view comment and table/view column comment generation for MSSQL (DAT-12045) by @abrackx in #3563
  • Fully qualified path to the changelog or snapshot in S3 is not allowed, so needs better msg (DAT-11478) by @diadiushko in #3564
  • (DAT-12039) :detect circular references in includeAll statement by @StevenMassaro in #3695
  • Improve logging around paths that do not exist (DAT-12038) by @StevenMassaro in #3669
  • Normalize path of JSON and YAML changelogs when parsing (DAT-11891) by @StevenMassaro in #3711
  • Deprecate DefaultLoggerConfiguration (DAT-11970) by @StevenMassaro in #3706
  • Rework dropProcedure for Snowflake Log message when dropAll fails (DAT-12916) by @wwillard7800 in #3702
  • Fix: Snowflake has wrong priority by @Yogurt-lei in #3572
  • Do not add default schema name to getSchemas method to avoid one schema by @LonwoLonwo in #3704
  • #3035 add Double data type class to avoid incorrect double(0) database by @LonwoLonwo in #3703
  • Stop publishing liquibase-extension-testing to Github on branch builds (DAT-13038) by @abrackx in #3726
  • Do not support setting column comments on a view in Snowflake (DAT-12530) by @StevenMassaro in #3710
  • Fix NullPointerException for case sensitive collations by @ivan909020 in #3699
  • (DAT-13269) pass proper branch name and add required field by @jnewton03 in #3765
  • Consistent ARG-suffix for 'defaultSchemaName'-Parameter by @SIEDA-EliasHeydrich in #3662
  • Removing explicit LiquibaseServletListener references by @Thunderforge in #3677
  • Add Snowflake structured data types to unmodifiable Data Types by @LonwoLonwo in #3752
  • Fix #3690 primaryKeyExists does not work on DB2z by @MichaelKern-IVV in #3691
  • Replace old stream creation with java.nio. by @arturobernalg in #3686
  • github-action (DAT-13527) by @jnewton03 in #3827
  • Do not duplicate clearCheckSums logic by @fbiville in #3628
  • Fixing #3708 - AddColumn fix for H2 version 1.4.200 by @KarolyNevelos in #3709
  • Added default values to private Scope constructor by @MarkTJohnson in #3756
  • Improved concurrency support by using ConcurrentHashMaps by @jurgenkleverwal in #3799
  • Fixing lookahead for last line comment method by @mwiede in #3717
  • Do not calculate checksum when loading changelogs by @filipelautert in #3790
  • Set up maven using simpler GitHub action by @StevenMassaro in #3835
  • Safely set code point limit for SnakeYaml (DAT-13189) by @StevenMassaro in #3807
  • Fix failing EnvironmentValueProviderTest by @nvoxland in #3783
  • Show changesetsRolledback only after rollback is complete (DAT-13440) by @StevenMassaro in #3846

Security, Driver and other updates

Note:
OWASP Dependency Check: Reported Vulnerabilities
snakeyaml.jar - This is a "critical" vulnerability reported against the snakeyaml library. Note: Liquibase code is not vulnerable to this attack, but users can manually upgrade to the newest version of snakeyaml library, and will be upgraded to the unaffected snakeyaml 2.0 version in the next release. If you are interested, you can track the PR at #3865

  • Bump junit-jupiter-params from 5.9.1 to 5.9.2 by @dependabot in #3673
  • Bump ant from 1.10.11 to 1.10.13 by @dependabot in #3672
  • Bump firebird-testcontainers-java from 1.2.0 to 1.3.0 by @dependabot in #3653
  • Bump actions/delete-package-versions from 3 to 4 by @dependabot in #3649
  • Bump maven-plugin-plugin from 3.7.0 to 3.7.1 by @dependabot in #3698
  • Bump assertj-core from 3.23.1 to 3.24.2 by @dependabot in #3705
  • Bump jaybird from 4.0.8.java8 to 5.0.0.java8 by @dependabot in #3659
  • Bump mariadb-java-client from 3.1.0 to 3.1.2 by @dependabot in #3729
  • Bump snowflake-jdbc from 3.13.26 to 3.13.27 by @dependabot in #3751
  • Bump picocli from 4.7.0 to 4.7.1 by @dependabot in #3742
  • Bump actions/cache from 3.2.3 to 3.2.4 by @dependabot in #3750
  • Bump actions/cache from 3.2.4 to 3.2.5 by @dependabot in #3809
  • Bump maven-deploy-plugin from 3.0.0 to 3.1.0 by @dependabot in #3802
  • Bump maven-shade-merge-manifest-transformer from 0.0.2 to 0.0.3 by @dependabot in #3779
  • Bump postgresql from 42.5.1 to 42.5.3 by @dependabot in #3778
  • Bump jaxb-runtime from 4.0.1 to 4.0.2 by @dependabot in #3786
  • Bump jaxb-core from 4.0.1 to 4.0.2 by @dependabot in #3787
  • Bump sqlite-jdbc from 3.40.0.0 to 3.40.1.0 by @dependabot in #3772
  • Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 by @dependabot in #3759
  • Bump jaybird from 5.0.0.java8 to 5.0.1.java8 by @dependabot in #3760
  • Bump mssql-jdbc from 11.2.1.jre8 to 12.2.0.jre8 by @dependabot in #3761
  • Bump ojdbc8 from 21.8.0.0 to 21.9.0.0 by @dependabot in #3808
  • Bump postgresql from 42.5.3 to 42.5.4 by @dependabot in #3831
  • Migrate setup-java action to use Temurin by @gdams in #3607

New Contributors

  • @zpanderson made their first contribution in #1834
  • @droy-sandbox made their first contribution in #3550
  • @mhewedy made their first contribution in #3081
  • @GeertZondervan made their first contribution in #3597
  • @yogurt-lei made their first contribution in #3572
  • @gdams made their first contribution in #3607
  • @SIEDA-EliasHeydrich made their first contribution in #3662
  • @Thunderforge made their first contribution in #3677
  • @KarolyNevelos made their first contribution in #3709
  • @MarkTJohnson made their first contribution in #3756
  • @jurgenkleverwal made their first contribution in #3799
  • @mwiede made their first contribution in #3717