52142
|
1 |
= Mercurial 6.9rc0 =
|
|
2 |
|
|
3 |
/!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release.
|
|
4 |
|
|
5 |
== New Features ==
|
|
6 |
|
|
7 |
* exchange: improve computation of relevant markers for large repos
|
|
8 |
* Add a Rust fast-path to speed up update (also for `clone`) from null (up to 4x faster)
|
|
9 |
* Introduced a new rev-branch-cache version (v2) that is mmap-resistant
|
|
10 |
* The branchmap's performance was improved
|
|
11 |
* Improved the performance of the fix for issue6528
|
|
12 |
* clonebundles: allow manifest to specify sha256 digest of bundles
|
|
13 |
* merge: improve working-copy mtime race handling
|
|
14 |
* profiling: add a py-spy profiling backend
|
|
15 |
* revlog: use an explicit config option to enable mmap usage for index
|
|
16 |
* revlog: use mmap by default is pre-population is available
|
|
17 |
* mmap: populate the mapping by default
|
|
18 |
* mmap: populate mapping in a background thread
|
|
19 |
|
|
20 |
== Experimental features ==
|
|
21 |
|
|
22 |
* merge: add a config to allow conflict-free merge of changes on adjacent lines
|
|
23 |
|
|
24 |
== Bug Fixes ==
|
|
25 |
|
|
26 |
* `config.server.validate` now also works on narrowed repositories
|
|
27 |
* convert: fix various leaked file descriptors
|
|
28 |
* stream: prefer keeping an open file handle to volatile file instead of copy
|
|
29 |
* dummysmtpd: fix EOF handling on newer versions of OpenSSL
|
|
30 |
* cext: correct the argument handling of `b85encode()`
|
|
31 |
* branchmap-v3: make sure we write the cache after detecting pure-topo mode
|
|
32 |
* rust: apply clippy lints
|
|
33 |
* copies: make sure deleted copy info do not overwriting unrelated ones
|
|
34 |
* rebase: don't call rewriteutil.precheck() with to-be-skipped commits
|
|
35 |
* phabricator: correct the default value of `phabhunk.corpus`
|
|
36 |
* linelog: correct the default value of `annotateresult.lines`
|
|
37 |
* largefiles: avoid a potentially undefined variable in exception case
|
|
38 |
* httppeer: move a variable to avoid a bad reference before assignment warning
|
|
39 |
* httppeer: avoid another bad reference before assignment warning
|
|
40 |
* tests: use packaging from setuptools instead of deprecated distutils
|
|
41 |
* manifest: type and fix unhexlify
|
|
42 |
* manifest: align some vfs option access on the fact we might not have options
|
|
43 |
* scmutils: read the requires file before writing to avoid unnecessary rewrite
|
|
44 |
* debugsparse: stop taking the store lock
|
|
45 |
* sparse: reliably avoid writing to store without a lock
|
|
46 |
* largefiles: sync up `largefilesdirstate` methods with `dirstate` base class
|
|
47 |
* shelve: raise an error when loading a corrupt state file in an impossible case
|
|
48 |
* monotone: replace %s interpolation with appropriate numeric specifiers
|
|
49 |
* shelve: consistently convert exception to bytes via `stringutil.forcebytestr`
|
|
50 |
* remotefilelog: honor the `--format` arg of the `debugindex` command
|
|
51 |
* remotefilelog: adapt the `debugindex` command to past API changes
|
|
52 |
* run-tests: add color to the progress output
|
|
53 |
* archive: defer opening the output until a file is matched
|
|
54 |
* help: add :config-doc:`section.key` shorthand to insert documentation
|
|
55 |
* censor: document the censor.policy option (issue6909)
|
|
56 |
* rust-revlog: don't try to open the data file if the index is empty
|
|
57 |
* bundlerepo: fix mismatches with repository and revlog classes
|
|
58 |
* revlog: make `clearcaches()` signature consistent with ManifestRevlog
|
|
59 |
* unionrepo: fix mismatches with revlog classes
|
|
60 |
* keepalive: fix a signature mismatch for a http.client.HTTPResponse subclass
|
|
61 |
* lfs: fix various signature mismatches for vfs subclasses
|
|
62 |
* store: fix a signature mismatch for a vfs subclass
|
|
63 |
* util: avoid a leaked file descriptor in `util.makelock()` exceptional case
|
|
64 |
* statichttprepo: fix `httprangereader.read()` for py3
|
|
65 |
* util: make `mmapread()` work on Windows again
|
|
66 |
* mdiff: tweak calls into `bdiff.fixws` to match its type hints
|
|
67 |
* base85: avoid a spurious use-before-initialized warning in `pure` module
|
|
68 |
* install: static data moved from setup.py to pyproject.toml
|
|
69 |
* upgrade: disable using the parallel workers optimization on macOS
|
|
70 |
* doc: generate separate commands/topics/extension pages
|
|
71 |
* extdiff: don't run gui programs when in a cli-only environment
|
|
72 |
* clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME` environment variable
|
|
73 |
* rev-branch-cache: disable mmapping by default on Windows
|
|
74 |
|
|
75 |
== Backwards Compatibility Changes ==
|
|
76 |
|
|
77 |
* This release drops support for Python 3.6 and 3.7.
|
|
78 |
|
|
79 |
== Internal API Changes ==
|
|
80 |
|
|
81 |
* manifest: deprecated readdelta and readfast
|
|
82 |
|
|
83 |
== Miscellaneous ==
|
|
84 |
|
|
85 |
* http: reuse Python's implementation of read/readline/readinto
|
|
86 |
* http: use urllib's cookie handler
|
|
87 |
* rev-branch-cache: schedule a write of the "v2" format if we read from "v1"
|
|
88 |
* rev-branch-cache: have debugupdatecache warm rbc too
|
|
89 |
* rev-branch-cache: reenable memory mapping of the revision data
|
|
90 |
* debugwireproto: redo logging to also work for https
|
|
91 |
* rust: use `.cargo/config.toml` instead of `.cargo/config`
|
|
92 |
* A whole bunch of typing improvements, which in turn found many bugs
|
|
93 |
* Test suite improvements
|
|
94 |
* Various packaging improvements
|