Property 'clearCheckSums' ignored in 4.24 and 4.25

Hey guys,

Starting from Liquibase 4.24.0 (and up to 4.25.1) the ‘clearCheckSums’ property stopped taking effect, at least for offline databases.

When using liquibase’s maven plugin, running the updateSQL goal does not generate any scripts unless I explicitly delete databasechangelog.csv between calls.

For the exact same maven setup if i revert to 4.23.1 it works as expected.

Example: Maven plugin:
(The goal of this plugin is to produce full scripts for each of the supported DB of our solution)

<plugin>
	<groupId>org.liquibase</groupId>
	<artifactId>liquibase-maven-plugin</artifactId>
	<!--<version>4.23.0</version>--><!-- working version -->
	<version>4.25.1</version>
	<configuration>
		<changeLogFile>liquibase/changelog-master.xml</changeLogFile>
		<clearCheckSums>true</clearCheckSums>
	</configuration>
	<executions>
		<execution>
			<id>generate-scripts-postgres</id>
			<phase>process-resources</phase>
			<goals>
				<goal>updateSQL</goal>
			</goals>
			<configuration>
				<driver>org.postgresql.Driver</driver>
				<url>offline:postgresql?version=11</url>
				<migrationSqlOutputFile>postgres.sql</migrationSqlOutputFile>
			</configuration>
		</execution>
		<execution>
			<id>generate-scripts-mssql</id>
			<phase>process-resources</phase>
			<goals>
				<goal>updateSQL</goal>
			</goals>
			<configuration>
				<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
				<url>offline:mssql?version=2016</url>
				<migrationSqlOutputFile>mssql.sql</migrationSqlOutputFile>
			</configuration>
		</execution>
		<execution>
			<id>generate-scripts-oracle</id>
			<phase>process-resources</phase>
			<goals>
				<goal>updateSQL</goal>
			</goals>
			<configuration>
				<driver>oracle.jdbc.driver.OracleDriver</driver>
				<url>offline:oracle?version=12</url>
				<migrationSqlOutputFile>oracle.sql</migrationSqlOutputFile>
			</configuration>
		</execution>
	</executions>
</plugin>

Issue:

  1. If the previously databasechangelog.csv is not explicitly cleared before the execution → The output is 3 empty sql files.
  2. If the previously databasechangelog.csv is explicitly cleared before the execution → The output is postgres.sql with the correctly generated output and msql.sql and oracle.sql are empty
  3. If the previously databasechangelog.csv is explicitly deleted → The plugin execution fails because databasechangelog.csv is not found

Expected (based on 4.23.x behavior):
For all use cases listed above the output is 3 sql files (postgres.sql, msql.sql, oracle.sql) with the sql scripts for all the existing changesets.

Did something brake or is there a new approach to achieve the behavior I described in 4.24+?

Thank you in advance.