support msgpack 1.2.1

Port of borgbackup/borg#9790 to master.

Note: the PR's second commit (Archive.delete: don't reuse msgpack Unpacker
after an unpacking failure) does not apply here - on master Archive.delete
no longer unpacks item metadata (it just removes the archive and lets
"borg compact" reclaim space), so the reuse-after-failure code path does
not exist. The streaming RobustUnpacker already creates a fresh Unpacker
on resync.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Thomas Waldmann
2026-06-18 22:08:48 +02:00
co-authored by Claude Opus 4.8
parent 1dce2eba20
commit 890da42276
3 changed files with 3 additions and 2 deletions
+1
View File
@@ -224,6 +224,7 @@ Fixes:
Other changes:
- msgpack: also allow 1.2.1
- Location: simplify parsing/validation, #9678.
For sftp/http(s)/s3/b2/rclone repositories, borg now only detects the scheme and hands the raw
URL to borgstore, which parses and validates it (removing the duplicate parsing borg did before).
+1 -1
View File
@@ -32,7 +32,7 @@ license-files = ["LICENSE", "AUTHORS"]
dependencies = [
"borghash ~= 0.1.0",
"borgstore[rest] ~= 0.5.1",
"msgpack >=1.0.3, <=1.2.0",
"msgpack >=1.0.3, <=1.2.1",
"packaging",
"platformdirs >=3.0.0, <5.0.0; sys_platform == 'darwin'", # for macOS: breaking changes in 3.0.0.
"platformdirs >=2.6.0, <5.0.0; sys_platform != 'darwin'", # for others: 2.6+ works consistently.
+1 -1
View File
@@ -218,7 +218,7 @@ def is_supported_msgpack():
if msgpack.version in []: # < add bad releases here to deny list
return False
return (1, 0, 3) <= msgpack.version[:3] <= (1, 2, 0)
return (1, 0, 3) <= msgpack.version[:3] <= (1, 2, 1)
def get_limited_unpacker(kind):