1 == New Features == |
1 == New Features == |
2 |
2 |
3 * `hg purge` is now a core command using `--confirm` by default. |
|
4 |
|
5 * The `rev-branch-cache` is now updated incrementally whenever changesets |
|
6 are added. |
|
7 |
|
8 * The new options `experimental.bundlecompthreads` and |
|
9 `experimental.bundlecompthreads.<engine>` can be used to instruct |
|
10 the compression engines for bundle operations to use multiple threads |
|
11 for compression. The default is single threaded operation. Currently |
|
12 only supported for zstd. |
|
13 |
3 |
14 == Default Format Change == |
4 == Default Format Change == |
15 |
5 |
16 These changes affects newly created repositories (or new clone) done with |
6 These changes affects newly created repositories (or new clone) done with |
17 Mercurial 5.8. |
7 Mercurial 5.8. |
18 |
8 |
19 * The `ZSTD` compression will now be used by default for new repositories |
|
20 when available. This compression format was introduced in Mercurial 5.0, |
|
21 released in May 2019. See `hg help config.format.revlog-compression` for |
|
22 details. |
|
23 |
|
24 * Mercurial installation built with the Rust parts will now use the |
|
25 "persistent nodemap" feature by default. This feature was introduced in |
|
26 Mercurial 5.4 (May 2020). However Mercurial instalation built without the |
|
27 fast Rust implementation will refuse to interract with them by default. |
|
28 This restriction can be lifted through configuration. |
|
29 |
|
30 See `hg help config.format.use-persistent-nodemap` for details |
|
31 |
9 |
32 == New Experimental Features == |
10 == New Experimental Features == |
33 |
|
34 * There's a new `diff.merge` config option to show the changes |
|
35 relative to an automerge for merge changesets. This makes it |
|
36 easier to detect and review manual changes performed in merge |
|
37 changesets. It is supported by `hg diff --change`, `hg log -p` |
|
38 `hg incoming -p`, and `hg outgoing -p` so far. |
|
39 |
11 |
40 |
12 |
41 == Bug Fixes == |
13 == Bug Fixes == |
42 |
14 |
43 * gracefully recover from inconsistent persistent-nodemap data from disk. |
|
44 |
|
45 |
15 |
46 == Backwards Compatibility Changes == |
16 == Backwards Compatibility Changes == |
47 |
|
48 * In normal repositories, the first parent of a changeset is not null, |
|
49 unless both parents are null (like the first changeset). Some legacy |
|
50 repositories violate this condition. The revlog code will now |
|
51 silentely swap the parents if this condition is tested. This can |
|
52 change the output of `hg log` when explicitly asking for first or |
|
53 second parent. The changesets "nodeid" are not affected. |
|
54 |
17 |
55 |
18 |
56 == Internal API Changes == |
19 == Internal API Changes == |
57 |
20 |
58 * `changelog.branchinfo` is deprecated and will be removed after 5.8. |
|
59 It is superseded by `changelogrevision.branchinfo`. |
|
60 |
21 |
61 * Callbacks for revlog.addgroup and the changelog._nodeduplicatecallback hook |
|
62 now get a revision number as argument instead of a node. |
|
63 |
|
64 * revlog.addrevision returns the revision number instead of the node. |
|
65 |
|
66 * `nodes.nullid` and related constants are being phased out as part of |
|
67 the deprecation of SHA1. Repository instances and related classes |
|
68 provide access via `nodeconstants` and in some cases `nullid` attributes. |
|