Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Snowflake structured data types to unmodifiable Data Types #3752

Merged

Conversation

LonwoLonwo
Copy link
Contributor

@LonwoLonwo LonwoLonwo commented Jan 31, 2023

Add Snowflake structured data types in the unmodifiable Data Types list to avoid the incorrect results of the diffChangeLog command

Impact

  • Bug fix (non-breaking change which fixes expected existing functionality)
  • Enhancement/New feature (adds functionality without impacting existing logic)
  • Breaking change (fix or feature that would cause existing functionality to change)

Description

Structured data types are compared incorrectly.

Structured data types in the Snowflake can not be created with parameters: https://docs.snowflake.com/en/sql-reference/data-types-semistructured.html

2023-01-31 12_26_53-DBeaver Ultimate 22 3 3 - TEST_DB Script-85

But the result of comparing tables with these types of columns with the diffChangeLog command will be

CREATE OR REPLACE TABLE TEST_SEMI_STRUCTURED(
	var VARIANT(0),
	arr ARRAY(0),
	obj OBJECT(0));

because by default Liquibase returns data type name + parameters

And the simplest way to avoid it is adding data types in the unmodifiable types list:

https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/snapshot/jvm/ColumnSnapshotGenerator.java#L435

Steps:

  1. Create a table in schema1:
CREATE TABLE TEST_SEMI_STRUCTURED(
	var VARIANT,
	arr ARRAY,
	obj OBJECT);
  1. Compare schema1 with an empty schema.

If I need to add tests - please, give me advice on how to do it better. Maybe like MSSQLDatabaseTest#isUnmodifiable?
If I need to create a ticket for the issue first - tell me also.

…st to avoid incorrect result of diffChangeLog command
@nvoxland
Copy link
Contributor

Initial/Pre-Review Thoughts

The change makes sense to me. I appreciate the detail in your PR.

There is no need for an issue for specific bugfixes like this. It can be nice to track and discuss the feature request (issue) independently from implementation options for that feature (PR) for more complex things, but for "X doesn't work unless we do Y" type bugs it's generally not worth the hasstle.

I'd tend to think this fix doesn't need a test. Tests should be reserved for "non-trivial code" especially "logic that can have bugs in it", but this basically just a declarative statement with no logic itself. The test would end up really just being "Is java able to correctly handle an array literal" which the answer is yes. We have tests elsewhere which check that "unmodifiable" values are being used correctly.

What could be useful as a test is more of an overall test that those newly-added datatypes are handled correctly, either through test-harness based tests in the liquibase-snowflake module or in the integration-tests module. But, neither are well set up for that right now on snowflake and I don't think it's worth blocking this PR for getting that going.

Questions I have:

  • None

Potential risks:

  • None

What could make the full review difficult:

  • Nothing

@LonwoLonwo
Copy link
Contributor Author

Thanks for the detailed response @nvoxland

@filipelautert filipelautert self-assigned this Feb 2, 2023
@filipelautert filipelautert added sprint2023-44 DBSnowflake SafeToBuild Indicates that a particular PR contains changes which are safe to build using GitHub actions labels Feb 2, 2023
@filipelautert filipelautert added this to the Snowflakes milestone Feb 2, 2023
@github-actions
Copy link

github-actions bot commented Feb 2, 2023

Unit Test Results

  5 265 files  ±0    5 265 suites  ±0   35m 19s ⏱️ +10s
  4 853 tests ±0    4 634 ✔️ ±0     219 💤 ±0  0 ±0 
62 035 runs  ±0  55 998 ✔️ ±0  6 037 💤 ±0  0 ±0 

Results for commit 97a5d7d. ± Comparison against base commit 958ae65.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@filipelautert filipelautert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lot's of Snowflake fixes for this release, thanks! How was it working before?

@LonwoLonwo
Copy link
Contributor Author

@filipelautert If we talk about us, we had the Snowflake extension fork with all these fixes :)

Copy link
Contributor

@XDelphiGrl XDelphiGrl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR prevents Liquibase from adding invalid datatype parameters to generated changesets for objects containing array, object and variant datatypes.

  • Fix impacts Snowflake only.
  • Functional and test harness executions passing.
  • No additional testing necessary.

APPROVED

@filipelautert filipelautert added SafeToBuild Indicates that a particular PR contains changes which are safe to build using GitHub actions and removed SafeToBuild Indicates that a particular PR contains changes which are safe to build using GitHub actions labels Feb 13, 2023
@filipelautert filipelautert merged commit 8561e6c into liquibase:master Feb 13, 2023
@filipelautert filipelautert modified the milestones: Snowflakes, 1NEXT Feb 13, 2023
benkard pushed a commit to benkard/mulkcms2 that referenced this pull request Apr 2, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.200.0` -> `^0.201.0`](https://renovatebot.com/diffs/npm/flow-bin/0.200.0/0.201.0) |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | patch | `4.19.0` -> `4.19.1` |
| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.33.0` -> `2.34.0` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `2.16.3.Final` -> `2.16.4.Final` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `2.16.3.Final` -> `2.16.4.Final` |
| [org.apache.maven.plugins:maven-compiler-plugin](https://maven.apache.org/plugins/) | build | minor | `3.10.1` -> `3.11.0` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.201.0`](flow/flow-bin@d54e283...86aea9c)

[Compare Source](flow/flow-bin@d54e283...86aea9c)

### [`v0.200.1`](flow/flow-bin@b6c1eb0...d54e283)

[Compare Source](flow/flow-bin@b6c1eb0...d54e283)

</details>

<details>
<summary>liquibase/liquibase</summary>

### [`v4.19.1`](https://github.com/liquibase/liquibase/releases/tag/v4.19.1)

[Compare Source](liquibase/liquibase@v4.19.0...v4.19.1)

##### Liquibase v4.19.1 is a patch release

#### Enhancements

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

#### Fixes

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

#### Security, Driver and other updates

**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 MR at liquibase/liquibase#3865

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

#### New Contributors

-   [@&#8203;zpanderson](https://github.com/zpanderson) made their first contribution in liquibase/liquibase#1834
-   [@&#8203;droy-sandbox](https://github.com/droy-sandbox) made their first contribution in liquibase/liquibase#3550
-   [@&#8203;mhewedy](https://github.com/mhewedy) made their first contribution in liquibase/liquibase#3081
-   [@&#8203;GeertZondervan](https://github.com/GeertZondervan) made their first contribution in liquibase/liquibase#3597
-   [@&#8203;Yogurt-lei](https://github.com/Yogurt-lei) made their first contribution in liquibase/liquibase#3572
-   [@&#8203;gdams](https://github.com/gdams) made their first contribution in liquibase/liquibase#3607
-   [@&#8203;ivan909020](https://github.com/ivan909020) made their first contribution in liquibase/liquibase#3699
-   [@&#8203;SIEDA-EliasHeydrich](https://github.com/SIEDA-EliasHeydrich) made their first contribution in liquibase/liquibase#3662
-   [@&#8203;Thunderforge](https://github.com/Thunderforge) made their first contribution in liquibase/liquibase#3677
-   [@&#8203;KarolyNevelos](https://github.com/KarolyNevelos) made their first contribution in liquibase/liquibase#3709
-   [@&#8203;MarkTJohnson](https://github.com/MarkTJohnson) made their first contribution in liquibase/liquibase#3756
-   [@&#8203;jurgenkleverwal](https://github.com/jurgenkleverwal) made their first contribution in liquibase/liquibase#3799
-   [@&#8203;mwiede](https://github.com/mwiede) made their first contribution in liquibase/liquibase#3717

**Full Changelog**: liquibase/liquibase@v4.17.2...v4.19.1

##### Get Certified

Learn all the Liquibase fundamentals from free online courses by Liquibase experts and see how to apply them in the real world at https://learn.liquibase.com/.

##### Read the Documentation

Please check out and contribute to the continually improving docs, now at https://docs.liquibase.com/.

##### Meet the Community

Our community has built a lot. From extensions to integrations, you’ve helped make Liquibase the amazing open source project that it is today. Keep contributing to making it stronger:

[Contribute code](https://www.liquibase.org/development/contribute.html)
[Make doc updates](https://github.com/Datical/liquibase-docs)
[Help by asking and answering questions](https://forum.liquibase.org/)
[Set up a chat with the Product team](https://calendly.com/liquibase-outreach/product-feedback)

Thanks to everyone who helps make the Liquibase community strong!

#### File Descriptions

-   **Liquibase CLI** -- Includes open source + commercial functionality
-   **liquibase-x.y.z.tar.gz** -- Archive in tar.gz format
-   **liquibase-x.y.z.zip** -- Archive in zip format
-   **liquibase-windows-x64-installer-x.y.z.exe** -- Installer for Windows
-   **liquibase-macos-installer-x.y.z.dmg** -- Installer for MacOS
-   **Primary Libraries** - For embedding in other software
    -   **liquibase-core-x.y.z.jar** – Base Liquibase library (open source)
    -   **liquibase-commerical-x.y.z.jar** – Additional commercial functionality
-   **liquibase-additional-x.y.z.zip** – Contains additional, less commonly used files
    -   Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    -   Javadocs for all the libraries
    -   Source archives for all the open source libraries
    -   ASC/MD5/SHA1 verification hashes for all files

**Full Changelog**: liquibase/liquibase@v4.19.0...v4.19.1

</details>

<details>
<summary>diffplug/spotless</summary>

### [`v2.34.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#&#8203;2340---2023-01-26)

##### Added

-   `Formatter` now has a field `public static final File NO_FILE_SENTINEL` which can be used to pass string content to a Formatter or FormatterStep when there is no actual File to format. ([#&#8203;1525](diffplug/spotless#1525))

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v2.16.4.Final`](https://github.com/quarkusio/quarkus/releases/tag/2.16.4.Final)

[Compare Source](quarkusio/quarkus@2.16.3.Final...2.16.4.Final)

##### Complete changelog

-   [#&#8203;31510](quarkusio/quarkus#31510) - Add logging to CompiledJavaVersionBuildStep
-   [#&#8203;31507](quarkusio/quarkus#31507) - Adjust API in transaction.adoc code snippet
-   [#&#8203;31498](quarkusio/quarkus#31498) - Added a note to get correct OpenAPI documentation
-   [#&#8203;31486](quarkusio/quarkus#31486) - smallrye-openapi generates wrong definition for grouped parameters
-   [#&#8203;31483](quarkusio/quarkus#31483) - Fix documentation for quarkus.hibernate-orm.enabled
-   [#&#8203;31477](quarkusio/quarkus#31477) - Qute generated value resolvers - fix varArgs methods with 1 argument
-   [#&#8203;31471](quarkusio/quarkus#31471) - \[2.16] Make sure parent modules are loaded into workspace before those that depend on them
-   [#&#8203;31467](quarkusio/quarkus#31467) - Don't run kubernetes-client Dev Services transitively
-   [#&#8203;31465](quarkusio/quarkus#31465) - Propagate Quarkus related failsafe system properties
-   [#&#8203;31462](quarkusio/quarkus#31462) - Do not append single '&' with empty query params  in Resteasy Reactive
-   [#&#8203;31449](quarkusio/quarkus#31449) - Qute: VarArgs processing error with 1 element
-   [#&#8203;31447](quarkusio/quarkus#31447) - SmallRye GraphQL 1.9.3, test for Deprecated annotation
-   [#&#8203;31422](quarkusio/quarkus#31422) - Fix client jackson body writer to propagate the client context
-   [#&#8203;31418](quarkusio/quarkus#31418) - Fix doc generation for quarkus.hibernate-orm.enabled
-   [#&#8203;31416](quarkusio/quarkus#31416) - Fix copy paste error in qute docs
-   [#&#8203;31405](quarkusio/quarkus#31405) - Propagate SystemProperties set in Failsafe plugin to the Test launcher
-   [#&#8203;31394](quarkusio/quarkus#31394) - Fix afterEach callback for integration tests
-   [#&#8203;31393](quarkusio/quarkus#31393) - Integration Test AfterEach callbacks are not called
-   [#&#8203;31355](quarkusio/quarkus#31355) - \[Regression] Very slow startup in dev mode when the Kubernetes extension is present
-   [#&#8203;31350](quarkusio/quarkus#31350) - Also set io.netty.noUnsafe at runtime when set at build time
-   [#&#8203;31349](quarkusio/quarkus#31349) - Netty complaining about access to heap buffer in native
-   [#&#8203;31347](quarkusio/quarkus#31347) - Adjust image name substitution for Elasticsearch Dev Services
-   [#&#8203;31339](quarkusio/quarkus#31339) - Improve logging in DevServicesKubernetesProcessor
-   [#&#8203;31336](quarkusio/quarkus#31336) - Pass `--userns=keep-id` to podman only when in rootless mode
-   [#&#8203;31331](quarkusio/quarkus#31331) - Use idiomatic RESTEasy Reactive filter declaration for OpenTelemetry
-   [#&#8203;31316](quarkusio/quarkus#31316) - Improve CSRF documentation
-   [#&#8203;31302](quarkusio/quarkus#31302) - Updated OpenAPI `mp.openapi.extensions.smallrye.openapi` key mapping
-   [#&#8203;31300](quarkusio/quarkus#31300) - Support UUID serialization in REST Client multipart bodies
-   [#&#8203;31298](quarkusio/quarkus#31298) - RESTEasy Reactive doesn't support `java.util.UUID`
-   [#&#8203;31291](quarkusio/quarkus#31291) - Bump `org.jetbrains.annotations` from `17.0.0` to the latest(`24.0.0`)
-   [#&#8203;31289](quarkusio/quarkus#31289) - Return a null InputStream from REST Client when response is 204
-   [#&#8203;31280](quarkusio/quarkus#31280) - Bump SQL Server JDBC driver to 12.2.0
-   [#&#8203;31276](quarkusio/quarkus#31276) - Bump protobuf from 3.21.9 to 3.22.0
-   [#&#8203;31274](quarkusio/quarkus#31274) - Try to solve disk space issues on GitHub Actions
-   [#&#8203;31261](quarkusio/quarkus#31261) - Bump Microsoft SQL Server JDBC driver to 12.2.0
-   [#&#8203;31260](quarkusio/quarkus#31260) - Make OIDC connection error log messages more visible
-   [#&#8203;31250](quarkusio/quarkus#31250) - Clarify in keycloak-authorization doc when it should be used
-   [#&#8203;31249](quarkusio/quarkus#31249) - Empty array of values in WebTargetImpl.queryParam method is added to the final URI as an `&`
-   [#&#8203;31245](quarkusio/quarkus#31245) - \[Regression in 2.16.3] `NullPointerException: Cannot invoke "org.jboss.resteasy.reactive.server.SimpleResourceInfo.getResourceClass()" because "this.resourceInfo" is null`
-   [#&#8203;31240](quarkusio/quarkus#31240) - protobuf code generated w/ 3.22.0 broken w/ Quarkus
-   [#&#8203;31236](quarkusio/quarkus#31236) - Bump postgresql from 42.5.3 to 42.5.4
-   [#&#8203;31234](quarkusio/quarkus#31234) - Bump mermaid from 9.1.1 to 9.4.0
-   [#&#8203;31231](quarkusio/quarkus#31231) - RESTEasy reactive returns an empty InputStream instead of null on 204 - No Content response
-   [#&#8203;31211](quarkusio/quarkus#31211) - Fix the non-default constructor mechanism of bytecode recording \[2.16]
-   [#&#8203;31209](quarkusio/quarkus#31209) - Another fix for the Redis Search aggregation test
-   [#&#8203;31186](quarkusio/quarkus#31186) - Show how to enable all origins in HTTP CORS section
-   [#&#8203;31150](quarkusio/quarkus#31150) - Add keycloak authorization capability
-   [#&#8203;31127](quarkusio/quarkus#31127) - Enhancements to instructions for contributing to the Quarkus docs
-   [#&#8203;31334](quarkusio/quarkus#31334) - podman4 can't build any code with quarkus builder
-   [#&#8203;30601](quarkusio/quarkus#30601) - Generate a preview website for documentation MRs
-   [#&#8203;30549](quarkusio/quarkus#30549) - Enhancements and fixes for the Authorization of Web Endpoints section
-   [#&#8203;30419](quarkusio/quarkus#30419) - Enhancing the Authorization of Web endpoints guide
-   [#&#8203;30333](quarkusio/quarkus#30333) - Can't work with Google Oauth2 using qaurkus-oidc
-   [#&#8203;29427](quarkusio/quarkus#29427) - quarkus.oidc.auth-server-url causing weird start-up failure
-   [#&#8203;26152](quarkusio/quarkus#26152) - Resteasy Reactive: ContextResolver<ObjectMapper> not used

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v2.16.4.Final`](quarkusio/quarkus-platform@2.16.3.Final...2.16.4.Final)

[Compare Source](quarkusio/quarkus-platform@2.16.3.Final...2.16.4.Final)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DBSnowflake SafeToBuild Indicates that a particular PR contains changes which are safe to build using GitHub actions sprint2023-44
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

5 participants