Releases: danielaparker/jsoncons
Release 0.166.0
jsonpath bugs fixed:
- Fixed issue with normalized paths produced by JSONPath expressions with filters
jsonpath enhancements:
-
Added support for a parent selector, using the `^' symbol,
following jsonpath-plus. -
Implemented a number of performance optimizations.
jsonschema enhancements:
-
Improved error messages reported when compiling a schema document
-
Added a check that the "$schema" keyword, if present, is Draft 7.
Release 0.165.0
Enhancements for bson extension:
-
Added semantic tags float128, id, regex, and code to support
bson decode and encode for decimal128, ObjectId, regex,
and Javascript code. -
Support has been added for ObjectId, regex, decimal128 and
the other non-deprecated bson types, as requested in issue
#321. -
Parsing now checks that the the number of bytes read for a
document, embedded document and array matches the expected total.
Release 0.164.0
Changes to jsonpath:
-
The values in the
result_options
bitmask have been changed fromenum class result_options {value=1, path=2, nodups=4|path, sort=8|path}; (until 0.164.0)
to
enum class result_options {value=0, nodups=1, sort=2, path=4}; (since 0.164.0)
In practice this means that any combination of these values that includes
result_options::value
has the same meaning as before, except that
result_options::value
can now be omitted. And any combination that includes
result_options::path
but not result_options::value
has the
same meaning as before.
Enhancements to jsonpath:
-
Functions now allow expressions to be passed as arguments, e.g.
$.books[?(ceil(@.price*100) == 2272)]
-
User provided custom functions are now supported
Changes to json_reader and csv_reader:
-
The typedefs
json_reader
andwjson_reader
have been deprecated,
but for backwards compatibility they are still supported. They
have been replaced byjson_string_reader
andwjson_string_reader
for string sources, andjson_stream_reader
andwjson_stream_reader
,
for stream sources. -
The typedefs
csv_reader
andwcsv_reader
have been deprecated,
but for backwards compatibility they are still supported. They
have been replaced bycsv_string_reader
andwcsv_string_reader
for string sources, andcsv_stream_reader
andwcsv_stream_reader
,
for stream sources.
Release 0.163.3
Bugs fixed:
- Fixed a jsonpath issue where the two overloads of json_query and json_replace
that took a callback function argument used a deprecated typedef in an
SFINAE condition.
Release 0.163.2
Bugs fixed:
- Fixed a jmespath issue with reusing compiled expressions, see #317
Release 0.163.1
Bugs fixed:
-
Reversed change made in 0.163.0 to removal of duplicates with the
result_options::nodups
,
reverting to previous behaviour (only consider as duplicates nodes with the exact same path
starting from the root.) That seems to be the consensus. -
Fixed a memory leak in jsoncons::jsonpath::node_set, see #314,
also related, #316 -
Fixed some gcc warnings about non-virtual destructors in the jsonpath, jmespath, and
jsonschema extensions by making the destructors protected, see #313.
Added the gcc compiler flag-Wnon-virtual-dtor
for gcc in thetests/CMakeLists.txt
file.
Release 0.163.0
Bugs fixed:
- Fixed a jsonpath issue with removal of duplicates with the
result_options::nodups
flag in the case of a union with different paths
Release 0.162.3
- Fixed a sign-compare warning in android builds
Release 0.162.2
- Fixed a sign-compare warning
Release 0.162.1
- Fixed a gcc warning with -Wsign-compare
-Wsign-compare
enabled for gcc test builds- Fixed some PVS-Studio warnings