Releases: danielaparker/jsoncons
Release 0.103.0
Changes
-
Default
string_view_typeoperator std::basic_string<CharT,Traits,Allocator>() constmade explicit
to be consistent withstd::string_view -
The virtual method
do_double_valueofjson_input_handlerandjson_output_handlertakes anumber_formatparameter
Performance improvements
- Faster json dump to string (avoids streams)
- Faster floating point conversions for linux and MacOSX
- Memory allocation decoding larger string values reduced by half
- Optimization to json_parser parse_string
- Improvements to json_decoder
Release 0.102.1
Bug fix:
Fixed an off-by-one error that could lead to an out of bounds read. Reported by mickcollyer (issue #145)
Release 0.102.0
Bug fixes:
Fixed issue with how jsonpath filters are applied to arrays in the presence of recursion, resulting in
duplicate results.
Changes:
The signatures of jsonpointer::get, jsonpointer::insert, jsonpointer::insert_or_assign,
jsonpointer::remove and jsonpointer::replace have been changed to be consistent
with other functions in the jsoncons library. Each of these functions now has two overloads,
one that takes an std::error_code parameter and uses it to report errors, and one that
throws a jsonpointer_error exception to report errors.
The function jsonpatch::patch has been replaced by jsonpatch::apply_patch, which takes
a json document, a patch, and a std::error_code& to report errors. The function
jsonpatch::diff has been renamed to jsonpatch::from_diff
The old signatures for encode_cbor and encode_msgpack that returned a std::vector<uint8_t>
have been deprecated and replaced by new signatures that have void return values and have
an output parameter 'std::vector<uint8_t>&'. The rationale for this change is consistency
with other functions in the jsoncons library.
Release 0.101.0
0.101.0
Fixes:
- Fixes to
string_viewcode whenJSONCONS_HAS_STRING_VIEWis defined injsoncons_config.hpp
Changes:
as_doublethrows ifjsonvalue is null (previously returned NaN)
Enhancements:
- Added convenience functions
decode_csvandencode_csv - Support custom allocaor (currently stateless only) in
json_decoder,json_reader,
csv_reader,csv_parameters
Release 0.100.2
Resolved warnings on GCC Issue #127
Release 0.100.1
Fix for platform issue with vs2017:
- Renamed label
minustominus_signinjson_parser.hpp
Enhancements:
- New classes
byte_stringandbyte_string_view, to augment support for cbor byte strings injsonvalues
Version 0.100.0
Changes:
-
template <class CharT> json_traits<CharT>replaced withsorted_policy -
template <class CharT> o_json_traits<CharT>replaced withpreserve_order_policy -
The return type for the json::get_with_default function overload for
const char*has been
changed fromconst char*tojson::string_view_type, which is assignable tostd::string. -
New functions
byte_string_valueanddo_byte_string_valuehave been added to
basic_json_input_handlerandbasic_json_output_handler -
json::is<const char*>() and json::as<const char*>() specializations (supported but never
documented) have been deprecated -
In android specific
string_to_double,strtod_lchanged tostrtold_l
Enhancements:
-
The
jsonclass and thedecode_cborandencode_cborfunctions now support byte strings
Ajsonbyte string value will, when serialized to JSON, be converted to a base64url string. -
version.hppadded toincludedirectory
0.99.9.2
Bug fixes:
- Fixed issue with jsonpatch::diff (fix contributed by Alexander (rog13))
Enhancements:
- New class
cbor_viewfor accessing packedcborvalues. Acbor_viewsatisfies the requirements forjsonpointer::get.
Release 0.99.9.1
New features
-
JSON Pointer implementation
-
JSON Patch implementation, includes patch and diff
-
json::insertfunction for array that inserts values from range [first, last) before pos.
Bug fixes
- Fixed issue with serialization of json array of objects to csv file
Changes (non breaking)
-
The member function name
json::dump_bodyhas been deprecated and replaced withjson::dump_fragment. -
The non member function name
dump_bodyhas been deprecated and replaced withdump_fragment. -
The class name
rename_name_filterhas been deprecated and replaced withrename_object_member_filter. -
In the documentation and examples, the existing function
json::insert_or_assign
is now used instead of the still-supportedjson::set. The reason is that
insert_or_assignfollows the naming convention of the C++ standard library.
Changes
-
The recently introduced class
json_stream_traitshas been renamed toserialization_traits -
Removed template parameter
CharTfrom classbasic_parsing_contextand renamed it toparsing_context -
Removed template parameter
CharTfrom classbasic_parse_error_handlerand renamed it toparse_error_handler
Release 0.99.8.2
0.99.8.2
New features
- Added
jsonfunctionspush_backandinsertfor appending values
to the end of ajsonarray and inserting values at a specifed position
Rationale: While these functions provide the same functionality as the existing
json::add function, they have the advantage of following the naming conventions
of the C++ library, and have been given prominence in the examples and documentation
(add is still supported.)
0.99.8.1
New features
-
cbor extension supports encoding to and decoding from the cbor binary serialization format.
-
json_type_traitssupportsstd::valarray
Documentation
- Documentation is now in the repository itself. Please see the documentation
link in the README.md file
Changed
- Removed
CharTtemplate parameter fromjson_stream_traits