# 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). ## [Unreleased] ## [0.1.1](https://github.com/rvarago/tokio-util-codec-compose/compare/v0.1.0...v0.1.1) - 2023-05-20 ### Other - Add release script for automate releasing - Update stale README - Add missing doctest example for `contra_map` - Add more motivational info to README - Sync README example with `SocksRequestParts` - Refactor socks example by moving conversion into a helper - Use socks with validation as the README example - Fix misleading comment of `ipv4` - Implement encoder for `primitives::ints` - Split decoder for socks with validation into smaller functions - Unfold `encode::combinators::*` into `encode` - Unfold `decode::combinators::*` into `decode` - Hoist `primitives` out of `decode` - Hoist struct out of `DecoderExt::map` test - Start support for encoding with `EncoderExtcontra_map` - Fix typos in README - Fix outdated doc about `decode/combinators` - Re-export `DecoderExt` from `decoder` - Hoist structs out of test functions - Hide lib imports within decoder function in main example - Add documentation check as part of the minimal CI quality - Split `adaptors` into one operation per file - Set top-level modules as `decode::{combinators, primitives}` - Put all decoding combinators in `combinators` top-module - Fix broken doc links - Re-organize modules into `{decode::{adapters, mod}, primitives}` - Drop comment duplicating socks byte sequence - Add test for `then` of two full frames - Add test cases for `and_then` on failures - Add todo to reminde me to split structs - Add missing metadata to `Cargo.toml` - Add CI badge - Be pedantic with regard to clippy - Mark decoders as `#[must_use]` - Be more strict when CI-checking - Remove unnecessary socks byte sequence from doc - Use `try_from` in socks example - Add `DecoderExt::try_map_into` for standard conversions - Add checks for empty buffer for transformation tests - Add `DecoderExt::map_into` for standard conversions - Add check for empty buffer in `map` test - Simplify README's example - Extract decoder in examples/doc - Link into LICENSE from README - Simplify wording in README - Bootstrap high-level docs - Add smoke test for `map` - Be more specific in `and_then` doc section - Add simple CI infrastructure - Split socks example into simple/validation - Add `DecoderExt::map_err` to adapt error types - Extend `and_then` tests to check `first_value()` - Drop unnecessary `'static` constraint - Add SOCKS4 with example decoding + validation - Add a example of decoding a SOCKSv4 frame - Add `DecoderExt::try_map` combinator - Add todo to remind that we should have a way to flatten `then` tuples - Drop unused `bytes::Buf` import from examples - Drop `map` from `then`'s example - Don't require `and_then` to always heap-allocate - Fix `and_then` test to use the correct combinator - Shorten wording in elements docs - Add `DecoderExt::boxed` to box + widen decoders - Extend `Decoder` from `DecoderExt` - Inline default implementations to `DecoderExt` - Fix `and_then` to support multi-pass decoder - Refactor `then` to reduce branching-factor - Fix `then` to support multiple-pass decoding - Accept `Into>` in `delimited_by` - Refactor order of definition of `then` and `and_then` - Allow `then` and `and_then` to return different error types - Add shorthand to construct a bounded any delimiter decoder - Add decoder `ipv4` for IPv4 addresses - Add `Decoder::then` for chaining decoders with no dependencies - Highlight the importance of `Decode::and_then` for chaining - Implement `ints` tests in terms of a `check` function - Derive `Debug` for combinator structures - Add `Decoder::and_then` for chaining decoders - Simplify `Decoder::map` doctest with `ints` - Add missing tests for u32 big/little-endian - Hoist big-endian operations before little-endian - Reorder type-parameters of `Decode::map` - Add shorthand functions to construct `ints` - Add missing article to `ints` docs - Add decoders for u32 little/big-endian - Delete boilerplate auto-generated by cargo on bootstrapping - Implement integer decoders with a helper macro - Implement building-blocks decoders for `u8,16le,16be` - Don't heap-allocate on `Decode::map` - Implement `Decoder::map` - Specify software license in the `Cargo.toml` - Boostrap empty cargo project - Initial commit