The modifications I’ve made to acts_as_versioned are covered in my blog entry. The basics are that I added an optional second parameter to revert_to! that will let you delete all newer versions than the one you’re reverting to, and also all versions now track what attributes were updated for that version (so you can show what attributes changed between versions, etc.).
Also, I’ve now added the earliest? and latest? methods to the Version object, so that you can query a version instance if it’s the earliest or latest.