Something went wrong. Try again.
STreaming ARchive format: simpler, stricter, smaller than CARs for a subset of use-cases.
star car archive atproto
Something went wrong. Try again.
2.1 kB
Markdown
at main
Changelog #
0.3.0-alpha.1 2026-08-28 #
Adds STAR-lite v1: support for permissioned space repo archives.
Existing v0 archives parse as before, and kind-C archives (public repos) are still written as v0 by default.
star-lite #
Added #
- STAR-lite v1 format support.
- New
headermodule:Version(V0/V1),Kind(Commit=C,LtHash=L), andCommitment(CidorLtHash([u8; 32])). - Kind-
Larchives for permissioned space repos verify_commit_archiveandverify_space_archivereturn the concreteVerifiedCommit/VerifiedSpacefor a known kind;verify_archivehandles either and returns aVerifiedenum.encode_space_archive,space_commitment, andSpaceArchiveBuilderfor writing kindLarchives.Writer::write_space_header,write_header_canonical(v0 for kind-C, v1 for kind-L), andwrite_header_versioned.Reader::version,kind,commitment,meta,header_lthash,parse_commit, andparse_space_meta.space_archiveexample.- Fuzzing!
Changed #
- Breaking:
verify_archivereturns aVerifiedenum instead of raw kind-C(Cid, Option<CommitInfo>). - Breaking:
Reader::header_cid()and friends are now fallible - Breaking:
Cidis nowCidGeneric<32>, re-exported fromstar-repo. - Breaking:
reader::MAGICis replaced byheader::MAGIC_V0andheader::MAGIC_V1. star_lite_to_carrejects kind-Linput withFormatError::KindMismatch.
Fixed #
Reader's error paths did not mark the reader finished, so iterating withfor entry in readercould yield the same error indefinitely.
Removed #
- Direct
ipld-coredependency.
star-repo #
Added #
lthashmodule: the LtHash homomorphic set hash, slightly specialized for atproto spaces.spacemodule:SpaceMeta { rev, repo, space }with strict parsing.SpaceMetaError.Cidtype alias andCID_DIGEST_SIZE.
Changed #
- Breaking:
CidisCidGeneric<32>rather than the 64-byte default. - Updated
sha2from 0.10 to 0.11 (go fasterrrrr). - Added a
blake3dependency, for LtHash element expansion.