November 6, 2019

Liquibase 3.8.1 Released

Liquibase 3.8.1 is now available. Here’s a closer look at what’s included in the latest release.

Liquibase bug fixes & doc updates

Both Liquibase Community and Liquibase Pro users will enjoy several bug fixes and updates to documentation.

New Liquibase Pro Features

Snapshots and Reverse Engineering for Stored Logic

In this 3.8.1 release, Liquibase Pro users with workloads on Oracle and SQL Server are able to capture information on their Stored Logic.

The ability to snapshot Stored Logic allows you to get a static view of your database at a particular point in time and is useful for reporting and safeguarding your data by comparing databases (performing diffs) to find differences.

Liquibase Pro users will also now include Stored Logic changeSets in changelogs generated through the diffChangeLog and generateChangeLog commands.

Stored Logic objects include:

  • Check Constraint
  • Procedures
  • Package
  • Package Body
  • Function
  • Trigger
  • Synonyms

Much more user-friendly changelog

If stored logic code gets written directly into the Liquibase changelog, the file can get very cluttered. Additionally, Stored Logic code is often formatted and that formatting can be lost when it’s written to the changelog.

With the 3.8.1 release, Liquibase Pro now eliminates the clutter by making the changelog more concise and readable, allowing users to maintain formatting by outputting the Stored Logic code via external files that can be referenced by the changelog. SQL files are organized in directories by object type, making them easy to find.

Avoid Oracle slowdowns

Liquibase Pro users have access to a new, Oracle-specific change type, markUnused, that helps users avoid database slowdowns caused by dropping a populated column.

markUnused tells Oracle to mark columns as ‘unused’ rather than dropping them immediately, which allows DBAs to decide the best time to drop these columns for their particular application. This feature was first added in 3.8.0, and now with 3.8.1 it is possible to use the diffChangeLog and generateChangeLog commands and have the generated changesets mark dropped columns as unused.

The default is markUnusedNotDrop=flase which will continue to drop columns rather than mark them unused. To override this, you will need to set the system property liquibase.pro.markUnusedNotDrop to true.

Summing it up

Take advantage of all of these new features with a free 30-day trial of Liquibase Pro. In addition to enhanced features, Liquibase Pro users also receive experienced guidance and fast troubleshooting from our excellent Liquibase support team. With their help, you’ll save countless hours of scouring Stack Overflow forums if you get stuck. They’re also great at getting your team up and running with Liquibase in a way that works best for your use case. Give it a try. No credit card is required so you don’t have to worry about forgetting to cancel.

Giving back to the Community

We’ve added some Liquibase Pro features in this latest release, but we’re also continuing to fix bugs and improve documentation for everyone in the Liquibase 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. We want to help make it stronger. Here are some ways to contribute:

Stay tuned for more website improvements, tutorials, videos, and demos.

Nathan Voxland
Nathan Voxland
Share on: