5.8
68 lines
| 2.7 KiB
| application/x-troff
|
GroffLexer
/ relnotes / 5.8
Martin von Zweigbergk
|
r47778 | == New Features == | ||
* `hg purge` is now a core command using `--confirm` by default. | ||||
* The `rev-branch-cache` is now updated incrementally whenever changesets | ||||
are added. | ||||
* The new options `experimental.bundlecompthreads` and | ||||
`experimental.bundlecompthreads.<engine>` can be used to instruct | ||||
the compression engines for bundle operations to use multiple threads | ||||
for compression. The default is single threaded operation. Currently | ||||
only supported for zstd. | ||||
== Default Format Change == | ||||
These changes affects newly created repositories (or new clone) done with | ||||
Mercurial 5.8. | ||||
* The `ZSTD` compression will now be used by default for new repositories | ||||
when available. This compression format was introduced in Mercurial 5.0, | ||||
released in May 2019. See `hg help config.format.revlog-compression` for | ||||
details. | ||||
* Mercurial installation built with the Rust parts will now use the | ||||
"persistent nodemap" feature by default. This feature was introduced in | ||||
Mercurial 5.4 (May 2020). However Mercurial instalation built without the | ||||
fast Rust implementation will refuse to interract with them by default. | ||||
This restriction can be lifted through configuration. | ||||
See `hg help config.format.use-persistent-nodemap` for details | ||||
== New Experimental Features == | ||||
* There's a new `diff.merge` config option to show the changes | ||||
relative to an automerge for merge changesets. This makes it | ||||
easier to detect and review manual changes performed in merge | ||||
changesets. It is supported by `hg diff --change`, `hg log -p` | ||||
`hg incoming -p`, and `hg outgoing -p` so far. | ||||
== Bug Fixes == | ||||
* gracefully recover from inconsistent persistent-nodemap data from disk. | ||||
== Backwards Compatibility Changes == | ||||
* In normal repositories, the first parent of a changeset is not null, | ||||
unless both parents are null (like the first changeset). Some legacy | ||||
repositories violate this condition. The revlog code will now | ||||
silentely swap the parents if this condition is tested. This can | ||||
change the output of `hg log` when explicitly asking for first or | ||||
second parent. The changesets "nodeid" are not affected. | ||||
== Internal API Changes == | ||||
* `changelog.branchinfo` is deprecated and will be removed after 5.8. | ||||
It is superseded by `changelogrevision.branchinfo`. | ||||
* Callbacks for revlog.addgroup and the changelog._nodeduplicatecallback hook | ||||
now get a revision number as argument instead of a node. | ||||
* revlog.addrevision returns the revision number instead of the node. | ||||
* `nodes.nullid` and related constants are being phased out as part of | ||||
the deprecation of SHA1. Repository instances and related classes | ||||
provide access via `nodeconstants` and in some cases `nullid` attributes. | ||||