author | Raphaël Gomès <rgomes@octobus.net> |
Fri, 23 Feb 2024 15:18:17 +0100 | |
branch | stable |
changeset 51439 | e84975e4a2e7 |
parent 49365 | 79b2c98ab7b4 |
permissions | -rw-r--r-- |
48804 | 1 |
'''This is the last release to support Python 2. Mercurial is Python 3 only starting with 6.2''' |
2 |
||
49364
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
3 |
= Mercurial 6.1.4 = |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
4 |
|
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
5 |
* url: raise error if CONNECT request to proxy was unsuccessful |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
6 |
* docker: avoid /tmp write access issues by fixing permissions |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
7 |
* logcmdutil: use the same data as {file*} template keywords (issue6642) |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
8 |
* commit: allow to close branch when committing change over a closed head |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
9 |
* rust-status: don't trigger dirstate v1 rewrite when only v2 data is changed |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
10 |
* purge: prevent a silly crash with --confirm --files |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
11 |
* rust: relax im-rc dependency to allow minor updates" |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
12 |
* Improve PyPy support |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
13 |
* Improve Py3 error handling |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
14 |
* Documentation fixes |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
15 |
|
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
16 |
= Mercurial 6.1.3 = |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
17 |
|
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
18 |
'''security: ''' |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
19 |
* narrow_widen_acl: enforce narrowacl in narrow_widen (SEC) 6b10151b9621 |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
20 |
|
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
21 |
'''normal notes: ''' |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
22 |
* censor: fix [hg update] away from a revision with censored files |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
23 |
* amend: stop losing copies when amending |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
24 |
* rhg: strengthen dirstate v2 writing in broken filesystems |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
25 |
* work around some broken DLL imports in Windows |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
26 |
* worker: adapt _blockingreader to work around a python3.8.[0-1] bug (issue6444) |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
27 |
* rhg: correctly handle the case where diffs are encoded relative to nullrev |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
28 |
* fix bugs and race-conditions in the Mercurial test runner |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
29 |
* chg: ignore already closed fds when cleaning up |
e8ea403b1c46
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net>
parents:
49160
diff
changeset
|
30 |
|
49160
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
31 |
= Mercurial 6.1.2 = |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
32 |
|
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
33 |
* Improve Windows test suite |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
34 |
* Fix `debuglock` not ignoring a missing lockfile when forcing a lock |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
35 |
* Improve help of `ui.large-file-limit` |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
36 |
* Set the large-file-limit to 10MB (from 10MiB) for clarity |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
37 |
* While rewriting desc hashes, ignore ambiguous prefix "hashes" |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
38 |
* Fix a crash in partial amend with copies |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
39 |
* Fix a py3 compatiblity bug |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
40 |
* Fix incorrect metadata causing dirstate-v2 data loss in edge case |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
41 |
* Fix cleanup of old dirstate-v2 data files when using `rhg` |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
42 |
* Make reference to `.hg/last_message.txt` relative in commit |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
43 |
* Fix an infinite hang when `rhg` is used in the background |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
44 |
* Fix Python DLL loading bug in Windows |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
45 |
* Add `--docket` flag to `debugstate` to check out dirstate-v2 metadata |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
46 |
* Remove `debugdirstateignorepatternhash` in favor of `debugstate --docket` |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
47 |
* Fix incorrect metadata causing systematic complete dirstate-v2 rewrite |
4420e06c8810
relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents:
49006
diff
changeset
|
48 |
|
49006
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
49 |
= Mercurial 6.1.1 = |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
50 |
|
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
51 |
* Fix Rust compilation on `aarcch64` |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
52 |
* Fix Rust compilation on architectures where `char` is unsigned |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
53 |
* When the merge tool uses `$output`, don't leave markers in `$local` |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
54 |
* Improve test suite support on big-endian platforms |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
55 |
* Cap the number of concurrent threads to 16 in Rust `hg status` to prevent huge speed regression at higher thread counts |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
56 |
* Fix `amend` with copies in extras |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
57 |
* Abort if commit we're trying to `unamend` was not created by `hg [un]amend` |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
58 |
* Fix file name in the pullbundle help text |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
59 |
* Fix an issue with data not being correctly reset in the C implementation of dirstate-v2 |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
60 |
* Fix issue6673 where some tags were missing from cache after a merge |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
61 |
* Fix stream-cloning a repo with empty requirements |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
62 |
* Fix a false warning about content-divergence creation |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
63 |
* Fix silly blackbox entries when hg is interrupted |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
64 |
* Fix unsoundness (no known exploits) in Rust extensions (see cfd270d83169 and dd6b67d5c256) |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
65 |
* Fix Rust dirstate counters not being updated correctly leading to some potential bugs (none known) |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
66 |
* Stop relying on a compiler implementation detail in Rust HgPath |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
67 |
|
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
68 |
= Mercurial 6.1 = |
48804 | 69 |
|
70 |
== New Features == |
|
71 |
* Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See `hg help config.extensions`. |
|
72 |
* Merge conflict markers have been made clearer (see backwards compatibility below) |
|
73 |
* Improve detailed error codes |
|
74 |
* Added a hint about mangled whitespace on bad patch |
|
75 |
* Explain which order the commits are presented in `chistedit` |
|
76 |
* Introduce a `dirstate-tracked-hint` feature to help automation keep track of changes to tracked files. See `hg help config.use-dirstate-tracked-hint`. |
|
77 |
* Shared repositories can be upgraded if the upgrade is specific to the share. For now, this only applies to `dirstate-v2` and `dirstate-tracked-hint`. |
|
78 |
* When using the `narrow` extension, non-conflicting changes to files outside of the narrow specification can now be merged. |
|
79 |
* When cloning a repository using stream-clone, the client can now control the repository format variants to use as long as the stream content does not restrict that variant. |
|
80 |
||
81 |
== Default Format Change == |
|
82 |
||
83 |
These changes affect newly created repositories (or new clones) done with Mercurial 6.1. |
|
84 |
||
85 |
* The `share-safe` format variant is now enabled by default. It makes configuration and requirements more consistent across repository and their shares. This introduces a behavior change as shares from a repository using the new format will also use their main repository's configuration. See `hg help config.format.use-share-safe` for details about the feature and the available options for auto-upgrading existing shares. |
|
86 |
||
87 |
||
88 |
== New Experimental Features == |
|
89 |
* The pure Rust version of Mercurial called `rhg` added support for most common invocations of `hg status`. See `hg help rust.rhg` for details on how to try it out. |
|
90 |
* `rhg` supports narrow clones and sparse checkouts. |
|
91 |
||
92 |
== Bug Fixes == |
|
93 |
||
94 |
* '''Obsolete revisions are skipped while computing heads. In conjunction with the `evolve` extension >= 10.5.0, this leads to massive exchange (push/pull) speedups in repositories with a lot of heads and/or obsolete revisions.''' |
|
95 |
* Stream-clones now properly advertise all requirements needed. This can result in the stream-clone feature being disabled for some clients using < 6.0.2. A small bugfix patch for these older client is available if necessary. |
|
96 |
* The `--no-check` and `--no-merge` flags now properly overwrite the behavior from `commands.update.check` |
|
97 |
* `rhg`'s fallback detection is more robust in general in the presence of more advanced configs |
|
98 |
* `rhg`'s `blackbox` now supports milliseconds by default and uses the same ISO 8601 format as the Python implementation |
|
99 |
* Fix `rhg` crash on non-generaldelta revlogs |
|
100 |
* The `lfs`, `largefiles` and `sparse` extensions now correctly take the appropriate lock before writing requirements |
|
101 |
* The `notify` extension does not produce errors anymore if a revision is not found |
|
102 |
* Remove unnecessary and overly strict check for divergence in `hg fix` |
|
103 |
* Windows compatibility improvements |
|
104 |
* Miscellaneous Python 3 and typing improvements |
|
105 |
* Many other small or internal fixes |
|
106 |
||
107 |
== Backwards Compatibility Changes == |
|
108 |
||
109 |
* The use of `share-safe`, means shares (of new repositories) will also use their main repository's configuration see the `Default Format Change` section for details. |
|
110 |
* The fix to stream-clone requirements advertising means some requirements previously (wrongly) omitted are now sent. This can confuse client using a Mercurial version < 6.0.2. The client would consider these requirements unsupported even if it actually know them. If you encounter this, either upgrade your client or apply the necessary patch. |
|
111 |
* The labels passed to merge tools have changed slightly. Merge tools can get labels passed to them if you include `$labellocal`, `$labelbase`, and/or `$labelother` in the `merge-tool.<tool name>.args` configuration. These labels used to have some space-padding, and truncation to fit within 72 columns. Both the padding and the truncation has been removed. |
|
112 |
* Some of the text in labels passed to merge tools has changed. For example, in conflicts while running `hg histedit`, the labels used to be "local", "base", and "histedit". They are now "already edited", "parent of current change", and "current change", respectively. |
|
113 |
* The computation of namedbranch heads now ignores obsolete revisions. User of the Changeset Evolution feature may see a change in location and numbers of heads of each named branches (and topic). |
|
114 |
* The remotefilelog extension now requires an appropriate excludepattern for subrepositories. |
|
115 |
* `debugsparse`'s interface has been reworked to be more flexible. Since it's a debug command it is not actually a breaking change, but it is worth noting here. |
|
116 |
* Temporary files for merges are now all inside a `hgmerge` directory instead of at the root of `TMPDIR`. The corresponding experimental `mergetempdirprefix` config option has been removed. |
|
117 |
||
118 |
== Internal API Changes == |
|
119 |
||
120 |
* The dirstate API received minor modifications. |
|
121 |
||
122 |
== Miscellaneous == |
|
123 |
||
124 |
* Removed exchange-v2. It was a prototype that had never been in a working state and had been left untouched since 2017. |