- Added ASTERIX encoding (JSON → binary): encodeRecord() / encodeDataBlock(), full round-trip for all item types
- Added flat/columnar output mode (do_flat) for decoding, increased efficiency
- Added PCAP capture decoding (libpcap) with packet timestamps; new analyzePCAPFile() / analyzePCAPFileCSV()
- CAT001: SAC/SIC + Time-of-day propagation
- Made decodeData() abortable via stopDecoding()
- Hardened bounds checking (oversized REF/SPF, truncated records, short buffers) - error instead of crash
- Fixed IOSS framing recovery (bad index/length after broken frames)
- Fixed two's-complement signed int decoding
- Fixed flat-mode ARTAS MD5 hash mismatch
- Threading: busy-wait -> condition_variable, volatile -> std::atomic
- Added traced asserts with stacktrace backtraces
- Misc performance improvements in decode path
- Definitions
- Added CAT062 ed. 1.21 (now default)
- CAT021 default edition bumped 2.1 -> 2.4
- CAT062 default SPF changed from ARTAS to none
- Reformatted/normalized JSON across all categories (no functional change)
- Build: dropped Boost system component (header-only now), works with Boost 1.90 / CMake 4.x / Ninja
HotFix1
- Fixed issue with repetitive data items missing in flat mode
- Re-added REP counters since required in COMPASS