Mercurial > hg
annotate relnotes/6.5 @ 51582:d8287e43540f
phases: stop using `repo.set` in `remotephasessummary`
The `repository.set` create changectx on the fly, an expensive operation. Using
`repo.revs` and a direct rev-num → node-id translation will be significantly
faster.
This is especially true as we prepare ourself to no longer do the rev-num →
node-id transalation there.
The speedup is a bit lost in the overall noisyness of the slow phase discovery algorithm, but it save a small amount of time in my benchmark.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 05 Apr 2024 12:24:47 +0200 |
parents | c083d9776cb2 |
children |
rev | line source |
---|---|
51115 | 1 = Mercurial 6.5.3 = |
2 | |
3 * "hgweb: pass strings in WSGI environment correctly from wsgicgi" | |
4 * "perf: introduce more cache invalidation option in perf::tags" | |
5 * "perf: add a `--clear-fnode-cache-rev` argument to perf::tags" | |
6 * "perf: add a --update-last flag to perf::tags" | |
7 * "blackbox: add a option to duplicate output to stderr too" | |
8 * "tags: avoid expensive access to repo.changelog in a loop" | |
9 * "revlog: fix a bug where NULL_NODE failed to be resolved to NULL_REV" | |
10 * "httppeer: fix static-http: scheme autodetection (issue6833)" | |
11 * "tests: backed out changeset 8037ddacad47" | |
12 * "stream-clone: fix a crash when a repo with an empty revlog is cloned" | |
13 * "censor: accept censored revision during upgrade" | |
14 * "revlog: avoid opening and closing the file for each cloned revision" | |
15 | |
50933 | 16 = Mercurial 6.5.2 = |
17 | |
18 * hgweb: encode WSGI environment using the ISO-8859-1 codec | |
19 * rhg: fix the bug where sparse config is interpreted as relglob instead of glob | |
20 * gpg: fix an UnboundLocalError whenever using --force | |
21 * transaction: fix __repr__() and make the default name bytes | |
22 * setup: make the error "Unable to find a working hg binary" more informative | |
23 * tests: avoid test environment affecting setup.py | |
24 * run-tests: detect HGWITHRUSTEXT value | |
25 | |
50816 | 26 = Mercurial 6.5.1 = |
27 | |
28 * A bunch of improvements to Python 3.12 compatibility | |
29 * repoview: fix the filter created by `extrafilter` | |
30 * Improve portability of the test suite | |
31 * fncache: fix a bug that corrupts the fncache after transaction rollback | |
32 * revlog: fix the naming scheme use by split temporary file | |
33 * perf: fix perf::tags | |
34 | |
50748
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
35 = Mercurial 6.5 = |
50720 | 36 |
37 As usual, a lot of patches don't make it to this list since they're more internal. | |
38 | |
39 == New Features == | |
40 | |
50748
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
41 * Improved Python 3.12 compatiblity |
50720 | 42 * configitems: enable changegroup3 by default (unless using infinitepush) |
43 * extras: expose 'retained_extras' for extensions to extend | |
44 * stabletailgraph: implement stable-tail sort | |
45 * stabletailgraph: naive version of leap computation | |
46 * bundle: introduce a "v3" spec | |
47 * clone-bundles: add a basic first version of automatic bundle generation | |
48 * clone-bundles: garbage collect older bundle when generating new ones | |
49 * clone-bundles: only regenerate the clone bundle when cached ration is low | |
50 * clone-bundles: also control automation based on absolute number of revisions | |
51 * clone-bundles: add a configuration to control auto-generation on changes | |
52 * clone-bundles: introduce a command to refresh bundle | |
53 * clone-bundles: add a command to clear all bundles | |
54 * clone-bundles: add an option to generate bundles in the background | |
55 * clonebundles: add support for inline (streaming) clonebundles | |
56 * clonebundles: adds a auto-generate.serve-inline option | |
57 * match: add `filepath:` pattern to match an exact filepath relative to the root | |
58 * hgweb: add "children" into the JSON template for a changeset | |
59 * hgweb: add support to explicitly access hidden changesets | |
60 * pull: add --remote-hidden option and pass it through peer creation | |
61 * hidden: add support for --remote-hidden to HTTP peer | |
62 * hidden: support passing --hidden with `serve --stdio` | |
63 * hidden: add support to explicitly access hidden changesets with SSH peers | |
64 * perf: introduce a `perf::stream-locked-section` command | |
65 * perf: add a function to find a stream version generator | |
66 * perf: add support for stream-v3 during benchmark | |
67 * perf: add a perf::stream-generate command | |
68 * perf: add a perf::stream-consume | |
69 * cli: make debugnodemap capable of inspecting an arbitrary nodemap | |
70 * rust: configure MSRV in Clippy | |
71 * rhg: make `rhg files` work if `ui.relative-files=true` is specified | |
72 * rhg: support `rhg files` with `ui.relative-paths=false` | |
73 * rhg: support `status --print0` | |
74 * tree-manifest: allow `debugupgraderepo` to run on tree manifest repo | |
75 * library: enable runpy invocation on mercurial package | |
76 * library: incorporate demandimport into runpy invocation | |
77 * exchange: allow passing no includes/excludes to `pull()` | |
78 | |
79 == New Experimental Features == | |
80 | |
81 * stream-clone: add an experimental v3 version of the protocol | |
82 * stream-clone: support streamv3 on the cli [hg bundle] | |
83 | |
84 == Bug Fixes == | |
85 | |
86 * mail: add a missing argument to properly override starttls | |
87 * bundle: include required phases when saving a bundle (issue6794) | |
88 * outgoing: fix common-heads computation from `missingroots` argument | |
89 * strip: do not include internal changeset in the strip backup | |
90 * bundle: abort if the user request bundling of internal changesets | |
91 * bundle: prevent implicit bundling of internal changeset | |
92 * encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings | |
93 * sha1dc: Make sure SHA1DC_BIGENDIAN is set on Darwin/PowerPC | |
94 * zstd: hack include order to ensure that our zstd.h is found | |
95 * dirstate: better error messages when dirstate is corrupted | |
96 * stream-clone: avoid opening a revlog in case we do not need it | |
97 * treemanifest: make `updatecaches` update the nodemaps for all directories | |
98 * rust-hg-core: move from `ouroboros` to `self_cell` | |
99 * rust-dependencies: switch from `users` to `whoami` | |
50748
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
100 * dirstate-v2: actually fix the dirstate-v2 upgrade race |
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
101 * dirstate: avoid leaking disk space in `hg debugrebuilddirstate` |
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
102 * clonebundles: add warning if auto-generate is enabled without formats |
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
103 * win32mbcs: unbyteify some strings for py3 support |
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
104 * rust-revlog: fix incorrect results with NULL_NODE prefixes |
3ffc7209bbae
relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents:
50720
diff
changeset
|
105 * rust-revlog: fix RevlogEntry.data() for NULL_REVISION |
50720 | 106 |
107 == Backwards Compatibility Changes == | |
108 | |
109 * infinitepush: aggressively deprecated infinite push | |
110 * narrow: indicated the default of 'Yes' when confirming auto-remove-includes | |
111 | |
112 == Internal API Changes == | |
113 | |
114 * Store walk was reworked to fix small race conditions in stream-clone and | |
115 greatly improve its API robustness and flexibility. | |
116 | |
117 == Miscellaneous == | |
118 | |
119 * Typechecking support was improved in a lot of places | |
120 * Removed more useless compat code for now unsupported Python versions | |
121 * Sped up zstd usage in Rust contexts | |
122 * revlog: add an exception hint when processing LFS flags without the extension | |
123 * ui: keep the progress bar around when writing if stdout is not a tty | |
124 * transaction: use a ".bck" extension for all backup file |