Repository navigation
support Python 3.13 / 3.14 and msgpack up to 1.2.4 (1.2-maint) - #10591
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- with-lock: don't return from a finally block. Python 3.14 emits a SyntaxWarning for it, which also polluted the output of "borg serve" subprocesses and broke the remote tests. Also, a return in finally would swallow an uncaught exception. - tests: accept the Python 3.14 ZeroDivisionError message. - allow msgpack 1.1.2, which provides wheels for Python 3.14. - CI: add a py314-fuse3 job, add py314 to tox, add the classifier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Python 3.14 changed the default multiprocessing start method on Linux from "fork" to "forkserver". Like "spawn", it re-imports setup.py in the worker processes, so "python setup.py develop" failed while cythonizing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Same msgpack versions as 1.4-maint allows. Besides wheels for current Python versions, msgpack 1.2.x brings fixes relevant to borg's usage of the C extension (e.g. GHSA-j586-36cw-2gc2, GHSA-j8c6-9vc5-hj6x). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four commits:
support and test on Python 3.13 (same as 1.4-maint #8600)
py313-fuse3job on ubuntu-24.04py313to the envlistsupport and test on Python 3.14
with-lock: don'treturnfrom afinally:block. Python 3.14 emits aSyntaxWarningfor it, which got into the output ofborg servesubprocesses and broke ~35 remote tests. Areturninfinallywould also swallow an uncaught exception. The commit still always happens (see borg with-lock being incompatible with rsync --ignore-existing #1867).test_rpc_exception_transportaccepts both the old and the Python 3.14ZeroDivisionErrormessage.py314-fuse3job, addpy314to tox, add the Python 3.14 classifier.setup.py: only cythonize in parallel with the fork start method
forktoforkserver. Likespawn, it re-importssetup.pyin the worker processes, sopython setup.py developfailed while cythonizing.support msgpack up to 1.2.4
Local results (macOS): Python 3.13.18 + msgpack 1.1.1: 1266 passed, 326 skipped. Python 3.14.10 + msgpack 1.1.2: 1266 passed, 326 skipped, 0 failed. With msgpack 1.2.4 on both Python 3.13 and 3.14: 1266 passed, 326 skipped, 0 failed.
The
msys2-ucrt64(Windows CI) failure was already happening on 1.2-maint; it is fixed separately in #10592.🤖 Generated with Claude Code