Skip to content

Releases: stephenberry/glaze

1.2.1

19 Apr 20:55
Compare
Choose a tag to compare
  • Added .at() to json_t (from @RozeFound)
  • Fixed dead constexpr branch of csv code

1.2.0

13 Apr 19:54
Compare
Choose a tag to compare

Breaking changes to binary (Crusher) specification and implementation in Glaze. We looked into implementing CBOR, but the performance would have been much worse. The specification now directly maps to JSON. It fulfills the same role as CBOR, but with much higher performance and in some cases better compression (smaller sizes).

Other changes:

  • Faster JSON reading
  • Improved compile time maps
  • Simplified internal code along with minor improvements and cleaning

1.1.2

30 Mar 19:54
Compare
Choose a tag to compare

See version 1.1.1 notes for more recent updates.

  • CSV api changes to be more readable (switching between row-wise and column-wise)

1.1.1

30 Mar 19:10
Compare
Choose a tag to compare
  • Added initial CSV reading and writing for standard maps and glaze meta objects (see csv_test.cpp). Supports both row-wise and column-wise format.
  • Better performance on clang using flatten attribute
  • Added intermediate checks for better error messages
  • Other minor fixes and optimizations

1.1.0

20 Mar 18:02
Compare
Choose a tag to compare
  • JSON-RPC 2.0 extension (glaze/ext/jsonrpc.hpp). Compile time specification of JSON-RPC methods making it unnecessary to convert JSON to its according params/result/error type. (thanks to @jbbjarnason)
  • Added std::string_view support (thanks to @SlaaneshChosen)
  • Bug fixes and clang-format action (thanks to @pwqbot)

1.0.1

03 Mar 14:14
Compare
Choose a tag to compare
  • Fixed a key parsing issue that lead to memory problems
  • Removed most warnings from gcc

1.0.0

01 Mar 17:21
Compare
Choose a tag to compare

Version 1 release with significant changes, some of them breaking.

  • Glaze now builds with -fno-exceptions and -fno-rtti, making it better for validation and for embedded development
  • Errors are handled with a glz::expected type, which has the same API as C++23's std::expected
  • Inlining is used more aggressively for the sake of performance with the new error handling approach
  • Variant support has been improved, allowing automatic variant deduction based on key differences
  • glz:: validate_json funtion and a force_conformance option for reading
  • Other bug fixes and performance improvements

0.3.6

02 Feb 14:51
Compare
Choose a tag to compare
  • gcc12 compiler fix
  • get_view_json, get_as_json, and get_sv_json introspection functions
  • Added glz::skip
    See README for documentation

0.3.5

30 Jan 22:35
Compare
Choose a tag to compare
  • std::set and std::unordered_set support
  • glz::flags type for an array of booleans
  • std::functions can be accessed via the api get_fn (previously just member functions)
  • Compile time option (use_cx_tags) to prevent output of compile time known flags in binary
  • Minor fixes

0.3.4

23 Jan 21:50
f0b2047
Compare
Choose a tag to compare
  • Added support for buffers of uint8_t, char8_t, and std::byte
  • Added value type handling, e.g. static constexpr auto value{ &T::x }
  • Added custom null type support with construct