Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# 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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.0] - 2025-04-11
### Added
- Full RFC 9204 QPACK implementation for HTTP/3 header compression
- Static table with O(1) map-based lookups (99 entries per RFC 9204)
- Dynamic table with O(1) lookups and FIFO eviction
- Encoder stream support with dynamic table insertions
- Decoder stream support (section_ack, stream_cancel, insert_count_increment)
- Optional Huffman coding per RFC 7541 Appendix B
- Stateless API using static table only
- Stateful API with dynamic table support
- Blocked decoding detection when RIC > insert_count
- Interoperability testing with qifs test data (nghttp3, ls-qpack)
### Technical Details
- RFC-correct RIC/Base prefix encoding with modulo arithmetic
- Proper handling of truncated input (returns incomplete instead of crash)
- Huffman decoder validation per RFC 7541 Section 5.2
- Section acknowledgment with FIFO queues per stream
- KRC (Known Received Count) validation
[0.1.0]: https://github.com/benoitc/erlang_qpack/releases/tag/0.1.0