Mercurial > hg
comparison relnotes/6.9 @ 52279:b267c5764cc6 stable 6.9
relnotes: write final 6.9 notes
I've folded bugfixes that only exist to fix 6.9-specific things to the best
of my attention span for this task.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Wed, 20 Nov 2024 14:41:23 +0100 |
parents | d237fdd93eb9 |
children |
comparison
equal
deleted
inserted
replaced
52278:c8e9b37ef3c0 | 52279:b267c5764cc6 |
---|---|
1 = Mercurial 6.9rc1 = | 1 = Mercurial 6.9 = |
2 | 2 |
3 /!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release. | 3 == Backwards Compatibility Changes == |
4 | 4 |
5 * streamclone: disable the volatile file open handle optimization on Windows | 5 * This release drops support for Python 3.6 and 3.7. |
6 * rust-update: make `update_from_null` respect `worker.numcpu` config option | 6 * Starting with this release and hopefully for the forseeable future, |
7 * rust-update: handle SIGINT from long-running update threads | 7 we are now building wheels for most architectures. |
8 * rust-cpython: add a TODO about repo reuse | 8 /!\ Note that for Rust users installing via `pip` or `pipx`, you will need |
9 * pytype: add relative timestamp to the output if `ts` is available | 9 to specify `--no-binary` to continue using Rust since we do not yet package |
10 * hgweb: skip logging ConnectionAbortedError | 10 the Rust compilation in our wheels. We plan on fixing this for 7.0. |
11 * Python 3.13 changed how it handles docstrings (namely removing uniform | |
12 leading whitespace for every line), which forced us to align the | |
13 representation of our help text with this new behavior across all versions. | |
14 Due to this and a lack of time and expertise from contributors, a lot of | |
15 existing translations could be missing. The effort of i18n in general has | |
16 died down many years ago, but if this matters to you, feel free to send | |
17 your contributions. | |
11 | 18 |
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 * run-tests: don't use shell call for subprocess | |
16 * run-tests: add a --hg-wheel options to test a pre-built wheel | |
17 * ci: unify the way `check-pytype` inherit the common setting | |
18 * ci: split the jobs on more stage | |
19 * ci: build a wheel and use it to run c tests | |
20 * tests: stabilize `test-extdiff.t` on macOS | |
21 * tests: disable `test-git-interop.t` with a requirements directive | |
22 * tests: disable a section of `test-hgrc.t` that may hit a zeroconf bug | |
23 * ci: add a runner for Windows 10 | |
24 * tests: treat `select` as a built-in module on Windows | |
25 * tests: disable a section of `test-paths.t` that may hit a zeroconf bug | |
26 * tests: conditionalize missing output in test-racy-mutations.t on Windows | |
27 * tests: add a "missing" tests for manifest content in test-racy-mutations.t | |
28 * tests: bump the wait timeouts in test-racy-mutations.t | |
29 * test-install: use the global hg for the install step | |
30 * test-install: glob instance of "python" in warning | |
31 * ci: pre-adjust some identation | |
32 * setup: add a way to force the setup to translate (or fail) | |
33 * ci: use smaller VM to build wheel | |
34 * ci: use a pre-setup many-linux image to build wheel | |
35 * ci: build (and use) wheel for all supported version | |
36 * ci: automatically compute the python tag we use to identify tag | |
37 * run-tests: install wheel using --prefix instead of --user | |
38 * pycompat: drop some now useless workaround for makedirs | |
39 * wheel: build mac os wheel through the CI | |
40 * ci: use the macos wheel to run tests | |
41 * ci: use extends instead of <<: *x | |
42 * ci: move some variables closer to their usage | |
43 * ci: rationalize variable usage | |
44 * ci: abstract the of absolute /tmp/ path | |
45 * ci: move the "tempory work dir" to "concurrency-safe" location | |
46 * ci: adjust the starting port range to runner concurrency | |
47 * ci: have the mac test run if you trigger building the mac wheel | |
48 * run-tests: implement crude sharding support | |
49 * ci: shard the test run on mac os X | |
50 * dev-version: change the scheme of non tagged version | |
51 * wheel: enforce that translation being build for macos wheel | |
52 * run-tests: focus on listing the selected test for the shard tests | |
53 * run-tests: cleanup the "output" directory after the related tests | |
54 * tests: drop PYTHONPATH manipulation in test-pushvars.t | |
55 * windows: work around argument size limitation in test-bookmarks-pushpull.t | |
56 * windows: adjust PYTHONPATH update in test-status-color.t | |
57 * ci: use a concurrency safe TMP dir on Windows | |
58 * ci: again common element into a `.windows` template | |
59 * ci: split the windows runtest invocation into more granular variables | |
60 * windows: skip test-clonebundles-autogen.t in the CI | |
61 * ci: adjust port range on windows too | |
62 * windows: simply rely on the PATH adjustment to find python.exe in tests | |
63 * wheel: assign CIBW_SKIP globally | |
64 * wheel: make --hg-wheel works on Windows | |
65 * wheel: build Windows wheels too | |
66 * wheel: explicitly list built architecture | |
67 * wheel: test the built wheel in the windows tests | |
68 * ci: shard the tests on windows too | |
69 * wheel: enforce that translation being build for windows wheel | |
70 * setup: remote a debug statement that slipped through | |
71 * setup: factor version computation in a function | |
72 * setup: use the same code to compute tag from archive | |
73 * wheel: add a platform level to the wheel directories | |
74 * wheel: add a job uploading nightly build | |
75 * wheels: factor the core of Linux wheel building into a script | |
76 * wheels: update the Linux wheels make target | |
77 * clone: properly exclude rev-branch-cache from post clone cache warming | |
78 * setup: make sure Rust build its extension for the right python | |
79 * setup: preserve version part after the "+" on Windows | |
80 * wheel: build windows wheel for ARM64 too | |
81 * ci: adds a trigger for all pycompat jobs | |
82 * ci: let the Windows runner decide how many job they want to run | |
83 | |
84 = Mercurial 6.9rc0 = | |
85 | |
86 /!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release. | |
87 | 19 |
88 == New Features == | 20 == New Features == |
89 | 21 |
90 * exchange: improve computation of relevant markers for large repos | 22 * exchange: improve computation of relevant markers for large repos |
91 * Add a Rust fast-path to speed up update (also for `clone`) from null (up to 4x faster) | 23 * Add a Rust fast-path to speed up update (also for `clone`) from null (up to 4x faster) |
151 * install: static data moved from setup.py to pyproject.toml | 83 * install: static data moved from setup.py to pyproject.toml |
152 * upgrade: disable using the parallel workers optimization on macOS | 84 * upgrade: disable using the parallel workers optimization on macOS |
153 * doc: generate separate commands/topics/extension pages | 85 * doc: generate separate commands/topics/extension pages |
154 * extdiff: don't run gui programs when in a cli-only environment | 86 * extdiff: don't run gui programs when in a cli-only environment |
155 * clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME` environment variable | 87 * clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME` environment variable |
156 * rev-branch-cache: disable mmapping by default on Windows | 88 * streamclone: disable the volatile file open handle optimization on Windows |
157 | 89 * pytype: add relative timestamp to the output if `ts` is available |
158 == Backwards Compatibility Changes == | 90 * hgweb: skip logging ConnectionAbortedError |
159 | |
160 * This release drops support for Python 3.6 and 3.7. | |
161 | 91 |
162 == Internal API Changes == | 92 == Internal API Changes == |
163 | 93 |
164 * manifest: deprecated readdelta and readfast | 94 * manifest: deprecated readdelta and readfast |
165 | 95 |
173 * debugwireproto: redo logging to also work for https | 103 * debugwireproto: redo logging to also work for https |
174 * rust: use `.cargo/config.toml` instead of `.cargo/config` | 104 * rust: use `.cargo/config.toml` instead of `.cargo/config` |
175 * A whole bunch of typing improvements, which in turn found many bugs | 105 * A whole bunch of typing improvements, which in turn found many bugs |
176 * Test suite improvements | 106 * Test suite improvements |
177 * Various packaging improvements | 107 * Various packaging improvements |
108 | |
109 Below are many, many changes that have to do with building/testing wheels, | |
110 adding some sharding to the CI and MacOS + Windows compatibility work: | |
111 | |
112 * ci: abstract the branch matching regexp | |
113 * ci: add "sink" for parallel tests | |
114 * ci: for branches, use a single trigger | |
115 * packaging: explain why we purge while building wheels | |
116 * wheels: rely on the image config to be able to access the repository | |
117 * packaging: remove the i686 wheel from the linux-wheels target | |
118 * packaging: propagate the make option to packaging target | |
119 * packaging: factor the linux-wheels-x86_64 a bit | |
120 * wheel: add a target for amdx86_64-musl wheels | |
121 * wheel: also build the musl wheel in the ci | |
122 * wheel: reintroduce the building of i686 wheel | |
123 * wheels: also build the i686 wheel in the CI | |
124 * contrib: install the arm64 compiler tools in the Windows dependency script | |
125 * contrib: add a bat file to build all of the wheels on Windows | |
126 * wheels: remove deprecated blacklist | |
127 * wheels: make sure we create the `dist/` directory in the make target | |
128 * contrib: add a script to build all of the wheels on macOS | |
129 * wheel: also build wheel for linux arm64 in the CI | |
130 * ci: add sink for wheels too | |
131 * run-tests: don't use shell call for subprocess | |
132 * run-tests: add a --hg-wheel options to test a pre-built wheel | |
133 * ci: unify the way `check-pytype` inherit the common setting | |
134 * ci: split the jobs on more stage | |
135 * ci: build a wheel and use it to run c tests | |
136 * tests: stabilize `test-extdiff.t` on macOS | |
137 * tests: disable `test-git-interop.t` with a requirements directive | |
138 * tests: disable a section of `test-hgrc.t` that may hit a zeroconf bug | |
139 * ci: add a runner for Windows 10 | |
140 * tests: treat `select` as a built-in module on Windows | |
141 * tests: disable a section of `test-paths.t` that may hit a zeroconf bug | |
142 * tests: conditionalize missing output in test-racy-mutations.t on Windows | |
143 * tests: add a "missing" tests for manifest content in test-racy-mutations.t | |
144 * tests: bump the wait timeouts in test-racy-mutations.t | |
145 * test-install: use the global hg for the install step | |
146 * test-install: glob instance of "python" in warning | |
147 * ci: pre-adjust some identation | |
148 * setup: add a way to force the setup to translate (or fail) | |
149 * ci: use smaller VM to build wheel | |
150 * ci: use a pre-setup many-linux image to build wheel | |
151 * ci: build (and use) wheel for all supported version | |
152 * ci: automatically compute the python tag we use to identify tag | |
153 * run-tests: install wheel using --prefix instead of --user | |
154 * pycompat: drop some now useless workaround for makedirs | |
155 * wheel: build mac os wheel through the CI | |
156 * ci: use the macos wheel to run tests | |
157 * ci: use extends instead of <<: *x | |
158 * ci: move some variables closer to their usage | |
159 * ci: rationalize variable usage | |
160 * ci: abstract the of absolute /tmp/ path | |
161 * ci: move the "tempory work dir" to "concurrency-safe" location | |
162 * ci: adjust the starting port range to runner concurrency | |
163 * ci: have the mac test run if you trigger building the mac wheel | |
164 * run-tests: implement crude sharding support | |
165 * ci: shard the test run on mac os X | |
166 * dev-version: change the scheme of non tagged version | |
167 * wheel: enforce that translation being build for macos wheel | |
168 * run-tests: focus on listing the selected test for the shard tests | |
169 * run-tests: cleanup the "output" directory after the related tests | |
170 * tests: drop PYTHONPATH manipulation in test-pushvars.t | |
171 * windows: work around argument size limitation in test-bookmarks-pushpull.t | |
172 * windows: adjust PYTHONPATH update in test-status-color.t | |
173 * ci: use a concurrency safe TMP dir on Windows | |
174 * ci: again common element into a `.windows` template | |
175 * ci: split the windows runtest invocation into more granular variables | |
176 * windows: skip test-clonebundles-autogen.t in the CI | |
177 * ci: adjust port range on windows too | |
178 * windows: simply rely on the PATH adjustment to find python.exe in tests | |
179 * wheel: assign CIBW_SKIP globally | |
180 * wheel: make --hg-wheel works on Windows | |
181 * wheel: build Windows wheels too | |
182 * wheel: explicitly list built architecture | |
183 * wheel: test the built wheel in the windows tests | |
184 * ci: shard the tests on windows too | |
185 * wheel: enforce that translation being build for windows wheel | |
186 * setup: remote a debug statement that slipped through | |
187 * setup: factor version computation in a function | |
188 * setup: use the same code to compute tag from archive | |
189 * wheel: add a platform level to the wheel directories | |
190 * wheel: add a job uploading nightly build | |
191 * wheels: factor the core of Linux wheel building into a script | |
192 * wheels: update the Linux wheels make target | |
193 * clone: properly exclude rev-branch-cache from post clone cache warming | |
194 * setup: make sure Rust build its extension for the right python | |
195 * setup: preserve version part after the "+" on Windows | |
196 * wheel: build windows wheel for ARM64 too | |
197 * ci: adds a trigger for all pycompat jobs | |
198 * ci: let the Windows runner decide how many job they want to run |