Состоялся выпуск 7.2.0 высокопроизводительной, SIMD-оптимизированной и многопоточной библиотеки Glaze, предназначенной для быстрой сериализации и десериализации данных с поддержкой форматов JSON RFC 8259, CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (опционально, для компиляции требуются библиотеки Erlang), YAML 1.2, Stencil и Mustache.
Библиотека написана на языке C++ (header-only, стандарт C++23 и выше) и распространяется по лицензии MIT.
Glaze также предоставляет поддержку REPE RPC и сервер и клиент HTTP, используя современные возможности C++, включая автоматическую генерацию REST API, поддержку WebSocket и шифрование SSL/TLS.
Список изменений:
- Glaze теперь поддерживает P2996 «Reflection for C++26». Эта поддержка добавила возможности, недоступные в прежних реализациях рефлексии на этапе компиляции:
- поддержка неагрегатных типов – классы с конструкторами, виртуальными функциями и наследованием просто работают;
- автоматическая сериализация перечислений –
glz::metaне требуется, перечисления автоматически сериализуются в строки; - неограниченное количество членов структуры – без прежнего ограничения в 128 членов;
- доступ к приватным членам – рефлексия всех членов, независимо от спецификаторов доступа;
- используются стандартные возможности
std::meta– без специфичных для компилятора хаков; - поддерживаемые компиляторы: GCC 16+ (с опциями
-std=c++26 -freflection) и Bloomberg clang-p2996. Более подробно см. документацию по рефлексии C++26.
- Добавлена возможность конфигурирования размера буфера в
stream_request. - Исправлены ошибки парсинга YAML.








