relnotes/5.8
branchstable
changeset 47014 32b527417ba3
equal deleted inserted replaced
47013:222a42ac5b2d 47014:32b527417ba3
       
     1 == New Features ==
       
     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 
       
    14 == Default Format Change ==
       
    15 
       
    16 These changes affects newly created repositories (or new clone) done with
       
    17 Mercurial 5.8.
       
    18 
       
    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 
       
    32 == 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 
       
    40 
       
    41 == Bug Fixes ==
       
    42 
       
    43  * gracefully recover from inconsistent persistent-nodemap data from disk.
       
    44 
       
    45 
       
    46 == 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 
       
    55 
       
    56 == Internal API Changes ==
       
    57 
       
    58  * `changelog.branchinfo` is deprecated and will be removed after 5.8.
       
    59    It is superseded by `changelogrevision.branchinfo`.
       
    60 
       
    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.