> Mercurial's internals are continually evolving to be simpler, more consistent, and more powerful, a process we hope will continue for the foreseeable future. Unfortunately, this process means we will regularly be changing interfaces in ways that break third-party code in various (mostly minor) ways. For the vast majority of third party code, the best approach is to use Mercurial's published, documented, and stable API: the command line interface.
https://www.mercurial-scm.org/wiki/MercurialApi
> Mercurial's internals are continually evolving to be simpler, more consistent, and more powerful, a process we hope will continue for the foreseeable future. Unfortunately, this process means we will regularly be changing interfaces in ways that break third-party code in various (mostly minor) ways. For the vast majority of third party code, the best approach is to use Mercurial's published, documented, and stable API: the command line interface.