2009/1/4 Brett Cannon email@example.com:
Bazaar has been backwards-compatible with everything from my understanding, so any changes they have made to the repository layout or network protocol they use should not be an issue regardless of what client or server versions are being used. As for the version number, the team does monthly releases, so it has nothing to do with stability and more with their timed release schedule.
As far as I am aware (and it's not based on much practical experience, so I could be wrong) the big issue with older Bazaar formats is that they are substantially slower. And there's some sort of interoperability constraint that I don't understand, which means that, although newer clients can read from older servers, the fact that the server uses an older format means that the slowness affects the client (it may be that it's possible to get around this with some level of juggling at the client). It would be very useful to have a good statement of the impact of different client/server versions.
As for Mercurial, I have been told their repository layout has not changed since their first release and updates have been more about bug fixes and speed improvements.
According to Mercurial compatibility rules,
which basically means, the server version used will not affect the client and you will always be able to upgrade the server version without pain (point 2, "pull", is about client/server interaction). The last point states that you can even downgrade the server with minimal pain (for real conservatives :-))
In practical terms Mercurial is 100% compatible back to at least June 2007 (version 0.9.4, the earliest documented at http://www.selenic.com/mercurial/wiki/index.cgi/WhatsNew).