On this page
Overview
Liquibase is a database change-management tool that records table, column, and other schema changes in changelogs and tracks their application in each environment. It applies changes in order and supports rollback workflows, allowing database updates to become part of application delivery. It provides a CLI and integrations for Maven, Gradle, Spring Boot, and CI/CD tools.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Track schema changes and execute only changesets that have not yet run
Changelogs can describe changes in XML, YAML, JSON, or SQL, and Liquibase compares them with its database-side history. It identifies unapplied changesets for each environment, executes them in order, and brings diff generation and rollback into the same change-management workflow.
Sources: [1]
Best fit
Fits teams that want database changes in a repeatable release pipeline
It suits teams that review one change history across development, test, and production and automate it alongside application delivery. It is also a candidate for organizations supporting multiple database products or integrating change management with Maven, Gradle, Spring Boot, GitHub Actions, and similar tooling.
Sources: [1]
Before adoption
Review version 5 licensing and driver packaging before adoption
Liquibase Community 5 uses FSL-1.1-ALv2, which limits competing use and grants Apache-2.0 after two years. GitHub reports NOASSERTION for SPDX, so organizations should compare their intended use directly with the LICENSE text.
Version 5 Community distributions and containers no longer bundle database drivers or extensions by default. Add the required components with LPM or another documented method and keep credentials out of changelogs and logs. Release 5.0.4 also strengthens credential redaction and adds controls for changelog features that can execute code.
Official sources
- [1]Liquibase v5.0.4 README(2026-10-04)
- [2]Liquibase v5.0.4 Docker README(2026-10-04)
- [3]Liquibase v5.0.4 FSL license(2026-10-04)
- [4]Liquibase v5.0.4 release(2026-10-04)
Supplemental curator note
The key comparison point is tracking application delivery and database changes through reviewable changelogs. Version 5 changed both Community licensing and bundled-driver policy, so a migration from version 4 should review usage terms and distribution contents as well as operational commands.
Try it in 3 steps
- 1
Pull the pinned Community image
Pull the reviewed Liquibase Community 5.0.4 image. Version 5 Community images do not bundle database drivers by default.
docker pull liquibase/liquibase:5.0.4 - 2
Create a local validation changelog
Create an empty changelog locally without connecting to a production database.
mkdir -p liquibase-demo && printf '%s ' '<?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" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd"></databaseChangeLog>' > liquibase-demo/changelog.xml - 3
Validate it with an offline connection
Mounting at
/liquibase/changelogalso makes it the container working directory, so the relative changelog.xml path can be validated with an offline URL. Configure the target driver and credentials securely before applying changes to a real database.docker run --rm -v "$PWD/liquibase-demo:/liquibase/changelog" liquibase/liquibase:5.0.4 --url=offline:postgresql --changelog-file=changelog.xml validate
Growth
Growth trends · Last 30 days
5,618 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 35
- Open PRs
- 76
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- java
- liquibase
- database-migrations
- java-library
- continuous-delivery
- devops
- sql
- continuous-deployment
- database
- database-management
- database-administration
- mysql
- Stars
- 5,618
- Forks
- 1,973
- Watchers
- 136
- Open issues
- 188
- Contributors
- 314
- Owner type
- Organization
- Primary language
- Java
- License
- Not determined
- Repository last updated
- Oct 4, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Flyway10,119 Stars
4 shared tag(s) · 2 shared category(s) · Same language
manage database schema changes as versioned migration code with tracked history
Java - DBeaver51,952 Stars
3 shared tag(s) · 2 shared category(s) · Same language
operate many database systems from one desktop SQL workspace
Java - Jenkins26,618 Stars
3 shared tag(s) · 2 shared category(s) · Same language
Automate builds, tests, analysis, and deployment with jobs, pipelines, and a large Java plugin ecosystem
Java - jOOQ6,793 Stars
3 shared tag(s) · 2 shared category(s) · Same language
Build SQL through a type-safe Java DSL and generate code from database schemas
Java - MyBatis20,448 Stars
3 shared tag(s) · 1 shared category(s) · Same language
keep SQL explicit while mapping query results into Java objects
Java - Hibernate ORM6,467 Stars
2 shared tag(s) · 2 shared category(s) · Same language
manage Java entity state, transactions, queries, and database dialects through a Jakarta Persistence/JPA relational persistence framework
Java
Report incorrect information
Tell us if any listing information is incorrect or outdated.