relnotes/6.8
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Thu, 15 Aug 2024 14:54:22 +0100
changeset 51804 e69e3d585f07
parent 51752 11a9e2fc0caf
child 52137 eae3ec345e5e
permissions -rw-r--r--
scmutils: read the requires file before writing to avoid unnecessary rewrite This lets us get away without the repo lock in situations where we need to write requirements, but we know we're not changing the store requirements.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51752
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
     1
= Mercurial 6.8.1 =
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
     2
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
     3
 * 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
     4
 * 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
     5
   includes
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
     6
 * `win32mbcs` extension: fix an encoding issue
11a9e2fc0caf relnotes: add 6.8.1
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51663
diff changeset
     7
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
     8
= Mercurial 6.8 =
51647
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     9
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    10
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
    11
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    12
== New Features or performance improvements ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    13
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    14
 * Phases have been reworked to improve their general performance
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    15
    * revset: stop serializing node when using "%ln"
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    16
    * 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
    17
    * phases: use revision number in new_heads
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    18
    * phases: use revision number in analyze_remote_phases
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    19
    * phases: stop using `repo.set` in `remotephasessummary`
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    20
    * phases: move RemotePhasesSummary to revision number
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    21
    * phases: use revision number in `_pushdiscoveryphase`
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    22
    * 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
    23
    * phases: rework the logic of _pushdiscoveryphase to bound complexity
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    24
 * 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
    25
     * matchers: support patternmatcher in rust
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    26
     * dirstate: remove the python-side whitelist of allowed matchers
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    27
 * stream-clone: disable gc for `_entries_walk` duration
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    28
 * 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
    29
 * 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
    30
 * 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
    31
 * perf: allow profiling of more than one run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    32
 * perf: run the gc before each run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
 * perf: start recording total time after warming
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    34
 * perf: clear vfs audit_cache before each run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    35
 * 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
    36
 * 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
    37
 * 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
    38
 * tags-cache: directly operate on rev-num warming hgtagsfnodescache
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
 * 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
    40
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
== New Experimental Features ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
 * Introduce a new experimental branch cache "v3":
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
    * 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
    45
    * 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
    46
    * branchcache: add a "pure topological head" fast path
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
    * branchcache: allow to detect "pure topological case" for branchmap
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
== Bug Fixes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
    51
 * 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
    52
 * 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
    53
 * 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
    54
 * 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
    55
 * 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
    56
 * 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
    57
 * 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
    58
 * 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
    59
 * 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
    60
 * 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
    61
 * bundlespec: fix the "streamv2" and "streamv3-exp" variant
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
 * push: rework the computation of fallbackheads to be correct
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
 * profiler: flush after writing the profiler output
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
 * 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
    65
 * hgrc: search XDG_CONFIG_HOME on mac
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
 * clonebundles: add missing newline to legacy response
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
 * 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
    68
 * Multiple fixes to guard against mmap issues
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
    69
 * portability: fix build on Solaris-derived systemd
51647
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
== Backwards Compatibility Changes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
== Internal API Changes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
== Miscellaneous ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
 * obsolete: quote the feature name