Kumar Shantanu has implemented a Clojure DSL/wrapper for Liquibase which is has reached version 0.1. It is available at https://bitbucket.org/kumarshantanu/clj-liquibase/src. One more option for all you XML-haters out there
Nathan
Kumar Shantanu has implemented a Clojure DSL/wrapper for Liquibase which is has reached version 0.1. It is available at https://bitbucket.org/kumarshantanu/clj-liquibase/src. One more option for all you XML-haters out there
Nathan
For NetBeans users, there is a Liquibase plugin now available.
The current, 0.2 version implements rudimentary support and concentrates on the most needed functionality.
Features:
More information: http://plugins.netbeans.org/plugin/38564/liquorice-core
For those of you watching and/or contributing to the Liquibase source code, the repository has now moved from the old subversion repository at liquibase.jira.com to http://github.com/liquibase/liquibase.
Liquibase extensions maintained by the main Liquibase team have also been moved to the liquibase github group at http://github.com/liquibase.
If you have any questions, feel free to ask on the Liquibase development forum
I am planning a Liquibase Online Meetup for July 28th, 2011 at 12:00 US Central Time (GMT-5).
For more information, see http://forum.liquibase.org/#Topic/49382000000252083
Liquibase 2.0.2 has been released. It is primarily a bugfix release on the 2.0.1 release and can be downloaded from http://liquibase.org/download.
Visit the forum with any comments or questions. Release notes are available from liquibase.jira.com
With the 2.0.2 release, main development will shift to the 2.1 release. Liquibase 2.1 planning has begun with this forum post
2.0.3 is a very small update, mainly fixing the maven repository and the end of line char in the command line unix shell script.
Other bugs fixed are:
It has been a while since the last Liquibase release, and I wanted to give a quick status update.
The main thing I have been working on is the next version of Liquibase, which I am going to call 3.0.0. For those of you following along, the goal of 2.0 was to create an extensible system on top of liquibase as well as solidify the liquibase APIs for anyone wanting to integrate liquibase into their applications. Due to the size of that undertaking, the “diff” support did not get the same API cleanup and extensibility system in the 2.x release.
For the last several months I have been going through the diff side of the codebase, adding things such as:
All-in-all I have about 400 changed files in my local repository that I have been waiting to push up to github until it is in a coherent state. I keep thinking “I’m sure it will be ready by next week” but keep finding more I would like to get done first. Because my local repository is so different than the github repository, I have not been bringing in the pull requests as I normally would. I will get to those once I get my changes pushed since I tend to do some modifications to the commits as part of the integration process.
I am calling the next version 3.0 rather than 2.1 because of the potentially breaking changes between 2.0 and 3.0. From an end-user standpoint, there will be little to no changes in the changelog format. Most breaking changes are in the internal liquibase APIs for those integrating liquibase and/or writing extensions. More information will be made available on breaking changes closer to release date.
Besides the code, I spent time lately dealing with defacement issues on liquibase.org and blog.liquibase.org. Because of this attack and earlier spam scripts that abused the wiki system, I am going to move the documentation and site from the current dokuwiki system to github. This has the advantage of better performance, the ability to manage branches of the documentation, and the ability to include an offline version of the manual with each release. Documentation changes will require a github pull request rather than the simpler wiki-style direct editing, however.
My planned timeline for 3.0 is to commit what I have within the next week or so, then merge in the pull requests and create a “3.0 alpha 1″ release. I moved around a lot of database-specific code that will take a while for me to test and would like to get some feedback from the community as soon as possible on new bugs or regressions that were introduced by the changes. I will make an announcement when the first 3.0 release is available for testing.
Since 3.0 is taking longer than I was hoping , it may make sense to have a 2.0.4 release with high value/easy fixes for those waiting for specific problems.
Are there existing bugs in http://liquibase.jira.com or pull requests at http://github.com/liquibase that you would like to see in a 2.0.4 release?
Preference will be given to bugs/features that have patches that can simply be applied to the 2.0 branch, since I don’t want to take more time away from 3.0 than I have to.
2.0.4 has been released. This is primarily a bug fix release during the main development on 3.0, but does include a few enhancements as well.
Download from http://liquibase.org/download
New features:
Full release notes: https://liquibase.jira.com/secure/ReleaseNote.jspa?projectId=10020&version=10160
2.0.5 has been released. This is to fix a couple regressions introduced in 2.0.4.
Download from http://liquibase.org/download
Bug Fixes:
Full release notes: https://liquibase.jira.com/secure/ReleaseNote.jspa?projectId=10020&version=10360
Although it has been far too long since the last liquibase release, that is not from a lack of work. I’ve been hard at work at a major update that has been stuck in the “I think I’ll have it wrapped up next month” phase for over a year at this point. That is a topic for a future blog post, though…
I am, however, very pleased to announce Liquibase 3.0, beta 1. There is definitely a reason it is labeled as “beta” rather than “RC” as there is still a lot of work to do on documentation, API finalization, and bug fixes. In particular, my roadmap for 3.0 beta 1 -> 3.0.0 final is:
My hope is that 3.0.0 beta represents a feature complete 3.0 version, but the final walk through of features, bugs and extension points will probably find some additional larger changes to make. My plan is to have a new beta roughly bi-weekly until the 3.0.0 release in early April. However, “it’s software, so it can do anything except ship on time”.
Download
As always, you can download the release from http://liquibase.org/download and direct any comments or questions for http://forum.liquibase.org
Liquibase 3.0 beta 2 is now available.
Major changes since beta 1 include:
Excluding from dbms list
The dbms attribute now supports prepending a database name with “!” to specify which databases a changeset should not run on. For example: <changeSet dbms=”!oracle”>
JSON and YAML changelog support
For all you XML-haters out there, Liquibase now natively supports JSON and YAML formatted changelogs. The syntax and tags are very similar between the JSON, YAML and XML formats.
If you chose to use YAML or JSON format, you will need to include snakeyaml 1.12 in your classpath.
I’m continuing to work on shifting the documentation to github from the current wiki, and while there is still much more to do, you can at least see YAML and JSON change syntax example at http://liquibase.github.com/documentation/changes/add_auto_increment.html.
Download
As always, you can download the release from http://liquibase.org/download and direct any comments or questions for http://forum.liquibase.org
Although it has been far too long since the last liquibase release, that is not from a lack of work. I’ve been hard at work at a major update that has been stuck in the “I think I’ll have it wrapped up next month” phase for over a year at this point. That is a topic for a future blog post, though…
I am, however, very pleased to announce Liquibase 3.0, beta 1. There is definitely a reason it is labeled as “beta” rather than “RC” as there is still a lot of work to do on documentation, API finalization, and bug fixes. In particular, my roadmap for 3.0 beta 1 -> 3.0.0 final is:
My hope is that 3.0.0 beta represents a feature complete 3.0 version, but the final walk through of features, bugs and extension points will probably find some additional larger changes to make. My plan is to have a new beta roughly bi-weekly until the 3.0.0 release in early April. However, “it’s software, so it can do anything except ship on time”.
Download
As always, you can download the release from http://liquibase.org/download and direct any comments or questions for http://forum.liquibase.org
Liquibase 3.0 beta 2 is now available.
Major changes since beta 1 include:
Excluding from dbms list
The dbms attribute now supports prepending a database name with “!” to specify which databases a changeset should not run on. For example: <changeSet dbms=”!oracle”>
JSON and YAML changelog support
For all you XML-haters out there, Liquibase not natively supports JSON and YAML formatted changelogs. The syntax and tags are very similar between the JSON, YAML and XML formats.
If you chose to use YAML or JSON format, you will need to include snakeyaml 1.12 in your classpath.
I’m continuing to work on shifting the documentation to github from the current wiki, and while there is still much more to do, you can at least see YAML and JSON change syntax example at http://liquibase.github.com/documentation/changes/add_auto_increment.html.
Download
As always, you can download the release from http://liquibase.org/download and direct any comments or questions for http://forum.liquibase.org
Since the 3.0 beta 2 release, I have been focused on the new liquibase.org website, bug fixes, performance improvements, API cleanup and additional automated test creation and fixup.
Work remaining in the final push to 3.0.0:
My hope is to have 3.0.0 released in the first week of June.
Download
As always, you can download the release from http://liquibase.org/download and direct any comments or questions for http://forum.liquibase.org
The 3.0 RC1 release is the first 3.0 release that is available through the maven repository as well. It should be working it’s way through the mirroring process now.
It has taken longer to work through the remaining 3.0 bug list than I was hoping, and so do not have the 3.0 GA finished yet, but RC2 is now available.
Changes since RC1 include:
Download
As always, you can download the release from http://liquibase.org/download or through the maven repository. Direct any comments or questions for http://forum.liquibase.org
At long last, I’m happy to announce that Liquibase 3.0.0 is finally out!
There has been a lot of changes and a lot of work put into 3.0, but the major highlights are:
Additional extension support
Starting with Liquibase 2.0, moving to a plugin/extension model has been a major focus of development. With 3.0 we focused on adding extension support for the database snapshot and comparison logic as well as for the DatabaseChangeLogLock code. The new extension support gives the ability to dynamically add snapshot support for additional database object types, control how those types are compared across databases, modify the logic used for comparing standard liquibase types, manage how fixes for differences in new and existing types are represented in generated changelogs, and much much more.
The general strategy for Liquibase is to have the core library easily support the 80% of functionality that is common across databases and across users, with built in features like contexts, changelog parameters, and modifySql that will cover up to 95% of use cases. Extensions will address the final 5% of use cases that are always very company specific and often contradictory to what other users expect.
The release timelines for 2.0 and 3.0 were much longer than I would have liked in large part because I was trying to build up the architecture to support the extension points people need. Now that 3.0 is out, the plan is to go back to a much smaller release cycle with more manageable feature changes and bug fixes while also better seeding and managing the community extensions.
For more information on extension support in Liquibase, visit the extension portal. Documentation is still lighter than I would like, but more will be coming.
Additional integration support
For those integrating with the Liquibase Java API, there is now more metadata available from Change classes as well as separated and better organized “diff” and “snapshot” logic.
End user improvements
For the normal user, Liquibase 3.0.0 adds:
Upgrading to 3.0
For the normal Liquibase user, version 3.0.0 is a drop in replacement for any of the 2.x releases. For extension developers and integrators, there has been some changes to the Java APIs that may impact your code. Those changes will be documented at liquibase.org/v3_upgrade.html. Liquibase 3.0 now requires Java 1.6+.
Downloading 3.0
As always, you can download Liquibase from liquibase.org/download and direct any comments or questions to http://forum.liquibase.org.
The raw Jira release notes are available at https://liquibase.jira.com/secure/ReleaseNote.jspa?projectId=10020&version=10020
Now that 3.0.0 is out, I’ve cleaned up the Jira process a bit, created more git branches and tried to document it on the liquibase.org site.
On the liquibase.org top navigation bar, there is now a “Dev” link that brings to you to information on working with the Liquibase code, GitHub and Jira.
The branches page describes the the new branching strategy where we have a “next” branch for the next major release and a “#.#.x” branch for each release family for patch releases. You can see it in action now with both 3.0.0 and 3.0.1 in the “3.0.x” branch and already some changes in the “next” branch for 3.1.
The Using Jira page describes how we use the various Jira fields. I simplified the Jira process a bit, taking out the “resolved” stage in favor of just “closed”, removed fields we were not using, and created additional components for better categorization.
There is other good information in the new developer section of the site including how to build Liquibase with Maven and I will continue to add more down the road.
Liquibase 3.0.2 has been officially released. It is a purely bugfix release. The major issues fixed are:
The full list of resolved issues:
If you were watching closely, you will notice that I forgot to announce 3.0.1 despite the fact that it was released on June 25th. That release included the following bugfixes compared to 3.0.0:
As always, you can download from http://liquibase.org/download and the new version should be working its way through the maven repository system. If you have questions or comments you can visit the forums at http://forum.liquibase.org.
Liquibase 3.0.3 has been officially released. As always, you can download from http://liquibase.org/download and the new version should be working its way through the maven repository system. If you have questions or comments you can visit the forums at http://forum.liquibase.org.
The 3.0.3 release is primarily a bug fix release, major categories of bugs fixed include:
There is a new feature in 3.0.3 to control whether schema names are included in the SQL. This is particularly helpful in updateSQL mode to create schema-independent scripts. The new flag is called “outputDefaultSchema” and “outputDefaultCatalog”
Full Release Notes: https://liquibase.jira.com/secure/ReleaseNote.jspa?projectId=10020&version=10660
Bugs
Features
Improvements