##// END OF EJS Templates
relnotes: add 6.9rc1
Raphaël Gomès -
r53529:31d45a1c 6.9rc1 stable
parent child Browse files
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