# HG changeset patch # User Martin von Zweigbergk # Date 1595956789 25200 # Node ID 53a6febafc664c255ad80f0f75c98be8a4403625 # Parent 0ea08126a2af927542010c19e2e66b51774c3a27 relnotes: copy "next" to "5.5" and clear "next" The same procedure as every year^Wcycle. Differential Revision: https://phab.mercurial-scm.org/D8839 diff -r 0ea08126a2af -r 53a6febafc66 relnotes/5.5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/relnotes/5.5 Tue Jul 28 10:19:49 2020 -0700 @@ -0,0 +1,80 @@ +== 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. + + * An experimental config `rewrite.empty-successor` was introduced to control + what happens when rewrite operations result in empty changesets. + + +== Bug Fixes == + + * For the case when connected to a TTY, stdout was fixed to be line-buffered + on Python 3 (where it was block-buffered before, causing the process to seem + hanging) and Windows on Python 2 (where it was unbuffered before). + + * Subversion sources of the convert extension were fixed to work on Python 3. + + * Subversion sources of the convert extension now interpret the encoding of + URLs like Subversion. Previously, there were situations where the convert + extension recognized a repository as present but Subversion did not, and + vice versa. + + * The empty changeset check of in-memory rebases was fixed to match that of + normal rebases (and that of the commit command). + + * The push command now checks the correct set of outgoing changesets for + obsolete and unstable changesets. Previously, it could happen that the check + prevented pushing changesets which were already on the server. + + +== 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`. + + * The absorb extension now preserves changesets with no file changes that can + be created by the commit command (those which change the branch name + compared to the parent and those closing a branch head). + + +== 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`). + + * The `stdin`, `stdout` and `stderr` attributes of the `mercurial.pycompat` + module were removed. Instead, the attributes of same name from the + `mercurial.utils.procutil` module should be used, which provide more + consistent behavior across Python versions and platforms. diff -r 0ea08126a2af -r 53a6febafc66 relnotes/next --- a/relnotes/next Tue Jul 28 20:47:50 2020 +0200 +++ b/relnotes/next Tue Jul 28 10:19:49 2020 -0700 @@ -1,80 +1,18 @@ == 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. - - * An experimental config `rewrite.empty-successor` was introduced to control - what happens when rewrite operations result in empty changesets. == Bug Fixes == - * For the case when connected to a TTY, stdout was fixed to be line-buffered - on Python 3 (where it was block-buffered before, causing the process to seem - hanging) and Windows on Python 2 (where it was unbuffered before). - - * Subversion sources of the convert extension were fixed to work on Python 3. - - * Subversion sources of the convert extension now interpret the encoding of - URLs like Subversion. Previously, there were situations where the convert - extension recognized a repository as present but Subversion did not, and - vice versa. - - * The empty changeset check of in-memory rebases was fixed to match that of - normal rebases (and that of the commit command). - - * The push command now checks the correct set of outgoing changesets for - obsolete and unstable changesets. Previously, it could happen that the check - prevented pushing changesets which were already on the server. == 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`. - - * The absorb extension now preserves changesets with no file changes that can - be created by the commit command (those which change the branch name - compared to the parent and those closing a branch head). == 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`). - - * The `stdin`, `stdout` and `stderr` attributes of the `mercurial.pycompat` - module were removed. Instead, the attributes of same name from the - `mercurial.utils.procutil` module should be used, which provide more - consistent behavior across Python versions and platforms.