hbase-0.96.0 is now available for download .
Apache HBase is a scalable, distributed data store that runs atop Apache Hadoop.
The hbase-0.96.0 release has been more than a year in the making and supplants our long-running 0.94.x series of releases. We encourage users upgrade.
More than 2k issues  are attributed to this version (counting fixes done against this and the preview 0.95.x developer series of releases).  is the total list of 0.96.0 changes. 1500+ of these changes are in 0.96.0 alone; i.e. they have not been backported. At the end of this note is a sampling of some notable fixes.
High-level, the big themes driving this release have been improved stability, operability, scaling fixes, and making it so we are in a situation where we are free to evolve going forward while all the time maintaining forward and backward compatibility. A bunch of work has been done to improve Mean Time To Recovery on server and node crash. Everywhere HBase persists has been moved to protobufs  including what we write across the wire RPC'ing. We have a new balancer, call tracing, namespaces, revamped metrics, hardened replication and assignment, client-side types and mountains more of new utility and improvements.
hbase-0.96.0 comes in two flavors; a build that includes and runs on hadoop-1.x and another for hadoop-2.x. You must chose the hbase that suits yourhadoop context. You will need to restart your cluster on deploy. On restart, HBase will run a few migration tasks that will complete in seconds, and off you go again. hbase-0.94.x clients will not be able to talk to a 0.96.x cluster. See '3. Upgrading'  section in the reference guide for notes on upgrading and section '3.2. Upgrading from 0.94.x to 0.96.x'  in particular. Downstream projects should notice very minor -- if any -- changes in API.
Thanks to legion who contributed to this release.
At your service,
The HBase dev team
This release is dedicated to Shaneal Manek, HBase contributor.
SAMPLE FROM RELEASE NOTES
HBASE-7331 HBASE-6096 Add access control for region open and close, row locking, and stopping the regionserver
HBASE-7678 HBASE-7667 make storefile management pluggable, together with compaction
HBASE-8015 Support for Namespaces
HBASE-5335 Dynamic Schema Configurations
HBASE-5939 Add an autorestart option in the start scripts
HBASE-2214 Do HBASE-1996 -- setting size to return in scan rather than count of rows -- properly
HBASE-9505 Enable replication by default
HBASE-8766 HBASE-6814 [WINDOWS] bin/hbase.cmd zkcli is broken
HBASE-4657 Improve the efficiency of our MR jobs with a few configurations
HBASE-6659 Port HBASE-6508 Filter out edits at log split time
HBASE-6055 Offline Snapshots in HBase 0.96
HBASE-7567 [replication] Create an interface for replication peers
HBASE-5305 Improve cross-version compatibility & upgradeability
HBASE-9152 Not able to find HMaster and HRegionServer processes with grep by process name on ps result because of large classpath as argument.
HBASE-8778 Region assigments scan table directory making them slow for huge tables
HBASE-7721 Atomic multi-row mutations in META
HBASE-7007 [MTTR] Study assigns to see if we can make them faster still
HBASE-7845 optimize hfile index key
HBASE-7533 HBASE-7898 Write an RPC Specification for 0.96
HBASE-6553 Remove Avro Gateway
HBASE-8505 References to split daughters should not be deleted separately from parent META entry
HBASE-50 Snapshot of table
HBASE-8214 Remove proxy and engine, rely directly on pb generated Service
HBASE-5844 Delete the region servers znode after a regions server crash
HBASE-7315 HBASE-7263 Remove support for client-side RowLocks
HBASE-6135 Style the Web UI to use Twitter's Bootstrap.
HBASE-4676 Prefix Compression - Trie data block encoding
HBASE-6295 Possible performance improvement in client batch operations: presplit and send in background
HBASE-4403 Adopt interface stability/audience classifications from Hadoop
HBASE-7008 Set scanner caching to a better default, disable Nagles
HBASE-7942 HBASE-4755 Make use of the plumbing in HBASE-7932 to provide location hints when region files are created
HBASE-7835 HBASE-7006 Implementation of the log splitting without creating intermediate files
HBASE-8334 Enable essential column family support by default
HBASE-6849 Make StochasticLoadBalancer the default
HBASE-6066 HBASE-6922 some low hanging read path improvement ideas
HBASE-5074 support checksums in HBase block cache
HBASE-7351 Periodic health check chore
HBASE-5887 Make TestAcidGuarantees usable for system testing.
HBASE-6783 Make read short circuit the default
HBASE-9529 HBASE-9495 Audit of hbase-client @InterfaceAudience.Public apis
HBASE-6435 Reading WAL files after a recovery leads to time lost in HDFS timeouts when using dead datanodes
HBASE-6206 HBASE-6182 Large tests fail with jdk1.7
HBASE-9208 ReplicationLogCleaner slow at large scale
HBASE-5533 Add more metrics to HBase
HBASE-7306 HBASE-781 [shell] Count shell command to return ruby bindable value.
HBASE-7110 refactor the compaction selection and config code similarly to 0.89-fb changes
HBASE-7603 HBASE-7519 refactor storefile management in HStore in order to support things like LevelDB-style compactions
HBASE-8693 HBASE-8089 DataType: provide extensible type API
HBASE-7932 HBASE-4755 Do the necessary plumbing for the region locations in META table and send the info to the RegionServers
HBASE-6241 HBASE-6201 HBaseCluster interface for interacting with the cluster from system tests
HBASE-8219 Align Offline Merge with Online Merge
HBASE-9523 HBASE-9495 Audit of hbase-common @InterfaceAudience.Public apis.
HBASE-8813 Fix time b/w recoverLease invocations from HBASE 8449
HBASE-7290 Online snapshots
HBASE-8450 Update hbase-default.xml and general recommendations to better suit current hw, h2, experience, etc.
HBASE-8201 HBASE-8089 OrderedBytes: an ordered encoding strategy
HBASE-8877 Reentrant row locks
HBASE-4393 Implement a canary monitoring program
HBASE-4050 Update HBase metrics framework to metrics2 framework
HBASE-4391 Add ability to start RS as root and call mlockall
HBASE-5924 In the client code, don't wait for all the requests to be executed before resubmitting a request in error.
HBASE-7305 ZK based Read/Write locks for table operations
HBASE-5705 HBASE-5305 Introduce Protocol Buffer RPC engine
HBASE-5838 Add an LZ4 compression option to HFile
HBASE-7404 Bucket Cache:A solution about CMS,Heap Fragment and Big Cache on HBASE
HBASE-7590 Add a costless notifications mechanism from master to regionservers & clients
HBASE-9203 Secondary index support through coprocessors
HBASE-9121 Update HTrace to 2.00 and add new example usage