Skip to content

Releases: stephenberry/glaze

v3.2.5

12 Aug 21:17
Compare
Choose a tag to compare

More hashing optimizations for special cases

Minor Improvements

  • glaze_BUILD_EXAMPLES rename for proper grouping in CMake

Full Changelog: v3.2.4...v3.2.5

v3.2.4

12 Aug 02:28
Compare
Choose a tag to compare

Improvements

  • More hashing performance improvements for JSON reading
  • Optimized and reduced resulting hashing binary for objects with only two elements
  • Full, flat hashing using new jump tables for faster read performance

Full Changelog: v3.2.3...v3.2.4

v3.2.3

11 Aug 12:10
Compare
Choose a tag to compare

Improvements

  • Faster hashing/read performance in JSON for objects with similar keys using the new jump table approach, by @stephenberry in #1253
  • Fixed more MSVC warnings

Full Changelog: v3.2.2...v3.2.3

v3.2.2

09 Aug 18:23
Compare
Choose a tag to compare

Improvements

  • Faster floating point read performance by @stephenberry in #1251
  • Using [[msvc::forceinline]] where appropriate on MSVC in #1250
  • Using new hash map approach for internal enum reading in #1252

Full Changelog: v3.2.1...v3.2.2

v3.2.1

06 Aug 22:32
Compare
Choose a tag to compare

Fixes

  • Fixed nested glz::file_include and glz::hostname_include issues due to buffer reuse during recursive calls in #1244

Improvements

  • Faster compilation due to binary macro expansion in #1242

Full Changelog: v3.2.0...v3.2.1

v3.2.0

05 Aug 17:04
Compare
Choose a tag to compare

Faster Compilation

Reduced use of always inline and removed flattening. Building jump tables in a way that is easier for the compiler to optimize. These changes improve compile time performance without sacrificing runtime speed.

Fixes an issue where GCC would emit variable tracking size limit exceeded due to flattening.

Full Changelog: v3.1.9...v3.2.0

v3.1.9

01 Aug 03:07
Compare
Choose a tag to compare

Hotfix for MSVC

Removed addition of [[msvc::flatten]] from v3.1.8 as it could cause massive compilation times in some cases

by @stephenberry in #1235

Full Changelog: v3.1.8...v3.1.9

v3.1.8

31 Jul 16:26
Compare
Choose a tag to compare

Fixes

  • Fixed a rare thread pool issue that could result in hanging for extremely short tasks by @stephenberry in #1218
  • Avoid linker warnings by changing internal linkage on header constants to external by @arturbac in #1223

Performance Improvements

Improvements

Full Changelog: v3.1.7...v3.1.8

v3.1.7

25 Jul 12:16
Compare
Choose a tag to compare

Critical bug fix for v3.1.6 and glz::json_t

Recursive depth counting was added in v3.1.6 (#1202) to prevent stack overflows from deep recursive JSON inputs parsing into glz::json_t (this would typically only be encountered as an nefarious attack). This fixes a bug that missed counting object closures.
by @stephenberry in #1216

Other Fixes

Full Changelog: v3.1.6...v3.1.7

v3.1.6

23 Jul 20:34
Compare
Choose a tag to compare

Now fuzz testing with every merge!

Many thanks to @pauldreik for adding fuzz testing to Glaze. Fuzzing has revealed a number of issues, especially with glz::json_t and invalid input. These issues have been resolved in this release, making Glaze much safer with untrusted inputs.

As of 3.1.5 floating point numbers are exactly round-tripped and now every float value is tested for proper round-tripping.

Fixes and Improvements

Full Changelog: v3.1.5...v3.1.6