What's Changed
- Added
ur::try_encode, which returns an error for invalid custom UR types instead of panicking. - Added
ur::Decoder::resolved_fragment_countandur::Decoder::fragment_countfor reporting multipart decode progress. - Added
fountain::Decoder::resolved_fragment_countandfountain::Decoder::fragment_countfor reporting fountain decode progress. - Validate custom UR types during single-part encoding, multipart encoder construction, and decoding. Custom types must be non-empty and contain only ASCII letters, ASCII digits, or
-. - Validate multipart UR indices more strictly: indices must be non-zero and the URI path indices must match the encoded fountain part metadata.
- Added
fountain::Error::InvalidChecksumand checksum verification for decoded fountain messages. - Added
fountain::Error::InvalidSequencefor fountain parts with sequence number0. - Return
bytewords::Error::InvalidWordfor malformed bytewords whose hash collides with a valid byte value but whose spelling is invalid. - Updated the crate to Rust 2024 edition.
- Updated public
minicborerror types tominicbor2.0.
New Contributors
Full Changelog: 0.4.1...0.5.0