THE REFERENCE GUIDE TAKES OVER VERSIONING IN THE UPGRADING CHAPTER. SEE IT FROM HERE ON OUT AS THIS PAGE HAS GONE STALE.
There are currently the following active branches in HBase:
0.20 - the current stable release series, being maintained with patches for bug fixes only. This release series does not support HDFS durability - edits may be lost in the case of node failure.
0.89 - a development release series with active feature and stability development, not currently recommended for production use. This release does support HDFS durability - cases in which edits are lost are considered serious bugs. 0.89 releases are meant to be preview releases for what HBase 0.90.0, the next major version of HBase to follow 0.20.x, will look like.
0.90 - the fruit of the 0.89 developer releases, the HBase major version to follow 0.20.0. This release is meant for production deploy. Supports HDFS durability.
The 0.20 series was first released in fall of 2009. It is in use in production in a number of deployments. Development of new features and improvements is largely halted on this release series, though it will continue to have bug fixes applied, so long as the bug fixes do not have high risk of regressions.
0.89 "Development" Series
The 0.89 series is a departure from the previous sequential (0.18, 0.19, 0.20) versioning. Here is a short FAQ describing the version numbering and purpose of this series:
Why skip from 0.20 to 0.89 (0.90)?
The last few releases of HBase have been in lockstep with Hadoop releases (eg hbase 0.X.* would work with Hadoop 0.X.*). However, Hadoop's release process has slowed down, and we have the desire to release HBase on a different timeline from Hadoop, with each HBase release potentially being compatible with multiple versions of Hadoop. To signify this departure from lockstep releases, and since we intend for the next release of HBase to continue to support Hadoop 0.20, we don't want to call the next release 0.21.
There's also a general sentiment that, feature-wise, HBase is nearing a 1.0 level. The project has implemented the majority of the features described in the Bigtable paper plus many more. It's also starting to take a more central role in the production infrastructures of many companies. So, we'd really like to do a 1.0 release some time in the coming year (no dates, but maybe early 2011?) However, we're not at 1.0 yet. There are still stability bugs to iron out, and some features in progress that we'd like to have done for 1.0.
So, given that, the next stable release will be called HBase 0.90. This indicates (a) a big step up from 0.20, (b) we are nearing 1.0, and (c) we are not tied to Hadoop version numbering.
We're not ready to release 0.90 yet - there are a lot of blockers still open affecting reliability and stability, and we haven't done extensive testing of trunk under production workloads. But, the development community feels there's a lot of stuff in trunk that's worth showing to the user community. To that end, we are releasing a series of development builds cut from trunk leading up to the 0.90 release. This release series is going to be called 0.89.
Users familiar with Linux kernel development from several years back will recall that Linux 2.3.* was a development series leading up to Linux 2.4, and Linux 2.5 led up to Linux 2.6. We have not decided to go with a strict odd/even for HBase for all future releases, but this particular release is similar to that process.
What will version numbers look like in the 0.89 series?
This development series will have version numbers 0.89.YYYYMMDD, the last segment of the version number indicating the date on which the release was branched from trunk. These releases won't have followup patch releases, and will only go through basic cluster testing, but provide usable snapshots of trunk development so that the community can begin to work with the new code and provide early feedback based on their use cases and testing. We're confident this will help make 0.90 the most stable release yet.
If there is a bug found in a release 0.89.YYYYMMDD, we will not release 0.89.YYYYMMDD.1. All releases in this series will be new branches from trunk. This is to ensure that we are making forward progress towards our larger goals for 0.90, and to reduce maintenance burden on the development team.
What releases have been made on the 0.89 series?
The first release in the 0.89 series will be 0.89.20100621, due to be released the week of 6/21/2010.
Are the 0.89 releases official releases?
Yes, these releases have been voted on by the HBase development team, and considered official releases with regard to license policies, etc. The two main differences between this release series and a stable series are (a) no followup bugfix releases to any individual release, and (b) a lower bar for spit and polish, testing, etc.