Show More
@@ -1,47 +1,80 b'' | |||
|
1 | 1 | == New Features == |
|
2 | 2 | |
|
3 | 3 | * clonebundles can be annotated with the expected memory requirements |
|
4 | 4 | using the `REQUIREDRAM` option. This allows clients to skip |
|
5 | 5 | bundles created with large zstd windows and fallback to larger, but |
|
6 | 6 | less demanding bundles. |
|
7 | 7 | |
|
8 | 8 | * The `phabricator` extension now provides more functionality of the |
|
9 | 9 | arcanist CLI like changing the status of a differential. |
|
10 | 10 | |
|
11 | 11 | * Phases processing is much faster, especially for repositories with |
|
12 | 12 | old non-public changesets. |
|
13 | 13 | |
|
14 | 14 | |
|
15 | 15 | == New Experimental Features == |
|
16 | 16 | |
|
17 | 17 | * The core of some hg operations have been (and are being) |
|
18 | 18 | implemented in rust, for speed. `hg status` on a repository with |
|
19 | 19 | 300k tracked files goes from 1.8s to 0.6s for instance. |
|
20 | 20 | This has currently been tested only on linux, and does not build on |
|
21 | 21 | windows. See rust/README.rst in the mercurial repository for |
|
22 | 22 | instructions to opt into this. |
|
23 | 23 | |
|
24 | * An experimental config `rewrite.empty-successor` was introduced to control | |
|
25 | what happens when rewrite operations result in empty changesets. | |
|
26 | ||
|
27 | ||
|
28 | == Bug Fixes == | |
|
29 | ||
|
30 | * For the case when connected to a TTY, stdout was fixed to be line-buffered | |
|
31 | on Python 3 (where it was block-buffered before, causing the process to seem | |
|
32 | hanging) and Windows on Python 2 (where it was unbuffered before). | |
|
33 | ||
|
34 | * Subversion sources of the convert extension were fixed to work on Python 3. | |
|
35 | ||
|
36 | * Subversion sources of the convert extension now interpret the encoding of | |
|
37 | URLs like Subversion. Previously, there were situations where the convert | |
|
38 | extension recognized a repository as present but Subversion did not, and | |
|
39 | vice versa. | |
|
40 | ||
|
41 | * The empty changeset check of in-memory rebases was fixed to match that of | |
|
42 | normal rebases (and that of the commit command). | |
|
43 | ||
|
44 | * The push command now checks the correct set of outgoing changesets for | |
|
45 | obsolete and unstable changesets. Previously, it could happen that the check | |
|
46 | prevented pushing changesets which were already on the server. | |
|
47 | ||
|
24 | 48 | |
|
25 | 49 | == Backwards Compatibility Changes == |
|
26 | 50 | |
|
27 | 51 | * Mercurial now requires at least Python 2.7.9 or a Python version that |
|
28 | 52 | backported modern SSL/TLS features (as defined in PEP 466), and that Python |
|
29 | 53 | was compiled against a OpenSSL version supporting TLS 1.1 or TLS 1.2 |
|
30 | 54 | (likely this requires the OpenSSL version to be at least 1.0.1). |
|
31 | 55 | |
|
32 | 56 | * The `hg perfwrite` command from contrib/perf.py was made more flexible and |
|
33 | 57 | changed its default behavior. To get the previous behavior, run `hg perfwrite |
|
34 | 58 | --nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`. |
|
35 | 59 | |
|
60 | * The absorb extension now preserves changesets with no file changes that can | |
|
61 | be created by the commit command (those which change the branch name | |
|
62 | compared to the parent and those closing a branch head). | |
|
63 | ||
|
36 | 64 | |
|
37 | 65 | == Internal API Changes == |
|
38 | 66 | |
|
39 | 67 | * logcmdutil.diffordiffstat() now takes contexts instead of nodes. |
|
40 | 68 | |
|
41 | 69 | * The `mergestate` class along with some related methods and constants have |
|
42 | 70 | moved from `mercurial.merge` to a new `mercurial.mergestate` module. |
|
43 | 71 | |
|
44 | 72 | * The `phasecache` class now uses sparse dictionaries for the phase data. |
|
45 | 73 | New accessors are provided to detect if any non-public changeset exists |
|
46 | 74 | (`hasnonpublicphases`) and get the correponsponding root set |
|
47 | 75 | (`nonpublicphaseroots`). |
|
76 | ||
|
77 | * The `stdin`, `stdout` and `stderr` attributes of the `mercurial.pycompat` | |
|
78 | module were removed. Instead, the attributes of same name from the | |
|
79 | `mercurial.utils.procutil` module should be used, which provide more | |
|
80 | consistent behavior across Python versions and platforms. |
General Comments 0
You need to be logged in to leave comments.
Login now