A avut loc lansarea 7.2.0 cu performanță înaltă NanoGUI Glaze, destinat citirii și scrierii JSON cu funcționalități convenabile de serializare și deserializare de date.
De asemenea, sunt suportate formate CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (opțional, bibliotecile Erlang sunt necesare pentru compilare), YAML 1.2, Stencil și Mustache. Biblioteca este scrisă în C++ (header-only, standard C++23 și mai sus) și este distribuită sub licența MIT.
Glaze oferă, de asemenea, suport pentru REPE RPC și server și client HTTP, folosind funcționalitățile moderne ale C++, inclusiv generarea automată a API-ului REST, suport pentru WebSocket și criptare SSL/TLS.
Lista modificărilor:
- Glaze suportă acum P2996 «Reflection for C++26». Acest suport a adăugat funcționalități care nu erau disponibile în implementările anterioare de reflecție la compilare:
- suport pentru tipuri neagregate – clase cu constructori, funcții virtuale și moștenire funcționează pur și simplu;
- serializarea automată a enumerațiilor – glz::meta nu este necesar, enumerațiile sunt automat serializate în șiruri;
- număr nelimitat de membri ai structurii – fără limita anterioară de 128 de membri;
- acces la membri privați – reflecția tuturor membrilor, indiferent de specificatorii de acces;
- se folosesc funcționalitățile standard std::meta – fără trucuri specifice compilatorului;
- compilatoare suportate: GCC 16+ (cu opțiuni -std=c++26 -freflection) și Bloomberg clang-p2996. Mai multe detalii despre documentație reflecția C++26.
- A fost adăugată posibilitatea de configurare a dimensiunii bufferului în stream_request.
- S-au corectat erorile de parsare YAML.
Sursa: linux.org.ru
