Show More
@@ -1,94 +1,177 b'' | |||||
|
1 | = Mercurial 6.9rc1 = | |||
|
2 | ||||
|
3 | /!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release. | |||
|
4 | ||||
|
5 | * 68160:e4b242f9d4d9 "streamclone: disable the volatile file open handle optimization on Windows" | |||
|
6 | * 68193:e6a44bc91bc2 "rust-update: make `update_from_null` respect `worker.numcpu` config option" | |||
|
7 | * 68267:96b113d22b34 "rust-update: handle SIGINT from long-running update threads" | |||
|
8 | * 68167:e698e3e75420 "rust-cpython: add a TODO about repo reuse" | |||
|
9 | * 68205:069735062524 "pytype: add relative timestamp to the output if `ts` is available" | |||
|
10 | * 68155:891f6d56f3db "hgweb: skip logging ConnectionAbortedError" | |||
|
11 | ||||
|
12 | Below are many, many changes that have to do with building/testing wheels, | |||
|
13 | adding some sharding to the CI and MacOS + Windows compatibility work: | |||
|
14 | ||||
|
15 | * 68024:6f7cc970bfda "run-tests: don't use shell call for subprocess" | |||
|
16 | * 68025:1dbbb957bbe6 "run-tests: add a --hg-wheel options to test a pre-built wheel" | |||
|
17 | * 68026:6f641ebe759e "ci: unify the way `check-pytype` inherit the common setting" | |||
|
18 | * 68027:c99cbb02a82e "ci: split the jobs on more stage" | |||
|
19 | * 68028:0de1895c2218 "ci: build a wheel and use it to run c tests" | |||
|
20 | * 68120:a81d2cafdbcc "tests: stabilize `test-extdiff.t` on macOS" | |||
|
21 | * 68121:6ca0771b32ef "tests: disable `test-git-interop.t` with a requirements directive" | |||
|
22 | * 68122:74e16d8ca5f3 "tests: disable a section of `test-hgrc.t` that may hit a zeroconf bug" | |||
|
23 | * 68154:8766d47edfd1 "ci: add a runner for Windows 10" | |||
|
24 | * 68157:3ba998d7fc77 "tests: treat `select` as a built-in module on Windows" | |||
|
25 | * 68194:cfc4985b2964 "tests: disable a section of `test-paths.t` that may hit a zeroconf bug" | |||
|
26 | * 68195:54be3c9bc81f "tests: conditionalize missing output in test-racy-mutations.t on Windows" | |||
|
27 | * 68196:bda065f37f64 "tests: add a "missing" tests for manifest content in test-racy-mutations.t" | |||
|
28 | * 68197:16b300e30139 "tests: bump the wait timeouts in test-racy-mutations.t" | |||
|
29 | * 68198:2ff4a2533b92 "test-install: use the global hg for the install step" | |||
|
30 | * 68199:e88939f53342 "test-install: glob instance of "python" in warning" | |||
|
31 | * 68200:c32b17e8f414 "ci: pre-adjust some identation" | |||
|
32 | * 68201:2c4283c9fa93 "setup: add a way to force the setup to translate (or fail)" | |||
|
33 | * 68202:d22b6d6e02e1 "ci: use smaller VM to build wheel" | |||
|
34 | * 68203:94ded8440db6 "ci: use a pre-setup many-linux image to build wheel" | |||
|
35 | * 68204:7dd466f13f9b "ci: build (and use) wheel for all supported version" | |||
|
36 | * 68206:5ea21e0c28aa "ci: automatically compute the python tag we use to identify tag" | |||
|
37 | * 68207:f8d5001dd03e "run-tests: install wheel using --prefix instead of --user" | |||
|
38 | * 68208:ba0a842e0907 "pycompat: drop some now useless workaround for makedirs" | |||
|
39 | * 68209:97d86d5b16f8 "wheel: build mac os wheel through the CI" | |||
|
40 | * 68210:50fa42a2a79a "ci: use the macos wheel to run tests" | |||
|
41 | * 68211:75bc7557e49f "ci: use extends instead of <<: *x" | |||
|
42 | * 68212:74a9fbc1b574 "ci: move some variables closer to their usage" | |||
|
43 | * 68213:b3d6afa6ebbf "ci: rationalize variable usage" | |||
|
44 | * 68214:4762133a56b3 "ci: abstract the of absolute /tmp/ path" | |||
|
45 | * 68215:d6ed4da850ea "ci: move the "tempory work dir" to "concurrency-safe" location" | |||
|
46 | * 68216:63ad6b0c2b6a "ci: adjust the starting port range to runner concurrency" | |||
|
47 | * 68217:b3e696e879fc "ci: have the mac test run if you trigger building the mac wheel" | |||
|
48 | * 68218:36e4d1457c6b "run-tests: implement crude sharding support" | |||
|
49 | * 68219:fa58f4f97337 "ci: shard the test run on mac os X" | |||
|
50 | * 68268:9048a0d782e1 "dev-version: change the scheme of non tagged version" | |||
|
51 | * 68272:4496f059cf5c "wheel: enforce that translation being build for macos wheel" | |||
|
52 | * 68280:7a149cf41398 "run-tests: focus on listing the selected test for the shard tests" | |||
|
53 | * 68281:00cdec2398ee "run-tests: cleanup the "output" directory after the related tests" | |||
|
54 | * 68282:2cdd3e85abf7 "tests: drop PYTHONPATH manipulation in test-pushvars.t" | |||
|
55 | * 68283:7c1d7edff91b "windows: work around argument size limitation in test-bookmarks-pushpull.t" | |||
|
56 | * 68284:02da7e767065 "windows: adjust PYTHONPATH update in test-status-color.t" | |||
|
57 | * 68285:a76dcb82148e "ci: use a concurrency safe TMP dir on Windows" | |||
|
58 | * 68286:b25fc1f25edf "ci: again common element into a `.windows` template" | |||
|
59 | * 68287:f514c5acfdd6 "ci: split the windows runtest invocation into more granular variables" | |||
|
60 | * 68288:be1f06902861 "windows: skip test-clonebundles-autogen.t in the CI" | |||
|
61 | * 68289:4bbb4fc9af3b "ci: adjust port range on windows too" | |||
|
62 | * 68290:7a568296296e "windows: simply rely on the PATH adjustment to find python.exe in tests" | |||
|
63 | * 68291:d0e728b0db0e "wheel: assign CIBW_SKIP globally" | |||
|
64 | * 68292:763817eca85e "wheel: make --hg-wheel works on Windows" | |||
|
65 | * 68293:e25e4647437b "wheel: build Windows wheels too" | |||
|
66 | * 68294:6c777d25e8a6 "wheel: explicitly list built architecture" | |||
|
67 | * 68295:8cacf7952f14 "wheel: test the built wheel in the windows tests" | |||
|
68 | * 68296:48f772a5c476 "ci: shard the tests on windows too" | |||
|
69 | * 68304:4602e90207f3 "wheel: enforce that translation being build for windows wheel" | |||
|
70 | * 68308:201bfadc0371 "setup: remote a debug statement that slipped through" | |||
|
71 | * 68319:35a9b6d3b484 "setup: factor version computation in a function" | |||
|
72 | * 68320:2b7e3177f99c "setup: use the same code to compute tag from archive" | |||
|
73 | * 68321:05addf266f6f "wheel: add a platform level to the wheel directories" | |||
|
74 | * 68322:b8efa9013d3f "wheel: add a job uploading nightly build" | |||
|
75 | * 68328:4d825ad10840 "wheels: factor the core of Linux wheel building into a script" | |||
|
76 | * 68329:4b9cf9924cd7 "wheels: update the Linux wheels make target" | |||
|
77 | * 68330:d57d1606049c "clone: properly exclude rev-branch-cache from post clone cache warming" | |||
|
78 | * 68331:124c944b71b2 "setup: make sure Rust build its extension for the right python" | |||
|
79 | * 68334:309f58964a9e "setup: preserve version part after the "+" on Windows" | |||
|
80 | * 68337:084e7ae69ae4 "wheel: build windows wheel for ARM64 too" | |||
|
81 | * 68339:16e5de783a1b "ci: adds a trigger for all pycompat jobs" | |||
|
82 | * ci: let the Windows runner decide how many job they want to run | |||
|
83 | ||||
1 | = Mercurial 6.9rc0 = |
|
84 | = Mercurial 6.9rc0 = | |
2 |
|
85 | |||
3 | /!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release. |
|
86 | /!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release. | |
4 |
|
87 | |||
5 | == New Features == |
|
88 | == New Features == | |
6 |
|
89 | |||
7 | * exchange: improve computation of relevant markers for large repos |
|
90 | * 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) |
|
91 | * 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 |
|
92 | * Introduced a new rev-branch-cache version (v2) that is mmap-resistant | |
10 | * The branchmap's performance was improved |
|
93 | * The branchmap's performance was improved | |
11 | * Improved the performance of the fix for issue6528 |
|
94 | * Improved the performance of the fix for issue6528 | |
12 | * clonebundles: allow manifest to specify sha256 digest of bundles |
|
95 | * clonebundles: allow manifest to specify sha256 digest of bundles | |
13 | * merge: improve working-copy mtime race handling |
|
96 | * merge: improve working-copy mtime race handling | |
14 | * profiling: add a py-spy profiling backend |
|
97 | * profiling: add a py-spy profiling backend | |
15 | * revlog: use an explicit config option to enable mmap usage for index |
|
98 | * revlog: use an explicit config option to enable mmap usage for index | |
16 | * revlog: use mmap by default is pre-population is available |
|
99 | * revlog: use mmap by default is pre-population is available | |
17 | * mmap: populate the mapping by default |
|
100 | * mmap: populate the mapping by default | |
18 | * mmap: populate mapping in a background thread |
|
101 | * mmap: populate mapping in a background thread | |
19 |
|
102 | |||
20 | == Experimental features == |
|
103 | == Experimental features == | |
21 |
|
104 | |||
22 | * merge: add a config to allow conflict-free merge of changes on adjacent lines |
|
105 | * merge: add a config to allow conflict-free merge of changes on adjacent lines | |
23 |
|
106 | |||
24 | == Bug Fixes == |
|
107 | == Bug Fixes == | |
25 |
|
108 | |||
26 | * `config.server.validate` now also works on narrowed repositories |
|
109 | * `config.server.validate` now also works on narrowed repositories | |
27 | * convert: fix various leaked file descriptors |
|
110 | * convert: fix various leaked file descriptors | |
28 | * stream: prefer keeping an open file handle to volatile file instead of copy |
|
111 | * stream: prefer keeping an open file handle to volatile file instead of copy | |
29 | * dummysmtpd: fix EOF handling on newer versions of OpenSSL |
|
112 | * dummysmtpd: fix EOF handling on newer versions of OpenSSL | |
30 | * cext: correct the argument handling of `b85encode()` |
|
113 | * cext: correct the argument handling of `b85encode()` | |
31 | * branchmap-v3: make sure we write the cache after detecting pure-topo mode |
|
114 | * branchmap-v3: make sure we write the cache after detecting pure-topo mode | |
32 | * rust: apply clippy lints |
|
115 | * rust: apply clippy lints | |
33 | * copies: make sure deleted copy info do not overwriting unrelated ones |
|
116 | * copies: make sure deleted copy info do not overwriting unrelated ones | |
34 | * rebase: don't call rewriteutil.precheck() with to-be-skipped commits |
|
117 | * rebase: don't call rewriteutil.precheck() with to-be-skipped commits | |
35 | * phabricator: correct the default value of `phabhunk.corpus` |
|
118 | * phabricator: correct the default value of `phabhunk.corpus` | |
36 | * linelog: correct the default value of `annotateresult.lines` |
|
119 | * linelog: correct the default value of `annotateresult.lines` | |
37 | * largefiles: avoid a potentially undefined variable in exception case |
|
120 | * largefiles: avoid a potentially undefined variable in exception case | |
38 | * httppeer: move a variable to avoid a bad reference before assignment warning |
|
121 | * httppeer: move a variable to avoid a bad reference before assignment warning | |
39 | * httppeer: avoid another bad reference before assignment warning |
|
122 | * httppeer: avoid another bad reference before assignment warning | |
40 | * tests: use packaging from setuptools instead of deprecated distutils |
|
123 | * tests: use packaging from setuptools instead of deprecated distutils | |
41 | * manifest: type and fix unhexlify |
|
124 | * manifest: type and fix unhexlify | |
42 | * manifest: align some vfs option access on the fact we might not have options |
|
125 | * 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 |
|
126 | * scmutils: read the requires file before writing to avoid unnecessary rewrite | |
44 | * debugsparse: stop taking the store lock |
|
127 | * debugsparse: stop taking the store lock | |
45 | * sparse: reliably avoid writing to store without a lock |
|
128 | * sparse: reliably avoid writing to store without a lock | |
46 | * largefiles: sync up `largefilesdirstate` methods with `dirstate` base class |
|
129 | * largefiles: sync up `largefilesdirstate` methods with `dirstate` base class | |
47 | * shelve: raise an error when loading a corrupt state file in an impossible case |
|
130 | * shelve: raise an error when loading a corrupt state file in an impossible case | |
48 | * monotone: replace %s interpolation with appropriate numeric specifiers |
|
131 | * monotone: replace %s interpolation with appropriate numeric specifiers | |
49 | * shelve: consistently convert exception to bytes via `stringutil.forcebytestr` |
|
132 | * shelve: consistently convert exception to bytes via `stringutil.forcebytestr` | |
50 | * remotefilelog: honor the `--format` arg of the `debugindex` command |
|
133 | * remotefilelog: honor the `--format` arg of the `debugindex` command | |
51 | * remotefilelog: adapt the `debugindex` command to past API changes |
|
134 | * remotefilelog: adapt the `debugindex` command to past API changes | |
52 | * run-tests: add color to the progress output |
|
135 | * run-tests: add color to the progress output | |
53 | * archive: defer opening the output until a file is matched |
|
136 | * archive: defer opening the output until a file is matched | |
54 | * help: add :config-doc:`section.key` shorthand to insert documentation |
|
137 | * help: add :config-doc:`section.key` shorthand to insert documentation | |
55 | * censor: document the censor.policy option (issue6909) |
|
138 | * censor: document the censor.policy option (issue6909) | |
56 | * rust-revlog: don't try to open the data file if the index is empty |
|
139 | * rust-revlog: don't try to open the data file if the index is empty | |
57 | * bundlerepo: fix mismatches with repository and revlog classes |
|
140 | * bundlerepo: fix mismatches with repository and revlog classes | |
58 | * revlog: make `clearcaches()` signature consistent with ManifestRevlog |
|
141 | * revlog: make `clearcaches()` signature consistent with ManifestRevlog | |
59 | * unionrepo: fix mismatches with revlog classes |
|
142 | * unionrepo: fix mismatches with revlog classes | |
60 | * keepalive: fix a signature mismatch for a http.client.HTTPResponse subclass |
|
143 | * keepalive: fix a signature mismatch for a http.client.HTTPResponse subclass | |
61 | * lfs: fix various signature mismatches for vfs subclasses |
|
144 | * lfs: fix various signature mismatches for vfs subclasses | |
62 | * store: fix a signature mismatch for a vfs subclass |
|
145 | * store: fix a signature mismatch for a vfs subclass | |
63 | * util: avoid a leaked file descriptor in `util.makelock()` exceptional case |
|
146 | * util: avoid a leaked file descriptor in `util.makelock()` exceptional case | |
64 | * statichttprepo: fix `httprangereader.read()` for py3 |
|
147 | * statichttprepo: fix `httprangereader.read()` for py3 | |
65 | * util: make `mmapread()` work on Windows again |
|
148 | * util: make `mmapread()` work on Windows again | |
66 | * mdiff: tweak calls into `bdiff.fixws` to match its type hints |
|
149 | * mdiff: tweak calls into `bdiff.fixws` to match its type hints | |
67 | * base85: avoid a spurious use-before-initialized warning in `pure` module |
|
150 | * base85: avoid a spurious use-before-initialized warning in `pure` module | |
68 | * install: static data moved from setup.py to pyproject.toml |
|
151 | * install: static data moved from setup.py to pyproject.toml | |
69 | * upgrade: disable using the parallel workers optimization on macOS |
|
152 | * upgrade: disable using the parallel workers optimization on macOS | |
70 | * doc: generate separate commands/topics/extension pages |
|
153 | * doc: generate separate commands/topics/extension pages | |
71 | * extdiff: don't run gui programs when in a cli-only environment |
|
154 | * extdiff: don't run gui programs when in a cli-only environment | |
72 | * clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME` environment variable |
|
155 | * clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME` environment variable | |
73 | * rev-branch-cache: disable mmapping by default on Windows |
|
156 | * rev-branch-cache: disable mmapping by default on Windows | |
74 |
|
157 | |||
75 | == Backwards Compatibility Changes == |
|
158 | == Backwards Compatibility Changes == | |
76 |
|
159 | |||
77 | * This release drops support for Python 3.6 and 3.7. |
|
160 | * This release drops support for Python 3.6 and 3.7. | |
78 |
|
161 | |||
79 | == Internal API Changes == |
|
162 | == Internal API Changes == | |
80 |
|
163 | |||
81 | * manifest: deprecated readdelta and readfast |
|
164 | * manifest: deprecated readdelta and readfast | |
82 |
|
165 | |||
83 | == Miscellaneous == |
|
166 | == Miscellaneous == | |
84 |
|
167 | |||
85 | * http: reuse Python's implementation of read/readline/readinto |
|
168 | * http: reuse Python's implementation of read/readline/readinto | |
86 | * http: use urllib's cookie handler |
|
169 | * http: use urllib's cookie handler | |
87 | * rev-branch-cache: schedule a write of the "v2" format if we read from "v1" |
|
170 | * rev-branch-cache: schedule a write of the "v2" format if we read from "v1" | |
88 | * rev-branch-cache: have debugupdatecache warm rbc too |
|
171 | * rev-branch-cache: have debugupdatecache warm rbc too | |
89 | * rev-branch-cache: reenable memory mapping of the revision data |
|
172 | * rev-branch-cache: reenable memory mapping of the revision data | |
90 | * debugwireproto: redo logging to also work for https |
|
173 | * debugwireproto: redo logging to also work for https | |
91 | * rust: use `.cargo/config.toml` instead of `.cargo/config` |
|
174 | * rust: use `.cargo/config.toml` instead of `.cargo/config` | |
92 | * A whole bunch of typing improvements, which in turn found many bugs |
|
175 | * A whole bunch of typing improvements, which in turn found many bugs | |
93 | * Test suite improvements |
|
176 | * Test suite improvements | |
94 | * Various packaging improvements |
|
177 | * Various packaging improvements |
General Comments 0
You need to be logged in to leave comments.
Login now