- Make it possible to decode in
const
-context (by @joncinque)
- Breaking change: make encoding onto resizable buffers not clear them, instead appending onto any existing data
- Breaking change: rename
into
methods toonto
to allow for implementingInto
in the future (or a similar inherent method) - Add new
cb58
feature to support injecting and verifying that checksum (by @Zondax) - Update
sha2
to 0.10 (by @madninja) - Tighten max-encoded length estimation to reduce overallocation of resizable buffers (by @mina86)
- Add optional support for encoding/decoding to
smallvec::SmallVec
(by @mina86) - Add optional support for encoding/decoding to
tinyvec
's various types
- Correct documentation on version mismatch error (by @taoweicn)
- Update
sha2
from 0.8 to 0.9 - Switch error enums to use new
#[non_exhaustive]
attribute - Use new
const fn
features to drastically simplify construction of a prepared alphabet - Update documentation and examples to use
?
instead ofunwrap
- Remove the non-prepared alphabet APIs, update alphabet construction to pre-verify requirements of a consistent alphabet
- Removed an unnecessary unsafe block (by @fanatid)
- Internal code cleanup (by @fanatid)
- Add ability to pre-prepare the alphabet for performance (by @fanatid)
- Add function to append the version onto the data automatically for Base58Check encoding (by @fanatid)
- Base58Check support (thanks to @devin-fisher)
- Fix tests on Rust 1.27+
- Fix potential unsoundness when encoding with a custom alphabet
- Major refactor to use a builder pattern instead of traits
- Traits still kept, but deprecated and likely to disappear in next major version
- Now supports writing output to a provided buffer for better performance/heapless code.