v7.8.0
Improvements
- Add
glz::reflect_arrayto serialize structs as arrays without enumerating members by @stephenberry in #2612 - Centralize Asio backend selection into a
glaze::asiotarget, and export it tofind_packageconsumers so the standalone/Boost Asio macro pair is configured consistently by @stephenberry in #2604 - Support
custom_read/custom_writetypes as tagged variant alternatives by @stephenberry in #2591 - Support
custom_read/custom_writetypes as tagged variant alternatives in YAML by @stephenberry in #2594 - Add a CI workflow for MSVC
/O2builds by @annihilatorq in #2590
Fixes
- Fix streaming buffer refill when skipping unknown keys by @stephenberry in #2611
- RFC 6455: reject oversized WebSocket control frames by @annihilatorq in #2606
- RFC 9112: fix
Hostauthority in HTTP and WebSocket clients by @annihilatorq in #2605 - Cast to
unsigned charbeforecctypecalls in parsers (avoids UB on negativecharvalues) by @uwezkhan in #2603 - RFC 6455: fix WebSocket close frame validation by @annihilatorq in #2601
- Fix WebSocket client handling of data received together with the handshake response by @annihilatorq in #2600
- Guard
std::numeric_limits<T>::min/maxagainst Windows min/max macros by @annihilatorq in #2597 - Fix TOML/YAML block layout for transparent write wrappers by @stephenberry in #2596
- Resolve custom variant specialization ambiguity for YAML/BEVE/CBOR/MessagePack/TOML by @stephenberry in #2592
- Guard
std::min&std::maxcalls fromminwindef.hdefines by @annihilatorq in #2593
Full Changelog: v7.7.1...v7.8.0