Release 1.3.1
-
Fixed bugs:
-
Git Issue #601: Removed the space before the suffix in the user-defined literal operators
_jsonand_ojson -
Git Issue #605: Fixed bug when parsing a JMESPath expression that has a function that is passed a binary expression argument, e.g. A || B.
-
In cursors, after a call to
read_tofollowing abegin_objectevent, the cursorevent_type()function returned
staj_event_type::begin_object, even though the effective state of the cursor had changed tostaj_event_type::end_object.
This is fixed. The state of the cursor after a call tonextis the same as before. -
Fixed an edge case in
basic_csv_parser, detected by Google fuzz, where the first line in the input file contains an empty line
and thecsv_mapping_kindisn_rows.
-
-
API Changes:
-
In JMESPath evaluation, 1.3.0 introduced late binding of variables to an initial (global) scope via parameters.
The parameters type has been changed fromstd::vector<std::pair<string_type,Json>>tostd::map<string_type,Json>. -
Added a member function
begin_position()toser_context.begin_position()should
be preferred toposition()when using filters to update JSON in place.
Currently the two accessors return the same value, but that may change in a future release. -
Added macros JSONCONS_VISITOR_RETURN_TYPE and JSONCONS_VISITOR_RETURN that are
#define'd toboolandreturn truerespectively. For users that have implemented
classes that derive frombasic_json_filter, and that have overriddenvisit_xxxfunctions,
it is recommended to use these macros for the return type and return value rather than
boolandreturn true. This is for forward compatibility.
-