relnotes/6.8
author Raphaël Gomès <rgomes@octobus.net>
Mon, 04 Nov 2024 11:07:05 +0100
changeset 52303 b422acba55f1
parent 52137 eae3ec345e5e
permissions -rw-r--r--
rust-dirstate: remove star exports This makes the crate's imports confusing and muddies the discovery of the code.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
52137
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     1
= Mercurial 6.8.2 =
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     2
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     3
This is the last version that supports Python 3.6 and 3.7.
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     4
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     5
 * Compatibility for Python 3.12 and 3.13
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     6
 * evolution: stop wrongly flagging unrelated part of a split as divergent
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     7
 * histedit: create state and acquire locks earlier
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     8
 * copytracing: fix a bug in an edge case in metadata.compute_all_files_changes
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
     9
 * rhg: ignore readonly FS error when saving dirstate
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    10
 * merge: sort filemap only if requested by the caller
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    11
 * windows: implement `util.cachestat` to fix numerous dirstate problems
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    12
 * subrepo: propagate non-default path on outgoing
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    13
 * import: fix erroneous comparison of str with bytes
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    14
 * largefiles: fix check that ensures that --all-largefiles is only used locally
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    15
 * profiling: improve 3.12 error message for calling lsprof twice
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    16
 * profiling: use "stat" profiler to profile individual request
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    17
 * module-policy: ignore empty module policy
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    18
 * relnotes: skip the test if the source repository is not readable
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    19
 * wireprototypes: fix exception handling code with a bad pytype suppression
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    20
 * Many more type fixes and improvements
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    21
 * Improvements to the test suite
eae3ec345e5e relnotes: add 6.8.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51752
diff changeset
    22
51752
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    23
= Mercurial 6.8.1 =
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    24
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    25
 * Python 3.12: fix an issue between `threading` and `demandimport`
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    26
 * rhg: expand user and environment variable in paths to ignore in config and
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    27
   includes
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    28
 * `win32mbcs` extension: fix an encoding issue
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
    29
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
    30
= Mercurial 6.8 =
51647
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    32
As usual, a *lot* of patches don't make it to this list.
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    34
== New Features or performance improvements ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    35
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    36
 * Phases have been reworked to improve their general performance
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    37
    * revset: stop serializing node when using "%ln"
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
    * phases: convert remote phase root to node while reading them
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
    * phases: use revision number in new_heads
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
    * phases: use revision number in analyze_remote_phases
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
    * phases: stop using `repo.set` in `remotephasessummary`
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
    * phases: move RemotePhasesSummary to revision number
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
    * phases: use revision number in `_pushdiscoveryphase`
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
    * phases: introduce a performant efficient way to access revision in a set
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
    * phases: rework the logic of _pushdiscoveryphase to bound complexity
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
 * The Rust working copy code is being used by more places now:
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
     * matchers: support patternmatcher in rust
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
     * dirstate: remove the python-side whitelist of allowed matchers
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
 * stream-clone: disable gc for `_entries_walk` duration
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
 * stream-clone: disable gc for the initial section for the v3 format
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
 * postincoming: avoid computing branchhead if no report will be posted
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
 * stream-clone: disable gc for the entry listing section for the v2 format
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
 * perf: allow profiling of more than one run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
 * perf: run the gc before each run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
 * perf: start recording total time after warming
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
 * perf: clear vfs audit_cache before each run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
 * outgoing: rework the handling of the `missingroots` case to be faster
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
 * outgoing: add a simple fastpath when there is no common
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
 * tags-cache: skip the filternode step if we are not going to use it
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
 * tags-cache: directly operate on rev-num warming hgtagsfnodescache
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
 * tags-cache: directly perform a monimal walk for hgtagsfnodescache warming
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
== New Experimental Features ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
 * Introduce a new experimental branch cache "v3":
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
    * branchcache: add more test for the logic around obsolescence and branch heads
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
    * branchcache: skip entries that are topological heads in the on disk file
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
    * branchcache: add a "pure topological head" fast path
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
    * branchcache: allow to detect "pure topological case" for branchmap
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
== Bug Fixes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
    73
 * rust: use `cpython` 0.7.2 crate to add support for Python 3.12
51647
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
 * perf-stream-locked-section: actually use v1 generation when requested
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
 * perf-stream-locked-section: fix the call to the v3 generator
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
 * perf-stream-locked-section: advertise the right version key in the help
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
 * stream: in v3, skip the "size" fast path if the entries have some unknown size
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
 * stream-clone: stop getting the file size of all file in v3
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
 * streamclone: stop listing files for entries that have no volatile files
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
 * perf-stream-consume: use the source repository config when applying
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
 * bundle: do no check the changegroup version if no changegroup is included
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
 * perf: create the temporary target next to the source in stream-consume
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
 * bundlespec: fix the "streamv2" and "streamv3-exp" variant
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
 * push: rework the computation of fallbackheads to be correct
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
 * profiler: flush after writing the profiler output
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
 * base-revsets: use an author that actually exercises a lot of changesets
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
 * hgrc: search XDG_CONFIG_HOME on mac
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    88
 * clonebundles: add missing newline to legacy response
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    89
 * narrow: add a test for linkrev computation done during widen
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
    90
 * Multiple fixes to guard against mmap issues
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
    91
 * portability: fix build on Solaris-derived systemd
51647
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    92
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    93
== Backwards Compatibility Changes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    94
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    95
== Internal API Changes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    96
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    97
== Miscellaneous ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    98
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    99
 * obsolete: quote the feature name