Releases: danielaparker/jsoncons
Release 0.170.2
Defect fixes
- Fixed issue with jsonschema default values (introduced in 0.170.0)
Release 0.170.1
Defect fixes:
-
Fixed issue danielaparker/jsoncons/#418 where use of
std::aligned_storage
produced a diagnostic that it is deprecated in C++2023. -
Fixed issue danielaparker/jsoncons/#420 where
to_integer_base16
produced
warnings when passed a wide character string. -
Fixed issue danielaparker/jsoncons/#391 where parsing JSON resulted
in temporary allocations fromstd::stable_sort
-
Fixed issue danielaparker/jsoncons/#421 where PVS-Studio found vulnerabilities in code.
-
Fixed issue danielaparker/jsoncons/#425 where
basic_byte_string::assign
andbasic_byte_string::append
failed to compile -
Fixed issue danielaparker/jsoncons/#426 where enum keyed maps didn't serialize correctly.
Release 0.170.0
Changed:
- Removed static functions
jsonpath_expression::compile
. These have long been
superceded with functionmake_expression
.
Defect fixes:
-
Fixed issue danielaparker/jsoncons/#416 where
length
operator failed
for array of length zero. -
Fixed issue danielaparker/jsoncons/#411 where an overeager g++ 12.2.0 compiler reported a
spuriousstringop-overflow
warning. -
Fixed issue danielaparker/jsoncons/#410 where
jsoncons::jsonpath::json_location::to_string
escaped only single quotes. -
Merged PR danielaparker/jsoncons/#406 that fixed multiple float parsing and boolean pretty print
issues with wjson. This included reverting a change to usestd::from_chars
in 0.169.0.
Enhancements:
-
The jsonpath library now works with stateful allocators. In particular, the
make_expression
,
json_query
andjson_replace
functions now accept an allocator argument for use in allocating
memory during expression compilation and evaluation. -
Merged PR danielaparker/jsoncons/#395 that added a
ser_context::end_position()
function.
Release 169.0
Defect fixes:
-
Fixed issue with boost_interprocess examples not working with gcc,
contributed by raplonu -
Fixed and enhance basic_json_diagnostics_visitor,
contributed by ecorm
Performance Enhancement:
- Use
std::from_chars
for chars to double conversion when
supported in GCC and VC.
Enhancements:
-
Added a
size()
accessor function tobasic_staj_event
.
If the event type is akey
or astring_value
or abyte_string_value
,
returns the size of the key or string or byte string value.
If the event type is abegin_object
or abegin_array
, returns the size of the object
or array if known, otherwise 0.
For all other event types, returns 0. -
Extended the parsers/cursors/encoder for JSON, CBOR, Msgpack,
BSON, CSV, UBJSON so that they are resettable to new sources/sinks,
contributed by ecorm
Changes:
- For consistency with library naming conventions, the directory
include/jsoncons/json_merge_patch
has been renamed to
include/jsoncons/mergepatch
, the namespacejson_merge_patch
tomergepatch
, and the include filejson_merge_patch.hpp
to
mergepatch.hpp
.
Release 0.168.7
Defect fixes:
-
In release 0.167.0, the
csv_options::mapping()
accessor
was renamed tocsv_options::mapping_kind()
, and the old name was
deprecated but still useable. That release neglected to
similarily rename the corresponding mutator, which is now
addressed. -
Fixed csv parsing issue Exponential formatted numbers with leading zeros in exponent
-
Fixed Issue with assignment of an object_iterator to const_object_iterator using empty object. This issue affects some xcode osx users.
Release 0.168.6
Bug Fix:
- Fixed an issue with the order preserving
ojson
erase function
that takes two iterator arguments.
Enhancement:
- The
basic_json::erase
function return value, previously void, is now
an iterator following the last removed element,
array_iterator erase(const_array_iterator pos);
object_iterator erase(const_object_iterator pos);
array_iterator erase(const_array_iterator first, const_array_iterator last);
object_iterator erase(const_object_iterator first, const_object_iterator last);
See Issue #363
Release 0.168.5
Issues fixed:
- Fixed issue #355, "Array move constructor of basic_json copies provided array".
Release 0.168.4
Issues fixed:
- Fixed issue #352
regardingjson_type_traits
macro failure when number of parameters
reached 47.
Enhancement:
Increased maximum number of parameters in json_type_traits
macros
from 50 to 70.
Release 0.168.3
Issues fixed:
-
Preseve original error messages when decoding into C++ data structures
(related to issue #345) -
Fixed issue #348)
concerning compilation issue on OSx with C++11
Release 0.168.2
Issues fixed:
-
Fixed issue #343
concerning segfault using JMESPath with Apple clang version 12.0.0 and
x86_64-apple-darwin19.6.0. -
Fixed issue #344
concerning compile error with gcc on archlinux with-Werror=nonnull
.