relnotes/6.0
author Simon Sapin <simon.sapin@octobus.net>
Thu, 10 Feb 2022 19:26:10 +0100
changeset 48735 29eb80d190b2
parent 48678 75676122c2bf
child 48803 60950aef856c
permissions -rw-r--r--
rhg: enable `rhg status` by default, without config or env opt-in The full test suite now passes with `hg` pointing to rhg. Differential Revision: https://phab.mercurial-scm.org/D12162
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48678
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     1
= Mercurial 6.0.2 =
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     2
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     3
  * Fix `hg incoming` and `hg outgoing` with remote subrepos on Windows
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     4
  * Fix Rust build on MacOS
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     5
  * Fix a (15 year old?) bug where some data loss could happen in a very tight race window (f38ae2d7390e + ccd9cb73125c)
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     6
  * Remove support for running `hg unamend` on merge changesets at it was never actually implemented
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     7
  * Fix stream-clone requirements filtering which caused some stream-clones to be unusable from an older version of Mercurial
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     8
  * Rename dirstate-v2 configuration name from `exp-rc-dirstate-v2` to `use-dirstate-v2`. This was overlooked in `6.0`, the old name will be kept as an alias for compatibility.
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     9
  * Fix a bug where the branchmap could point to uncommitted data 
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    10
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    11
= Mercurial 6.0.1 =
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    12
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    13
  * Improve documentation around Rust (see hg help rust) and rust-related actions
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    14
  * Improve upgrade/downgrade edge cases for dirstate-v2
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    15
  * Make the test suite nicer to big-endian platforms
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    16
  * Make the test suite nicer to NetBSD
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    17
  * Fix a performance regression on fsmonitor (issue6612)
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    18
  * Add fixes for Python 3.10
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    19
  * Fix a deadlock when using sparse and share-safe together 
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    20
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    21
= Mercurial 6.0 =
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    22
48301
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    23
== New Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    24
  * `debugrebuildfncache` now has an option to rebuild only the index files
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    25
  * a new `bookmarks.mode` path option have been introduced to control the
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    26
    bookmark update strategy during exchange with a peer. See `hg help paths` for
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    27
    details.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    28
  * a new `bookmarks.mirror` option has been introduced. See `hg help bookmarks`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    29
   for details.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    30
  * more commands support detailed exit codes when config `ui.detailed-exit-codes` is enabled 
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    32
== Default Format Change ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    34
== New Experimental Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    35
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    36
 * '''Major feature''': version 2 of the dirstate is available (the first version is as old as Mercurial itself). It allows for much faster working copy inspection (status, diff, commit, update, etc.) and richer information (symlink and exec info on Windows, etc.). The format has been frozen with room for some future evolution and the current implementations (Python, Python + C, Python + Rust or pure Rust) should be compatible with any future change or optimization that the format allows. You can get more information [[https://www.mercurial-scm.org/repo/hg/file/tip/mercurial/helptext/internals/dirstate-v2.txt | in the internal documentation]]
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    37
 * Added a new `web.full-garbage-collection-rate` to control performance. See
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
   de2e04fe4897a554b9ef433167f11ea4feb2e09c for more information
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
 * Added a new `histedit.later-commits-first` option to affect the ordering of commits in `chistedit` to match the order in `hg log -G`. It will affect the text-based version before graduating from experimental.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
== Bug Fixes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
 * `hg fix --working-dir` now correctly works when in an uncommitted merge state
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
 * Unintentional duplicated calls to `hg fix`'s internals were removed, making it potentially much faster
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
 * `rhg cat` can be called without a revision
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
 * `rhg cat` can be called with the `.` revision
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
 * `rhg cat` is more robust than before with regards to edge cases. Some still remain like a tag or bookmark that is ambiguous with a nodeid prefix, only nodeids (prefixed or not) are supported as of now.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
 * `rhg cat` is even faster
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
 * `rhg` (Rust fast-path for `hg`) now supports the full config list syntax
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
 * `rhg` now parses some corner-cases for revsets correctly
48310
229f5ee1a08a relnotes: update 6.0 with the last changes for the release
Raphaël Gomès <rgomes@octobus.net>
parents: 48301
diff changeset
    51
 * Fixed an `fsmonitor` on Python 3 during exception handling
48301
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
 * Lots of Windows fixes
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
 * Lots of miscellaneous other fixes
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
 * Removed a CPython-specific compatibility hack to improve support for alternative Python implementations
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
== Backwards Compatibility Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
== Internal API Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
The following functions have been removed:
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
  * `dirstate.normal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
  * `dirstate.normallookup`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
  * `dirstate.otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
  * `dirstate.add`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
  * `dirstate.addfile`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
  * `dirstate.remove`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
  * `dirstate.drop`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
  * `dirstate.dropfile`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
  * `dirstate.__getitem__`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
  * `dirstatemap.nonnormalentries`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
  * `dirstatemap.nonnormalset`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
  * `dirstatemap.otherparentset`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
  * `dirstatemap.non_normal_or_other_parent_paths`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
  * `dirstateitem.dm_nonnormal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
  * `dirstateitem.dm_otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
  * `dirstateitem.merged_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
  * `dirstateitem.from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
  * `dirstateitem.merged`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
  * `dirstateitem.new_merged`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
  * `dirstateitem.new_added`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
  * `dirstateitem.new_from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
  * `dirstateitem.new_possibly_dirty`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
  * `dirstateitem.new_normal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
  * `dirstateitem.from_p2_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    88
Miscellaneous:
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    89
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    90
  * `wireprotov1peer`'s `batchable` is now a simple function and not a generator
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    91
   anymore
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    92
  * The Rust extensions (and by extension the experimental `rhg status`) only use a tree-based dirstate in-memory, even when using dirstate-v1. See bf8837e3d7cec40fe649c47163a3154dda03fa16 for more details
48310
229f5ee1a08a relnotes: update 6.0 with the last changes for the release
Raphaël Gomès <rgomes@octobus.net>
parents: 48301
diff changeset
    93
  * The Rust minimum supported version is now 1.48.0 in accordance with out policy of keeping up with Debian stable
229f5ee1a08a relnotes: update 6.0 with the last changes for the release
Raphaël Gomès <rgomes@octobus.net>
parents: 48301
diff changeset
    94
  * The test harness plays nicer with the NixOS sandbox