Main Liquibase Source

Overview

Liquibase

Liquibase helps millions of teams track, version, and deploy database schema changes.

This repository contains the main source code for Liquibase.

For more information about the product, how the project is run, and how you can contribute, see the main project website.

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing!

Comments
  • XSDs are not resolved from the jar when referenced via HTTPS

    XSDs are not resolved from the jar when referenced via HTTPS

    Environment

    Java 8.

    Liquibase Version: 3.8

    Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.> Spring Boot

    Database Vendor & Version: N/A

    Operating System Type & Version: MacOS

    Description

    If a migration XML file refers to the liqubase XSD using https, the local jar packaged version is not used. That can cause issues if liquibase.org is down.

    Steps To Reproduce

    Use a liquibase XML with the following header without a network connection:

    <?xml version="1.0" encoding="UTF-8"?>
    <databaseChangeLog
            xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
            xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd
            http://www.liquibase.org/xml/ns/dbchangelog-ext https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    

    Actual Behavior

    XSD resolution fails because https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd cannot be read.

    Expected/Desired Behavior

    The locally packaged XSD is used.

    Additional Context

    The StandardNamespaceDetails class could be updated to include https as well as http URLs.

    opened by philwebb 41
  • sqlFile + relativeToChangelogFile fails when using a logicalFilePath

    sqlFile + relativeToChangelogFile fails when using a logicalFilePath

    Environment

    Liquibase Version: 4.0.0

    Liquibase Integration & Version: CLI

    Liquibase Extension(s) & Version:

    Database Vendor & Version: SQL SERVER 2019

    Operating System Type & Version: WIN 10 Pro 2004 (19041.388)

    Description

    When a changelog has a 'logicalFilePath' set, execution of 'sqlFile' changes that have the 'relativeToChangelogFile' set to true fail with an IOException that says that the sql file can't be found in a number of different paths. If 'logicalFilePath' is not set, everything works

    Steps To Reproduce

    • Have a simple XML changelog that has an 'logicalFilePath' attribute in the root 'databaseChangeLog' node.
    • Have inside that changelog a changeset with a 'sqlFile' change that points to an existing file in the same folder than the changelog, and that has 'relativeToChangelogFile="true"'
    <databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"
        logicalFilePath="a-logical-file-path">
       
    
    <changeSet id="some-changeset" author="NA">
          <sqlFile endDelimiter="GO"
            path="file.sql"
            relativeToChangelogFile="true"
           />
    </changeSet> 
    </databaseChangeLog>
    
    • Run liquibase update against the db
    liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --url="jdbc:sqlserver://localhost:1433;database=the_database" --changeLogFile=changelog.xml  --username=the_username --password=thepassword --logLevel=debug update
    

    Actual Behavior

    Executions fails with an IOException.

    Unexpected error running Liquibase: java.io.IOException: The file file.sql was not found in
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\access-bridge-64.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\cldrdata.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\dnsns.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\jaccess.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\localedata.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\nashorn.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\sunec.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\sunjce_provider.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\sunmscapi.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\sunpkcs11.jar
        - C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre\lib\ext\zipfs.jar
    
    ...
    
    Specifying files by absolute path was removed in Liquibase 4.0. Please use a relative path or add '/' to the classpath parameter.
    For more information, please use the --logLevel flag
    

    Expected/Desired Behavior

    No error happens and the sql file is executed against the database.

    Additional Context

    • This is happening since 4.0.0 beta1. Version 3.10 works fine
    • Peeking a little inside the code, it seems that SQLFileChange.openSqlStream is using the filepath of the changeset (which contains the logicalFilePath) instead of the physical path of the containing changelog (which seems to be the behavior of v 3.x)
    TypeBug Severity3 ImpactMedium PRAssociated DBMSSQLServer 
    opened by darkcamper 35
  • Fixed the issue that was preventing dropAll from working in Postgres (#1212)

    Fixed the issue that was preventing dropAll from working in Postgres (#1212)

    This fix is being pushed to both the 4.2.x and 4.3.x branches because the master branch wasn't passing its tests, and I wanted to make sure that this fix goes out in the next release of Liquibase.

    Environment

    Liquibase Version: 4.2.2

    Liquibase Integration & Version: N/A

    Liquibase Extension(s) & Version: N/A

    Database Vendor & Version: Postgres

    Operating System Type & Version: All

    Pull Request Type

    • [x] Bug fix (non-breaking change which fixes an issue.)
    • [ ] Enhancement/New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Description

    A clear and concise description of the issue being addressed. Additional guidance here. Running dropAll in a Postgres database doesn't drop partitioned tables because the Postgres JDBC driver doesn't return partitioned tables by default when asking for tables, and you can't drop inherited foreign constraints.

    Steps To Reproduce

    To replicate the bug, the following driver and platform versions are required:

    • JDBC Driver 42.1.1
    • Postgres version greater than 10.

    List the steps to reproduce the behavior. This pull request includes some changeSets in liquibase-integration-tests/src/test/resources/changelogs/pgsql/complete/root.changelog.xml that create a partitioned table with a foreign key constraint to a parent table. This will introduce two problems in the pre-patched code.

    1. running dropAll will fail because Postgres can't drop the inherited constraint. This has something to do with the way Postgres does partitions.
    2. Without the change set that makes the foreign key constraint, dropAll will succeed, it won't drop the partitioned table, causing future update commands to fail because the object will still exist.

    Actual Behavior

    Expected/Desired Behavior

    Running dropAll should result in all objects being dropped from the database. This behavior now happens as a result of the pull request, as verified by the integration tests that now include a partitioned table. I verified that the tests were failing with the new changeSets before the code fix, and succeeding after the code fix.

    Error Output to Console

    {NOFORMAT} Unexpected error running Liquibase: ERROR: cannot drop inherited constraint "fk_child_parent" of relation "partitioned_childp" [Failed SQL: (0) ALTER TABLE "proschema"."partitioned_childp" DROP CONSTRAINT "fk_child_parent"] {NOFORMAT}

    Screenshots (if appropriate)

    If applicable, add screenshots to help explain your problem.

    Additional Context

    Add any other context about the problem here.

    Fast Track PR Acceptance Checklist:

    Need Help?

    Come chat with us on our discord channel

    Internal Liquibase QA Requirements

    • Use the changesets included in the integration tests to setup a Postgres instance with partitioned tables and a foreign key.
    • Verify the bug reproduces with Liquibase 4.3.1
    • Manually verify the fix using JDBC driver 42.1.1
    • Manually verify the fix does not break the same test using JDBC driver 42.2.19 (latest as of 23II21)
    • Add an automated functional test to the Postgres regressions
    Liquibase automated functional tests run on an internal build server and are not visible to the wider Community.

    ┆Issue is synchronized with this Jira Story by Unito ┆fixVersions: Community 4.3.2,Liquibase 4.3.2

    TypeBug RiskMedium Severity3 ImpactMedium DBPostgres IntegrationAny 
    opened by stevesaliman 34
  • Resource validation feature

    Resource validation feature

    Hello!

    I'd like to request PR for the feature to add maven mojo task to run none-database connected process of validation resources for the future liquibase-update run.

    1. Problem: Resources validation such as sql files, not existed included changelog files at the maven build phase to prevent liquibase exceptions like 'sql file not found' while running post-deploy liquibas-update process.
    2. Solution: Added method at Liquibase class to run start validation. Added method at DatabaseChangelog class to prepare classes for validation process. Added setter for 'includeMD5Sum' at ChangelogIterator to expect loop for everyone changeset relevant to current databasechangelog. Added ResourceValidationChangeSetVisitor to visit changeset with validate logic. Added liquibase mojo. UT included.

    Please, let me know to redirect PR and i'll be glad to discuss code for the future merge.

    QA Manual Test Requirements

    Setup
    • Create a changelog with a change set that references an external SQL file
    • Do NOT create the SQL file
    Validations

    Verify mvn compile liquibase:validateResources returns an error. ASSERT ::

    • validateResources returns an error that a file is missing
    • validateResources does NOT make a connection to the live database.

    Verify mvn compile:validateResources returns success if the missing file is created.

    • validateResources returns success
    • validateResources does NOT make a connection to the live database.

    Verify mvn compile:update applies changes to the live database. ASSERTS ::

    • update is successful
    • objects are created on the database.

    QA Functional Automated

    • None

    CORE-3341

    TypeEnhancement RiskMedium ImpactHigh DBAll ThemeInternals 
    opened by artemptushkin 31
  • Liquibase is very slow on startup with spring boot

    Liquibase is very slow on startup with spring boot

    Environment

    Liquibase Version: 3.8.5 Liquibase Integration & Version: spring boot Liquibase Extension(s) & Version: none Database Vendor & Version: oracle v12 Operating System Type & Version: unix rhel v7

    Description

    Hello Sometime Liquibase can take a lot of time to startup ~3 minutes without any changelog to apply. I don't know why, and the problem didn't occurred with the last version i used 3.6.3. I run Liquibase in spring boot applications.

    Steps To Reproduce

    I don't know how to reproduce it. It appends randomly

    Screenshots (if appropriate)

    2020-08-09 06:40:16.956 [main] INFO  o.h.annotations.common.Version.<clinit> - HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
    2020-08-09 06:40:16.763 [main] INFO  org.hibernate.Version.logVersion - HHH000412: Hibernate Core {5.4.10.Final}
    2020-08-09 06:40:16.677 [main] INFO  o.h.jpa.internal.util.LogHelper.logPersistenceUnitInformation - HHH000204: Processing PersistenceUnitInfo [name: default]
    2020-08-09 06:40:16.558 [main] INFO  l.lockservice.StandardLockService.info - Successfully released change log lock
    2020-08-09 06:40:16.493 [main] INFO  liquibase.executor.jvm.JdbcExecutor.info - SELECT * FROM DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
    2020-08-09 06:40:16.492 [main] INFO  l.c.StandardChangeLogHistoryService.info - Reading from DATABASECHANGELOG
    2020-08-09 06:40:16.491 [main] INFO  liquibase.executor.jvm.JdbcExecutor.info - SELECT COUNT(*) FROM DATABASECHANGELOG
    2020-08-09 06:40:16.483 [main] INFO  liquibase.executor.jvm.JdbcExecutor.info - SELECT MD5SUM FROM DATABASECHANGELOG WHERE MD5SUM IS NOT NULL AND ROWNUM=1
    2020-08-09 06:35:51.224 [main] INFO  l.lockservice.StandardLockService.info - Successfully acquired change log lock
    2020-08-09 06:35:51.207 [main] INFO  liquibase.executor.jvm.JdbcExecutor.info - SELECT LOCKED FROM DATABASECHANGELOGLOCK WHERE ID=1 FOR UPDATE
    2020-08-09 06:35:51.205 [main] INFO  liquibase.executor.jvm.JdbcExecutor.info - SELECT COUNT(*) FROM DATABASECHANGELOGLOCK
    2020-08-09 06:35:51.198 [main] INFO  liquibase.executor.jvm.JdbcExecutor.info - SELECT COUNT(*) FROM DATABASECHANGELOGLOCK
    2020-08-09 06:35:50.684 [main] INFO  l.database.core.OracleDatabase.info - Could not set remarks reporting on OracleDatabase: com.zaxxer.hikari.pool.HikariProxyConnection.setRemarksReporting(boolean)
    
    TypeBug Severity3 ImpactMedium DBOracle hacktoberfest sprint2022-29 
    opened by ggdn 30
  • Liquibase 4.0 problem when starting with jar

    Liquibase 4.0 problem when starting with jar

    Environment

    Liquibase Version: 4.0

    Liquibase Integration & Version: Spring Boot 2.3

    Liquibase Extension(s) & Version: N/A

    Database Vendor & Version: PostgreSQL 11

    Operating System Type & Version: Windows 10

    Description

    An issue was reported in JHipster's project page that my own team is encountering as well: starting up a Spring Boot fat jar that contains Liquibase fails to conduct the database schema migrations due to an issue with there not being a file system available for the Spring Boot jar.

    Steps To Reproduce

    • Create a Spring Boot fat jar that cointains Liquibase version 4.0.0.
    • Launch the Spring Boot application by running java -jar /path/to/springBootApp.jar

    Actual Behavior

    Liquibase fails to start due to a series of errors like the one below:

    java.nio.file.FileSystemNotFoundException: null
    	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:169)
    	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.getPath(ZipFileSystemProvider.java:155)
    	at java.base/java.nio.file.Path.of(Path.java:208)
    	at java.base/java.nio.file.Paths.get(Paths.java:97)
    	at liquibase.resource.ClassLoaderResourceAccessor.loadRootPaths(ClassLoaderResourceAccessor.java:63)
    

    Liquibase will encounter this error for each of the files within the fat jar, e.g.

    • "jar:file:/C:/path/to/foo.jar!/BOOT-INF/classes!/"
    • "jar:file:/C:/path/to/foo.jar!/BOOT-INF/lib/foo-api.jar!/"
    • "jar:file:/C:/path/to/foo.jar!/BOOT-INF/lib/foo-domain.jar!/"

    Expected/Desired Behavior

    Liquibase can start up normally.

    Additional Context

    This looks like a relevant posting from StackExchange regarding what may be the underlying cause.

    ┆Issue is synchronized with this Jira Bug by Unito ┆fixVersions: Liquibase 4.1.1

    TypeBug Severity3 ImpactHigh DBPostgres DBAll ThemeInternals hacktoberfest 
    opened by severn-everett 28
  • changelog is found twice in classpath

    changelog is found twice in classpath

    Environment

    This is potentially a duplicate of https://github.com/liquibase/liquibase/issues/1916 / https://github.com/liquibase/liquibase/issues/1916#issuecomment-1116361306, but since that's closed, I'm opening a new issue.

    Liquibase Version: 4.0.0, 4.1.0, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 4.4.0, 4.4.1, 4.4.2, 4.4.3, 4.5.0, 4.6.0, 4.6.1, 4.6.2, 4.7.0, 4.7.1, 4.8.0, 4.9.0, and 4.9.1 Liquibase Integration & Version: gradle, spring boot 2.2.13, 2.3.12

    Liquibase Extension(s) & Version:

    Database Vendor & Version:

    Operating System Type & Version:

    Description

    liquibase throws an exception that a changelog file is on the classpath twice. Here's the stacktrace from liquibase 4.9.1:

    Caused by: liquibase.exception.ChangeLogParseException: Error parsing classpath:db/healthcheck.yml
    	at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:89)
    	at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:369)
    	at liquibase.Liquibase.lambda$update$1(Liquibase.java:224)
    	at liquibase.Scope.lambda$child$0(Scope.java:180)
    	at liquibase.Scope.child(Scope.java:189)
    	at liquibase.Scope.child(Scope.java:179)
    	at liquibase.Scope.child(Scope.java:158)
    	at liquibase.Liquibase.runInScope(Liquibase.java:2405)
    	at liquibase.Liquibase.update(Liquibase.java:211)
    	at liquibase.Liquibase.update(Liquibase.java:197)
    	at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:314)
    	at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:269)
    	at com.netflix.spinnaker.kork.sql.migration.SpringLiquibaseProxy.afterPropertiesSet(SpringLiquibaseProxy.kt:65)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1858)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1795)
    	... 87 more
    Caused by: java.io.IOException: Found 2 files that match classpath:db/healthcheck.yml: file:/Users/dbyron/src/spinnaker/kork/kork-sql/build/resources/main/db/healthcheck.yml, jar:file:/Users/dbyron/src/spinnaker/kork/kork-sql/build/libs/kork-sql.jar!/db/healthcheck.yml
    	at liquibase.resource.AbstractResourceAccessor.openStream(AbstractResourceAccessor.java:25)
    	at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:25)
    	... 101 more
    

    Steps To Reproduce

    This happens in kork, with:

    $ ./gradlew kork-sql:test
    

    I tried adding a test to SpringResourceAccessorTest.groovy, but I'm not familiar enough with mvn to get a test to run after packaging the jar, so it passes. I believe the mvn terminology for the kind of test I'm looking for is an integration test.

        def "openStreams for a file in src/main/resources"() {
            when:
            def list = resourceAccessor.openStreams(null, "classpath:/liquibase/examples/yaml/example-changelog.yaml")
    
            then:
            list.size() == 1
        }
    

    I believe this commit is the one that made this stop working in 4.3.2, when it worked in 4.3.1, specifically the change to finalizeSearchPath that unconditionally prepends classpath*:.

    I single-stepped through SpringResourceAccessor.openStreams. In 4.3.1, the return value from

    ResourcePatternUtils.getResourcePatternResolver(resourceLoader).getResources(searchPath);
    

    is an array with one classpath resource element. searchPath in this case is classpath:db/healthcheck.yml. In 4.3.2 though, searchPath is classpath*:/db/healthcheck.yml and the return value is (perhaps obviously) an array with two elements:

              URL [file:/Users/dbyron/src/spinnaker/kork/kork-sql/build/resources/main/db/healthcheck.yml]
              URL [jar:file:/Users/dbyron/src/spinnaker/kork/kork-sql/build/libs/kork-sql.jar!/db/healthcheck.yml]
    
    TypeEnhancement IntegrationGradle IntegrationSpringboot ver4.9.1 IntegrationSpinnaker path field sprint2022-28 
    opened by dbyron-sf 27
  • Support for relative paths in valueBlobFile and valueClobFile attributes

    Support for relative paths in valueBlobFile and valueClobFile attributes

    This PR allows valueBlobFile and valueClobFile contain relative paths. Paths may be relative to current change log file.

    Also previous implementation doesn't allowed to load CLOB content from classpath resources, this patch fixes this.

    Previous implementation of loading BLOBs from classpath might not working as expected, because it used value of file.length() of non-existing files, which is 0L, by passing it to http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#setBinaryStream(int,%20java.io.InputStream,%20int). I couldn't find any tests for this in liquibase, but I think that some JDBC drivers might not support 0L as value of length (or might simply take 0 bytes, i.e. nothing, from the stream).

    What I did in this PR is copied the LOBs from streams into memory entirely to calculate the length, which may not work good by the means of memory consumption for really large files. Another way may be to use http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#setBinaryStream(int,%20java.io.InputStream) without length parameter, but this requires Java 6 and JDBC 4.

    opened by dmitrygusev 27
  • Error handling long Postgres table names

    Error handling long Postgres table names

    Environment

    Liquibase Version: 4.0.0

    Liquibase Integration & Version: Java API

    Liquibase Extension(s) & Version:

    Database Vendor & Version: Postgres 10.12

    Operating System Type & Version: Mac + Linux

    Description

    If I create a simple changeset with a single createTable directive with a 63-character length tableName Liquibase fails with a relation already exists error. Not only is this error misleading, it also is unnecessary since Postgres will not truncate table names until they are MORE THAN 63 characters. We are looking at upgrading from Liquibase 3.5.4 to 4.0.0 and we have a programmatic table name generator that currently banks on being able to create table names up to and including 63 characters in length so this is a problem for us as we have existing 63 character tables.

    Steps To Reproduce

    Create a simple changeset:

        <changeSet id="1" author="Me">
            <createTable tableName="my_63_char________________________________________________table">
                <column name="id" type="SERIAL"><constraints primaryKey="true"/></column>
                <column name="value" type="TEXT"><constraints nullable="false" /></column>
            </createTable>
        </changeSet>
    

    Execute by some means (we do it programmatically via the Java API).

    The operation will fail and the nested Exception root cause is

    liquibase.exception.DatabaseException: ERROR: relation "my_63_char________________________________________________table" already exists [Failed SQL: (0) CREATE TABLE public.my_63_char________________________________________________table (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, value TEXT NOT NULL, CONSTRAINT MY_63_CHAR________________________________________________TABLE_PKEY PRIMARY KEY (id))]
    

    This is interesting so I executed that directly in psql and what is happening is that the table creation is fine but the name of the derived primary key is automatically truncated by Postgres to 63 characters which makes it identical to the table name (the _PKEY suffix is shaved off) and causes the confusing error message about the relation already existing.

    For whatever reason this wasn't a problem in Liquibase 3.5.4 and, if I just execute a simple create table via psql:

    create table my_63_char________________________________________________table ( id serial primary key, value text not null );

    this works fine and Postgres creates the associated PK constraint and sequence using the names my_63_char_________________________________________________pkey and my_63_char_______________________________________________id_seq.

    My suspicion is that Liquibase 4.0.0 is doing it's own name creation for things like the PK constraint but that it's simply suffixing rather than first truncating to (63 - suffix_length) characters and then suffixing.

    Actual Behavior

    see above

    Expected/Desired Behavior

    see above

    Screenshots (if appropriate)

    n/a

    Additional Context

    see above

    LIQUIBASE INTERNAL QA REQUIREMENTS

    Validate you can reproduce the bug using the steps provided prior to testing the fix.

    Test Cases
    • Verify update of a table with a 63-character name that defines a primary key on a column is successful.
    • Verify the primary key created has a name that is 63 characters long, including the suffix.
    • Verify an update the 63-character name table with a primary key defined in a second changeset is successful.
    • Verify all automated functional tests on Jenkins are passing
    Note to Community: The functional Liquibase tests run on our internal build system and are not visible to the broader community.
    • When manual tests and existing automated tests are passing, add a regression test to the functional test suite.
      • The test is postgres-specific and should be added as a regression test.
    The Associated PR: https://github.com/liquibase/liquibase/pull/1514
    TypeBug Severity3 ImpactLow PRAssociated DBPostgres IntegrationAny hacktoberfest 
    opened by jamey-clari 25
  • Liquibase-core 4.9.1 includes a shaded jackson-databind 2.9.10.8

    Liquibase-core 4.9.1 includes a shaded jackson-databind 2.9.10.8

    Environment

    Liquibase Version: 4.9.1

    Liquibase Integration & Version: spring boot

    Liquibase Extension(s) & Version: none

    Database Vendor & Version: not relevant

    Operating System Type & Version: not relevant (Linux)

    Description

    We use liquibase-core as part of a Java spring boot application and it's working fine functionally. We run Black Duck SCA scans to check for vulnerabilities in third party/open source software included in our application. This scan identified that liquibase-core jar includes a shaded copy of jackson-databind (possibly jackson 2.9.10.8). It seems to be inside `liquibase/pro/packaged" package.

    The jackson-databind 2.9.10.8 is reported as vulnerable to CVE-2020-36518 CVSS 3.x 7.5 HIGH

    The problem with shaded dependencies is that if a vulnerability is identified, we cannot force a newer version by explicitly declaring it in our pom.xml to mitigate the vulnerability. We operate in regulated environments and have mandates for fixing vulnerabilities very quickly. We don't have the luxury of waiting for third party components to update dependencies.

    I would like to request that a variant of liquibase-core be published that doesn't include shaded jackson but simply declares the dependency in maven pom.

    There are no references to jackson-databind in the source of https://github.com/liquibase/liquibase . So it is not clear which version you use or how it is bundled in the liquibase-core.

    Steps To Reproduce

    Run Synopsis Black Duck SCA analysis on latest liquibase-core-4.9.1.jar.

    Actual Behavior

    liquibase-core doesn't contain shaded dependency. Dependencies are declared in maven pom. We do not use pro version so we should not have jackson-databind in our class path.

    liquibase-core also bundles as obfuscated code this libraries:

    • commons-collections
    • commons-lang3
    • jackson It will be nice to share which versions you use.

    Expected/Desired Behavior

    liquibase-core contains shaded dependency jackson-databind

    Screenshots (if appropriate)

    image image

    Additional Context

    None.

    Severity2 dependencies docker ver4.9.1 sprint2022-28 
    opened by gdimitrov7 24
  • ClassCastException on moving to mysql-connector-java version 8.0.23

    ClassCastException on moving to mysql-connector-java version 8.0.23

    Environment

    Liquibase Version: 3.6.3

    Liquibase Integration & Version: spring boot

    Liquibase Extension(s) & Version:

    Database Vendor & Version: mysql Ver 14.14 Distrib 5.7.28, for osx10.14 (x86_64) mysql-connector-java version 8.0.23

    Operating System Type & Version: All

    Description

    While trying to move from mysql-connector-java version 8.0.18 to 8.0.23, getting an ClassCastException on bootup. Caused by: java.lang.ClassCastException: java.time.LocalDateTime cannot be cast to java.lang.String at liquibase.changelog.StandardChangeLogHistoryService.getRanChangeSets(StandardChangeLogHistoryService.java:324) at liquibase.changelog.AbstractChangeLogHistoryService.upgradeChecksums(AbstractChangeLogHistoryService.java:66) at liquibase.changelog.StandardChangeLogHistoryService.upgradeChecksums(StandardChangeLogHistoryService.java:293) at liquibase.Liquibase.checkLiquibaseTables(Liquibase.java:1221) at liquibase.Liquibase.update(Liquibase.java:193) at liquibase.Liquibase.update(Liquibase.java:179) at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:353) at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:305) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1830) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1767) ... 108 common frames omitted

    Steps To Reproduce (CLI)

    Add the mysql-connector 8.0.23 jar to your lib directory and attempt to run liquibase operations against a mysql database.

    Steps To Reproduce (Spring Boot)

    List the steps to reproduce the behavior. this is the pom.xml used,

    
    <dependency>
    	<groupId>mysql</groupId>
    	<artifactId>mysql-connector-java</artifactId>
    	<version>8.0.23</version>
    </dependency>
    
    <dependency>
    	<groupId>org.liquibase</groupId>
    	<artifactId>liquibase-core</artifactId>
    	<version>3.6.3</version>
    </dependency>
    <dependency>
    	<groupId>org.liquibase.ext</groupId>
    	<artifactId>liquibase-hibernate5</artifactId>
    	<version>3.6</version>
    	<exclusions>
    		<exclusion>
    			<groupId>org.hibernate.javax.persistence</groupId>
    			<artifactId>hibernate-jpa-2.0-api</artifactId>
    		</exclusion>
    	</exclusions>
    </dependency>
    
    

    Liquibase Internal QA Requirements

    • Manually validate the fix with the CLi.
    • Locally execute all functional MySQL tests.
    TypeBug Severity3 ImpactLow DBMySQL IntegrationSpringboot 
    opened by ashwin-nutanix 24
  • Bump firebird-testcontainers-java from 1.2.0 to 1.3.0

    Bump firebird-testcontainers-java from 1.2.0 to 1.3.0

    Bumps firebird-testcontainers-java from 1.2.0 to 1.3.0.

    Release notes

    Sourced from firebird-testcontainers-java's releases.

    firebird-test-containers-java 1.3.0

    What's changed

    Dependency updates

    • Updated org.testcontainers:jdbc to 1.17.6
    • Updated various test-dependencies
    • Updated default image version to Firebird 4.0.2.
      Make sure you specify versions explicitly if you need to stay on Firebird 3.0.
    Changelog

    Sourced from firebird-testcontainers-java's changelog.

    1.3.0

    • Updated org.testcontainers:jdbc to 1.17.6
    • Updated various test-dependencies
    • Updated default image version to Firebird 4.0.2.
      Make sure you specify versions explicitly if you need to stay on Firebird 3.0.
    Commits
    • 8ddd244 Prepare 1.3.0 release
    • b58ef7a Upgrade default image version to 4.0.2
    • 9d932c9 Remove dependency on visible-assertions
    • cbc725a Upgrade to testcontainers 1.17.6
    • d8d241e General dependencies update
    • e698633 Prepare 1.3.0 development
    • 90f0a35 Remove Travis-ci, replace status badge with GitHub action status
    • 9ae58f0 Add GitHub action workflow to build Maven
    • c78ebb7 Prepare 1.2.1 development
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump assertj-core from 3.23.1 to 3.24.1

    Bump assertj-core from 3.23.1 to 3.24.1

    Bumps assertj-core from 3.23.1 to 3.24.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Logs go to stoud instead of standard logger

    Logs go to stoud instead of standard logger

    Environment

    vesion: 4.18:

    Description

    Generally, logging gets correctly directed to the standard logging, except for the following 2 types:

    • `resolved XXX to java.util.zip.ZipFile$ZipFileInflaterInputStream@2b920c9b across yyy [261]]
    • Running Changeset: xxx

    The above are always printed to stdout

    opened by driessamyn 0
  • Confusing documentation for `valueComputed ` in `update`

    Confusing documentation for `valueComputed ` in `update`

    Description

    The documentation on the update change type: https://docs.liquibase.com/change-types/update.html contains information about valueComputed but states that "A value that is returned from a function or procedure call. This attribute should contain the function name to call." however it seems† that a function or procedure name is not required and this attribute can actually be used to simply set a computed value of any type such as "another_column" or "2 * another_column", etc. Perhaps this varies from one DB to another but it would be good to have this functionality documented.

    † I have not tested this myself yet, simply read this: https://dba-presents.com/liquibase/249-liquibase-update-data-based-on-another-column

    Snip

    Since this is a documentation issue, I don't think the remaining questions in the bug report template are relevant.

    opened by mjaggard 0
  • Bump actions/delete-package-versions from 3 to 4

    Bump actions/delete-package-versions from 3 to 4

    Bumps actions/delete-package-versions from 3 to 4.

    Release notes

    Sourced from actions/delete-package-versions's releases.

    v4.0.0

    What's Changed

    • Added support for container, npm, & NuGet registries.
    • Using Rest APIs instead of GraphQL to support package deletion of newly re-platformed packages.
    • Added new mandatory param package-type
    • Made package-name mandatory
    • Removed repo param requirement, this is backward compatible

    New Contributors

    Full Changelog: https://github.com/actions/delete-package-versions/compare/v3.0.1...v4.0.0

    v3.0.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/delete-package-versions/compare/v3...v3.0.1

    Commits
    • ba4d22f Merge pull request #86 from actions/nishthaGupta-patch-1
    • 22f216e Update version in readme
    • 9a08425 Merge pull request #85 from actions/dependabot/npm_and_yarn/json5-1.0.2
    • ac59775 Bump json5 from 1.0.1 to 1.0.2
    • fe2a95a Merge pull request #83 from actions/s-anupam-rest-api
    • 46653ba restrict to RATE_LIMIT with package-version-ids
    • 79269eb Update README
    • 4833470 Update README.md
    • 2de4236 Address review coments
    • 23073eb add more UTs, delete ununsed files
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Add mdc to update command (DAT-12602)

    Add mdc to update command (DAT-12602)

    Impact

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

    Description

    Adds mdc values for the update command.

    Things to be aware of

    Opted to create a MdcKey class to use to keep track of all relevant keys, as well as an MdcValue class for any custom values that currently didn't map to something.

    Things to worry about

    This technically reaches beyond just the update command, but there's not much I can do about that without refactoring a good amount of code. Not necessary for a POC imo.

    Additional Context

    N/A

    opened by abrackx 3
Releases(v4.18.0)
  • v4.18.0(Dec 6, 2022)

    Liquibase v4.18.0

    Notable Changes

    [PRO] Hashicorp Vault extension and Liquibase Pro

    Use together for increased security and convenience of centralized properties. Note: This release works with Vault v1, and a v2 compatible release will follow up soon.

    • Security
 Vaults offer much greater security than defaults files or 
environment variables


    • Centralization
 Secure your database credentials, Pro license key, secure urls, and more in one central location. Update your critical properties in one place, and all linked tools and jobs use the new values
.

    [PRO] rollback-on-error command argument

    • When set to true will attempt to rollback a failed update operation.
    • Note: changesets marked failonerror=false, do not count as error, and so do not rollback-on-error

    [OSS] Liquibase Environment variables

    • Now free to all users, not just Pro users.
    • Learn more at https://docs.liquibase.com/concepts/connections/liquibase-environment-variables.html

    Enhancements

    • [PRO] Added new modifyChangeSets tag to support specification of runWith attribute for all change sets in include or includeAll

    API Breaking Changes

    • Use PathHandler for writing log files, which allows using S3 and other extensions (DAT-11515) by @abrackx in https://github.com/liquibase/liquibase/pull/3438

    Security, Driver and other updates

    • Upgrade mockito-inline from 4.8.0 to 4.8.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3382
    • Upgrade actions/cache from 3.0.8 to 3.0.11 by @dependabot in https://github.com/liquibase/liquibase/pull/3370
    • Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3423
    • Upgrade postgresql driver from 42.5.0 to 42.5.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3501
    • Bump maven-plugin-plugin from 3.6.4 to 3.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3450
    • Bump sqlite-jdbc from 3.39.3.0 to 3.39.4.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3451
    • Bump maven-shade-plugin from 3.4.0 to 3.4.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3422
    • Bump gmavenplus-plugin from 1.13.1 to 2.1.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3391
    • Bump picocli from 4.6.3 to 4.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3432
    • Bump jcc from 11.5.7.0 to 11.5.8.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3414
    • Upgrade testcontainers-bom from 1.17.3 to 1.17.5 by @dependabot in https://github.com/liquibase/liquibase/pull/3341

    Fixes

    • Fixes generate-changelog view comments for Postgres (DAT-9410) by @abrackx in https://github.com/liquibase/liquibase/pull/3403

    • Adds DefaultChangeExecListener, catches and handles migration errors (DAT-9372) by @abrackx in https://github.com/liquibase/liquibase/pull/3431

    • Fixes nullpointer when dealing with LiquibaseException on updates. by @filipelautert in https://github.com/liquibase/liquibase/pull/3447

    • Resets changelog cache upon acquiring lock by @filipelautert in https://github.com/liquibase/liquibase/pull/3396

    • Allows createSequence field "dataType" to be use with DB2 as the database supports it. by @filipelautert in https://github.com/liquibase/liquibase/pull/3328

    • Defines "-- rollback empty" as the way to specify "no rollback needed". by @filipelautert in https://github.com/liquibase/liquibase/pull/3324

    • Fix create index on Postgresql and MSSQL using wrong column names when generating a changelog by @filipelautert in https://github.com/liquibase/liquibase/pull/3366

    • Fixed input string handling in CompareControl constructor by @filipelautert in https://github.com/liquibase/liquibase/pull/3309

    • Add 'ifExists' parameter to the dropView statement by @gzsombor in https://github.com/liquibase/liquibase/pull/3301

    • Fix getResourceAccessor logic to avoid setting changeLogDirectory when searchPath has already set by @MalloD12 in https://github.com/liquibase/liquibase/pull/3347

    • Ensures that Postgresql works with blob types bytea and oid (large objects) by @filipelautert in https://github.com/liquibase/liquibase/pull/3381

    • Improve int/tinyint/smallint/bigint handling in H2 by @MalloD12 in https://github.com/liquibase/liquibase/pull/3274

    • The onSqlOutput attribute does not work for preconditions in formatted SQL changelogs. by @dyadyushko in https://github.com/liquibase/liquibase/pull/3436

    • [DAT-11899] Modifies deploy plugin and distribution management. by @jnewton03 in https://github.com/liquibase/liquibase/pull/3457

    • Adds ChangeExecListener properties to maven plugin (DAT-12219) by @abrackx in https://github.com/liquibase/liquibase/pull/3443

    • make BufferedLogService thread safe by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3470

    • Improved Sybase ASE Support by @carlos940513 in https://github.com/liquibase/liquibase/pull/665

    • Do not write output files for computed columns when executing dbDoc. Fixes #1088 by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3398

    • Sequence owned by a table field must be included in database snapshot by @filipelautert in https://github.com/liquibase/liquibase/pull/3335

    • Fixes snapshot of case-sensitive views by @filipelautert in https://github.com/liquibase/liquibase/pull/3329

    • Fix include/includeAll to correct track relativeToChangelog=true paths using ./ or ../ by @nvoxland in https://github.com/liquibase/liquibase/pull/3355

    • Improved readability in the createCDILiquibaseConfig method. by @musttafayildirim in https://github.com/liquibase/liquibase/pull/3316

    • testing main and sha builds by @jnewton03 in https://github.com/liquibase/liquibase/pull/3481

    • Fix Postgresql autoIncrement Information in snapshot by @filipelautert in https://github.com/liquibase/liquibase/pull/3361

    • Treat "," as "or" when parsing context expressions. Fixes #1103 by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3426

    • CORE-1127: Filter by context when doing a rollback. by @berryh in https://github.com/liquibase/liquibase/pull/898

    • Implement tagExists Maven command (Fix issue 1063) by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3385

    • Fixes transaction handling within changesets on DB2 on z/OS by @MichaelKern-IVV in https://github.com/liquibase/liquibase/pull/3342

    • Improve dropAllForeignKeyConstraints performance by @Spindl in https://github.com/liquibase/liquibase/pull/2155

    • Adds error handling for updateCount (DAT-11950) by @abrackx in https://github.com/liquibase/liquibase/pull/3463

    • Adds error handling to update-to-tag (DAT-11951) by @abrackx in https://github.com/liquibase/liquibase/pull/3468

    • Adds error handling for update-testing-rollback command and updateTestingRollback goal (DAT-11952) by @abrackx in https://github.com/liquibase/liquibase/pull/3474

    • Fixes behaviour of includeAll by keeping the trailing slash on the path by @filipelautert in https://github.com/liquibase/liquibase/pull/3506

    • Restore FileSystemResourceAccessor and add tests. by @filipelautert in https://github.com/liquibase/liquibase/pull/3499

    • Simplify if statements to a single assignment. Avoid extra works. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3375

    • Fixed resolveSibling method by updating URL resource type by @MalloD12 in https://github.com/liquibase/liquibase/pull/3413

    • Fix dependency query for PostgreSQL 15 by @Domm98CZ in https://github.com/liquibase/liquibase/pull/3456

    • Release liquibase-nochangeloglock extension with the others by @nvoxland in https://github.com/liquibase/liquibase/pull/3452

    New Contributors

    • @gzsombor made their first contribution in https://github.com/liquibase/liquibase/pull/3301
    • @carlos940513 made their first contribution in https://github.com/liquibase/liquibase/pull/665
    • @rozenshteyn made their first contribution in https://github.com/liquibase/liquibase/pull/3398
    • @musttafayildirim made their first contribution in https://github.com/liquibase/liquibase/pull/3316
    • @berryh made their first contribution in https://github.com/liquibase/liquibase/pull/898
    • @Spindl made their first contribution in https://github.com/liquibase/liquibase/pull/2155
    • @arturobernalg made their first contribution in https://github.com/liquibase/liquibase/pull/3375
    • @Domm98CZ made their first contribution in https://github.com/liquibase/liquibase/pull/3456

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.17.2...v4.18.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.18.0.tar.gz(64.85 MB)
    liquibase-4.18.0.zip(64.90 MB)
    liquibase-additional-4.18.0.zip(8.60 MB)
    liquibase-commercial-4.18.0.jar(2.78 MB)
    liquibase-core-4.18.0.jar(2.50 MB)
    liquibase-macos-installer-4.18.0.dmg(110.61 MB)
    liquibase-windows-x64-installer-4.18.0.exe(109.19 MB)
  • v4.17.2(Nov 2, 2022)

    Liquibase 4.17.2 Patch Release

    This is a patch release that upgrades the HSQL driver to remove a security vulnerability. NOTE: The newest HSQL driver requires Java 11, so if you use HSQL and JAVA 8, you will need to upgrade your Java.

    Security Updates

    • No security updates are necessary

    JDBC Driver and Third-Party Library Updates

    • Upgrade hsqldb from 2.5.2 to 2.7.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3400
    • [opencsv-upgrade] Updates opencsv to 5.7.1 by @abrackx in https://github.com/liquibase/liquibase/pull/3419

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.17.1...v4.17.2

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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

      NOTE: liquibase-core-.jar contains only the open-source license. If you use Liquibase Pro or other commercial add-ons, you must also install liquibase-commercial-.jar

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.17.2.tar.gz(64.65 MB)
    liquibase-4.17.2.zip(64.69 MB)
    liquibase-additional-4.17.2.zip(8.50 MB)
    liquibase-commercial-4.17.2.jar(2.66 MB)
    liquibase-core-4.17.2.jar(2.47 MB)
    liquibase-macos-installer-4.17.2.dmg(110.40 MB)
    liquibase-windows-x64-installer-4.17.2.exe(108.99 MB)
  • v4.17.1(Oct 21, 2022)

    Liquibase 4.17.1 Patch Release

    Fixes

    • fix: Use default localhost finder for MacOs - fix #2098 by @grzi in https://github.com/liquibase/liquibase/pull/2134
    • Allow renameColumn on newer SQLite versions by @MalloD12 in https://github.com/liquibase/liquibase/pull/3264
    • Implement logic to validate dbms set at changeset and stored procedure levels by @MalloD12 in https://github.com/liquibase/liquibase/pull/3291
    • Fixed URIResource.resolveSibling by @nvoxland in https://github.com/liquibase/liquibase/pull/3354
    • Use liquibase StringUtil not lang3.StringUtils by @nvoxland in https://github.com/liquibase/liquibase/pull/3338
    • Handle absolute path in getAll method by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3369

    Updates

    Security Updates

    • None

    JDBC Driver and Third-Party Library Updates

    • Upgraded ojdbc8 from 21.6.0.0.1 to 21.7.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3223
    • Upgraded maven-shade-plugin from 3.3.0 to 3.4.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3276
    • Upgraded slf4j-jdk14 from 2.0.2 to 2.0.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3321
    • Upgraded snakeyaml maven reference from 1.32 to 1.33 by @nvoxland in https://github.com/liquibase/liquibase/pull/3359
    • Upgraded commons text transitive dependency by @abrackx in https://github.com/liquibase/liquibase/pull/338

    OWASP Dependency Check: Reported Vulnerabilities

    New Contributors

    • @grzi made their first contribution in https://github.com/liquibase/liquibase/pull/2134

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.17.0...v4.17.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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.17.1.tar.gz(64.64 MB)
    liquibase-4.17.1.zip(64.69 MB)
    liquibase-additional-4.17.1.zip(8.46 MB)
    liquibase-commercial-4.17.1.jar(2.66 MB)
    liquibase-core-4.17.1.jar(2.47 MB)
    liquibase-macos-installer-4.17.1.dmg(110.40 MB)
    liquibase-windows-x64-installer-4.17.1.exe(108.98 MB)
  • v4.17.0(Oct 10, 2022)

    Liquibase v4.17.0

    Notable Changes

    • [PRO] The liquibase flow command and flow files are available with a Pro license. It allows you to create portable, platform-independent workflows that can run across different tools without modifying each workflow.

      • Learn more about flow here: liquibase flow file and command
      • If you want to provide feedback or have questions, please visit the forum at https://forum.liquibase.org/
    • [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.

    • [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 https://github.com/liquibase/liquibase/pull/3064
    • Created ThreadLocalScopeManager by @nvoxland in https://github.com/liquibase/liquibase/pull/3240
    • Create liquibase_autocomplete.zsh by @szandany in https://github.com/liquibase/liquibase/pull/3130

    Fixes

    • AlterSequence: include NOORDER clause ordered="false" is specified by @LeBezout in https://github.com/liquibase/liquibase/pull/1044
    • Upper case result columns only for case-insensitive databases by @fbiville in https://github.com/liquibase/liquibase/pull/3102
    • Postgresql: Fix for case when current search_path is an empty string by @gadget in https://github.com/liquibase/liquibase/pull/3233
    • Fix missing catalog on add column rollback by @jandurovec in https://github.com/liquibase/liquibase/pull/921
    • Fix an error which can occur if getAutoCommit is called on a closed connection by @gpsfl in https://github.com/liquibase/liquibase/pull/3135
    • apply sqlVisitors to CompoundStatements on DB2z by @MichaelKern-IVV in https://github.com/liquibase/liquibase/pull/3220
    • Improved message when precondition onFail : MARK_RAN is set by @MultiM25 in https://github.com/liquibase/liquibase/pull/2238
    • Add default catalog condition to SequenceSnapshotGenerator for Oracle by @gabrielnardes in https://github.com/liquibase/liquibase/pull/3152
    • Fixed issue with h2 loadUpdateData not correctly handling values with the string " values " in the inserted data by @tomyy in https://github.com/liquibase/liquibase/pull/1831
    • Fix the smallserial issue not being parsed as a SmallInt type for Postgres by @MalloD12 in https://github.com/liquibase/liquibase/pull/3234
    • Remove snowflake unsupported logging from snapshot command (DAT-11291) by @abrackx in https://github.com/liquibase/liquibase/pull/3277
    • Fix "double" handling with H2 by @MalloD12 in https://github.com/liquibase/liquibase/pull/3273
    • Firebird: fix createIndex missing space around "computed" by @Markus-Patt in https://github.com/liquibase/liquibase/pull/1500
    • Test Race Condititons During Liquibase Locking by @schrieveslaach in https://github.com/liquibase/liquibase/pull/2327
    • Use configuration to get 'altTablespace', 'altSchema' and 'altCatalog… by @mehrabisajad in https://github.com/liquibase/liquibase/pull/3124
    • Add missing generator for parameterized SQL statements by @fbiville in https://github.com/liquibase/liquibase/pull/3225
    • Add catalog null check to fix initializing a MSSQL db issue by @MalloD12 in https://github.com/liquibase/liquibase/pull/3235
    • PD-2838: pointing DB list to docs by @adrian-velonis1 in https://github.com/liquibase/liquibase/pull/3280
    • Addition of liquibase.update() Enhancement Request #1614 by @Betlista in https://github.com/liquibase/liquibase/pull/1638
    • Fixed createView handling of replaceIfExists=true when the string "replace" exists in the view definition by @filipelautert in https://github.com/liquibase/liquibase/pull/3305
    • DAT-11407: replace backslashes in NotFoundResource URI by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3322
    • Fix generateChangeLog and diffChangeLog logic to avoid including default schema name when it should not by @MalloD12 in https://github.com/liquibase/liquibase/pull/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 https://github.com/liquibase/liquibase/pull/3196
    • Upgraded opencsv from 5.6 to 5.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3243
    • Upgraded installer to use JDK 17.0.4.1 by @nvoxland in https://github.com/liquibase/liquibase/pull/3266
    • Upgraded sqlite-jdbc from 3.39.2.1 to 3.39.3.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3267
    • Upgraded jaxb-core from 4.0.0 to 4.0.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3292
    • Upgraded mariadb-java-client from 3.0.7 to 3.0.8 by @dependabot in https://github.com/liquibase/liquibase/pull/3293
    • Upgraded jaxb-runtime from 4.0.0 to 4.0.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3294
    • Upgraded snakeyaml from 1.32 to 1.33 by @dependabot in https://github.com/liquibase/liquibase/pull/3310

    OWASP Dependency Check: Reported Vulnerabilities

    New Contributors

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

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.16.1...v4.17

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.17.0.tar.gz(64.64 MB)
    liquibase-4.17.0.zip(64.68 MB)
    liquibase-additional-4.17.0.zip(8.51 MB)
    liquibase-commercial-4.17.0.jar(2.66 MB)
    liquibase-core-4.17.0.jar(2.46 MB)
    liquibase-macos-installer-4.17.0.dmg(110.39 MB)
    liquibase-windows-x64-installer-4.17.0.exe(108.98 MB)
  • v4.16.1(Sep 14, 2022)

    New and Notable Capability

    • Liquibase 4.16.0 incorrectly included the msal4j.jar and it's dependencies in internal/lib. This release does removes them. If you need the Azure authentication support provided by that library, you can continue to add it to the lib directory.

    Enhancements

    • None

    Fixes

    • None

    Updates

    Security Updates

    • None

    JDBC Driver and Third-Party Library Updates

    • Upgraded mssql-jdbc from 11.2.0.jre8 to 11.2.1.jre8 by @dependabot in https://github.com/liquibase/liquibase/pull/3262

    OWASP Dependency Check: Reported Vulnerabilities

    New Contributors

    • None this time

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.16.0...v4.16.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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.16.1.tar.gz(64.54 MB)
    liquibase-4.16.1.zip(64.58 MB)
    liquibase-additional-4.16.1.zip(8.44 MB)
    liquibase-commercial-4.16.1.jar(2.65 MB)
    liquibase-core-4.16.1.jar(2.45 MB)
    liquibase-macos-installer-4.16.1.dmg(110.30 MB)
    liquibase-windows-x64-installer-4.16.1.exe(108.87 MB)
  • v4.16.0(Sep 9, 2022)

    New and Notable Capability

    • [LABS] The liquibase flow command and flow files are still available under the Liquibase Labs license.
    • [PRO] The Quality Checks for Databases are now available to all Pro license users. These checks inspect your active database, or a liquibase-generated snapshot for compliance with your rules. Learn more here: https://docs.liquibase.com/quality-checks
    • Introduces "contextFilter" and "labelFilter" replacement settings by @nvoxland in https://github.com/liquibase/liquibase/pull/2971
      • Liquibase has always had a way to use "labels" and "contexts" and then filter on those attributes in order to control which changesets are considered for execution. The new "contextFilter" and "labelFilter" attributes help simplify workflows and prevent confusion.

    Enhancements

    • Added support for changeset references in rollback for Formatted SQL changelogs by @atzawada in https://github.com/liquibase/liquibase/pull/1386
    • Add schemas and includeSchema parameters to maven generateChangeLog by @MalloD12 in https://github.com/liquibase/liquibase/pull/3210
    • [PRO] Two new Pro commands update-one-changeset and update-one-changeset-sql serving as complements to rollback-one-changeset and roll-back-one-changeset-sql

    Fixes

    • Fix addColumn on mysql when including a "value" attribute by @nvoxland in https://github.com/liquibase/liquibase/pull/3070
    • Add support for AS <dataType> clause for H2 since version 2.0 by @marcus-nl in https://github.com/liquibase/liquibase/pull/3047
    • Fixed NUMBER not compatible with H2 by @nick318 in https://github.com/liquibase/liquibase/pull/3098
    • SpringResourceAccessor: fix issue with incorrect match pattern for files from classPath root by @danilmalkin in https://github.com/liquibase/liquibase/pull/3095
    • Made liquibase.snapshot.ResultSetCache an extensible class. by @breglerj in https://github.com/liquibase/liquibase/pull/2087
    • Added support for \u2116 symbol win1251 cyrillic symbol of number by @Stuchalin in https://github.com/liquibase/liquibase/pull/1324
    • Tidy ExecutorService code, remove superfluous map access (Issue 1841) by @jamey-clari in https://github.com/liquibase/liquibase/pull/1842
    • Fixed order of enum values on MySQL 8 by @Tantalon in https://github.com/liquibase/liquibase/pull/3150
    • Removed invalid warning in Maven by @nvoxland in https://github.com/liquibase/liquibase/pull/3189
    • [PRO] DAT-10810 QC: checks show changes (--show-cols flag, drop some, etc) by @dyadyushko in https://github.com/liquibase/liquibase/pull/3187

    Updates

    Security Updates

    • Updates the snakeyaml dependency shipped in the liquibase-maven-plugin pom to address CVE-2022-25857

    JDBC Driver and Third-Party Library Updates

    • Upgraded postgresql from 42.4.0 to 42.4.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3145
    • Upgraded mariadb-java-client from 3.0.6 to 3.0.7 by @dependabot in https://github.com/liquibase/liquibase/pull/3149
    • Upgraded sqlite-jdbc from 3.36.0.3 to 3.39.2.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3148
    • Upgraded mssql-jdbc from 10.2.1.jre8 to 11.2.0.jre8 by @dependabot in https://github.com/liquibase/liquibase/pull/3162
    • Upgraded postgresql from 42.4.1 to 42.5.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3199
    • Upgraded sqlite-jdbc from 3.39.2.0 to 3.39.2.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3198
    • Upgraded snakeyaml from 1.30 to 1.31 by @dependabot in https://github.com/liquibase/liquibase/pull/3224
    • Upgraded snakeyaml in liquibase-maven-plugin from 1.27 to 1.31 by @dependabot in https://github.com/liquibase/liquibase/pull/3263

    OWASP Dependency Check: Reported Vulnerabilities

    New Contributors

    • @marcus-nl made their first contribution in https://github.com/liquibase/liquibase/pull/3047
    • @nick318 made their first contribution in https://github.com/liquibase/liquibase/pull/3098
    • @danilmalkin made their first contribution in https://github.com/liquibase/liquibase/pull/3095
    • @breglerj made their first contribution in https://github.com/liquibase/liquibase/pull/2087
    • @Stuchalin made their first contribution in https://github.com/liquibase/liquibase/pull/1324
    • @jamey-clari made their first contribution in https://github.com/liquibase/liquibase/pull/1842
    • @Tantalon made their first contribution in https://github.com/liquibase/liquibase/pull/3150
    • @atzawada made their first contribution in https://github.com/liquibase/liquibase/pull/1386
    • @MalloD12 made their first contribution in https://github.com/liquibase/liquibase/pull/3210
    • @dyadyushko made their first contribution in https://github.com/liquibase/liquibase/pull/3187

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.15.0...v4.16.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.16.0.tar.gz(66.37 MB)
    liquibase-4.16.0.zip(66.41 MB)
    liquibase-additional-4.16.0.zip(8.43 MB)
    liquibase-commercial-4.16.0.jar(2.65 MB)
    liquibase-core-4.16.0.jar(2.45 MB)
    liquibase-macos-installer-4.16.0.dmg(112.14 MB)
    liquibase-windows-x64-installer-4.16.0.exe(110.71 MB)
  • v4.15.0(Aug 5, 2022)

    New and Notable Capability - liquibase flow command

    • liquibase flow and new flow-file (DAT-10419) by in https://github.com/liquibase/liquibase/pull/2946
      • The liquibase flow command and the Flow File on which it operates allow the user to place multiple commands within a single file so they can all run sequentially with a single command into the CLI. This is currently a Liquibase Labs restricted capability, so please contact [email protected] to request a license key. Learn more at http://docs.liquibase.com/flow.

    Enhancements

    • Added duplicateFileMode setting for maven plugin by @nvoxland in https://github.com/liquibase/liquibase/pull/3119

    Fixes

    • Fix maven plugin pro commands for local developer install by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3101
    • Update Derby reserved words by @andrewhj in https://github.com/liquibase/liquibase/pull/1971
    • Output "may lose settings" warning on mysql/mariadb for more impacted change types by @nvoxland in https://github.com/liquibase/liquibase/pull/3045
    • Improved "include" fix performance: optimized normalizePath method by @lzxgyh in https://github.com/liquibase/liquibase/pull/3063
    • Removed DatabaseInfoAttributes in XSD by @kazz62 in https://github.com/liquibase/liquibase/pull/2239
    • Do not split SQL on delimiters within BEGIN/END blocks by @nvoxland in https://github.com/liquibase/liquibase/pull/1589
    • Set max fractional timestamp digits to 12 for all DB2 editions (fix #2880) by @ctgnz in https://github.com/liquibase/liquibase/pull/2892
    • Fix query for snapshotting views on DB2/Z by @michaelmatthiaskern in https://github.com/liquibase/liquibase/pull/2712
    • Fix for bug 2711: Error when calling a procedure with parameters on DB2Z by @michaelmatthiaskern in https://github.com/liquibase/liquibase/pull/2765
    • Improve CLI error messages by @nvoxland in https://github.com/liquibase/liquibase/pull/3078
    • Improved handling of endDelimiter="/" by @nvoxland in https://github.com/liquibase/liquibase/pull/3118
    • Upgrade installer to ship with jdk 17.0.4+8 by @nvoxland in https://github.com/liquibase/liquibase/pull/3104
    • Improve failure message of RowCountPrecondition to preserve expected row count by @martinspielmann in https://github.com/liquibase/liquibase/pull/3093
    • Changed what sequence attributes are included in diff/generate changelog for Snowflake by @yodzhubeiskyi in https://github.com/liquibase/liquibase/pull/3121
    • Fix columnNames snapshot attribute of uniqueConstraints for Snowflake by @yodzhubeiskyi in https://github.com/liquibase/liquibase/pull/3123

    Updates

    Security Updates

    No security updates needed in this release.

    JDBC Driver and Third-Party Library Updates

    • Upgraded snowflake-jdbc from 3.13.20 to 3.13.21 by @dependabot in https://github.com/liquibase/liquibase/pull/3061

    OWASP Dependency Check: Reported Vulnerabilities

    • None

    New Contributors

    • @andrewhj made their first contribution in https://github.com/liquibase/liquibase/pull/1971
    • @lzxgyh made their first contribution in https://github.com/liquibase/liquibase/pull/3063
    • @kazz62 made their first contribution in https://github.com/liquibase/liquibase/pull/2239
    • @ctgnz made their first contribution in https://github.com/liquibase/liquibase/pull/2892
    • @michaelmatthiaskern made their first contribution in https://github.com/liquibase/liquibase/pull/2712
    • @martinspielmann made their first contribution in https://github.com/liquibase/liquibase/pull/3093

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.14.0...v4.15.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.15.0.tar.gz(61.73 MB)
    liquibase-4.15.0.zip(61.76 MB)
    liquibase-additional-4.15.0.zip(8.38 MB)
    liquibase-commercial-4.15.0.jar(2.62 MB)
    liquibase-core-4.15.0.jar(2.43 MB)
    liquibase-macos-installer-4.15.0.dmg(107.48 MB)
    liquibase-windows-x64-installer-4.15.0.exe(106.05 MB)
  • v4.14.0(Jul 25, 2022)

    Notable Changes

    Split liquibase-core and liquibase-commercial jar files by @nvoxland in https://github.com/liquibase/liquibase/pull/3050

    • This change affects new downloads of Liquibase Pro. liquibase-core-.jar contains only the open-source license. If you use Liquibase Pro or other commercial add-ons, you must also install liquibase-commercial-.jar.

    Added liquibase.changelogParseMode setting by @nvoxland in https://github.com/liquibase/liquibase/pull/3057

    Enhancements

    • Warn if XSD version does not match build version in validate command (DAT-9874) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3016
    • Allow use of pro-only objects for filtering with generateChangeLog (DAT-9542) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3068
    • Improve connection exception by including underlying driver exception trace by @hessjcg in https://github.com/liquibase/liquibase/pull/3033
    • Add Closeable/AutoCloseable interface to liquibase.database.Database by @zorglube in https://github.com/liquibase/liquibase/pull/2990

    Fixes

    • Fixed Formatted SQL "property" parsing by @nvoxland in https://github.com/liquibase/liquibase/pull/3037
    • Ensure Postgresql search_path entries are quoted correctly by @nvoxland in https://github.com/liquibase/liquibase/pull/3009
    • Updated "Change Set" wording to "Changeset" by @kataggart in https://github.com/liquibase/liquibase/pull/3042
    • Improved error when JAVA_HOME is set to invalid value (DAT-10545) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3074
    • Fixed autoIncrement incrementBy/startWith support in MySQL, H2, HSQLDB, and MariaDB by @tozogabee in https://github.com/liquibase/liquibase/pull/3026
    • Improve renameColumn generated SQL on mssql by @mide25 in https://github.com/liquibase/liquibase/pull/783

    Updates

    Security Updates

    No security updates needed in this release.

    JDBC Driver and Third-Party Library Updates

    • Upgraded mariadb-java-client from 3.0.5 to 3.0.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3021
    • Upgraded testcontainers-bom from 1.17.2 to 1.17.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3020
    • Upgraded postgresql from 42.3.4 to 42.4.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2935
    • Bump jaxb-runtime from 2.3.6 to 4.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2964

    OWASP Dependency Check: Reported Vulnerabilities

    • None

    New Contributors

    • @hessjcg made their first contribution in https://github.com/liquibase/liquibase/pull/3033
    • @mehrabisajad made their first contribution in https://github.com/liquibase/liquibase/pull/3059
    • @tozogabee made their first contribution in https://github.com/liquibase/liquibase/pull/3026
    • @mide25 made their first contribution in https://github.com/liquibase/liquibase/pull/783
    • @zorglube made their first contribution in https://github.com/liquibase/liquibase/pull/2990

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.13.0...v4.14.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    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
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.14.0.tar.gz(61.31 MB)
    liquibase-4.14.0.zip(61.35 MB)
    liquibase-additional-4.14.0.zip(8.29 MB)
    liquibase-commercial-4.14.0.jar(2.58 MB)
    liquibase-core-4.14.0.jar(2.42 MB)
    liquibase-macos-installer-4.14.0.dmg(107.10 MB)
    liquibase-windows-x64-installer-4.14.0.exe(105.62 MB)
  • v4.13.0(Jul 11, 2022)

    Notable Changes

    PRO DAT-10083 - Added PSQL native executor feature by @abrackx

    • You can now use the runWith command to pull in PSQL changesets which require highly specialized SQL that often cannot easily be deployed over JDBC. For more information, see the documentation here.

    Enhancements

    • Added new liquibase.duplicateFileMode setting by @nvoxland in https://github.com/liquibase/liquibase/pull/3006
    • Add additional info in CLI's --version output by @nvoxland in https://github.com/liquibase/liquibase/pull/2942
    • Added support for new "searchPath" global configuration by @nvoxland in https://github.com/liquibase/liquibase/pull/2917
    • PRO DAT-10575: add labels and contexts parameter to checks run command by @StevenMassaro
    • PRO DAT-10803 added sproc support for Snowflake by @KushnirykOleh

    Fixes

    • Hide CommandFailedException stacktrace when thrown to set exit code (DAT-9608) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2938
    • Update copyright year in txt files; also update links in txt files (DAT-10261) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2955
    • add support for default-catalog-name in SQL Server (DAT-10484) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2940
    • Make additional query for more column information for MariaDB DAT-8693 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2898
    • Include should fail if a parser cannot be found for the specified file by @nvoxland in https://github.com/liquibase/liquibase/pull/2972
    • Improved postgresql prepared statement performance by @nvoxland in https://github.com/liquibase/liquibase/pull/2914
    • Cleanup relative paths preventing sql files being found by the class loader by @marcsowen in https://github.com/liquibase/liquibase/pull/2932
    • Fix missing attributes in serialization by @tms-91 in https://github.com/liquibase/liquibase/pull/2585
    • Improved parsing of single-quoted strings by @nvoxland in https://github.com/liquibase/liquibase/pull/2949
    • DAT-10260: add outputFile argument in maven plugin for checks.run target by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2975
    • Formatted SQL files with uppercase in the liquibase attributes (DAT-10531) by @abrackx in https://github.com/liquibase/liquibase/pull/2985
    • handle empty or null input to stripComments method (DAT-10296) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2970
    • Fixed issue with parameter expression parsing by @nvoxland in https://github.com/liquibase/liquibase/pull/2984
    • Fixed before/after/at column arguments in addColumn by @nvoxland in https://github.com/liquibase/liquibase/pull/2943
    • Adds liquibase.psql.conf example (DAT-10303) by @abrackx in https://github.com/liquibase/liquibase/pull/2939
    • [DAT-10093] added schema escaping to getColumns call to jdbc metadata classes by @KushnirykOleh in https://github.com/liquibase/liquibase/pull/2895
    • Use "numeric" (without parameters) data type in PostgreSQL by @LonwoLonwo in https://github.com/liquibase/liquibase/pull/1906
    • Force "json" resultset formats in Snowflake when running Java 17+ by @nvoxland in https://github.com/liquibase/liquibase/pull/3019
    • PRO DAT-9608: Hide CommandFailedException stacktrace when thrown from checks run by @StevenMassaro
    • PRO Reenables oracle integration tests by @abrackx
    • PRO DAT-10283 Checks should also look at included contexts and labels by @wwillard7800
    • PRO DAT-10667: Hide disabled checks from unsupported changeset type list by @StevenMassaro
    • PRO DAT-10690 and DAT-10691: Hide validated changelogs and database objects when no license key is provided by @StevenMassaro
    • PRO DAT-10296: Handle empty or completely commented out changesets in CheckForSpecificPatternsInSQL check by @StevenMassaro

    Updates

    Security Updates

    No security updates needed in this release.

    JDBC Driver and Third-Party Library Updates

    • Upgraded jaxb-core from 2.3.0.1 to 4.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2962
    • Upgraded snowflake-jdbc from 3.13.19 to 3.13.20 by @dependabot in https://github.com/liquibase/liquibase/pull/3001
    • Upgraded mariadb-java-client from 3.0.4 to 3.0.5 by @dependabot in https://github.com/liquibase/liquibase/pull/2881
    • Upgraded ojdbc8 from 21.5.0.0 to 21.6.0.0.1 by @dependabot in https://github.com/liquibase/liquibase/pull/2987
    • Upgraded h2 from 2.1.212 to 2.1.214 by @dependabot in https://github.com/liquibase/liquibase/pull/2944
    • PRO Bump proguard-maven-plugin from 2.5.3 to 2.6.0 by @dependabot
    • PRO Bump maven-scm-plugin from 1.12.2 to 1.13.0 by @dependabot
    • PRO Bump assertj-core from 3.22.0 to 3.23.1 by @dependabot

    New Contributors

    • @marcsowen made their first contribution in https://github.com/liquibase/liquibase/pull/2932
    • @LonwoLonwo made their first contribution in https://github.com/liquibase/liquibase/pull/1906

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.12.0...v4.13.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.13.0.jar(4.99 MB)
    liquibase-4.13.0.tar.gz(61.39 MB)
    liquibase-4.13.0.zip(61.42 MB)
    liquibase-additional-4.13.0.zip(8.27 MB)
    liquibase-macos-installer-4.13.0.dmg(107.17 MB)
    liquibase-windows-x64-installer-4.13.0.exe(105.69 MB)
  • v4.12.0(Jun 17, 2022)

    Breaking Changes

    Support for Snowflake database has been moved from the external extension liquibase-snowflake into the main Liquibase artifact. If you are using the snowflake extension, remove it from your lib directory or however you are including it in your project. If you are using the Docker image, the snowflake docker label will no longer be updated so you need to update your reference to either latest or the version tag you prefer. For CLI users, the Snowflake driver also ships out of the box and so you should remove that from the lib directory as well https://github.com/liquibase/liquibase/pull/2841

    Enhancements

    • Quality Checks for Databases (DAT-9298) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2715
      • This capability extends checks from just the changelog to look at the database itself for conditions of compliance, security, and more. This is currently a Liquibase Labs restricted capability, so please contact [email protected] to request a license key.

    The Quality Checks commands have moved from limited availability in Liquibase Open Source to complete unlimited access only in Liquibase Pro. If you were using the Liquibase Open Source version, which was limited to five checks, you can test out the unlimited version with afree Liquibase Pro trial. * make all QCs work only for Pro users (Pro PR 496) (DAT-10098)

    • Added a new "liquibase.showBanner" setting. Setting this value to 'false' will disable the Liquibase startup banner from being shown. By @nvoxland in https://github.com/liquibase/liquibase/pull/2871
    • Added a new "liquibase.missingPropertyMode" setting to control what happens when a changelog contains a ${...} string that doesn't correspond to a set changelog property. The default continues to be "preserve" which leaves it as-is. But other possible values are ERROR or EMPTY which will either stop execution with an error or replace it with an empty string. By @dwieland in https://github.com/liquibase/liquibase/pull/2656
    • Added new "liquibase.preserveSchemaCase" argument to preserve the case of schemas exactly as passed to the various schema settings. Default remains "false" as before. DAT-10027 By @wwillard7800 in https://github.com/liquibase/liquibase/pull/2888
    • Introduced "latest" xsd file path. In addition to http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.12.xsd type XSDs references, you can now also use http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd instead. By using "latest", Liquibase will use the bundled XSD for it's version. The uploaded "latest" XSD will always be the most recent Liquibase release, so note how they can be different and locally cached IDE versions may be different yet. By @nvoxland in https://github.com/liquibase/liquibase/pull/2886
    • Added new ConfiguredValueModifier extension point. This allows extensions to be written which will translate or convert configuration values from what was passed by the user before the value is passed to the internal code. By @mcred in https://github.com/liquibase/liquibase/pull/2252
    • Updated StandardLockService interface to make it more useful for extensions by @Cliftonz in https://github.com/liquibase/liquibase/pull/2785

    Fixes

    • Fixed BLOBs in loadData for MySQL/MariaDB by @MichaelCkr in https://github.com/liquibase/liquibase/pull/2595
    • Fixed getting ENUM column values from Mysql database having multiple schemas by @akatiyar in https://github.com/liquibase/liquibase/pull/2616
    • Added logic to Derby.getDefaultDriver() to check for availability of different driver classes by @AlexanderSashchenko in https://github.com/liquibase/liquibase/pull/2571
    • Fixed TableOutput spaces when using long words (DAT-10069) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2879
    • Fixed addAutoIncrement startValue and incrementBy support on postgresql by @nvoxland in https://github.com/liquibase/liquibase/pull/2588
    • Support non-classpath: protocols in Spring by @reallyinsane in https://github.com/liquibase/liquibase/pull/2524
    • Fixed #2780: AddColumnChange with schema and NOT NULL constraint fails by @MartinRied in https://github.com/liquibase/liquibase/pull/2781
    • Make extension matching for SQL parsers case-insensitve DAT-10265 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2884
    • Restored outputDefaultSchema and outputDefaultCatalog command arguments by @nvoxland in https://github.com/liquibase/liquibase/pull/2834
    • Quote liquibase.jar path in bash launcher by @nvoxland in https://github.com/liquibase/liquibase/pull/2885
    • Fix for working with Firebird 2 and newer versions. Fixes nullables and boolean type. by @mngsgoncalves in https://github.com/liquibase/liquibase/pull/2277
    • Fixed issue if change changelog object is null by @kamalnigam in https://github.com/liquibase/liquibase/pull/2837
    • Filter out license key strings for Hub communication DAT-10522 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2926
    • Specify which parameter is missing in the error message by @bendem in https://github.com/liquibase/liquibase/pull/2567
    • Split license information into OSS vs. Pro directories by @nvoxland in https://github.com/liquibase/liquibase/pull/2868
    • Use the method setBlob to insert blob data by @xjodoin in https://github.com/liquibase/liquibase/pull/605
    • Smooth out differences in "./" paths by @nvoxland in https://github.com/liquibase/liquibase/pull/2915
    • Include inherited labels in databasechangelog table by @nvoxland in https://github.com/liquibase/liquibase/pull/2870
    • Restored OSGi headers by @nvoxland in https://github.com/liquibase/liquibase/pull/2924
    • Working on better Git Bash console solution DAT-10230 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2882
    • close InputStream in SQLFileChange (DAT-9855) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2920
    • Support prepared statements for query by @fbiville in https://github.com/liquibase/liquibase/pull/2913
    • Implement NOT VALID for Postgres databases by @coenvk in https://github.com/liquibase/liquibase/pull/2600

    Updates

    Security Updates

    • No security updates needed in this release

    JDBC Driver and Third-Party Library Updates

    • Added connector-api.jar to internal/lib by @nvoxland in https://github.com/liquibase/liquibase/pull/2873
    • Upgraded mysql-connector-java from 8.0.28 to 8.0.29 by @dependabot in https://github.com/liquibase/liquibase/pull/2798
    • Move opencsv to be non-shaded by @nvoxland in https://github.com/liquibase/liquibase/pull/2903
    • Added snowflake driver to CLI by @nvoxland in https://github.com/liquibase/liquibase/pull/2931
    • Upgraded mssql-jdbc from 10.2.0.jre8 to 10.2.1.jre8 by @dependabot in https://github.com/liquibase/liquibase/pull/2846

    OWASP Dependency Check: Reported Vulnerabilities

    • jcc.jar - This is a vulnerability reported against the IBM DB2 JDBC driver. It is awaiting reanalysis. We are currently on the newest version of jcc.jar [https://github.com/advisories/GHSA-fm4j-wr6m-32wg] (https://nvd.nist.gov/vuln/detail/CVE-2008-1997)
    • h2.jar - This is a vulnerability reported against the H2 driver. It is awaiting reanalysis. We are currently on the newest version of h2.jar[https://github.com/advisories/GHSA-wm64-883p-84j3] (https://nvd.nist.gov/vuln/detail/CVE-2018-14335)

    New Contributors

    • @MichaelCkr made their first contribution in https://github.com/liquibase/liquibase/pull/2595
    • @akatiyar made their first contribution in https://github.com/liquibase/liquibase/pull/2616
    • @Cliftonz made their first contribution in https://github.com/liquibase/liquibase/pull/2785
    • @reallyinsane made their first contribution in https://github.com/liquibase/liquibase/pull/2524
    • @MartinRied made their first contribution in https://github.com/liquibase/liquibase/pull/2781
    • @dwieland made their first contribution in https://github.com/liquibase/liquibase/pull/2656
    • @mngsgoncalves made their first contribution in https://github.com/liquibase/liquibase/pull/2277
    • @kamalnigam made their first contribution in https://github.com/liquibase/liquibase/pull/2837
    • @bendem made their first contribution in https://github.com/liquibase/liquibase/pull/2567
    • @xjodoin made their first contribution in https://github.com/liquibase/liquibase/pull/605
    • @abrackx made their first contribution in https://github.com/liquibase/liquibase/pull/2934
    • @coenvk made their first contribution in https://github.com/liquibase/liquibase/pull/2600

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.11.0...v4.12.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.12.0.jar(4.95 MB)
    liquibase-4.12.0.tar.gz(59.94 MB)
    liquibase-4.12.0.zip(59.97 MB)
    liquibase-additional-4.12.0.zip(8.17 MB)
    liquibase-macos-installer-4.12.0.dmg(105.72 MB)
    liquibase-windows-x64-installer-4.12.0.exe(104.24 MB)
  • v4.11.0(May 24, 2022)

    Liquibase 4.11 release

    Please report any issues to https://github.com/liquibase/liquibase/issues.

    Breaking Changes

    Starting with 4.11, we moved the global libraries we ship with the CLI from the lib directory to a new internal directory structure. The lib directory is still included in the classpath as the place users can add whatever additional global drivers/libraries they need.

    The liquibase --version output has been enhanced to also include the 3rd party libraries being used and their versions.

    Impacts:

    • If you are upgrading Liquibase by overwriting an existing directory, you will have duplicate libraries between lib and internal/lib. You should manually delete any files in lib which you did not add yourself. Liquibase will continue to work even with the duplicate libraries, but you may not be running the latest version of ones we ship, since the lib files take priority over what is in internal/lib. New installs are not impacted by this.
    • If you have any automation that did anything with our shipped files in lib you will need to update it to reflect the new internal/lib location

    For security reasons, we have also changed what is logged by the CLI to only log liquibase channel messages by default, rather than all log channels. If you are relying on logging from non-Liquibase libraries, you can add channels with the new --log-channels flag, including --log-channels=all to restore the old functionality.

    Enhancements

    • Moved shipped jar files out of lib and into a new internal/lib directory by @nvoxland in https://github.com/liquibase/liquibase/pull/2850
    • To help with performance troubleshooting, there is now a --monitor-performance argument for the CLI (and only the CLI) which enables profiling of the Liquibase run. The generated profiling information can help us understand and fix performance issues easier. https://github.com/liquibase/liquibase/pull/2599
    • Upgraded Java shipped with the installers from 11 to 17 by @nvoxland in https://github.com/liquibase/liquibase/pull/2602
    • Added whitelist for CLI log channels by @nvoxland in https://github.com/liquibase/liquibase/pull/2859

    Fixes

    • Do not throw a confusing error if a datatype specified as a changelog parameter is not expanded by @nvoxland in https://github.com/liquibase/liquibase/pull/2772
    • Fixed SQLite not correctly snapshotting tables with underscores in the name by @nvoxland in https://github.com/liquibase/liquibase/pull/2778
    • Fixed local XSD lookup by @nvoxland in https://github.com/liquibase/liquibase/pull/2830
    • Standardized "start-h2" commands on "liquibase init start-h2" logic by @nvoxland in https://github.com/liquibase/liquibase/pull/2597
    • Support default values in the format (0)::real by @nvoxland in https://github.com/liquibase/liquibase/pull/2836
    • Fix handling of defaultSchemaName on Postgresql by @nvoxland in https://github.com/liquibase/liquibase/pull/2812
    • Introduce generateStatementsFromRows for extensions by @fbiville in https://github.com/liquibase/liquibase/pull/2686
    • Fixed XSD type of "ordered" and "cycle" attributes to be booleanby @DartVerder in https://github.com/liquibase/liquibase/pull/2725
    • Remove custom log message filtering by @nvoxland in https://github.com/liquibase/liquibase/pull/2777
    • Spring Boot: better support relativeToChangelogfile when ResourceLoaders return FilteredReactiveWebContextResources by @erik-meuwese-topicus in https://github.com/liquibase/liquibase/pull/2758
    • Fix ForeignKeyComparator when foreign key table is not known by @joserebelo in https://github.com/liquibase/liquibase/pull/2565
    • Test System Framework: add support for "liquibase.sdk.testSystem.skip" property by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2838
    • Test System Framework: stop database containers when spock execution ends by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2843

    Updates

    Security Updates

    • No security updates needed in this release

    JDBC Driver and Third-Party Library Updates

    • Upgraded picocli from 4.6.1 to 4.6.3 by @dependabot in https://github.com/liquibase/liquibase/pull/2518
    • Upgraded jaxb libraries to the newest 2.3.x versions by @nvoxland in https://github.com/liquibase/liquibase/pull/2793
    • Upgraded snakeyaml from 1.27 to 1.30 by @dependabot in https://github.com/liquibase/liquibase/pull/2498

    OWASP Dependency Check: Reported Vulnerabilities

    • jcc.jar - This is a vulnerability reported against the IBM DB2 JDBC driver. It is awaiting reanalysis. We are currently on the newest version [CVE-2008-1997] (https://nvd.nist.gov/vuln/detail/CVE-2008-1997)
    • h2.jar - This is a vulnerability reported against the H2 driver. It is awaiting reanalysis. We are currently on the newest version [CVE-2018-14335] (https://nvd.nist.gov/vuln/detail/CVE-2018-14335)

    New Contributors

    • @nikosmoum made their first contribution in https://github.com/liquibase/liquibase/pull/2630
    • @DartVerder made their first contribution in https://github.com/liquibase/liquibase/pull/2725
    • @erik-meuwese-topicus made their first contribution in https://github.com/liquibase/liquibase/pull/2758
    • @joserebelo made their first contribution in https://github.com/liquibase/liquibase/pull/2565

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.10.0...v4.11.0

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.11.0.jar(6.57 MB)
    liquibase-4.11.0.tar.gz(34.98 MB)
    liquibase-4.11.0.zip(35.01 MB)
    liquibase-additional-4.11.0.zip(8.07 MB)
    liquibase-macos-installer-4.11.0.dmg(80.73 MB)
    liquibase-windows-x64-installer-4.11.0.exe(79.24 MB)
  • v4.10.0(May 5, 2022)

    Liquibase 4.10 release

    Please report any issues to https://github.com/liquibase/liquibase/issues.

    Breaking Change

    Upgraded mssql driver to 10.2.0 by @nvoxland in https://github.com/liquibase/liquibase/pull/2790

    End User Impact: The driver changed the encryption default from "false" to "true" between 8.x and 10.x. If you have a self-signed certificate in your database, you must do one of the following: add encrypt=false; add trustServerCertificate=true; or add the server certificate to the java trusted certificate list. For production systems, Liquibase recommends against using self-signed certificates without adding the server certificate to the Java keystore. For more information on installing the trusted certificate, see https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/manage-certificates?view=sql-server-ver15

    Security Updates

    Upgraded postgresql from 42.3.2 to 42.3.4 to address CVE-2022-26520 by @dependabot in https://github.com/liquibase/liquibase/pull/2769

    JDBC Driver and Third-Party Library Updates

    • Upgraded oracle driver to 21.5.0.0 by @nvoxland in https://github.com/liquibase/liquibase/pull/2791
    • Upgraded jcc from 11.5.6.0 to 11.5.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2421
    • Upgraded mssql driver to 10.2.0 by @nvoxland in https://github.com/liquibase/liquibase/pull/2790
    • Upgraded h2 from 2.1.210 to 2.1.212 by @dependabot in https://github.com/liquibase/liquibase/pull/2740
    • Upgraded sqlite-jdbc from 3.34.0 to 3.36.0.3 by @dependabot in https://github.com/liquibase/liquibase/pull/2412
    • Upgraded jaybird from 4.0.3.java8 to 4.0.6.java8 by @dependabot in https://github.com/liquibase/liquibase/pull/2802
    • Upgraded hsqldb from 2.4.0 to 2.5.2 by @nvoxland in https://github.com/liquibase/liquibase/pull/2797
    • Updated information in "licenses" directory by @nvoxland in https://github.com/liquibase/liquibase/pull/2795
    • Upgraded mariadb driver to 3.0.4 by @nvoxland in https://github.com/liquibase/liquibase/pull/2789

    Enhancements

    • Quality checks for Maven - checks.run and checks.show goals [DAT-9033] [DAT-9034] For more information, see Maven checks.run and Maven checks.show.
    • Allow CompositeResourceAccessor to have a non-fixed size list of ResourceAccessor so that the list can be added to/removed from by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2650
    • Correctly handle null class package names in the logging system by @nvoxland in https://github.com/liquibase/liquibase/pull/2763
    • Handle URLs correctly in error conditions DAT-9882 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2709
    • Validate formatted SQL changelog for invalid patterns DAT-7721 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2761

    Fixes

    • [PRO] Diff commands correctly recognizing triggers as changed/different in Postgresql10 [DAT-9559]
    • Fix EnterpriseDB database recognition by @nvoxland in https://github.com/liquibase/liquibase/pull/2767
    • Fix start failure with NullPointerException when Environment contains empty string Key (fix Issue 2631) by @feltonma91 in https://github.com/liquibase/liquibase/pull/2636
    • Fix createTable on Mysql not preserving primary key information when remarks also defined on the column by @nvoxland in https://github.com/liquibase/liquibase/pull/2752
    • Updated information in "licenses" directory by @nvoxland in https://github.com/liquibase/liquibase/pull/2795

    New Contributors

    • @kataggart made their first contribution in https://github.com/liquibase/liquibase/pull/2577
    • @feltonma91 made their first contribution in https://github.com/liquibase/liquibase/pull/2636

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.9.1...v4.10.0

    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 Make doc updates Help by asking and answering questions Set up a chat with the Product team

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.10.0.jar(6.43 MB)
    liquibase-4.10.0.tar.gz(34.87 MB)
    liquibase-4.10.0.zip(34.89 MB)
    liquibase-additional-4.10.0.zip(8.04 MB)
    liquibase-macos-installer-4.10.0.dmg(84.78 MB)
    liquibase-windows-x64-installer-4.10.0.exe(86.04 MB)
  • v4.9.1(Mar 29, 2022)

    Liquibase 4.9.1 patch release

    Please report any issues to https://github.com/liquibase/liquibase/issues.

    Notable Changes

    [PR#2666] [nvoxland] Liquibase 4.9.1 release is a patch release that fixes the MANIFEST.MF location in the liquibase.jar file for tools that require the MANIFEST.MF file to be the first entry in the jar archive. If the MANIFEST.MF file is not the first entry, java.util.jar.JarInputStream#getManifest() reading the MANIFEST.MF file will not return the manifest information appropriately. The PR fixes issue #2648.

    [Issue#2672] Addresses the remaining OSGi-related packaging problems to fully restore Liquibase support in OSGi environments.

    Fixes

    [PR#2651] Fixed the issue with a malicious software alert for the Liquibase macOS Installer preventing from proceeding with the installation. [DAT-9524]

    [PR#2643] Fixed an issue in snapshot on PostgreSQL where non-integer datatypes that used a default value with a sequence would not be handled correctly [DAT-8670]

    [PR#2691] Fixed invalid JSON in the example-changelog.json file [DAT-9893]

    Fixes security issue in which sqlcmd outputs userid and password when using loglevel=INFO [DAT-9571]

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.9.0...v4.9.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:

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.9.1.jar(6.42 MB)
    liquibase-4.9.1.tar.gz(31.67 MB)
    liquibase-4.9.1.zip(31.69 MB)
    liquibase-additional-4.9.1.zip(8.00 MB)
    liquibase-macos-installer-4.9.1.dmg(81.58 MB)
    liquibase-windows-x64-installer-4.9.1.exe(82.84 MB)
  • v4.9.0(Mar 17, 2022)

    Liquibase 4.9.0 release

    Please report any issues to https://github.com/liquibase/liquibase/issues.

    Notable Changes

    Liquibase 4.9.0 introduces the following functionality:

    • [PRO] Quality Checks JSON object so that your application can easily parse through the Liquibase output [DAT-9094] For more information, see Quality Checks JSON Object.
    • [PR#2558] [kavya-shastri] [Breaking Change]The change in the usage of the Liquibase global configuration for the secureParsing parameter to prevent the entity resolver from scanning the network for missing XSDs. If you reference an XSD other than one from Liquibase and have never stored them in your classpath, Liquibase will no longer automatically download and use the XSD from the internet for security reasons. The default value for secureParsing is true, but you can set it to false in any of the Liquibase configuration locations. For more information, see XSD support.
    • [PR#2529] [Krzysztof Sierszeń] [LB-1781] The uniqueConstraintExists precondition to check for the existence of unique constraints before running the update. You can check the constraint by constraint name or columns:
    <preConditions>
        <uniqueConstraintExists constraintName="uq_constraint_name" tableName="test_table"/>
    </preConditions>
    
    <preConditions>
        <uniqueConstraintExists tableName="test_table" columnNames="first_name, last_name"/>
    </preConditions>
    
    • [PR#2339] [nvoxland] [Toukite] The support for running the Liquibase Servlet listener in application servers built on the Jakarta Servlet specification and not the Java Servlet specification. To use the new listener, specify the following tag:
    <listener>
        <listener-class>liquibase.integration.servlet.LiquibaseJakartaServletListener</listener-class>
    </listener>
    

    The PR fixes issue #2298.

    Enhancements

    • [PR#2434] [Balázs Dési] Added the Maven validate goal to maven-liquibase-plugin to provide access to the existing Liquibase validate command and be available not only in CLI, but also in Maven For more information, see Maven validate.
    • Added the ability to use sqlcmd on an instance with multiple databases [DAT-9513] For more information, see Using the SQLCMD integration and runWith attribute with Liquibase Pro and MSSQL Server.
    • Added support for Liquibase, Spring Boot, and SQL Plus run with Kerberos [DAT-9409] For more information, see Using Liquibase and Spring Boot with SQL Plus and Kerberos Authentication.
    • [PR#2561] [Wesley Willard] Added the --schemas argument to the snapshot command to be able to compare a multi-schema database to its snapshot [DAT-9433]
    • [PR#2606] [Wesley Willard] Added a best practice message for the generate-changelog command so that you can check if the splitStatements attribute works for your environment when generating formatted SQL changelogs [DAT-9327]
    • Added the StripComments attribute for the SQLUserDefinedPatternCheck quality check to choose the code that the SQLUserDefinedPatternCheck searches, including the option for the commented code. The StripComments attribute strips comments from SQL before searching for the string. The default value is N (no). [DAT-9098]
    • [PR#2273] [Tsvi Zandany] Added the autocomplete option for quality checks commands running on macOS

    Fixes

    • [PR#2542] [nvoxland] Fixed the --should-snapshot-data CLI parameter to be preserved when the --data-output-directory property is not specified in the command
    • [PR#2330] [Inane Mohammed] Fixed the issue with checking the referenceSnapshot parameter instead of referenceDatabase for the potential null value
    • [PR#2521] [Steven Massaro] Added a label, context, and comment to the example-changelog.sql file that comes with the Liquibase installation package [DAT-9325]
    • [PR#2556] [nvoxland] Fixed the CockroachDB processes so that Liquibase checks the URL first rather than proceeding with SQL calls
    • [PR#2569] [Clarence Dimitri CHARLES] Made FormattedSqlChangeLogParser to be reusable for extensions
    • [PR#2377] [devorgpl] Fixed the issue with updating statements when the onlyUpdate attribute is false in the loadUpdateData Change Type for HSQL
    • [PR#1908] [Emiliano Capoccia] Fixed the issue with retrieving the CockroachDB version. As part of the fix, Liquibase generates version-specific autoincrement SQL statements for CockroachDB identity columns:
      • SMALLSERIAL, SERIAL, and BIGSERIAL for versions earlier than 21.2
      • GENERATED BY DEFAULT AS IDENTITY for version 21.2 or later
    • [PR#2135] [PR#2133] [Saucistophe] [mkobylarz] Fixed the issue with the endDelimiter attribute not being respected during the Liquibase update. The fix for endDelimiter does not break the handling of trailing comments in SQL statements. [LB-2186]
    • [PR#2573] [nvoxland] Fixed the quoting for the MANIFEST.MF file for correct versioning
    • [PR#2572] [Steven Massaro] Fixed the issue with generating changelogs for PostgreSQL columns that use SET DEFAULT [DAT-8779]
    • [PR#2589] [nvoxland] [Marcel Blonk] Fixed the MD5 checksums generated by older versions of Liquibase to be correctly updated in the DATABASECHANGELOG table when a more recent version of Liquibase executes against the database. The PR fixes issue #2580.
    • [PR#2592] [nvoxland] Added support for the double precision type in MySQL. The PR fixes issue #2337.
    • [PR#1894] [KushnirykOleh] Fixed the time data type to be precise for PostgreSQL. The PR fixes issue #1774.
    • [PR#2387] [Jenson3210] Fixed the handling of date and time in the loadData Change Type
    • [PR#2566] [nvoxland] Updated OpenCSV from 5.5.2 to 5.6

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.8.0...v4.9.0

    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:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.9.0.jar(6.42 MB)
    liquibase-4.9.0.tar.gz(31.67 MB)
    liquibase-4.9.0.zip(31.69 MB)
    liquibase-additional-4.9.0.zip(8.01 MB)
    liquibase-macos-installer-4.9.0.dmg(81.56 MB)
    liquibase-windows-x64-installer-4.9.0.exe(82.84 MB)
  • v4.8.0(Feb 22, 2022)

    Liquibase 4.8.0 release

    Please report any issues to https://github.com/liquibase/liquibase/issues.

    Notable Changes

    Liquibase 4.8.0 introduces the following functionality:

    • The init hub subcommand that connects your local Liquibase activity to Liquibase Hub and sets up the Liquibase environment to use Liquibase Hub. [DAT-8769]

    Note: For more information, see init hub and Getting Started with Liquibase Hub.

    • [PRO] The sqlcmd utility support to process complex SQL for MSSQL Server. Liquibase provides the liquibase.sqlcmd.conf file to pass arguments to your executor when running Liquibase Pro. [DAT-7447]

    Note: For more information, see Using the SQLCMD integration and runWith attribute with Liquibase Pro and MSSQL Server.

    • Changes to the behavior of the XML parser, which no longer allows referencing external DTD files for security reasons. If you use externally defined entities or any other potentially insecure XML feature in your changelogs, set liquibase.secureParsing=false. [PR#2384] [LB-2218]

    Note: For more information about the ways to set the parameter, see Command Parameters.

    • The upgrade of the postgresql (from 42.2.12 to 42.3.2) and h2 (from 2.0.206 to 2.1.210) drivers that Liquibase includes in the installation package. If you use those drivers and upgrade an existing Liquibase installation, remove the earlier versions of drivers from the LIQUIBASE_HOME/lib directory.

    Enhancements

    • Implemented the SimpleObjectConstructor interface for DB2 on z/OS [DAT-8580]
    • Included the CLI instructions on how to use the properties file with a nonstandard name when running the init project subcommand [DAT-9041]
    • Improved the output message for init start-h2 when the H2 database driver is specified, but there is no connection detected [DAT-8992]
    • Added validation errors for the enableCheckConstraint, disableCheckConstraint, dropPackage, dropPackageBody Change Types [DAT-9017]
    • [PR#2367] [Mike Olivas] Added example rollback scripts to the example-changelog.sql file [LB-2220]
    • [PR#1648] [Daniel Gray] Improved the exception error message for the customChange node with no class attribute [LB-1144]
    • [PR#2222] [msimko81] Added the offline mode support for the rollback-sql <tag> operation [LB-2198]
    • [PR#2273] [Tsvi Zandany] Added the autocomplete quality checks commands for macOS
    • [PR#2308] [Valentin Blistin] Added the close method for the ClassLoaderResourceAccessor class [LB-2205]

    Fixes

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.7.1...v4.8.0

    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:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.8.0.jar(6.37 MB)
    liquibase-4.8.0.tar.gz(31.63 MB)
    liquibase-4.8.0.zip(31.65 MB)
    liquibase-additional-4.8.0.zip(7.95 MB)
    liquibase-macos-installer-4.8.0.dmg(81.47 MB)
    liquibase-windows-x64-installer-4.8.0.exe(82.72 MB)
  • v4.7.1(Jan 21, 2022)

    Liquibase 4.7.1 is a patch release

    Please report any issues to https://github.com/liquibase/liquibase/issues

    Known Issues

    In version 4.7.0, users that have "edb" in connection URLs but are not using EnterpriseDB experienced errors that caused Liquibase to misinterpret the database dialect. This patch release resolves this issue along with several others.

    Enhancements

    • Added a new quality check – RollbackRequired. The check detects when a changeset does not have a rollback. [DAT-8871]
    • Enabled SQL parser for the TableColumnLimit check to work with formatted SQL changelogs [DAT-8531]
    • Implemented the --auto-update quality check parameter, which allows automatic backup and updating of the liquibase.check-settings.conf file when new quality checks are available. [DAT-8752]
      • CLI: --auto-update=[on|off]
      • liquibase.properties file: liquibase.command.checks.show.autoUpdate: [on|off]
      • [PRO] Environment variable: LIQUIBASE_COMMAND_CHECKS_SHOW_AUTO_UPDATE=[ON|OFF]

    Note: You can use the property not only with the show command but any other quality checks command.

    Fixes

    • [PR#2364] [Nathan Voxland] [M-Koers] Made EnterpriseDBDatabase detection less broad. The implementation of EnterpriseDBDatabase picked up database with "edb" in the URL instead of an actual EDB URL. The PR fixes PR#2363. [LB-2214]
    • Fixed quality checks with OBJECT_TYPES=TABLE, COLUMN, SEQUENCE specified in the same ObjectNameMustMatch rule to find all matches [DAT-8716]
    • Fixed the runWith=changeLogProperty attribute not working in a formatted SQL changelog [DAT-4793]
    • [PR#2270] [Nathan Voxland] [Michael Kroll] Fixed the handling of the cacheSize attribute in the createSequence and alterSequence Change Types for MariaDB. The PR fixes PR#2147. [LB-2191]
    • [PR#2269] [Nathan Voxland] [Tsvi Zandany] Fixed the handling of the tag-exists command old syntax in Liquibase 4.4 and later (liquibase tagExists myTag) to correctly convert the pattern into new versions. The PR fixes PR#2109. [LB-2192]
    • [PR#2188] [Cullen Coyle] Added the columnDataType attribute for the generated setColumnRemarks changesets to fix an error in MySQL [LB-2199]
    • [#932] [Matthias Wuttke] Added support for sequences in MaxDB [LB-41]
    • [PR#2282] [AlexanderSashchenko] Fixed the drop column statement generator for DB2 on z/OS [DAT-8744]

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.7.0...v4.7.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 make it stronger:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.7.1.jar(6.33 MB)
    liquibase-4.7.1.tar.gz(31.54 MB)
    liquibase-4.7.1.zip(31.56 MB)
    liquibase-additional-4.7.1.zip(7.75 MB)
    liquibase-macos-installer-4.7.1.dmg(81.38 MB)
    liquibase-windows-x64-installer-4.7.1.exe(82.63 MB)
  • v4.7.0(Jan 10, 2022)

    Liquibase 4.7.0 release

    Please report any issues to https://github.com/liquibase/liquibase/issues

    Notable Changes

    Liquibase 4.7.0 introduces the init command with the project and start-h2 subcommands.

    • The init project subcommand helps to set configuration files for using Liquibase or, if you already use Liquibase, create new project files with minimal input. [DAT-8640]
    • The init start-h2 subcommand helps to start the included in-memory H2 database. The subcommand needs to be run in a new terminal window. [DAT-8945]

    Note: For more information and examples of using init project, see init project.

    Additionally, we have updated the Liquibase Getting Started tutorials, sample changelog files, and the example H2 database in the installation package. From now on, you can use sample SQL, XML, JSON, and YAML changelog files with the corresponding changesets and the latest version of H2. [LB-2177] [LB-2174]

    Note: Check Liquibase Getting Started to see more details.

    Enhancements

    • [PRO] Improved the output of the rollback-one-update command [DAT-7590]
    • [PR#2244] [Tsvi Zandany] Enabled the use of the jdbc:edb URL for Liquibase to recognize EnterpriseDB [LB-2185]
    • [PR#2225] [Nathan Voxland] [Konstantin] Enabled the use of lowercase sys.synonyms objects for the generate-changelog and diff-changelog commands in Liquibase and SQL Server. The PR fixes PR#2044. [LB-2175]
    • Added DB2 on z/OS database type and Java classes for Liquibase [DAT-8575]
    • Upgraded H2 to the later version – 2.0.206
    • [PR#2197] [Andrii Tytarchuk] Added optional SQL Plus properties to the liquibase.sqlplus.conf file and put the file in the examples/sql folder [DAT-7618]
      • liquibase.sqlplus.args
      • liquibase.sqlplus.keep.temp.path
      • liquibase.sqlplus.keep.temp.name
    • [PR#2215] [Nathan Voxland] Improved MySQL loadData performance [LB-2173]

    Fixes

    • Fixed the generateChangeLog wrong dependency order: the addPrimaryKey Change Type appeared before its base table in PostgreSQL [DAT-8256]
    • Fixed the quality checks settings file to be created using both relative and absolute paths [DAT-8275]
    • Fixed quality checks reporting only the first failure for a changeset to report all failures in outputs [DAT-8630]
    • [PR#2066] [smainz] Fixed the loadData Change Type to recognize CSV files when loading data with the path that contains a dot character ('.') [LB-2178]
    • [PR#2071] [Nicolas Humblot] [Philipp] Fixed the addNotNullConstraint Change Type causing the "Data too long" error message. The PR fixes PR#1054. [LB-2187]
    • [PR#2073] [smainz] Fixed the relativeToChangelogFile attribute for loadData, createProcedure, and createView Change Types [LB-2179]
    • [PR#2228] [Nathan Voxland] Updated the logic of the foreign key names that are not always unique [LB-2176]
    • [PR#2081] [Jakub Herkel] Fixed OSGI support (manifest and class loading) [LB-2184]
    • [PR#2192] [Andrii Tytarchuk] Fixed COLUMN_SIZE for the PostgreSQL NUMERIC[] datatype

    Full Changelog: https://github.com/liquibase/liquibase/compare/v4.6.2...v4.7.0

    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 make it stronger:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.7.0.jar(6.32 MB)
    liquibase-4.7.0.tar.gz(31.53 MB)
    liquibase-4.7.0.zip(31.55 MB)
    liquibase-additional-4.7.0.zip(7.72 MB)
    liquibase-macos-installer-4.7.0.dmg(81.37 MB)
    liquibase-windows-x64-installer-4.7.0.exe(82.62 MB)
  • v4.6.2(Dec 1, 2021)

    Liquibase 4.6.2 is a patch release

    Please report any issues to https://github.com/liquibase/liquibase/issues

    Notable Changes

    Liquibase 4.6.2 introduces the multiple objects quality check that allows you to define and check the naming pattern for multiple types of objects rather than one type of object. For example, you do not want to have a dash in the table, column, and sequence names. With the multiple objects check, you can specify a pattern to check for dashes and choose tables, columns, and sequences as the objects to check. In version 4.6.2, the check is available for:

    • Table
    • Column
    • Sequence

    Note: For more information, see Multiple Objects Quality Check [DAT-8444]

    The logging of SQL statements and execution output

    Liquibase 4.6.2 includes the liquibase.sql.logLevel configuration option to control the level at which SQL is logged. The default value is FINE.

    You can run the --sql-log-level parameter with the --log-level <level> parameter in the CLI:

    liquibase --sql-log-level <FINE|INFO|SEVERE|WARNING|OFF> --log-level=<FINE|INFO|SEVERE|WARNING|OFF> --log-file=log.txt update --changelog-file=<changelog>
    

    You can also set the parameter as follows:

    • liquibase.sql.logLevel: <FINE|INFO|SEVERE|WARNING|OFF> in your liquibase.properties file
    • LIQUIBASE_SQL_LOG_LEVEL=<FINE|INFO|SEVERE|WARNING|OFF> as an environment variable [PR#1520] [nvoxland]

    An additional liquibase_libs directory

    When you run Liquibase in the CLI, the executables generate a classpath with the .jar files from the LIQUIBASE_HOME and LIQUIBASE_HOME/lib directories. Liquibase 4.6.2 adds the ability to load an additional directory of liquibase_libs in the current working directory to the classpath. With the liquibase_libs directory located in the /lib directory, projects can have separate extensions, drivers, and versions specific to a project [PR#2015] [mcred]

    The validate command in automation

    From now on, the exit code for the validate command running in automation shows 1 when there is an error. The PR fixes PR#1006. [PR#2185] [nvoxland] [christf]

    Enhancements

    • [PRO] Added the ability to configure the DDL_LOCK_TIMEOUT parameter for Oracle without SQL Plus and define the connection timeout. You can configure DDL_LOCK_TIMEOUT as follows:
      • liquibase.ddlLockTimeout: <value> in your liquibase.properties file
      • --ddl-lock-timeout=<value> as a CLI global parameter
      • LIQUIBASE_DDL_LOCK_TIMEOUT=<int> as an environment variable [DAT-7649]
    • Improved the output of the SqlUserDefinedPatternCheck quality check copy [DAT-8492]
    • [PR#1817] [stalbrecht] Added the MSSQLDatabase specific error evaluation when creating DATABASECHANGELOGLOCK table
    • [PR#2180] [nvoxland] [eldadko] Added support for MySQL function indexes. The PR fixes PR#1626.
    • [PR#928] [CORE-931] [RG9] Added support for the NOT NULL constraint with an initial default value in the addColumn Change Type

    Fixes

    • [PR#2173] [wwillard7800] [deci260] Fixed the issue with handling multi-column indexes during the JSON snapshot. The PR fixes PR#1260.
    • [PR#1793] [janjicandjelka8] Fixed the handling of the remarks attribute in a primary key column tag for MariaDB
    • [PR#1894] [KushnirykOleh] Fixed the time data type to be precise for PostgreSQL. The PR fixes PR#1774.
    • [PR#1970] [nvoxland] Fixed the handling of the addColumn Change Type in SQLite
    • [PR#1995] [szandany] Fixed the generate-changelog command to generate the NUMERIC[] data type for PostgreSQL correctly
    • [PR#1990] [JayWelborn] Fixed the SQL generated by the alterSequence Change Type to be compatible with the Oracle, PostgreSQL, MariaDB, and MSSQL databases
    • [PR#2020] [nvoxland] [dewa-actico] Fixed the handling of nested changelog preconditions. The PR fixes PR#1624.
    • Fixed the naming of the checks settings file shown as null if the file was corrupted [DAT-8553]
    • [PR#2021] [nvoxland] [zamani84] Fixed the issue with Liquibase escaping the backslash in values stored in objects. The PR fixes PR#1598.
    • [PR#2083] [jamey-clari] Enabled the update operations to continue if the DATABASECHANGELOGLOCK table already exists, which helps to serialize all processes following schema creation.
    • [PR#2167] [nvoxland] [obovsunivskyii] Fixed the --verbose flag used in the unexpected-changesets command. The PR fixes PR#1987.
    • [PR#2168] [nvoxland] [gilles-gosuin] Fixed the parsing logic for YAMLChangelogParser and changeLogId in a Map. The PR fixes PR#1988.
    • [PR#2102] [prakashseervi] Implemented the handling of the GENERATED ALWAYS AS clause while creating a table for PostgreSQL
    • [PR#2029] [Marcono1234] Fixed the LOCKGRANTED column to include time zone information in the DATABASECHANGELOGLOCK table
    • [PR#2059] [wardvijf] Fixed the support for custom DB2Database implementations. The PR fixes PR#2058.
    • [PR#2171] [logantracyo] Fixed typos in the ColumnConfig.java documentation
    • [PR#2189] [nvoxland] Fixed the classpath to include files with the relativeToChangelog=true parameter for Spring Boot
    • [PR#2216] [tkalmar] Fixed the log message for PostgreSQL versions
    • [PRO] Fixed the snapshot command failing against CockroachDB with the Liquibase Pro license key applied [DAT-8253]
    • Fixed the dependency order for a changelog file with the addPrimaryKey Change Type generated by the generate-changelog command for PostgreSQL [DAT-8256]
    • [PRO] Fixed the following environment variables LIQUIBASE_COMMAND_CHECKS_CONFIGURE_CHECKS_SETTINGS_FILE, LIQUIBASE_COMMAND_CHECKS_RUN_CHECKS_SETTINGS_FILE, and LIQUIBASE_COMMAND_CHECKS_SHOW_CHECKS_SETTINGS_FILE to be detected when running the quality checks commands [DAT-8546]
    • Fixed the default value of the strict parameter. The default value is false. You can set the strict parameter as follows:
      • liquibase.strict=false|true in your liquibase.properties file
      • --strict=false|true as a CLI parameter
      • LIQUIBASE_STRICT=false|true as an environment variable [DAT-8547]
    • Fixed quality checks reporting only the first failure in a changeset to report all failures found [DAT-8583]
    • Fixed the Liquibase Cassandra extension failing when username and password are enabled [LB-2115]

    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 make it stronger:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.6.2.jar(6.27 MB)
    liquibase-4.6.2.tar.gz(31.30 MB)
    liquibase-4.6.2.zip(31.32 MB)
    liquibase-additional-4.6.2.zip(7.69 MB)
    liquibase-macos-installer-4.6.2.dmg(81.14 MB)
    liquibase-windows-x64-installer-4.6.2.exe(82.38 MB)
  • v4.6.1(Nov 4, 2021)

  • v4.6.0(Nov 4, 2021)

    Liquibase 4.6.0 is a major release

    Please report any issues to https://github.com/liquibase/liquibase/issues

    Notable Changes

    Starting with version 4.6.0, the Windows and Mac/Linux Liquibase installers and the .tar.gz and .zip installation files include the most common JDBC drivers in the installation package:

    • DB2
    • Firebird
    • H2
    • HSQLDB
    • PostgreSQL
    • MariaDB
    • MSSQL
    • Oracle
    • SQLite

    To use the available drivers, see the Adding and Updating Liquibase Drivers documentation. Also, check the page for the cases when you need different drivers. [PR#2031] [DAT-7438] Note: Since Liquibase 4.6.0 provides driver jar files, the size of the installation package is bigger than the size of the installation package in earlier versions.

    Liquibase Pro Changes

    • Quality checks have configurable severity and exit codes [DAT-8171]
    • The quality checks bulk-set command [DAT-8289]
    • New quality checks:
      • Static check: Warn when a table truncation is detected [DAT-7933]
      • Dynamic check: Warn when granting specific privileges [DAT-7972]
      • Static check: Warn when the GRANT WITH ADMIN OPTION statement is detected [DAT-7955]
      • Static check: Warn when the GRANT WITH GRANT OPTION statement is detected [DAT-7995]
    • The liquibase.checks-settings.conf file is unencoded in version 4.6.0 and later versions for easier inspection that allows you to resolve a merge conflict in source control. Liquibase backs up encoded files in the working directory, and you can still use previous versions by specifying the --checks-settings-file parameter in the CLI, as an environment variable, or as a property in the liquibase.properties file. [DAT-8473]

    If you use Liquibase Hub, check the Liquibase Hub DevOps metrics documentation to learn more about DevOps metrics that provide the data to optimize your DevOps performance.

    Enhancements

    • [PR#1975] [nvoxland] Changed the XSD default errorOnMissingOrEmpty attribute to true for the includeAll attribute in the XML changelog file. The PR fixes PR#1960.
    • [PR#1993] [siudeks] Added support for deferrable primary keys in the createTable Change Type. The PR fixes PR#1597
    • [PR#1986] [alexey-ivanov-official] [parthdesai21google] Added support for the constraintName attribute in the dropNotNullConstraint attribute. Updated the addNotNullConstraint rollback logic to pass the constraint name to the generated dropNotNullConstraint change. The PR fixes PR#1492 and PR#1942.
    • [PR#2114] [nvoxland] Improved code and added tests in the liquibase.util package
    • [PR#1679] [thomseno] Changed the datetime type to datetime2 for the timestamp type on SQL Server.
    • [PR#2144] [matejsp] Changed the default encoding to UTF-8. Added a new global liquibase.fileEncoding setting, which you can set as --file-encoding=ASCII in the CLI, liquibase.fileEncoding: ASCII in the liquibase.properties file, and LIQUIBASE_FILE_ENCODING=ASCII as an environment variable. The PR fixes PR#1445.
    • [PRO] Added a message to warn Liquibase Pro users when they have noncompliant Liquibase environment variables if the strict attribute is set to true [DAT-6946]

    Fixes

    • [PRO] Fixed the issue with Liquibase 4.4.0 and later versions to prompt if the Liquibase Pro license key is expired or invalid. [DAT-7862]
    • [PRO] Fixed Liquibase Pro SQL Plus changesets failures with the Kerberos setup [DAT-8102]
    • [PRO] Fixed the snapshot command using for CockroachDB with Liquibase Pro license key [DAT-8253]
    • Fixed an issue with running quality checks on Windows when using a configuration file created on Linux/macOS [DAT-8298]
    • Fixed the ChangesetCommentCheck check to handle a lack of comments in the tagDatabase Change Type [DAT-8313]
    • Fixed the default severity for the existing liquibase.checks-settings.conf files [DAT-8328]
    • Fixed the checks customize and checks copy commands to handle directories with spaces [DAT-8389]
    • Fixed the schemas and includeSchema attributes for the generateChangeLog command in Liquibase 4.4 and later versions [DAT-8133]
    • Fixed the quality checks customization issue when using Git Bash [DAT-8392]
    • Fixed the message for the quality checks severity customization [DAT-8415]
    • Fixed the quality checks halting execution when the checks settings file contains entries for rules which do not exist in the system. Liquibase skips unknown checks and continues the execution [DAT-8507].
    • [PR#1407] [pirocraft] Fixed the issue with Liquibase inserting a wrong default datetime value into MySQL. The PR fixes PR#1395.
    • [PR#1415] [Alex1OPS] Fixed the insert Change Type with the valueSequenceNext and valueSequenceCurrent attributes to use the schema specified on a statement level of a changeset. The PR fixes PR#1304.
    • [PR#1931] [nvoxland] Fixed the issue with Liquibase throwing a null pointer exception in the CLI if the LicenseService interface cannot be loaded because of the missing jaxb dependencies
    • [PR#2001] [haster] Fixed the UniqueConstraintSnapshotGenerator class switching to a bulk query after four unique constraints. The PR fixes PR#1996.
    • [PR#1973] [doakd] Fixed the issue with Liquibase formatted SQL changesets that are skipped if there is a space in the --changeset line. The PR fixes PR#1919.
    • [PR#104] [nvoxland] Fixed the dropAll command failing in the PostgreSQL database when the Liquibase-Cassandra extension is in the liquibase/lib directory. The PR fixes PR#47.
    • [PR#2006] [kdenis4] Fixed Liquibase not reading the liquibaseSchemaName and liquibaseCatalogName configuration settings. The PR fixes PR#2000.
    • [PR#1465] [danielthegray] Fixed the issue with Liquibase incorrectly inserting a long CLOB value in the database. Added integration tests.
    • [PR#1974] [gjvoosten] Fixed the issue with Liquibase not handling case-sensitive primary key names in the dropPrimaryKey attribute for PostgreSQL. The PR fixes PR#1933.
    • [PR#1941] [meisenla] [ckulenkampff] Fixed the sqlFile Change Type to handle the encoding attribute. The PR fixes PR#1760.

    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 make it stronger:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.6.0.jar(6.19 MB)
    liquibase-4.6.0.tar.gz(31.33 MB)
    liquibase-4.6.0.zip(31.34 MB)
    liquibase-macos-installer-4.6.0.dmg(71.05 MB)
    liquibase-windows-x64-installer-4.6.0.exe(72.78 MB)
  • v4.5.0(Sep 27, 2021)

    v4.5.0

    Liquibase 4.5.0 is now available at Liquibase.org.

    Here is a closer look at what we improved in the latest release.

    Liquibase 4.5.0 is a major release

    Please report any issues to https://github.com/liquibase/liquibase/issues.

    Notable Changes

    Liquibase 4.5.0 includes support for Liquibase Quality Checks, which allow you to run checks against changelogs and SQL scripts by flagging conditions and configurations you need.

    There is a new family of commands to use to run quality checks:

    • liquibase checks show to list the available quality checks
    • liquibase checks run to run the available quality checks
    • along with enable, disable, customize, copy, reset, and delete options, andliquibase checks --help` to learn more

    The following is a list of changes related to Liquibase Quality Checks:

    • Implement checks enable/disable subcommands [DAT-7794]
    • Implement checks run subcommand for dynamic rules [DAT-7796]
    • Implement checks customize subcommand [DAT-7797]
    • Implement checks copy subcommand [DAT-7798]
    • Implement checks reset subcommand [DAT-7800]
    • Implement checks show subcommand for dynamic rules [DAT-7801]
    • Check for License & Limit gate [DAT-7802]
    • Implement checks delete subcommand [DAT-7803]
    • Initial write of the check-settings-config file [DAT-7858]
    • Add shortname to basic rules [DAT-7876]
    • Add ID to basic rules [DAT-7877]
    • Implement a Dynamic Rule [DAT-7883]
    • STATIC CHECK :: Changeset Must Have A Label [DAT-7924]
    • STATIC CHECK :: Changeset Must Have A Context [DAT-7925]
    • STATIC CHECK :: Changeset Must Have A Comment [DAT-7926]
    • STATIC CHECK :: Warn When "DROP TABLE" Detected [DAT-7928]
    • STATIC CHECK :: Warn When "DROP COLUMN" Detected [DAT-7930]
    • STATIC CHECK :: Warn When Data Type Modification is Detected [DAT-7934]
    • STATIC CHECK :: Warn when 'GRANT' Statement Detected [DAT-7953]
    • STATIC CHECK :: Warn when 'REVOKE' Statement Detected [DAT-7954]
    • DYNAMIC CHECK :: Warn when Tables have more than n columns [DAT-7983]
    • QC subcommand help lists incorrect environment variable format. [DAT-8005]
    • Change name of default settings file for checks to liquibase.checks-settings.conf [DAT-8017]
    • Core: Checks should be run in numeric order (ASC) [DAT-8040]
    • QC: BUG - [Y/n] defaults to n, but should default to [Y]es [DAT-8132]
    • QC: Update the priorities for 3 Liquibase checks (labels, contexts, comments) [DAT-8134]

    Bugfixes

    • Fail when creating a Scope with a null-parent #1354. #1377 Treehopper
    • Fixes Postgresql bit column support #1468 nderwin
    • Fix OSGiResourceAccessor failing due to javax.activation #1534 CMoH
    • fixed usage of computed values in prepared insert/update changes #1590 Plunts
    • Ensure that the root scope is initialized correctly regardless of whether a scope manager has been configured yet or not #1768 rudolfv
    • Fix UniqueConstraint snapshot query on db2z #1771 dileepan91
    • Update MissingTableChangeGenerator.java #1812 briar354
    • Get Set deleteCascade for serializer mapping #1837 smith-xyz
    • Add support for changeset ids and authors with spaces in formattedsql changelogs. #1845 jpz
    • More efficient XML resource loading #1860
    • Postgresql: Preserve existing search_path when setting the defaultSchemaName #1864
    • Fixed postgresql addPrimaryKey cluster handling #1880
    • CLI no longer reading defaultsFile from classpath #1893
    • Manage parent directory relative to changelog in IncludeAll #1968 Cubid
    • Improve synchronization of LockServiceFactory reset #1991
    • Fix createSequence for h2 when dataType is specified #1992
    • [PRO] Pro Enhancement Request: set 'splitStatements' to 'false' for Stored Logic changesets when generating a Formatted SQL changelog [DAT-7391]
    • [PRO] Allow users to indicate names and location of their spool files when using runWith:sqlplus [DAT-7580]
    • [PRO] Cannot update MariaDB expand based storage after first liquibase update [DAT-7879]
    • [PRO] Liquibase PRO generateChangeLog error on Postgresql functions that have long signatures containing any '()' characters [DAT-7894]

    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 make it stronger:

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.5.0.jar(3.82 MB)
    liquibase-4.5.0.tar.gz(7.43 MB)
    liquibase-4.5.0.zip(7.44 MB)
    liquibase-macos-installer-4.5.0.dmg(47.14 MB)
    liquibase-windows-x64-installer-4.5.0.exe(48.88 MB)
  • v4.4.3(Aug 6, 2021)

    Liquibase 4.4.3 is now available at Liquibase.org.

    Here is a closer look at what we improved in the latest release.

    Liquibase 4.4.3 is a patch release

    This release includes many community-contributed pull requests, Liquibase Open Source and Liquibase Pro bug fixes, and enhancements to Liquibase Hub performance and pipelines.

    Notable Changes

    In Liquibase 4.4.3, there are improvements to the FileSystemAlreadyExistsException output message. The original FileSystemNotFoundException warning was changed to be an info message that does not include logs of stack traces. If you are still seeing stack traces, please contact us. #1885 dertin

    Additionally, we fixed bugs in SQL files: #1798

    • The sqlFile and relativeToChangelogFile attributes fail when using the logicalFilePath attribute #1277 darkcamper
    • The wrong path received if relativeToChangelogFile=true and databaseChangeLog has logicalFilePath != PhisicalFilePath #1353 kezhevatov

    Bugfixes

    • Added a separate query for DB2 on AS400, which fixed the dropAll command on DB2 for iSeries #1412 wardvijf
    • Fixed the logicalFilePath attribute not being serialized #1471 tms-91
    • Fixed the SqlParser bug related to parsing UTF-8 valid symbols #1513 matteoturra
    • Fixed the invalid update SQL generated for HSQL database in InsertOrUpdateGeneratorHsql.java #1563 devorgpl
    • Added a validation error when the customChange Change Type has no name attribute #1592 danielthegray
    • Fixed the issue with Liquibase failing to create a DATABASECHANGELOGLOCK record and apply changesets into Firebird 3. isNumericBoolean now checks the Firebird3Database instance type and returns Boolean for Firebird 3. #1875 koushikd02
    • Fixed the issue with escaping question marks in PostgreSQL: #1877 juszczakn and goostleek
      • SQL changesets are transforming the PostgreSQL ? JSON operator into ??, causing function definitions using this operator to become invalid #1764
      • An error when processing a large Postgres SQL changeset #1507
    • Fixed the issue with ClassCastException in a standard lock service: java.time.LocalDateTime cannot be cast to java.util.Date #1878 jocmer-evooq and haidiiii
    • Added the MySQL reserved word CUBE to the list of Liquibase reserved columns for the schema migration to work. CUBE is a reserved word as of MySQL 8.0.1 #1515 jasonwjones
    • Added the ability to handle empty lines at the beginning of a formatted SQL #1713 smith-xyz
    • Fixed loading the CLOB data into PostgreSQL. Instead of loading the CLOB file name, PostgreSQL loads the content of the CLOB file. #1791 jidma
    • Changed the MD5SUM column value from RawSqlStatement to UpdateStatement #1602 biryukovpavel
    • Fixed synchronization in ChangeLogHistoryServiceFactory.java #1361 Olard
    • Fixed the changeset execution failure related to the DATICAL_SPERRORLOG table when using the runWith=sqlplus attribute and executing operations as a user with only SELECT, UPDATE and INSERT permissions [DAT-7410]
    • Combined Liquibase GitHub Action examples into the liquibase/liquibase-github-action-example repository [DAT-6679]
    • Enabled the dropAll report to work with a registered changelog with no extra arguments and send the information to Liquibase Hub [DAT-7554]
    • Renamed the tablespaceName parameter to liquibaseTablespaceName [DAT-7676]

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback

    Our first-time contributors

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.4.3.jar(3.41 MB)
    liquibase-4.4.3.tar.gz(7.04 MB)
    liquibase-4.4.3.zip(7.05 MB)
    liquibase-macos-installer-4.4.3.dmg(46.76 MB)
    liquibase-windows-x64-installer-4.4.3.exe(48.49 MB)
  • v4.4.2(Jul 22, 2021)

    Liquibase 4.4.2 is now available here and through our website. Here is a closer look at what we improved in the latest release.

    Liquibase 4.4.2 is a patch release

    This release includes community-contributed pull requests, Liquibase Open Source and Liquibase Pro bug fixes, and enhancements to the dropAll command and SQL*Plus.

    Known Issues

    UniqueConstraintSnapshotGenerator does not handle more than four unique constraints. The diff command reports a difference in unique constraints caused by the PostgreSQL database snapshot having fewer unique constraints than the snapshot from another database compared. Also, the issue can cause unreliable diffs and changelog generation for all non-MySQL databases. The fix will be available in the next release. #1996

    Liquibase Open Source Issues

    • Changed NullPointerException to ChangeLogParseException for the output when there is a typo in a changeSet node #1593 danielthegray
    • Added the support method to DatabaseConnection #1784 alexandru-slobodcicov
    • Fixed the issue with handling serial and bigserial if liquibase.convertDataTypes=false #1883 szandany
    • Improved the ConfigurationValueProvider performance #1952 stuartwdouglas pmancaux
    • Added the ability to allow an empty string for the defaultValue attribute #1963 ZwoCa
    • Reintroduced support for the -D arguments in the CLI #1943 Gama11
    • Restored the updateTestingRollback command #1939 chornota
    • Added the Maven goal for unexpectedChangeSets #1972 szandany

    Liquibase Pro Issues

    • DAT-6799 Added the ability to handle special characters in procedures when using the generateChangeLog command.
    • DAT-7376 SQL*Plus: Fixed the issue with formatted SQL changesets and runwith:sqlplus being stopped unless Liquibase includes a quit statement.
    • DAT-7461 SQLPlus: Fixed the SQLPlus spool log issue.

    Additional Issues

    • DAT-6972 Extended the dropAll command with optional hubConnectionId and hubProjectId attributes. For more information, check our dropAll command documentation.
    • DAT-7294 Fixed nested properties and the substitution of variables in YML changelogs.
    • DAT-7388 Implemented the ability to use connectionjdbcurl when there is no project or connection ID with the dropAll command.
    • DAT-7036 Improved the Liquibase Pro License key messaging.
    • DAT-7489 Added the ability to handle a declined auto-registration when running the dropAll command.
    • DAT-7505 Fixed auto-registration issues.

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.4.2.jar(3.41 MB)
    liquibase-4.4.2.tar.gz(7.04 MB)
    liquibase-4.4.2.zip(7.05 MB)
    liquibase-macos-installer-4.4.2.dmg(46.75 MB)
    liquibase-windows-x64-installer-4.4.2.exe(48.49 MB)
  • v4.4.1(Jul 9, 2021)

    Liquibase 4.4.1 is now available here and through our website. Here’s a closer look at what's included in the latest release.

    Liquibase 4.4.1 includes bug fixes and updates

    This release introduces SQL*Plus fixes for Liquibase Pro users, addresses some Liquibase Hub integration issues, along with some other bugs listed below.

    Bug fixes

    • HubUpdater releases lock even though registration is skipped #1869
    • Only snapshot tables/columns in loadData #1861
    • [LB-704] fixed generating sequences for Postgres versions prior to 10 #1843
    • Fixes MySQL Snapshot/Generated ChangeLog output for table key constraints when multiple tables #1829
    • Postgres: Rollback of rename target fails due to malformed SQL.
    • Liquibase Hub registerChangeLog messaging fixes
    • Liquibase Hub, Maven, and liquibase.properties file fixes
    • Using --liquibaseProLicenseKey is on the left side of the command
    • Update Liquibase installer adoptopenjdk from 11.0.10 to 11.0.11
    • [PRO] SQL Plus handles backslashes in changeset attributes' values
    • [PRO] SQL Plus passing arguments during runtime fixes
    • [PRO] SQL Plus handles Oracle proxy user setups
    • [PRO] SQL Plus improve temp file handling
    • [PRO] Fixes snapshot on MySQL Stored Logic Objects with Integer Types

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • 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!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.4.1.jar(3.41 MB)
    liquibase-4.4.1.tar.gz(7.03 MB)
    liquibase-4.4.1.zip(7.04 MB)
    liquibase-macos-installer-4.4.1.dmg(46.75 MB)
    liquibase-windows-x64-installer-4.4.1.exe(48.49 MB)
  • v4.4.0(Jun 10, 2021)

    Liquibase 4.4.0 is now available here through Liquibase.org. Here’s a closer look at what's included in the latest release.

    Liquibase 4.4.0 is a major release

    While there are significant changes in important Configuration and Command APIs, and a new CLI library, this release should be 100% backwards compatible. Please report any issues to https://github.com/liquibase/liquibase/issues

    Key changes

    • Refactor Configuration API
      • [PRO] Including native use of Environment variables
    • Refactor Command API
    • Rewrote CLI to use new library
      • including new command options and --help content

    Bugfixes

    • Fixes an issue with Maven logs and username password (#1859)
    • Fixes an issue with resolving properties files (#1723)
    • Fixes an issue with diffChangelog dependency order (#1722)
    • Fixes an issue with generating changlogs with DB2 on z/OS (#1506)
    • Fixes an issue with long table names in Postgres (#1483)
    • Fixes an issue with update flags for Postegres(#1213)
    • Fixes an issue with loadData and loadUpdateData(#964)

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.4.0.jar(3.40 MB)
    liquibase-4.4.0.tar.gz(7.03 MB)
    liquibase-4.4.0.zip(7.04 MB)
    liquibase-macos-installer-4.4.0.dmg(46.72 MB)
    liquibase-windows-x64-installer-4.4.0.exe(49.86 MB)
  • v4.3.5(Apr 29, 2021)

    Liquibase 4.3.5 is now available here through Liquibase.org. Here’s a closer look at what's included in the latest release.

    Liquibase 4.3.5 is a Pro error handling release

    Bugfixes

    Liquibase Pro only:

    • Better error handling in runWith=sqlplus when user doesn't have create/drop table permissions

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.3.5.jar(3.22 MB)
    liquibase-4.3.5.tar.gz(6.55 MB)
    liquibase-4.3.5.zip(6.56 MB)
    liquibase-macos-installer-4.3.5.dmg(46.25 MB)
    liquibase-windows-x64-installer-4.3.5.exe(49.38 MB)
  • v4.3.4(Apr 20, 2021)

    Liquibase 4.3.4 is now available here through Liquibase.org.

    Here’s a closer look at what's included in the latest release.

    Liquibase 4.3.4 is a bugfix release

    Bugfixes

    • DiffChangeLog/GenerateChangeLog produces invalid XML in 4.3.3 (#1803)

    REVERTED FROM 4.3.3:

    • Fixes issue with diffChangeLog and addColumn --> addPrimaryKey ordering (#1722)

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.3.4.jar(3.22 MB)
    liquibase-4.3.4.tar.gz(6.55 MB)
    liquibase-4.3.4.zip(6.56 MB)
    liquibase-macos-installer-4.3.4.dmg(46.24 MB)
    liquibase-windows-x64-installer-4.3.4.exe(49.38 MB)
  • v4.3.3(Apr 12, 2021)

    Liquibase 4.3.3 is now available here through Liquibase.org. Here’s a closer look at what's included in the latest release.

    Liquibase 4.3.3 is a bugfix release

    Bugfixes

    Thanks to everyone who helps make the Liquibase community strong!

    • Fixes an issue with changelogsync and Hub
    • Fixes an issue with dropAll and Postgres (#1212)
    • Fixes an issue with diff and NullPointerException (#1631)
    • Fixes an issue with NullPointerException and DateTimeType (#1366)
    • Fixes issue with Maven resolving/using properties file (#1723)
    • Fixes issue with diffChangeLog and addColumn --> addPrimaryKey ordering (#1722)

    Pull Requests Merged into 4.3.3

    https://github.com/liquibase/liquibase/pull/1649 https://github.com/liquibase/liquibase/pull/1758 https://github.com/liquibase/liquibase/pull/1367 https://github.com/liquibase/liquibase/pull/1744 https://github.com/liquibase/liquibase/pull/1733

    Special 4.3.3 shout-outs

    Big thanks to the Liquibase community, especially stevesaliman, wwillard7800, mironbalcerzak, molivasdat, ro-rah and others!

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.3.3.jar(3.22 MB)
    liquibase-4.3.3.tar.gz(6.55 MB)
    liquibase-4.3.3.zip(6.56 MB)
    liquibase-macos-installer-4.3.3.dmg(46.25 MB)
    liquibase-windows-x64-installer-4.3.3.exe(49.39 MB)
  • v4.3.2(Mar 23, 2021)

    Liquibase 4.3.2 is now available here through Liquibase.org. Here’s a closer look at what's included in the latest release. ​

    Liquibase 4.3.2 offers both enhancements and bugfixes

    Enhancements

    • Added new changelogSyncToTag command
    • Added new deactivatechangelog command for CLI and Maven users of Liquibase Hub. (Read the docs.)
    • Added ability to create Hub projects with parameters instead of only via prompts for CLI and Maven users ​

    Bugfixes

    ​ This release merges many community-contributed pull requests. Thanks to everyone who helps make the Liquibase community strong! ​

    • Only enable console prompting when explicitly enabled by the CLI #1711 #1689
    • Handle includeAll better in spring boot #1595 and #1436
    • Changed JRE bundled with installers to use the latest LTS version
    • Better handle dropAll on postgresql partitioned tables #1650
    • Fixed sample liquibase.sqlplus.conf file #1448 and #1416
    • Fixed loadData's usePreparedStatement attribute #1098
    • Send hub logs at the same log level as configured in the CLI ​ ​

    Pull Requests Merged into 4.3.2

    https://github.com/liquibase/liquibase/pull/1133 https://github.com/liquibase/liquibase/pull/1711 https://github.com/liquibase/liquibase/pull/1689 https://github.com/liquibase/liquibase/pull/1595 https://github.com/liquibase/liquibase/pull/1436 https://github.com/liquibase/liquibase/pull/1650 https://github.com/liquibase/liquibase/pull/1448 https://github.com/liquibase/liquibase/pull/1416 https://github.com/liquibase/liquibase/pull/1098 ​ ​

    Special 4.3.2 shout-outs

    Big thanks to the Liquibase community, especially suilven, ilopmar, nvpxland, chadoc, jglink, stevesaliman, malathit, szandany, jdhmoreno, molivasdat, ro-rah and others! ​ ​

    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: http://learn.liquibase.com/. ​

    Read the documentation

    Please check out and contribute to the continually improving docs, now at: http://docs.liquibase.org/. ​ ​

    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 make it stronger:

    • Contribute code - https://www.liquibase.org/development/contribute.html
    • Make doc updates - https://github.com/liquibase/liquibase.github.com/tree/master/documentation
    • Help by asking and answering questions -- https://forum.liquibase.org
    • Setup a chat with the Product team -- https://calendly.com/liquibase-outreach/product-feedback ​

    Thanks to everyone who helps make the Liquibase community strong!

    Source code(tar.gz)
    Source code(zip)
    liquibase-4.3.2.jar(3.22 MB)
    liquibase-4.3.2.tar.gz(6.55 MB)
    liquibase-4.3.2.zip(6.56 MB)
    liquibase-macos-installer-4.3.2.dmg(46.24 MB)
    liquibase-windows-x64-installer-4.3.2.exe(49.38 MB)
  • v4.3.1(Feb 12, 2021)

    Liquibase 4.3.1 is a quick bugfix release to address:

    • Fixed handling of classpath*: in includeAll #1595
    • ClassCastException on moving to mysql-connector-java 8.0.23 #1639
    • Passwords sent to Hub when using jTDS driver
    • ChangeExecListener cannot be used due to HubChangeExecListener #1651
    • RelativePathError when using includeAll tag and Spring Boot #1657
    • Liquibase 4.3.0 throws NullPointerExceptions without snakeyaml in the classpath #1682
    Source code(tar.gz)
    Source code(zip)
    liquibase-4.3.1.jar(3.21 MB)
    liquibase-4.3.1.tar.gz(6.54 MB)
    liquibase-4.3.1.zip(6.55 MB)
    liquibase-macos-installer-4.3.1.dmg(55.04 MB)
    liquibase-windows-x64-installer-4.3.1.exe(57.93 MB)
Owner
Liquibase
Easily track, version, and deploy database schema changes.
Liquibase
An open source SQL database designed to process time series data, faster

English | 简体中文 | العربية QuestDB QuestDB is a high-performance, open-source SQL database for applications in financial services, IoT, machine learning

QuestDB 9.9k Jan 1, 2023
Apache Cayenne is an open source persistence framework licensed under the Apache License

Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services.

The Apache Software Foundation 284 Dec 31, 2022
Spring Tips: Liquibase

Spring Tips: Liquibase Getting Started with Postgres Before we can do anything, we’ll need a valid PostgreSQL database to which we can connect. You ca

Josh Long 8 Dec 29, 2022
Main Portal page for the Jackson project

Jackson Project Home @github This is the home page of the Jackson Project. What is New? Oct 1, 2020: Jackson participates in Hacktoberfest2020 and we

FasterXML, LLC 7.9k Jan 2, 2023
Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles.

Microserver A convenient modular engine for Microservices. Microserver plugins offer seamless integration with Spring (core), Jersey, Guava, Tomcat, G

AOL 936 Dec 19, 2022
Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles.

Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles.

AOL 936 Dec 19, 2022
联邦学习系统,包括常用算法和通用训练推理系统框架 | Fedlearn Main System, Including Algorithms and Frameworks for Training / Inference.

fedlearn 京东科技联邦学习系统 系统包含包含控制端(即前端)、协调端、单点客户端和分布式客户端等 1.代码结构 代码分为多个模块 assembly 整体代码打包模块,无实际功能 client 单机版客户端 common 公共包,实体和工具定义 coordinator 协调端,负责协调多个参与

null 57 Dec 31, 2022
support main wireless display protocols of Airplay SDK, Miracast SDK, WiDi SDK, GoogleCast SDK, DLNA SDK, BJCast SDK

WirelessDisplay MAIN FEATURES Support main wireless display protocols of Airplay, Miracast, WiDi, GoogleCast, DLNA, BJCast Can run on windows/linux/an

BJCast 90 Dec 26, 2022
JDK main-line development

Welcome to the JDK! For build instructions please see the online documentation, or either of these files: doc/building.html (html version) doc/buildin

OpenJDK 14.8k Dec 29, 2022
The main goal of the project is to reproduce a Database for a Ecommerce Web Application;

Web-Ecommerce Springboot Web Application The main goal of the project is to reproduce a Database for a Ecommerce Web Application; We have a Category-P

João Figueredo 1 Feb 2, 2022
Basic crud operations with json data, main focus is with tests

Spring Crud operations Basic crud operations with json data, main focus is with tests. For future reference Road Map Basic Crud on controllers (done)

Jarno Saastamoinen 1 Feb 1, 2022
Renders GLSL shaders in Minecraft main menu

GLSLMenu Renders GLSL shaders in Minecraft main menu How to use (you need Forge) Download GLSLMenu jar from releases page and put it into your mods fo

null 18 Nov 19, 2022
code to the rat i give to people if u want to change the webhook its in "src/main/java/github/quantizr/autogg/guis/gui" please just dont sell my rat :(

SkyblockRat My rats code join my discord! https://discord.gg/bbK6ndHqN6 i got tired of people asking "is it double hooked?!" so here is my rats code y

null 6 Dec 10, 2022
Inria 1.4k Dec 29, 2022
Sourcetrail - free and open-source interactive source explorer

Sourcetrail Sourcetrail is a free and open-source cross-platform source explorer that helps you get productive on unfamiliar source code. Windows: Lin

Coati Software 13.2k Jan 5, 2023
Source code of APK-Explorer-Editor (AEE), an open-source tool to explore the contents of an installed APK!

APK Explorer & Editor (AEE) APK Explorer & Editor, an open-source tool to explore the contents of an installed APK, is strictly made with an aim to in

APK Explorer & Editor 271 Jan 8, 2023
Infinispan is an open source data grid platform and highly scalable NoSQL cloud data store.

The Infinispan project Infinispan is an open source (under the Apache License, v2.0) data grid platform. For more information on Infinispan, including

Infinispan 1k Dec 31, 2022