Devs (especially Clint and Tim Sell), I just committed HBASE-1822 to 0.21 trunk. (25,000 line patch, eek)
It completely removes the old API and is an attempt at removing all remaining references to family:qualifier notation. It drops the mapred and rest packages completely, in favor of the new mapreduce package and stargate. Things like HStoreKey, RowResult, and BatchUpdate are gone.
The only remaining calls related to fam:qf notation are KeyValue.makeColumn(fam,qf) and KeyValue.parseColumn(col) which takes a byte[] and splits it on the :. If it's just family it returns a single dimension only with the family in it, no :. This switched a bit as to how it worked, and it's used heavily in my adapting Thrift, Stargate, and Transactional/Indexed to work and pass their tests after ripping out old API calls they were using.
Those same contrib modules (should we move thrift to contrib?) really need a reworking of some sort (stargate is probably fine, except some nastiness in tests), as they are heavily tied to the old API and their new API compatibility was just a bolt on.
So this may have destabilized trunk a bit. Please file issues if you run into problems.
All unit tests pass. JG