Mercurial > hg
annotate relnotes/6.0 @ 51713:74f1bf147a6d
heptapod-ci: use new v2.1 image
This is finally catching up to ~3 years of tech debt.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 23 Jul 2024 12:12:22 +0200 |
parents | 60950aef856c |
children |
rev | line source |
---|---|
48803 | 1 = Mercurial 6.0.3 = |
2 | |
3 * Fix an infinite loop in edge cases of the pure Python dirstate-v2 packer | |
4 * Fix a small race condition with deleted files in Rust-augmented status | |
5 * Small improvement to Python 3.11 compatibility | |
6 * Fixed some typos in help messages that caused missing sections | |
7 * Centos -> Rockylinux packaging | |
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 |