relnotes/6.0
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 26 Feb 2024 15:44:44 +0100
changeset 51521 0d4a6ab3c8da
parent 48803 60950aef856c
permissions -rw-r--r--
branchcache-v3: use more explicit header line The key-value approach is clearer and gives more rooms to have the format evolve in a clear way. It also provides extension (like topic) simpler way to extend the validation scheme. This is just a small evolution, the V3 format is still a work in progress.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48803
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     1
= Mercurial 6.0.3 =
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     2
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     3
  * Fix an infinite loop in edge cases of the pure Python dirstate-v2 packer
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     4
  * Fix a small race condition with deleted files in Rust-augmented status
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     5
  * Small improvement to Python 3.11 compatibility
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     6
  * Fixed some typos in help messages that caused missing sections
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     7
  * Centos -> Rockylinux packaging
60950aef856c relnotes: add 6.0.3
Raphaël Gomès <rgomes@octobus.net>
parents: 48678
diff changeset
     8
48678
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
     9
= 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
    10
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    11
  * 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
    12
  * 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
    13
  * 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
    14
  * 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
    15
  * 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
    16
  * 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
    17
  * 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
    18
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    19
= 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
    20
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    21
  * 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
    22
  * 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
    23
  * 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
    24
  * 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
    25
  * 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
    26
  * 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
    27
  * 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
    28
75676122c2bf relnotes: add 6.0.1 and 6.0.2 notes
Raphaël Gomès <rgomes@octobus.net>
parents: 48310
diff changeset
    29
= 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
    30
48301
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
== New Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    32
  * `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
    33
  * 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
    34
    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
    35
    details.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    36
  * 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
    37
   for details.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
  * 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
    39
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
== Default Format Change ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
== New Experimental Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
 * '''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
    45
 * 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
    46
   de2e04fe4897a554b9ef433167f11ea4feb2e09c for more information
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
 * 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
    48
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
== Bug Fixes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
 * `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
    52
 * 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
    53
 * `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
    54
 * `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
    55
 * `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
    56
 * `rhg cat` is even faster
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
 * `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
    58
 * `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
    59
 * 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
    60
 * Lots of Windows fixes
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
 * Lots of miscellaneous other fixes
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
 * 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
    63
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
== Backwards Compatibility Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
== Internal API Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
The following functions have been removed:
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
  * `dirstate.normal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
  * `dirstate.normallookup`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
  * `dirstate.otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
  * `dirstate.add`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
  * `dirstate.addfile`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
  * `dirstate.remove`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
  * `dirstate.drop`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
  * `dirstate.dropfile`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
  * `dirstate.__getitem__`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
  * `dirstatemap.nonnormalentries`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
  * `dirstatemap.nonnormalset`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
  * `dirstatemap.otherparentset`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
  * `dirstatemap.non_normal_or_other_parent_paths`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
  * `dirstateitem.dm_nonnormal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
  * `dirstateitem.dm_otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
  * `dirstateitem.merged_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
  * `dirstateitem.from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    88
  * `dirstateitem.merged`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    89
  * `dirstateitem.new_merged`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    90
  * `dirstateitem.new_added`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    91
  * `dirstateitem.new_from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    92
  * `dirstateitem.new_possibly_dirty`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    93
  * `dirstateitem.new_normal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    94
  * `dirstateitem.from_p2_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    95
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    96
Miscellaneous:
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    97
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    98
  * `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
    99
   anymore
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   100
  * 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
   101
  * 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
   102
  * The test harness plays nicer with the NixOS sandbox