Skip to content

Commit

Permalink
Merge branch 'master' into XSD.remove.invalid.root.elements
Browse files Browse the repository at this point in the history
  • Loading branch information
MalloD12 authored Oct 31, 2024
2 parents 400d10d + 2d8d90d commit ed61e26
Show file tree
Hide file tree
Showing 138 changed files with 19,776 additions and 329 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ jobs:

##Cache based on install4j file, since changes to JVM is seen in there. If install4j version changes without changing the file, change the prefix letter before hashFiles to force a new cache
- name: Install4j Cache
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.1
with:
key: install4j-A${{ hashFiles('liquibase-dist/src/main/install4j/liquibase.install4j') }}
path: ~/.install4j8/**
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ jobs:
mv re-version/out/liquibase-additional-${{ needs.setup.outputs.version }}.zip re-version/final

- name: Cache Completed Artifacts
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.1
with:
key: completed-artifacts-${{ github.run_number }}-${{ github.run_attempt }}
path: re-version/final
Expand Down Expand Up @@ -258,7 +258,7 @@ jobs:
- uses: actions/checkout@v4

- name: Restore Completed Artifacts
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.1
with:
key: completed-artifacts-${{ github.run_number }}-${{ github.run_attempt }}
path: re-version/final
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
echo "ossWorkflowUrl=${ossWorkflowUrl}" >> $GITHUB_ENV
- name: Dispatch an action and get the run ID
uses: codex-/return-dispatch@v1
uses: codex-/return-dispatch@v2
id: return_dispatch
with:
token: ${{ secrets.RUN_FUNCTIONAL_TEST_HARNESS_TESTS_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-test-harness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
echo "ossWorkflowUrl=${ossWorkflowUrl}" >> $GITHUB_ENV
- name: Dispatch an action and get the run ID
uses: codex-/return-dispatch@v1
uses: codex-/return-dispatch@v2
id: return_dispatch
with:
token: ${{ secrets.RUN_FUNCTIONAL_TEST_HARNESS_TESTS_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ jobs:

- name: Built Code Cache
if: ${{ matrix.java == 17}}
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.1
with:
key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
path: ./**/target
Expand Down Expand Up @@ -346,7 +346,7 @@ jobs:
# getting from build results page. If we remove 0-SNAPSHOT then we will need settings.xml

- name: Restore Built Code Cache
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.1
with:
key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
path: ./**/target
Expand Down
187 changes: 187 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,193 @@
Liquibase Core Changelog
===========================================

### Liquibase 4.30.0 is a major release

> [!IMPORTANT]
> Liquibase 4.30.0 contains new capabilities and notable enhancements for Liquibase OSS and Pro users including Anonymous Analytics and deprecation of the MacOS dmg installer.
> [!NOTE]
> See the [Liquibase 4.30.0 Release Notes](https://docs.liquibase.com/start/release-notes/liquibase-release-notes/liquibase-4.30.0.html) for the complete set of release information.

## Notable Changes
### [PRO]

#### Anonymous Analytics:
* Liquibase can now gather anonymous usage analytics when commands are run. No user-specific data will be gathered.

For Liquibase OSS users, this functionality is enabled by default, but can be opted-out of before any data is sent. For Liquibase Pro users, this is disabled by default with the ability to opt-in.

Gathering anonymous usage analytics allows us to better understand how Liquibase is actually being used by a very wide, diverse set of millions of users.

* Learn more https://docs.liquibase.com/analytics


#### Flow Enhancements: Detect pending changesets, and variable-variables
* There are two exciting Flow enhancements: the ability to condition action on presence of pending changesets, and the ability to use a global variable inside other global or stage variables, enabling variable-variables within flows.
* Learn more https://docs.liquibase.com/flow


### [OSS]

#### Deprecated: MacOS .dmg installer
* The MacOS dmg installer no longer ships with release artifacts. Please use the tar.gz or .zip release artifacts, or install via homebrew by running brew install liquibase



### [PRO] Changelog

## New Features

* DAT-18202 Implement wildcard check name argument for enable/disable in https://github.com/liquibase/liquibase-pro/pull/2000 by @wwillard7800
* DAT-17058: Add analytics in https://github.com/liquibase/liquibase-pro/pull/1995 by @liquibot
* DAT-17568 Added exit command action in https://github.com/liquibase/liquibase-pro/pull/1689 by @wwillard7800
* DAT-18689: Add extra information to failed changesets summary in https://github.com/liquibase/liquibase-pro/pull/1996 by @filipelautert
* DAT-18114 Added more logging for formatted SQL parsing in https://github.com/liquibase/liquibase-pro/pull/1994 by @wwillard7800
* DAT-18455 Add SQL file path to policy checks output in https://github.com/liquibase/liquibase-pro/pull/1944 by @wwillard7800


## Changes

* DAT-17581 Exit with a non-zero if the changelog did not validate in https://github.com/liquibase/liquibase-pro/pull/1870 by @wwillard7800
* DAT-18540 Create new ReportWriter.open(String path) method that default to no-op in https://github.com/liquibase/liquibase-pro/pull/1962 by @wwillard7800
* DAT-18092: Use xdg-open to open reports in browser on linux operating systems in https://github.com/liquibase/liquibase-pro/pull/1948 by @abrackx
* DAT-18531 Clear out DBCL fast check cache before each Flow action in https://github.com/liquibase/liquibase-pro/pull/1933 by @wwillard7800
* DAT-18362 Handle comments when parsing include/includeAll statements in https://github.com/liquibase/liquibase-pro/pull/1959 by @wwillard7800
* DAT-18463 Implement a class to be used to capture the start/end positions of a regex check for line number output in https://github.com/liquibase/liquibase-pro/pull/1979 by @wwillard7800
* DAT-18869: Obfuscate IO arguments in https://github.com/liquibase/liquibase-pro/pull/1999 by @abrackx



## [PRO] Bug Fixes

* DAT-18819: Fix dropall behavior with snowflake in https://github.com/liquibase/liquibase-pro/pull/1987 by @abrackx
* DAT-18517 Handle expansion of variables when default values are involved in https://github.com/liquibase/liquibase-pro/pull/1969 by @wwillard7800
* DAT-18327: improve startup performance in https://github.com/liquibase/liquibase-pro/pull/1972 by @StevenMassaro
* Fix tests to use new CommandFactory.reset() method in https://github.com/liquibase/liquibase-pro/pull/1952 by @wwillard7800



## [PRO] Security, Driver and Other Updates

(#1973) Bump com.fasterxml.jackson.module:jackson-module-jaxb-annotations from 2.17.2 to 2.18.0 by dependabot
(#1974) Bump com.fasterxml.jackson.core:jackson-annotations from 2.17.2 to 2.18.0 by dependabot
(#1976) Bump com.fasterxml.jackson.core:jackson-databind from 2.17.2 to 2.18.0 by dependabot
(#1975) Bump com.fasterxml.jackson.core:jackson-core from 2.17.2 to 2.18.0 by dependabot
(#1988) Bump org.apache.maven.plugins:maven-failsafe-plugin from 2.22.2 to 3.5.1 by dependabot
(#1991) Bump org.apache.maven.plugins:maven-surefire-plugin from 2.22.2 to 3.5.1 by dependabot
(#2003) Bump org.junit.vintage:junit-vintage-engine from 5.10.3 to 5.11.3 by dependabot
(#2002) Bump org.junit:junit-bom from 5.10.3 to 5.11.3 by dependabot
(#1963) Bump com.networknt:json-schema-validator from 1.5.0 to 1.5.2 by dependabot
(#1947) Bump org.yaml:snakeyaml from 2.2 to 2.3 by dependabot
(#1984) Bump org.codehaus.gmavenplus:gmavenplus-plugin from 1.13.1 to 4.0.1 by dependabot
(#2005) Bump org.nanohttpd:nanohttpd from 2.2.0 to 2.3.1 by dependabot


### [OSS] Changelog


## New Features

- (#6414) When using `failOnError=false`, changesets that failed will now show up in the default output. Thanks, @filipelautert
- (#6413) Ensure all failed changesets show in the exceptionChangesets. Previously, output summaries did not include changesets that failed when running `failOnError=false` (DAT-18689). Thanks, @filipelautert
- (#6169) When using STRICT mode, `update-to-tag` will now throw an error when there is no tag specified or the tag specified does not exist. Thanks, @MalloD12
- (#6410) Modified `clob` handling in `loadData` by checking the string passed to a CLOB type column. Thanks, @tati-qalified
- (#6067) Added additional modes for `duplicateFileMode`. Thanks, @k4pran
- (#6432) Added a `Customizer` that allows discovery of changesets that are not known to an application. This can be used to prevent an application's startup when discovering new, unexpected changesets before an update is made. Thanks, @raphw
- (#6288) Avoid ignoring caught exceptions, and instead return the exception and append the reason for better debugging. Thanks, @asolntsev
- (#6265) Enhanced `include` and `includeAll` to support `logicalFilePath` (DAT-18350). Thanks, @wwillard7800
- (#6300) Added method to reset command definitions cache in CommandFactory for testing. Thanks, @wwillard7800
- (#6280) Undeprecated StringUtil class (DAT-18538). Thanks, @MalloD12
- (#5223) Improved empty check style by using `isEmpty` String method. Thanks, @MalloD12
- (#6294) Suppress UnsupportedClassVersionErrors for Bigquery at info level (DAT-18534). Thanks, @filipelautert
- (#6263) Fix generated column value for Databricks (DAT-18148). Thanks, @filipelautert
- (#6129) Support Hashicorp Vault settings in the Maven Plugin POM. Thanks, @wwillard7800
- (#6138) Added support for `include` columns in indexes. Thanks, @stephenatwell
- (#6402) Added `pg_stat_statements` and `pg_stat_statements_info` views to the list of system tables and views to prevent them from being dropped. Thank you, @rozenshteyn
- (#6211) Updated PostgreSQL database major and minor versions. Thanks, @MalloD12


## Bug Fixes


- (#6266) Fix CustomTaskRollback rollback bug where it was being called twice. Thanks, @momosetkn
- (#6205) Removed usage of the deprecated isEmpty() method. Thanks, @anton-erofeev
- (#6366) Improve startup performance (DAT-18327). Thanks, @StevenMassaro
- (#6407) Added filterable flag to ChangeLogParameter class (DAT-18811). Thanks, @abrackx
- (#6416) When determining the schema name make sure a value was found (DAT-18673). Thanks, @abrackx
- (#6418) Fix issue where context filters with `@` symbols were not being executed properly (DAT-18843). Thanks, @abrackx
- (#6406) Test assertion code modification. (DAT-17568). Thanks, @wwillard7800
- (#6429) Check that getPriority method is correct for snapshot generators (DAT-18730). Thanks, @StevenMassaro
- (#6417) Revert "Remove unneeded inclusion of commons-io in liquibase-core pom.xml". Thanks, @catull
- (#6385) Do not check for nested database objects when using foreignKeyConstraintExists precondition (DAT-18624). Thanks, @abrackx
- (#5894) Do not strip "classpath:" when normalizing the path. Thanks, @andrus
- (#6359) Fix issue where change set with blank ID was allowed to run (DAT-18687). Thanks, @wwillard7800
- (#6109) Fix classpath loading and incorrect configuration for addForeignKeyConstraint (DAT-18191 and DAT-18192). Thanks, @filipelautert
- (#6287) Fix NPE when default value is null. Thanks, @asolntsev
- (#6330) Unhide tag parameter for UpdateTestingRollback command (DAT-18563). Thanks, @MalloD12
- (#6375) Initialize member variable in method to fix tests. Thanks, @wwillard7800
- (#6358) Make global argument definitions static so that they are visible across all threads. Thanks, @StevenMassaro
- (#6309) Fix Locale test. Thanks, @filipelautert
- (#6463) Fix flakey test (DAT-18921). Thanks, @abrackx
- (#6165) fix splitting SQL statements containing @begin or #begin. Thanks, @chrstnbrn
- (#4668) Expanded variables in the `--sql` argument to `executeSql` so that variables can be substituted in `execute-sql --sql-file` command. Thanks, @wwillard7800
- (#6222) Fix: Handle command arguments static behavior. Thanks, @filipelautert
- (#6286) Append the cause of the problem to thrown exception for better debugging. Thanks, @asolntsev
- (#6187) Update JdbcDatabaseSnapshot.java. Thanks, @bmoers
- (#6409) Added more logging (DAT-18114). Thanks, @wwillard7800
- (#6241) Verify existence of the lock table to remove 'table does not exist' error messages. Thanks, @wwillard7800
- (#6339) Added filter to the command scope so include/excludeObjects parameters get properly applied. Thanks, @Evan-Christensen!
- (#6332) Updated project variables used in Maven configuration to reduce build warnings. Thanks, @catull!
- (#6128) 'MANUAL' MySQL reserved word added. Thanks, @MalloD12
- (#6305) Allow generateChangelog to run against Oracle databases with blank schema names (DAT-18199). Thanks, @wwillard7800
- (#6350) allow replaceIfExists in Postgres procedures (DAT-18495). Thanks, @StevenMassaro
- (#6341) Fix sqlite hsqldb and environment variable tests (DAT-18646). Thanks, @abrackx
- (#6391) Handle Snowflake add NOT NULL constraint (DAT-18798). Thanks, @wwillard7800
- (#6308) Handle offline connection for Snowflake during diff (DAT-18652). Thanks, @wwillard7800
- (#6345) When using default schema for MultiTenantSpringLiquibase the log level is now info instead of warning. Thanks, @deblockt
- (#6261) Fix: do not throw an unchecked exception for SpringBoot. Thanks, @filipelautert


## Security, Driver and Other Updates


- (#6457) Update jreBundle to latest in install4j @abrackx
- (#6377) Bump org.testcontainers:testcontainers-bom from 1.20.1 to 1.20.2 @dependabot
- (#6443) Bump org.junit.platform:junit-platform-suite from 1.11.0 to 1.11.3 @dependabot
- (#6384) Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.0 to 3.10.1 @dependabot
- (#6387) Bump org.codehaus.gmavenplus:gmavenplus-plugin from 3.0.2 to 4.0.1 @dependabot
- (#6400) Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.0 to 3.5.1 @dependabot
- (#6445) Bump org.junit.jupiter:junit-jupiter from 5.11.0 to 5.11.3 @dependabot
- (#6408) Bump actions/cache from 4.0.2 to 4.1.1 @dependabot
- (#6444) Bump junit-jupiter.version from 5.11.0 to 5.11.3 @dependabot
- (#6401) Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.0 to 3.5.1 @dependabot
- (#6399) Bump codex-/return-dispatch from 1 to 2 @dependabot
- (#6368) Bump org.xerial:sqlite-jdbc from 3.46.1.0 to 3.46.1.3 @dependabot
- (#6319) Bump groovy.version from 4.0.22 to 4.0.23 @dependabot
- (#6337) Bump commons-io:commons-io from 2.16.1 to 2.17.0 @dependabot
- (#6290) Bump org.yaml:snakeyaml from 2.2 to 2.3 @dependabot
- (#6274) Bump org.jboss.weld.se:weld-se-core from 5.1.2.Final to 5.1.3.Final @dependabot
- (#6276) Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.5.0 @dependabot
- (#6275) Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.3.1 to 3.5.0 @dependabot
- (#6273) Bump org.apache.maven.plugins:maven-plugin-plugin from 3.13.1 to 3.15.0 @dependabot
- (#6284) Bump actions/setup-python from 5.1.1 to 5.2.0 @dependabot
- (#6282) Bump ant.version from 1.10.14 to 1.10.15 @dependabot
- (#6283) Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 @dependabot
- (#6272) Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.8.0 to 3.10.0 @dependabot
- (#6247) Bump com.microsoft.sqlserver:mssql-jdbc from 12.6.1.jre8 to 12.8.1.jre8 @dependabot
- (#6246) Bump org.postgresql:postgresql from 42.7.3 to 42.7.4 @dependabot
- (#6221) Bump org.xerial:sqlite-jdbc from 3.46.0.0 to 3.46.1.0 @dependabot
- (#6220) Bump org.apache.maven.plugins:maven-install-plugin from 3.1.2 to 3.1.3 @dependabot
- (#6219) Bump org.apache.maven.plugins:maven-deploy-plugin from 3.1.2 to 3.1.3 @dependabot
- (#6213) Bump targetMavenVersion from 3.9.8 to 3.9.9 @dependabot
- (#6202) Bump org.junit.jupiter:junit-jupiter from 5.10.3 to 5.11.0 @dependabot
- (#6201) Bump org.junit.platform:junit-platform-suite from 1.10.3 to 1.11.0 @dependabot
- (#6200) Bump spring.version from 5.3.37 to 5.3.39 @dependabot
- (#6245) Bump actions/delete-package-versions from 3 to 5 @dependabot
- (#6199) Bump junit-jupiter.version from 5.10.3 to 5.11.0 @dependabot

**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.29.2...v4.30.0


Changes in version 4.29.2 (2024.09.03)

### Liquibase 4.29.2 is a patch release
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import liquibase.ui.LoggerUIService;
import liquibase.ui.UIService;
import liquibase.util.*;
import org.apache.commons.lang3.SystemProperties;
import org.apache.commons.lang3.StringUtils;
import picocli.CommandLine;

Expand All @@ -51,8 +52,8 @@

import static java.util.ResourceBundle.getBundle;
import static liquibase.configuration.LiquibaseConfiguration.REGISTERED_VALUE_PROVIDERS_KEY;
import static liquibase.integration.commandline.VersionUtils.*;
import static liquibase.util.SystemUtil.isWindows;
import static liquibase.util.VersionUtils.*;


public class LiquibaseCommandLine {
Expand Down Expand Up @@ -246,7 +247,7 @@ protected int handleException(Throwable exception) {
//
Level level = determineLogLevel(exception);

if (showExceptionInLog(exception)) {
if (ExceptionUtil.showExceptionInLog(exception)) {
Scope.getCurrentScope().getLog(getClass()).log(level, uiMessage, exception);
}

Expand Down Expand Up @@ -306,20 +307,6 @@ protected int handleException(Throwable exception) {
return 1;
}

//
// Honor the expected flag on a CommandFailedException
//
private boolean showExceptionInLog(Throwable exception) {
Throwable t = exception;
while (t != null) {
if (t instanceof CommandFailedException && ((CommandFailedException) t).isExpected()) {
return false;
}
t = t.getCause();
}
return true;
}

//
// Look for a logLevel setting on any LiquibaseException
// and use that for the Level to pass to the logger.
Expand Down Expand Up @@ -469,7 +456,7 @@ private void addEmptyMdcValues() {
private void logMdcData() throws IOException {
MdcManager mdcManager = Scope.getCurrentScope().getMdcManager();
String localHostName = NetUtil.getLocalHostName();
Scope.getCurrentScope().addMdcValue(MdcKey.LIQUIBASE_SYSTEM_USER, System.getProperty("user.name"), false);
Scope.getCurrentScope().addMdcValue(MdcKey.LIQUIBASE_SYSTEM_USER, SystemProperties.getUserName(), false);
try (MdcObject version = mdcManager.put(MdcKey.LIQUIBASE_VERSION, LiquibaseUtil.getBuildVersion());
MdcObject systemName = mdcManager.put(MdcKey.LIQUIBASE_SYSTEM_NAME, localHostName);
// The host name here is purposefully the same as the system name. The system name is retained for backwards compatibility.
Expand Down Expand Up @@ -692,8 +679,8 @@ private Map<String, Object> configureScope(String[] args) throws Exception {
returnMap.put(COMMAND_ARGUMENTS, args);

final IntegrationDetails integrationDetails = new IntegrationDetails();
integrationDetails.setName("cli");
returnMap.put("integrationDetails", integrationDetails);
integrationDetails.setName(LiquibaseCommandLineConfiguration.INTEGRATION_NAME.getCurrentValue());
returnMap.put(Scope.Attr.integrationDetails.name(), integrationDetails);

final ClassLoader classLoader = configureClassLoader();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import java.util.regex.Pattern;
import java.util.stream.Collectors;

import static liquibase.integration.commandline.LiquibaseLauncherSettings.LiquibaseLauncherSetting.*;
import static liquibase.integration.commandline.LiquibaseLauncherSettings.getSetting;
import static liquibase.util.LiquibaseLauncherSettings.LiquibaseLauncherSetting.*;
import static liquibase.util.LiquibaseLauncherSettings.getSetting;

/**
* Launcher which builds up the classpath needed to run Liquibase, then calls {@link LiquibaseCommandLine#main(String[])}.
Expand Down
Loading

0 comments on commit ed61e26

Please sign in to comment.