All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.1 - 2023-05-20
- 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::*
intoencode
- Unfold
decode::combinators::*
intodecode
- Hoist
primitives
out ofdecode
- 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
fromdecoder
- 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 checkfirst_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
fromthen
'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
fromDecoderExt
- 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<Vec<u8>>
indelimited_by
- Refactor order of definition of
then
andand_then
- Allow
then
andand_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 acheck
function - Derive
Debug
for combinator structures - Add
Decoder::and_then
for chaining decoders - Simplify
Decoder::map
doctest withints
- 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