Releases: stephenberry/glaze
Releases · stephenberry/glaze
1.9.8
Fixes
- Fixed writing maps with internal skipped null entries (@justend29)
Improvements
- Faster string reading and writing (especially when dealing with escapes)
- Code cleanup and minor optimizations
1.9.7
Improvements
- CSV support for pure reflection
- Better performance for reflection object writing and especially reading
1.9.6
Improvements
- Support reflection for up to 128 members in a struct
- Added reflection support to BEVE binary
- Added reflection support to JSON pointer syntax
glz::get...
etc. - Optimized hashing for reflectable structs
Fixes
count_members
reflection now works withstd::string_view
on GCC
1.9.5
This release includes important fixes, so it is recommended to move to this version.
Fixes
- Fixed out of bounds access in map lookup for unknown keys in large objects
- Fixed undefined behavior in new JSON string writing
- Fixed compile time
type_name
function
Improvements
- Support equality comparison on
glz::opts
1.9.4.1
- Added lvalue support for
glz::detail::get_enum_name
1.9.3
Fixed GCC 13 segfault issue for variants and reflection
1.9.2
Improvements
- Added reflection support for
std::variant
with reflectable types - Added support to read in values into custom lambdas. See example below:
struct custom_buffer_input
{
std::string str{};
};
template <>
struct glz::meta<custom_buffer_input>
{
static constexpr auto read_x = [](custom_buffer_input& s, const std::string& input) { s.str = input; };
static constexpr auto write_x = [](auto& s) -> auto& { return s.str; };
static constexpr auto value = glz::object("str", glz::custom<read_x, write_x>);
};
Fixes
- Fixed reading enum string with variants from v1.8.5 changes
- Fixed reading variants from v1.8.5 changes
- Fixed glaze value lambdas rejecting lvalue references
1.9.1
Improvements
- Reflection is faster to compile. Compilation should be very fast and of no concern versus
glz::meta
- Added reflection for
glz::name_v
, which is used in JSON schema generation and elsewhere
Fixes
- Fix for empty object to_tuple
1.9.0
Pure, compile time reflection for MSVC, GCC, and Clang!
- Reflection supports non-constexpr types
- Reflection is compile time, so we still get perfect hashing
- Only works on aggregate initializable structs, use
glz::meta
as before for customizing reflection for more complex types
IMPORTANT: GCC 10 is now deprecated. Versions 11, 12, and 13 are all supported.
1.8.5
Improvements
- Faster object reading when
error_on_unknown_keys
is false - Faster string writing
- Removed redundant error checking