Releases: danielaparker/jsoncons
jsoncons 0.167.1
Bugs fixed:
- Fixed compilation error with clang version 8.0.1, issue #328.
jsoncons 0.167.0
Bugs fixed:
-
Fixed issue with a json_cursor hanging if opened with an empty file
or string, detected by google/OSS-fuzz. -
Fixed issue with the unary minus in a JSONPath filter expression,
where an expression such as$[[email protected] > -42]
would fail to parse. -
Fixed issue with private typedef and Intel C++ Compiler
via PR #327
Changes:
- In the csv extension, the enum name
mapping_kind
has been
renamed tocsv_mapping_kind
, and thecsv_options.mapping
function
has been renamed tocsv_options.mapping_kind
. The old names have
been deprecated but are still usable.
Enhancements:
-
Added support for JSON Merge Patch.
-
Added support in JSONPath expressions for '%' (modulus) operator
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