v0.2.0 (2026-01-18)
Changed:
    - Fixed major bug where arrays and maps with lengths between 16 and 31 and encoded as immediate variants

v0.1.8 (2025-04-06)
Added:
    - ReadBuffer now has a read_into_slice method
    - WriteBuffer now has a write_from_slice method
    - Buffers allow taking arbitrary snapshots and restoring their cursors to previously taken snapshots

Changed:
    - Optimized decoding of markers, signed and unsigned values for known slice sizes

Removed:
    - The undo method is no longer available


v0.1.7 (2025-04-05)
Changed:
    - Optimized slice access where the slice length is known ahead of time
    - Fixed documentation

v0.1.6 (2025-04-04)
Added:
    - documentation with examples

Changed:
    - ReadBuffer now supports zero-copy deserialization
    - ReadBuffer and WriteBuffer can be constructed from any type that can be referenced as a byte slice
    - Rust edition changed to 2021

v0.1.5 (2025-04-02)
Added:
    - error flag for WriteBuffer indicating if an out-of-memory error occured
    - WriteBuffer and ReadBuffer now have undo capabilities
    - initial documentation

Changed:
    - {WriteBuffer,ReadBuffer}::discard now skips next given bytes
    - decode functions do not consume the markers in case of type mismatch
    - flexible arrays and maps are written using the same write_map and write_array functions

v0.1.4 (2025-04-02)
Added:
    - Fix deserialization of flex containers not consuming the terminator

v0.1.3 (2025-04-01)
Added:
    - WriteBuffer now has a rollback method

Changed:
    - Marker variants {Map,Arr,Str,Pos,Neg}Imm got renamed to Imm{Map,Arr,Str,Pos,Neg}

v0.1.1 (2025-04-01)
Changed:
    - serde is no longer a default feature

Fixed:
    - Struct enum variants are now correctly deserialized as structs (previously was tuple)


v0.1.0 (2025-04-01)
Added:
    - Read and write buffers from slices
    - Encoding and decoding support for numeric values, ASCII-encoded strings, maps, arrays, booleans, etc.
    - Flexible arrays and maps
    - Basic serde support
