From 79a7cc1ea98cf9826f5f2c0d94bfbb2077b51c76 Mon Sep 17 00:00:00 2001 From: Dominik Spicher Date: Thu, 2 Jul 2026 22:34:19 +0200 Subject: [PATCH 1/2] Cargo.toml: bump bitcoin_hashes crate --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 3f8a656..6159270 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,7 @@ default = ["std"] std = [] [dependencies] -bitcoin_hashes = { version = "0.20", default-features = false } +bitcoin_hashes = { version = "1.0.0", default-features = false } crc = "3" minicbor = { version = "2.0", features = ["alloc"] } rand_xoshiro = "0.8" From 0c50b5fcd469b3ad475f7fcbe67cd3db1722c205 Mon Sep 17 00:00:00 2001 From: Dominik Spicher Date: Thu, 2 Jul 2026 22:34:21 +0200 Subject: [PATCH 2/2] CHANGELOG.md: prepare 0.5.0 entry --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8d4c7b..3e5b44e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [0.5.0](https://github.com/dspicher/ur-rs/releases/tag/0.5.0) - 2026-07-02 + - Added `ur::try_encode`, which returns an error for invalid custom UR types instead of panicking. + - Added `ur::Decoder::resolved_fragment_count` and `ur::Decoder::fragment_count` for reporting multipart decode progress. + - Added `fountain::Decoder::resolved_fragment_count` and `fountain::Decoder::fragment_count` for 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::InvalidChecksum` and checksum verification for decoded fountain messages. + - Added `fountain::Error::InvalidSequence` for fountain parts with sequence number `0`. + - Return `bytewords::Error::InvalidWord` for malformed bytewords whose hash collides with a valid byte value but whose spelling is invalid. + - Updated the crate to Rust 2024 edition. + - Updated public `minicbor` error types to `minicbor` 2.0. + ## [0.4.1](https://github.com/dspicher/ur-rs/releases/tag/0.4.1) - 2023-10-16 - Take a reference to custom UR type identifiers