author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
Tue, 10 May 2022 20:30:26 +0100 | |
changeset 49190 | 4ff4e23de7df |
parent 45240 | 53a6febafc66 |
permissions | -rw-r--r-- |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 |
== New Features == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
|
45062
72feaeb510b3
clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents:
44996
diff
changeset
|
3 |
* clonebundles can be annotated with the expected memory requirements |
72feaeb510b3
clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents:
44996
diff
changeset
|
4 |
using the `REQUIREDRAM` option. This allows clients to skip |
72feaeb510b3
clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents:
44996
diff
changeset
|
5 |
bundles created with large zstd windows and fallback to larger, but |
72feaeb510b3
clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents:
44996
diff
changeset
|
6 |
less demanding bundles. |
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
7 |
|
45169 | 8 |
* The `phabricator` extension now provides more functionality of the |
9 |
arcanist CLI like changing the status of a differential. |
|
10 |
||
11 |
* Phases processing is much faster, especially for repositories with |
|
12 |
old non-public changesets. |
|
13 |
||
45189
045f5361bd12
relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents:
45169
diff
changeset
|
14 |
|
44367
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44365
diff
changeset
|
15 |
== New Experimental Features == |
44343
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
44289
diff
changeset
|
16 |
|
44905
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44893
diff
changeset
|
17 |
* The core of some hg operations have been (and are being) |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44893
diff
changeset
|
18 |
implemented in rust, for speed. `hg status` on a repository with |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44893
diff
changeset
|
19 |
300k tracked files goes from 1.8s to 0.6s for instance. |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44893
diff
changeset
|
20 |
This has currently been tested only on linux, and does not build on |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44893
diff
changeset
|
21 |
windows. See rust/README.rst in the mercurial repository for |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44893
diff
changeset
|
22 |
instructions to opt into this. |
44412
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44398
diff
changeset
|
23 |
|
45191
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
24 |
* An experimental config `rewrite.empty-successor` was introduced to control |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
25 |
what happens when rewrite operations result in empty changesets. |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
26 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
27 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
28 |
== Bug Fixes == |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
29 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
30 |
* For the case when connected to a TTY, stdout was fixed to be line-buffered |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
31 |
on Python 3 (where it was block-buffered before, causing the process to seem |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
32 |
hanging) and Windows on Python 2 (where it was unbuffered before). |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
33 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
34 |
* Subversion sources of the convert extension were fixed to work on Python 3. |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
35 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
36 |
* Subversion sources of the convert extension now interpret the encoding of |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
37 |
URLs like Subversion. Previously, there were situations where the convert |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
38 |
extension recognized a repository as present but Subversion did not, and |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
39 |
vice versa. |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
40 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
41 |
* The empty changeset check of in-memory rebases was fixed to match that of |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
42 |
normal rebases (and that of the commit command). |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
43 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
44 |
* The push command now checks the correct set of outgoing changesets for |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
45 |
obsolete and unstable changesets. Previously, it could happen that the check |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
46 |
prevented pushing changesets which were already on the server. |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
47 |
|
45189
045f5361bd12
relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents:
45169
diff
changeset
|
48 |
|
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 |
== Backwards Compatibility Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 |
|
45190
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
51 |
* Mercurial now requires at least Python 2.7.9 or a Python version that |
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
52 |
backported modern SSL/TLS features (as defined in PEP 466), and that Python |
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
53 |
was compiled against a OpenSSL version supporting TLS 1.1 or TLS 1.2 |
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
54 |
(likely this requires the OpenSSL version to be at least 1.0.1). |
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
55 |
|
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
56 |
* The `hg perfwrite` command from contrib/perf.py was made more flexible and |
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
57 |
changed its default behavior. To get the previous behavior, run `hg perfwrite |
189030efd7bb
relnotes: fix indentation
Manuel Jacob <me@manueljacob.de>
parents:
45189
diff
changeset
|
58 |
--nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`. |
44996
c2df0bca0dfa
perf: make `hg perfwrite` more flexible
Manuel Jacob <me@manueljacob.de>
parents:
44905
diff
changeset
|
59 |
|
45191
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
60 |
* The absorb extension now preserves changesets with no file changes that can |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
61 |
be created by the commit command (those which change the branch name |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
62 |
compared to the parent and those closing a branch head). |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
63 |
|
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
64 |
|
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 |
== Internal API Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 |
|
44853
ba5688e3b3bd
relnotes: add API change note per request in D8502
Augie Fackler <augie@google.com>
parents:
44827
diff
changeset
|
67 |
* logcmdutil.diffordiffstat() now takes contexts instead of nodes. |
ba5688e3b3bd
relnotes: add API change note per request in D8502
Augie Fackler <augie@google.com>
parents:
44827
diff
changeset
|
68 |
|
44856
b7808443ed6a
mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents:
44853
diff
changeset
|
69 |
* The `mergestate` class along with some related methods and constants have |
b7808443ed6a
mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents:
44853
diff
changeset
|
70 |
moved from `mercurial.merge` to a new `mercurial.mergestate` module. |
b7808443ed6a
mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents:
44853
diff
changeset
|
71 |
|
45169 | 72 |
* The `phasecache` class now uses sparse dictionaries for the phase data. |
73 |
New accessors are provided to detect if any non-public changeset exists |
|
74 |
(`hasnonpublicphases`) and get the correponsponding root set |
|
75 |
(`nonpublicphaseroots`). |
|
45191
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
76 |
|
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
77 |
* The `stdin`, `stdout` and `stderr` attributes of the `mercurial.pycompat` |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
78 |
module were removed. Instead, the attributes of same name from the |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
79 |
`mercurial.utils.procutil` module should be used, which provide more |
fc54f52779dd
relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents:
45190
diff
changeset
|
80 |
consistent behavior across Python versions and platforms. |