NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1173 most downloaded on crates.io
Fast, checked hex encoding and decoding with SIMD and no_std support.
Last release 15 days ago
23 Sep 2026
Release timing varies
gaps range from 5 weeks to 2.0 years
Most releases are documented
notes for 12 of 15 stable releases
2 versions withdrawn
withdrawn after publishing
8 years old
17 releases · first in 2018
The 1.0 API decodes the complete input, returns the written output slice, and leaves destinations unchanged on checked errors. It removes the public u
The 1.0 API decodes the complete input, returns the written output slice, and leaves destinations unchanged on checked errors. It removes the public unchecked and backend functions and reports precise length and invalid-byte errors.
This release adds array and Vec decoding, borrowed Hex formatting, String reuse, optional heapless support, Serde array and bounded adapters, AArch64 NEON encoding/decoding, and AVX-512BW validation/decoding. The 0.10.1 safety fixes are included.
Requires Rust 1.95.0. See MIGRATION.md for the API changes. CI covers the supported feature combinations and platforms, Miri, libFuzzer/AFL, native x86 backends, and the 1.0 API baseline.
Changes since 0.10.1. See MIGRATION.md for upgrading existing code.
std, serde features are retained.Result<&mut [u8], Error>.
A short destination returns an error; extra capacity remains untouched. Odd input
is rejected, including when the destination is empty.Error non-exhaustive. Replace InvalidLength(n) with
OutputTooSmall { required, .. }; add OddLength and byte positions to
InvalidChar { index, byte, .. }. Error formatting changes.hex_to.heapless-08 and the heapless_08 module.
hex_string and hex_string_upper require alloc and always return String.CheckCase and hex_decode_with_case for case-specific decoding.hex_append and hex_append_upper for reusing a String allocation.hex_decode_array::<N> and owned hex_decode_vec decoding, each with
a case-policy variant. Array length errors use LengthMismatch { expected, actual, .. }.Hex formatting through core::fmt, including integer-style flags.deserialize_bounded helpers.defmt-03 support and implement Hash for Error and CheckCase.Some tag in binary formats and read each serialized AsRef<[u8]>
view once. Existing JSON prefix and case rules remain unchanged.alloc but without std.
Implement core::error::Error with every feature set.Hex scratch storage, stream long values in larger chunks,
and reduce short-value formatting and padding overhead.One column per quarter.
Fix two safety issues in the 0.10 line:
Fix two safety issues in the 0.10 line:
hex_decode_unchecked API by the source length.hex_encode and hex_encode_upper, even when the destination has extra capacity.Restore the Error trait implementation on Rust 1.61 while retaining core::error::Error on newer toolchains. Public signatures and the Rust 1.61 MSRV are unchanged.
hex_decode_unchecked by the source length.hex_encode and hex_encode_upper.Error trait implementation on Rust 1.61 while retaining
core::error::Error on newer toolchains.Add PartialEq derived macro to Error in order to be able to test error cases
[no_alloc] for faster-hex (without any feature), hex_string(_upper)() rely on heapless:Stringfix #43
fix #43
Fix hex_decode panic when dst.len > src.len * 2
Fix hex_decode panic when dst.len > src.len * 2
Fix Fails to build on x86 without SSE2 pr#33
Add serde feature for faster-hex
Add serde feature for faster-hex
Improve performance of fallback implementation
Improve performance of fallback implementation
hex_string should not return Result
hex_string should not return Result
Fix build for non-x86 targets
Fix build for non-x86 targets
Nothing published for this version
Do not expose hex_check_see on non-supported platform
Do not expose hex_check_see on non-supported platform
specify files to ignore when packaging
Nothing published for this version
Nothing published for this version
Nothing published for this version
leverage simd to hex faster
leverage simd to hex faster
Your coding agent can read these notes before it upgrades. Set up the MCP server →