Update dependency stephenberry/glaze to v7.5.0 #86
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/stephenberry-glaze-7.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
7.4.0→7.5.0Release Notes
stephenberry/glaze (stephenberry/glaze)
v7.5.0Compare Source
BSON Support
Glaze now supports BSON. Helper types (
glz::bson::object_id,datetime,regex,javascript,decimal128,timestamp,binary,min_key,max_key) cover BSON wire types that have no native JSON equivalent, andglz::bson_to_jsonproduces MongoDB Canonical Extended JSON v2.Faster Float Writing
glz::to_charsfor floats now uses a header-only port of Victor Zverovich's zmij (Schubfach + xjb) in place of dragonbox.OptSize=true) is ~4–8× faster than the previoussimple_float::to_charsat roughly the same footprint.simple_float::from_charsno longer hits a 1-ULP rounding miss on platforms wherelong doublealiasesdouble(ARM64 macOS, MSVC).Full exhaustive sweep over all 4,278,190,080 finite
floatvalues round-trips exactly.Struct Flattening with
glz::mergeglz::mergenow works insideglz::metawith member pointers, enabling both reading and writing of composite structs as flat JSON objects.Sub-types can be either
glaze_object_t(with custom key names) orreflectable(automatic reflection), and any number of sub-structs can be merged. Implemented entirely at thereflect<T>layer, so JSON, BEVE, YAML, CBOR, and other formats all pick it up automatically.glz::mergesupport for aggregate structs by @stephenberry in #2503flatten_mapWrapperA new
glz::flatten_mapwrapper serializes map-like containers as flat arrays of the form[key elements..., mapped value, ...], supporting fixed-size keys (std::pair, tuples, Glaze arrays,std::array) for both reading and writing.Usable both inside
glz::metavia member pointer (glz::flatten_map<&T::m>) and as a top-level CTAD wrapper (glz::flatten_map_wrapper{map}).flatten_mapwrapper by @stephenberry in #2412flatten_map_wrappertop-level wrapping via CTAD by @stephenberry in #2526Improvements
skip_null_membershonored by JSONB, CBOR, MsgPack, and BEVE map writers, matching the existing struct-writer behavior by @stephenberry in #2518Fixes
std::mapkeyed by an enum declared with thekeys+valuearray form ofglz::metano longer fails withexpected_quoteby @stephenberry in #2523jsonb_to_jsonnow emits9e999/-9e999for±Infinity(matching SQLite'sjson()convention) instead ofnull.NaNcontinues to map tonull. Documentation also clarifies that 64-bit integer /binary64float ranges are a Glaze implementation constraint, not a SQLite spec limit by @stephenberry in #2521Full Changelog: https://github.com/stephenberry/glaze/compare/v7.4.0...v7.5.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.