annotate relnotes/6.8 @ 51721:ed28085827ec

typing: explicitly type some `mercurial.util` eol code to avoid @overload Unlike the previous commit, this makes a material difference in the generated stub file- the `pycompat.identity()` aliases generated an @overload like this: @overload def fromnativeeol(a: _T0) -> _T0: ... ... which might fail to detect a bad argument, like str. This drops the @overload for the 3 related methods, so there's a single definition for each. The `typelib.BinaryIO_Proxy` is used for subclassing (the same as was done in 8147abc05794), so that it is a `BinaryIO` type during type checking, but still inherits `object` at runtime. That way, we don't need to implement unused abstract methods.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 19 Jul 2024 16:49:46 -0400
parents 11f41248595b
children 11a9e2fc0caf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
1 = Mercurial 6.8 =
51647
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
2
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
3 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
4
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
5 == New Features or performance improvements ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
6
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
7 * Phases have been reworked to improve their general performance
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
8 * revset: stop serializing node when using "%ln"
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
9 * 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
10 * phases: use revision number in new_heads
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
11 * phases: use revision number in analyze_remote_phases
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
12 * phases: stop using `repo.set` in `remotephasessummary`
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
13 * phases: move RemotePhasesSummary to revision number
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
14 * phases: use revision number in `_pushdiscoveryphase`
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
15 * 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
16 * phases: rework the logic of _pushdiscoveryphase to bound complexity
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
17 * 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
18 * matchers: support patternmatcher in rust
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
19 * dirstate: remove the python-side whitelist of allowed matchers
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
20 * stream-clone: disable gc for `_entries_walk` duration
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
21 * 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
22 * 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
23 * 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
24 * perf: allow profiling of more than one run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
25 * perf: run the gc before each run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
26 * perf: start recording total time after warming
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
27 * perf: clear vfs audit_cache before each run
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
28 * 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
29 * 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
30 * 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
31 * tags-cache: directly operate on rev-num warming hgtagsfnodescache
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
32 * 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
33
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
34 == New Experimental Features ==
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 * Introduce a new experimental branch cache "v3":
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
37 * 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
38 * 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
39 * branchcache: add a "pure topological head" fast path
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
40 * branchcache: allow to detect "pure topological case" for branchmap
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
41
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
42 == Bug Fixes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
43
51663
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
44 * 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
45 * 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
46 * 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
47 * 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
48 * 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
49 * 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
50 * 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
51 * 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
52 * 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
53 * 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
54 * bundlespec: fix the "streamv2" and "streamv3-exp" variant
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
55 * push: rework the computation of fallbackheads to be correct
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
56 * profiler: flush after writing the profiler output
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
57 * 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
58 * hgrc: search XDG_CONFIG_HOME on mac
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
59 * clonebundles: add missing newline to legacy response
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
60 * 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
61 * Multiple fixes to guard against mmap issues
11f41248595b relnotes: add 6.8
Raphaël Gomès <rgomes@octobus.net>
parents: 51647
diff changeset
62 * portability: fix build on Solaris-derived systemd
51647
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
63
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
64 == Backwards Compatibility Changes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
65
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
66 == Internal API Changes ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
67
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
68 == Miscellaneous ==
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
69
56eb076a08aa relnotes: add 6.8rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
70 * obsolete: quote the feature name