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