I think the situation is different for Mercurial. Since every hg client has to be able to inter-operate with any hg client from any other machine, regardless of whether it&#x27;s been updated or not, it makes sense to retain old functionality, so that newer clients can still talk to older ones. I believe rsync also does a similar thing, where it has some kind of system to figure out the highest version of the rsync protocol supported by both sides, and newer rsync versions support all the old versions of the protocol. Emacs is not in this position. Multiple versions of Emacs can always inter-operate as long as they can all read and write text files.