Repository navigation
Conversation
…ons, and append scenarios
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #37 +/- ##
===========================================
+ Coverage 76.60% 89.48% +12.88%
===========================================
Files 19 34 +15
Lines 4154 12902 +8748
===========================================
+ Hits 3182 11545 +8363
- Misses 972 1357 +385 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Description
Prepares the 0.8 release. It contains the hardened 1.0 specification and reader from #36 and adds format 1.1. Version 1.1 keeps every 1.0 structure: this release reads 1.0 and 1.1 archives, writes new archives as 1.1, and appends to an archive with the rules of its own version. It also reads archives written by Pithos 0.7.0 and 0.7.3, but does not append to them.
Changes
0x0101; readers accept0x0100and0x0101.02).PieceEncoderencodes one part;composejoins parts without opening a key and reports the BLAKE3 content hash when the part offsets line up.0x10) and AES-256-GCM block payloads (flag0x20).Chunking::ContentDefinedand--cdc, andPieceEncoder::with_chunkingcuts pieces with FastCDC. The spec presents both methods as equal.PITH 80 02header, the 0.7.0 directory checksum, the 0.7 relationship names, full POSIX modes, sizes of directories and symlinks, and repeated grants of one sender. Appends and grants to such archives are refused.ArchiveOpener,ArchiveViewand lazyReadPlanwith batched reads.Archive::openno longer reads block markers.asyncfeature:AsyncArchivewithread_rangeand the ownedread_range_owned, limits on requests and buffered bytes, cancellation on drop, and aBlockingHookfor CPU work.ro-crateandcrypt4gh.--cipher,--unique-keysand--block-size;read listshows the format version and each file's block-list form.spec/PITHOS_1.1.0_draft.mdwith new conformance vectors. The minimum Rust version is 1.89.testsanddenycarry the names the main ruleset requires.PublicKey::from_raw,PublicKey::as_bytes,PrivateKey::from_raw).ArchiveView::replace_grantsgives an archive new reader grants without re-encoding its blocks, for key rotation.chacha20is updated to 0.10.2.