# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## 0.11.0 - 2024-02-09 ### Added - `Packable::unpack_inner`, `Packable::unpack_verified`, and `Packable::unpack_unverified`; ### Changed - Removed `Default` bound from `Packable::UnpackVisitor`; - Replaced `const VERIFY` in `Packable::unpack` with `Option<&Self::UnpackVisitor>`, which can be checked instead; - Renamed `PackableExt::unpack_verified` and `unpack_unverified` to `unpack_bytes_verified` and `unpack_bytes_unverified`; ## 0.10.1 - 2024-01-08 ### Added - `Packable` impl for `HashMap` and `BTreeMap`; - `HashMapPrefix` and `BTreeMapPrefix` types; ## 0.10.0 - 2023-11-17 ### Changed - Only pass visitor to `verify_with` if it was provided; ## 0.9.0 - 2023-11-14 ### Added - Struct-level `verify_with` attribute; ## 0.8.3 - 2023-09-18 ### Added - `UnpackOrderedSetError`; ### Fixed - `BTreeSet` impls and `BTreeSetPrefix` unpack now fails if the data is unordered; ## 0.8.2 - 2023-09-07 ### Added - `BTreeSet` impls and `BTreeSetPrefix`; ## 0.8.1 - 2023-05-02 ### Fixed - `no_std` support; ## 0.8.0 - 2023-03-30 ### Changed - `Debug` impl of `StringPrefix`, `BoxedSlicePrefix` and `VecPrefix` don't print the wrapper anymore; ## 0.7.0 - 2022-10-10 ### Changed - Updated dependencies; ## 0.6.2 - 2022-08-26 ### Fixed - `verify_with` visitor parameter type from `field::UnpackVisitor` to `Self::UnpackVisitor`; ## 0.6.1 - 2022-08-26 ### Added - `verify_with` attribute functions now also take the `visitor` as parameter; ## 0.6.0 - 2022-08-25 ### Added - `Packable::UnpackVisitor` associated type; - `Packable::{unpack, unpack_verified}` argument `visitor`; - `#[packable(unpack_visitor = _)]` attribute; ### Changed - Updated dependencies; ## 0.5.0 - 2022-07-14 ### Added - Add the `SliceUnpacker` type; ### Removed - Remove the `Unpacker` implementation for `&[u8]`. ## 0.4.0 - 2022-06-13 ### Added - Add the `StringPrefix` type; ## 0.3.3 - 2022-05-27 ### Added - Propagate alternate `Debug` to `VecPrefix` and `BoxedSlicePrefix`; ## 0.3.2 - 2022-05-04 ### Added - Custom `Debug` impl for `VecPrefix`; - Custom `Debug` impl for `BoxedSlicePrefix`; ## 0.3.1 - 2022-04-20 ### Added - Add `Packer::written_bytes` and `Unpacker::read_bytes`; ## 0.3.0 - 2022-04-19 ### Added - Implement `Packable` for tuples; - Add `CounterPacker` and `CounterUnpacker`; - Implement `Packer` and `Unpacker` for mutable references; ### Changed - Inline more functions in a less aggressive way; - Make byte buffers packing and unpacking more performant; - Require `From` for every `Packable::UnpackError`; ### Removed - Remove `UnpackErrorExt::infallible` as it superseeded by `UnpackErrorExt::coerce`; ## 0.2.1 - 2022-02-11 ### Added - Make the `Error` implementation for `UnknownTagError` less restricted; - Implement `Error` for `UnpackError`; - Document the `serde` and `primitive-types` features; ### Changed - Make `String` packing more performant by using `Packer::pack_bytes` directly; - Fix documentation of `UnexpectedEOF` and `UnpackPrefixError`; ## 0.2.0 - 2022-02-09 ### Added - Derive `Error` for all the error types if the `std` feature is enabled; - Implement `Packable` for `f32` and `f64`; - Implement `Packable` for `usize`, `isize`, `Vec`, `Box<[T]>` and `String` under the `usize` feature; - Implement `Into` for `UnpackError` and `UnpackPrefixError`; - Add the `UnpackError::into_packable_err` and `UnpackPrefixError::into_item_err` methods; ### Changed - Rename `UnpackError::into_unpacker` to `UnpackError::into_unpacker_err`; - Rename `UnpackPrefixError::Packable` to `UnpackPrefixError::Item`; - Rename `UnpackPrefixError::into_prefix` to `UnpackPrefixError::into_prefix_err`; - Rename `UnpackPrefixError::unwrap_packable_or_else` to `UnpackPrefixError::unwrap_item_err_or_else`; ## 0.1.0 - 2022-01-13 ### Added - Initial features;