relnotes/next
author Joerg Sonnenberger <joerg@bec.de>
Thu, 22 Apr 2021 02:57:30 +0200
branchstable
changeset 47008 77e73827a02d
parent 47001 5be3e2edd449
child 47014 32b527417ba3
permissions -rw-r--r--
tests: don't hard-code /bin/bash From Thomas Klausner in pkgsrc. Differential Revision: https://phab.mercurial-scm.org/D10507
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     1
== New Features ==
46453
1c66795862cf branching: merge with stable
Martin von Zweigbergk <martinvonz@google.com>
parents: 46372 46452
diff changeset
     2
 
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46254
diff changeset
     3
 * `hg purge` is now a core command using `--confirm` by default.
46453
1c66795862cf branching: merge with stable
Martin von Zweigbergk <martinvonz@google.com>
parents: 46372 46452
diff changeset
     4
 
46372
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46370
diff changeset
     5
 * The `rev-branch-cache` is now updated incrementally whenever changesets
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46370
diff changeset
     6
   are added.
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     7
46776
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 46628
diff changeset
     8
 * The new options `experimental.bundlecompthreads` and
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 46628
diff changeset
     9
   `experimental.bundlecompthreads.<engine>` can be used to instruct
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 46628
diff changeset
    10
   the compression engines for bundle operations to use multiple threads
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 46628
diff changeset
    11
   for compression. The default is single threaded operation. Currently
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 46628
diff changeset
    12
   only supported for zstd.
46254
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
    13
46999
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    14
== Default Format Change ==
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    15
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    16
These changes affects newly created repositories (or new clone) done with
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    17
Mercurial 5.8.
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    18
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    19
  * The `ZSTD` compression will now be used by default for new repositories
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    20
    when available. This compression format was introduced in Mercurial 5.0,
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    21
    released in May 2019. See `hg help config.format.revlog-compression` for
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    22
    details.
035c06f9fddf relnode: document the move to `zstd` as default compression
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46998
diff changeset
    23
47000
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    24
  * Mercurial installation built with the Rust parts will now use the
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    25
    "persistent nodemap" feature by default. This feature was introduced in
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    26
    Mercurial 5.4 (May 2020). However Mercurial instalation built without the
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    27
    fast Rust implementation will refuse to interract with them by default.
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    28
    This restriction can be lifted through configuration.
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    29
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    30
    See `hg help config.format.use-persistent-nodemap` for details
c3eee5ad1de9 relnote: document the use of persistent-nodemap by default for Rust build
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46999
diff changeset
    31
44367
9dab3fa64325 copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44365
diff changeset
    32
== New Experimental Features ==
44343
8561ad49915d revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 44289
diff changeset
    33
46496
d57e607d9e33 diff: replace --merge option by config option
Martin von Zweigbergk <martinvonz@google.com>
parents: 46454
diff changeset
    34
 * There's a new `diff.merge` config option to show the changes
d57e607d9e33 diff: replace --merge option by config option
Martin von Zweigbergk <martinvonz@google.com>
parents: 46454
diff changeset
    35
    relative to an automerge for merge changesets. This makes it
d57e607d9e33 diff: replace --merge option by config option
Martin von Zweigbergk <martinvonz@google.com>
parents: 46454
diff changeset
    36
    easier to detect and review manual changes performed in merge
46498
3caa3698335e log: respect diff.merge in -p output
Martin von Zweigbergk <martinvonz@google.com>
parents: 46496
diff changeset
    37
    changesets. It is supported by `hg diff --change`, `hg log -p`
3caa3698335e log: respect diff.merge in -p output
Martin von Zweigbergk <martinvonz@google.com>
parents: 46496
diff changeset
    38
    `hg incoming -p`, and `hg outgoing -p` so far.
46454
6b847757dd8d relnotes: add entry for `hg diff --merge -c`
Augie Fackler <augie@google.com>
parents: 46453
diff changeset
    39
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
    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
== 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
    42
47001
5be3e2edd449 relnote: mention a nodemap bug fixes
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47000
diff changeset
    43
 * gracefully recover from inconsistent persistent-nodemap data from disk.
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
    44
45189
045f5361bd12 relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents: 45169
diff changeset
    45
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    46
== Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    47
46779
49fd21f32695 revlog: guarantee that p1 != null if a non-null parent exists
Joerg Sonnenberger <joerg@bec.de>
parents: 46776
diff changeset
    48
 * In normal repositories, the first parent of a changeset is not null,
49fd21f32695 revlog: guarantee that p1 != null if a non-null parent exists
Joerg Sonnenberger <joerg@bec.de>
parents: 46776
diff changeset
    49
   unless both parents are null (like the first changeset). Some legacy
49fd21f32695 revlog: guarantee that p1 != null if a non-null parent exists
Joerg Sonnenberger <joerg@bec.de>
parents: 46776
diff changeset
    50
   repositories violate this condition. The revlog code will now
49fd21f32695 revlog: guarantee that p1 != null if a non-null parent exists
Joerg Sonnenberger <joerg@bec.de>
parents: 46776
diff changeset
    51
   silentely swap the parents if this condition is tested. This can
49fd21f32695 revlog: guarantee that p1 != null if a non-null parent exists
Joerg Sonnenberger <joerg@bec.de>
parents: 46776
diff changeset
    52
   change the output of `hg log` when explicitly asking for first or
46998
65d18001cfbf relnote: clarify the backward compatibility entry about p1/p2 swap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46780
diff changeset
    53
   second parent. The changesets "nodeid" are not affected.
46779
49fd21f32695 revlog: guarantee that p1 != null if a non-null parent exists
Joerg Sonnenberger <joerg@bec.de>
parents: 46776
diff changeset
    54
44396
acbfa31cfaf2 debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents: 44392
diff changeset
    55
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    56
== Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    57
46370
cad17d50736c changelog: move branchinfo to changelogrevision
Joerg Sonnenberger <joerg@bec.de>
parents: 46368
diff changeset
    58
 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
cad17d50736c changelog: move branchinfo to changelogrevision
Joerg Sonnenberger <joerg@bec.de>
parents: 46368
diff changeset
    59
   It is superseded by `changelogrevision.branchinfo`.
46628
0a23ace80e54 relnotes: document a number of node->revision type changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46498
diff changeset
    60
0a23ace80e54 relnotes: document a number of node->revision type changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46498
diff changeset
    61
 * Callbacks for revlog.addgroup and the changelog._nodeduplicatecallback hook
0a23ace80e54 relnotes: document a number of node->revision type changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46498
diff changeset
    62
   now get a revision number as argument instead of a node.
0a23ace80e54 relnotes: document a number of node->revision type changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46498
diff changeset
    63
0a23ace80e54 relnotes: document a number of node->revision type changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46498
diff changeset
    64
 * revlog.addrevision returns the revision number instead of the node.
46780
6266d19556ad node: introduce nodeconstants class
Joerg Sonnenberger <joerg@bec.de>
parents: 46779
diff changeset
    65
6266d19556ad node: introduce nodeconstants class
Joerg Sonnenberger <joerg@bec.de>
parents: 46779
diff changeset
    66
 * `nodes.nullid` and related constants are being phased out as part of
6266d19556ad node: introduce nodeconstants class
Joerg Sonnenberger <joerg@bec.de>
parents: 46779
diff changeset
    67
   the deprecation of SHA1. Repository instances and related classes
6266d19556ad node: introduce nodeconstants class
Joerg Sonnenberger <joerg@bec.de>
parents: 46779
diff changeset
    68
   provide access via `nodeconstants` and in some cases `nullid` attributes.