One thing that isn't highlighted much in the release notes or blog post (but will be once I get around to updating the docs) is the addition of the new 'replace' and 'force-replace' cluster commands in Riak 1.2.
Have a cluster A/B/C and want to replace A with an upgraded machine Z? Bring up Z and then: cluster join Z; cluster replace A Z; cluster plan/commit.
Have cluster A/B/C and C irreversibly crashes? Bring up node D from backups of C, and then: cluster join D, cluster force-replace C D, cluster plan/commit. Passive read-repair (or the newer repair logic) will resolve replicas missing from the backup.
Have a cluster A/B/C and want to replace A with an upgraded machine Z? Bring up Z and then: cluster join Z; cluster replace A Z; cluster plan/commit.
Have cluster A/B/C and C irreversibly crashes? Bring up node D from backups of C, and then: cluster join D, cluster force-replace C D, cluster plan/commit. Passive read-repair (or the newer repair logic) will resolve replicas missing from the backup.