Skip to content

Releases: stephenberry/glaze

1.9.8

22 Dec 14:05
Compare
Choose a tag to compare

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

14 Dec 17:22
Compare
Choose a tag to compare

Improvements

  • CSV support for pure reflection
  • Better performance for reflection object writing and especially reading

1.9.6

13 Dec 17:20
Compare
Choose a tag to compare

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 with std::string_view on GCC

1.9.5

11 Dec 14:47
Compare
Choose a tag to compare

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

08 Dec 16:55
Compare
Choose a tag to compare
  • Added lvalue support for glz::detail::get_enum_name

1.9.3

08 Dec 14:56
Compare
Choose a tag to compare

Fixed GCC 13 segfault issue for variants and reflection

1.9.2

07 Dec 15:55
Compare
Choose a tag to compare

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

06 Dec 15:08
Compare
Choose a tag to compare

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

05 Dec 17:18
Compare
Choose a tag to compare

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

05 Dec 15:14
Compare
Choose a tag to compare

Improvements

  • Faster object reading when error_on_unknown_keys is false
  • Faster string writing
  • Removed redundant error checking

Fixes