relnotes/6.0
author Raphaël Gomès <rgomes@octobus.net>
Thu, 04 Nov 2021 12:34:51 +0100
changeset 48301 9327ece2bc6f
child 48310 229f5ee1a08a
permissions -rw-r--r--
relnotes: add 6.0 release notes Differential Revision: https://phab.mercurial-scm.org/D11736
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48301
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     1
== New Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     2
  * `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
     3
  * 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
     4
    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
     5
    details.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     6
  * 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
     7
   for details.
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     8
  * 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
     9
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    10
== Default Format Change ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    11
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    12
== New Experimental Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    13
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    14
 * '''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
    15
 * 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
    16
   de2e04fe4897a554b9ef433167f11ea4feb2e09c for more information
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    17
 * 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
    18
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    19
== Bug Fixes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    20
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    21
 * `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
    22
 * 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
    23
 * `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
    24
 * `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
    25
 * `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
    26
 * `rhg cat` is even faster
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    27
 * `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
    28
 * `rhg` now parses some corner-cases for revsets correctly
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    29
 * Lots of Windows fixes
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    30
 * Lots of miscellaneous other fixes
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
 * 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
    32
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
== Backwards Compatibility Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    34
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
== Internal API Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    37
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
The following functions have been removed:
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
  * `dirstate.normal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
  * `dirstate.normallookup`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
  * `dirstate.otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
  * `dirstate.add`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
  * `dirstate.addfile`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
  * `dirstate.remove`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
  * `dirstate.drop`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
  * `dirstate.dropfile`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
  * `dirstate.__getitem__`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
  * `dirstatemap.nonnormalentries`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
  * `dirstatemap.nonnormalset`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
  * `dirstatemap.otherparentset`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
  * `dirstatemap.non_normal_or_other_parent_paths`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
  * `dirstateitem.dm_nonnormal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
  * `dirstateitem.dm_otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
  * `dirstateitem.merged_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
  * `dirstateitem.from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
  * `dirstateitem.merged`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
  * `dirstateitem.new_merged`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
  * `dirstateitem.new_added`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
  * `dirstateitem.new_from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
  * `dirstateitem.new_possibly_dirty`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
  * `dirstateitem.new_normal`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
  * `dirstateitem.from_p2_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
Miscellaneous:
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
  * `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
    68
   anymore
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
  * 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
9327ece2bc6f relnotes: add 6.0 release notes
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
  * The Rust minimum supported version is now 1.48.0 in accordance with out policy of keeping up with Debian stable