From 201208902b23eb4dba2496ad8ffffc5c155544ab Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 11 Sep 2026 08:19:28 -0500 Subject: [PATCH 1/3] Bump version to v0.9.0 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index d5228159196..3a7358e6b88 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hpke-dispatch" -version = "0.8.0" +version = "0.9.0" edition = "2021" description = "Runtime algorithm selection for hybrid public key encryption" license = "MPL-2.0" From 3e3478f9bd60b64ca37839d8fb72197d4035fbc0 Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 11 Sep 2026 08:42:42 -0500 Subject: [PATCH 2/3] Add back re-export of HpkeError --- src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 510c46081b8..0272e178fe1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,7 +20,8 @@ any(feature = "nistp", feature = "x25519", feature = "mlkem",), ))] -use hpke::{Deserializable, HpkeError}; +use hpke::Deserializable; +pub use hpke::HpkeError; #[macro_use] mod macros; From 2994558e2df7fac24fe0db85d2866813acb6f95e Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 11 Sep 2026 08:19:57 -0500 Subject: [PATCH 3/3] README copyediting --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 83fc5f09edc..f13ec164c71 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,21 @@ # Hybrid public key encryption with algorithms dispatched at runtime This crate provides a generic-free interface to the [`hpke`][hpke] -crate, a rust implementation of the draft RFC9180 [hybrid public key -encryption](https://www.rfc-editor.org/rfc/rfc9180.html) +crate, a Rust implementation of the [hybrid public key +encryption][hpke-datatracker] scheme. If you know the specific (aead, kdf, kem) triple at compile time, you should use the [`hpke`][hpke] crate directly. -Currently, this crate only exposes interfaces for the Base mode (0) -described in the hpke draft, and within base mode, only stateless -single-shot message encryption/decryption, as defined in [RFC9180ยง6][section-6]. +Currently, this crate only exposes interfaces for the Base mode +described in the HPKE specification, and within base mode, only stateless +single-shot message encryption/decryption, as defined in +[Section 6, "Single-Shot APIs"][section-6]. The algorithms supported in this crate and their codepoints are as described in the [HPKE specification][hpke-datatracker] and [draft-ietf-hpke-pq][hpke-pq]. [hpke]: https://github.com/rozbb/rust-hpke -[section-6]: https://www.rfc-editor.org/rfc/rfc9180.html#section-6 +[section-6]: https://www.ietf.org/archive/id/draft-ietf-hpke-hpke-04.html#section-6 [hpke-datatracker]: https://datatracker.ietf.org/doc/draft-ietf-hpke-hpke/ [hpke-pq]: https://datatracker.ietf.org/doc/draft-ietf-hpke-pq/ @@ -33,7 +34,7 @@ that crate's documentation for discussion of how to selectively enable algorithm * *kem-all*: Enables `x25519`, `nistp` and `mlkem` algorithm features. Enabled by default. -* *serde*: enables derived serde serialization and deserialization for all public structs and enums. +* *serde*: Enables derived serde serialization and deserialization for all public structs and enums. Disabled by default. ## Example feature usage: