|
|
== New Features ==
|
|
|
|
|
|
* clonebundles can be annotated with the expected memory requirements
|
|
|
using the `REQUIREDRAM` option. This allows clients to skip
|
|
|
bundles created with large zstd windows and fallback to larger, but
|
|
|
less demanding bundles.
|
|
|
|
|
|
* The `phabricator` extension now provides more functionality of the
|
|
|
arcanist CLI like changing the status of a differential.
|
|
|
|
|
|
* Phases processing is much faster, especially for repositories with
|
|
|
old non-public changesets.
|
|
|
|
|
|
== New Experimental Features ==
|
|
|
|
|
|
* The core of some hg operations have been (and are being)
|
|
|
implemented in rust, for speed. `hg status` on a repository with
|
|
|
300k tracked files goes from 1.8s to 0.6s for instance.
|
|
|
This has currently been tested only on linux, and does not build on
|
|
|
windows. See rust/README.rst in the mercurial repository for
|
|
|
instructions to opt into this.
|
|
|
|
|
|
== Backwards Compatibility Changes ==
|
|
|
|
|
|
* Mercurial now requires at least Python 2.7.9 or a Python version that
|
|
|
backported modern SSL/TLS features (as defined in PEP 466), and that Python
|
|
|
was compiled against a OpenSSL version supporting TLS 1.1 or TLS 1.2
|
|
|
(likely this requires the OpenSSL version to be at least 1.0.1).
|
|
|
|
|
|
* The `hg perfwrite` command from contrib/perf.py was made more flexible and
|
|
|
changed its default behavior. To get the previous behavior, run `hg perfwrite
|
|
|
--nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`.
|
|
|
|
|
|
|
|
|
== Internal API Changes ==
|
|
|
|
|
|
* logcmdutil.diffordiffstat() now takes contexts instead of nodes.
|
|
|
|
|
|
* The `mergestate` class along with some related methods and constants have
|
|
|
moved from `mercurial.merge` to a new `mercurial.mergestate` module.
|
|
|
|
|
|
* The `phasecache` class now uses sparse dictionaries for the phase data.
|
|
|
New accessors are provided to detect if any non-public changeset exists
|
|
|
(`hasnonpublicphases`) and get the correponsponding root set
|
|
|
(`nonpublicphaseroots`).
|
|
|
|