Size: 4988
Comment:
|
Size: 9477
Comment: Move documentation generation changes to "Miscellaneous"
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Mercurial 6.9rc1 = /!\ These are release notes for a release candidate version. Any and all points can be reverted before the final release. * streamclone: disable the volatile file open handle optimization on Windows * rust-update: make `update_from_null` respect `worker.numcpu` config option * rust-update: handle SIGINT from long-running update threads * rust-cpython: add a TODO about repo reuse * pytype: add relative timestamp to the output if `ts` is available * hgweb: skip logging ConnectionAbortedError Below are many, many changes that have to do with building/testing wheels, adding some sharding to the CI and MacOS + Windows compatibility work: * run-tests: don't use shell call for subprocess * run-tests: add a --hg-wheel options to test a pre-built wheel * ci: unify the way `check-pytype` inherit the common setting * ci: split the jobs on more stage * ci: build a wheel and use it to run c tests * tests: stabilize `test-extdiff.t` on macOS * tests: disable `test-git-interop.t` with a requirements directive * tests: disable a section of `test-hgrc.t` that may hit a zeroconf bug * ci: add a runner for Windows 10 * tests: treat `select` as a built-in module on Windows * tests: disable a section of `test-paths.t` that may hit a zeroconf bug * tests: conditionalize missing output in test-racy-mutations.t on Windows * tests: add a "missing" tests for manifest content in test-racy-mutations.t * tests: bump the wait timeouts in test-racy-mutations.t * test-install: use the global hg for the install step * test-install: glob instance of "python" in warning * ci: pre-adjust some identation * setup: add a way to force the setup to translate (or fail) * ci: use smaller VM to build wheel * ci: use a pre-setup many-linux image to build wheel * ci: build (and use) wheel for all supported version * ci: automatically compute the python tag we use to identify tag * run-tests: install wheel using --prefix instead of --user * pycompat: drop some now useless workaround for makedirs * wheel: build mac os wheel through the CI * ci: use the macos wheel to run tests * ci: use extends instead of <<: *x * ci: move some variables closer to their usage * ci: rationalize variable usage * ci: abstract the of absolute /tmp/ path * ci: move the "tempory work dir" to "concurrency-safe" location * ci: adjust the starting port range to runner concurrency * ci: have the mac test run if you trigger building the mac wheel * run-tests: implement crude sharding support * ci: shard the test run on mac os X * dev-version: change the scheme of non tagged version * wheel: enforce that translation being build for macos wheel * run-tests: focus on listing the selected test for the shard tests * run-tests: cleanup the "output" directory after the related tests * tests: drop PYTHONPATH manipulation in test-pushvars.t * windows: work around argument size limitation in test-bookmarks-pushpull.t * windows: adjust PYTHONPATH update in test-status-color.t * ci: use a concurrency safe TMP dir on Windows * ci: again common element into a `.windows` template * ci: split the windows runtest invocation into more granular variables * windows: skip test-clonebundles-autogen.t in the CI * ci: adjust port range on windows too * windows: simply rely on the PATH adjustment to find python.exe in tests * wheel: assign CIBW_SKIP globally * wheel: make --hg-wheel works on Windows * wheel: build Windows wheels too * wheel: explicitly list built architecture * wheel: test the built wheel in the windows tests * ci: shard the tests on windows too * wheel: enforce that translation being build for windows wheel * setup: remote a debug statement that slipped through * setup: factor version computation in a function * setup: use the same code to compute tag from archive * wheel: add a platform level to the wheel directories * wheel: add a job uploading nightly build * wheels: factor the core of Linux wheel building into a script * wheels: update the Linux wheels make target * clone: properly exclude rev-branch-cache from post clone cache warming * setup: make sure Rust build its extension for the right python * setup: preserve version part after the "+" on Windows * wheel: build windows wheel for ARM64 too * ci: adds a trigger for all pycompat jobs * ci: let the Windows runner decide how many job they want to run |
|
Line 70: | Line 153: |
* doc: generate separate commands/topics/extension pages | |
Line 92: | Line 174: |
* doc: generate separate commands/topics/extension pages |
Mercurial 6.9rc1
These are release notes for a release candidate version. Any and all points can be reverted before the final release.
- streamclone: disable the volatile file open handle optimization on Windows
rust-update: make update_from_null respect worker.numcpu config option
- rust-update: handle SIGINT from long-running update threads
- rust-cpython: add a TODO about repo reuse
pytype: add relative timestamp to the output if ts is available
hgweb: skip logging ConnectionAbortedError
Below are many, many changes that have to do with building/testing wheels, adding some sharding to the CI and MacOS + Windows compatibility work:
- run-tests: don't use shell call for subprocess
- run-tests: add a --hg-wheel options to test a pre-built wheel
ci: unify the way check-pytype inherit the common setting
- ci: split the jobs on more stage
- ci: build a wheel and use it to run c tests
tests: stabilize test-extdiff.t on macOS
tests: disable test-git-interop.t with a requirements directive
tests: disable a section of test-hgrc.t that may hit a zeroconf bug
- ci: add a runner for Windows 10
tests: treat select as a built-in module on Windows
tests: disable a section of test-paths.t that may hit a zeroconf bug
- tests: conditionalize missing output in test-racy-mutations.t on Windows
- tests: add a "missing" tests for manifest content in test-racy-mutations.t
- tests: bump the wait timeouts in test-racy-mutations.t
- test-install: use the global hg for the install step
- test-install: glob instance of "python" in warning
- ci: pre-adjust some identation
- setup: add a way to force the setup to translate (or fail)
- ci: use smaller VM to build wheel
- ci: use a pre-setup many-linux image to build wheel
- ci: build (and use) wheel for all supported version
- ci: automatically compute the python tag we use to identify tag
- run-tests: install wheel using --prefix instead of --user
- pycompat: drop some now useless workaround for makedirs
- wheel: build mac os wheel through the CI
- ci: use the macos wheel to run tests
ci: use extends instead of <<: *x
- ci: move some variables closer to their usage
- ci: rationalize variable usage
- ci: abstract the of absolute /tmp/ path
- ci: move the "tempory work dir" to "concurrency-safe" location
- ci: adjust the starting port range to runner concurrency
- ci: have the mac test run if you trigger building the mac wheel
- run-tests: implement crude sharding support
- ci: shard the test run on mac os X
- dev-version: change the scheme of non tagged version
- wheel: enforce that translation being build for macos wheel
- run-tests: focus on listing the selected test for the shard tests
- run-tests: cleanup the "output" directory after the related tests
- tests: drop PYTHONPATH manipulation in test-pushvars.t
- windows: work around argument size limitation in test-bookmarks-pushpull.t
- windows: adjust PYTHONPATH update in test-status-color.t
- ci: use a concurrency safe TMP dir on Windows
ci: again common element into a .windows template
- ci: split the windows runtest invocation into more granular variables
- windows: skip test-clonebundles-autogen.t in the CI
- ci: adjust port range on windows too
- windows: simply rely on the PATH adjustment to find python.exe in tests
- wheel: assign CIBW_SKIP globally
- wheel: make --hg-wheel works on Windows
- wheel: build Windows wheels too
- wheel: explicitly list built architecture
- wheel: test the built wheel in the windows tests
- ci: shard the tests on windows too
- wheel: enforce that translation being build for windows wheel
- setup: remote a debug statement that slipped through
- setup: factor version computation in a function
- setup: use the same code to compute tag from archive
- wheel: add a platform level to the wheel directories
- wheel: add a job uploading nightly build
- wheels: factor the core of Linux wheel building into a script
- wheels: update the Linux wheels make target
- clone: properly exclude rev-branch-cache from post clone cache warming
- setup: make sure Rust build its extension for the right python
- setup: preserve version part after the "+" on Windows
- wheel: build windows wheel for ARM64 too
- ci: adds a trigger for all pycompat jobs
- ci: let the Windows runner decide how many job they want to run
Mercurial 6.9rc0
These are release notes for a release candidate version. Any and all points can be reverted before the final release.
New Features
- exchange: improve computation of relevant markers for large repos
Add a Rust fast-path to speed up update (also for clone) from null (up to 4x faster)
- Introduced a new rev-branch-cache version (v2) that is mmap-resistant
- The branchmap's performance was improved
- Improved the performance of the fix for issue6528
- clonebundles: allow manifest to specify sha256 digest of bundles
- merge: improve working-copy mtime race handling
- profiling: add a py-spy profiling backend
- revlog: use an explicit config option to enable mmap usage for index
- revlog: use mmap by default is pre-population is available
- mmap: populate the mapping by default
- mmap: populate mapping in a background thread
Experimental features
- merge: add a config to allow conflict-free merge of changes on adjacent lines
Bug Fixes
config.server.validate now also works on narrowed repositories
- convert: fix various leaked file descriptors
- stream: prefer keeping an open file handle to volatile file instead of copy
- dummysmtpd: fix EOF handling on newer versions of OpenSSL
cext: correct the argument handling of b85encode()
- branchmap-v3: make sure we write the cache after detecting pure-topo mode
- rust: apply clippy lints
- copies: make sure deleted copy info do not overwriting unrelated ones
- rebase: don't call rewriteutil.precheck() with to-be-skipped commits
phabricator: correct the default value of phabhunk.corpus
linelog: correct the default value of annotateresult.lines
- largefiles: avoid a potentially undefined variable in exception case
- httppeer: move a variable to avoid a bad reference before assignment warning
- httppeer: avoid another bad reference before assignment warning
- tests: use packaging from setuptools instead of deprecated distutils
- manifest: type and fix unhexlify
- manifest: align some vfs option access on the fact we might not have options
- scmutils: read the requires file before writing to avoid unnecessary rewrite
- debugsparse: stop taking the store lock
- sparse: reliably avoid writing to store without a lock
largefiles: sync up largefilesdirstate methods with dirstate base class
- shelve: raise an error when loading a corrupt state file in an impossible case
- monotone: replace %s interpolation with appropriate numeric specifiers
shelve: consistently convert exception to bytes via stringutil.forcebytestr
remotefilelog: honor the --format arg of the debugindex command
remotefilelog: adapt the debugindex command to past API changes
- run-tests: add color to the progress output
- archive: defer opening the output until a file is matched
help: add :config-doc:section.key shorthand to insert documentation
- censor: document the censor.policy option (issue6909)
- rust-revlog: don't try to open the data file if the index is empty
- bundlerepo: fix mismatches with repository and revlog classes
revlog: make clearcaches() signature consistent with ManifestRevlog
- unionrepo: fix mismatches with revlog classes
- keepalive: fix a signature mismatch for a http.client.HTTPResponse subclass
- lfs: fix various signature mismatches for vfs subclasses
- store: fix a signature mismatch for a vfs subclass
util: avoid a leaked file descriptor in util.makelock() exceptional case
statichttprepo: fix httprangereader.read() for py3
util: make mmapread() work on Windows again
mdiff: tweak calls into bdiff.fixws to match its type hints
base85: avoid a spurious use-before-initialized warning in pure module
- install: static data moved from setup.py to pyproject.toml
- upgrade: disable using the parallel workers optimization on macOS
- extdiff: don't run gui programs when in a cli-only environment
clonebundles: stop shell quoting HGCB_BUNDLE_BASENAME environment variable
- rev-branch-cache: disable mmapping by default on Windows
Backwards Compatibility Changes
- This release drops support for Python 3.6 and 3.7.
Internal API Changes
- manifest: deprecated readdelta and readfast
Miscellaneous
- http: reuse Python's implementation of read/readline/readinto
- http: use urllib's cookie handler
- rev-branch-cache: schedule a write of the "v2" format if we read from "v1"
- rev-branch-cache: have debugupdatecache warm rbc too
- rev-branch-cache: reenable memory mapping of the revision data
- debugwireproto: redo logging to also work for https
rust: use .cargo/config.toml instead of .cargo/config
- doc: generate separate commands/topics/extension pages
- A whole bunch of typing improvements, which in turn found many bugs
- Test suite improvements
- Various packaging improvements