Skip to content

Releases: danielaparker/jsoncons

Release 0.156.0

26 Aug 01:07
Compare
Choose a tag to compare

Bugs Fixed:

  • Fixed issue with JSONCONS_N_MEMBER_NAME_TRAITS macro, \263

Enhancements:

  • New basic_json(json_const_pointer_arg_t, const basic_json*) constructor to
    allow basic_json values to contain non-owning views of other basic_json
    values.

  • New deep_copy function to make a deep copy of a basic_json value that
    contains non-owning views on other basic_json values.

  • Reduced memory allocations in the jmespath extension using the new
    basic_json(json_const_pointer_arg_t, const basic_json*) constructor.

  • Support for encoding std::bitset into base16 encoded strings (JSON) and
    byte strings (binary formats), and decoding std::bitset from integer values,
    byte strings and base16 encoded strings.

  • Support 128 bit integer types __int128 and unsigned __int128, if supported
    on the platform.

Release 0.155.1

09 Aug 13:21
Compare
Choose a tag to compare

0.155.1

Enhancements:

  • Improved support for bson_parser to switch to array parsing
    when the BSON root object is a document but decode_bson needs
    to convert to an std::array, std::tuple or std::pair.

Release 0.155.0

03 Aug 04:08
Compare
Choose a tag to compare

Changes:

  • The semantic_tag enum value timestamp has been deprecated.
    It has been replaced by epoch_second, epoch_milli and epoch_nano.
    The deprecated timestamp value has been aliased to epoch_second.

Enhancements:

  • Allow bson_parser to switch to array parsing when the root
    object is a document but decode_bson expects an array.

  • Added json_type_traits support for std::nullptr_t

  • Added json_type_traits support for std::chrono::duration

  • Improved memory efficiency of jmespath extension

  • Added function json_encode_pretty as the preferred alternative
    to the json_encode overload with indenting::indent argument.

  • Added basic_json member function dump_pretty as the preferred alternative
    to the dump overload with indenting::indent argument.

  • Generalized the basic_json member function dump and the functions encode_json
    and encode_csv to write to any back insertable character container.

  • Generalized the basic_json function parse and the functions decode_json
    and decode_csv to read from any contiguous character sequence.

Release 0.154.3

19 Jul 00:50
Compare
Choose a tag to compare

v0.154.3

Bugs fixed:

  • Fixed g++ compile issue with -Wnoexcept compiler flag, \260

  • Fixed issue with creating a patch to remove array elements using json_patch::from_diff,
    #261

  • Fixed memory leak issue introduced in v0.154.2

Release 0.154.1

12 Jul 15:56
Compare
Choose a tag to compare

Bugs fixed:

  • Fixed issue with encode_cbor overload for user type input and output stream,
    #259

Release 0.154.0

11 Jul 01:20
Compare
Choose a tag to compare

Bugs fixed:

  • Fixed issue with escaping special characters in the jsonpath::flatten function #255
  • Added workaround for clang xcode 10 bug in std::optional implementation
  • Fixed bug in basic_json less operator with left hand side uint64_value and right hand side int64_value

Changes:

  • The function name jsonpointer::insert_or_assign has been deprecated and renamed to jsonpointer::add.
    Rationale: consistency with JSON Patch names.

  • Until v0.154.0, the position() member function of ser_context was defined for JSON
    name and string events only, and indicated the position of the first character of the
    name or string in the input. Since v0.154.0, the position() member function of ser_context
    is defined for all JSON parse events, and indicates the position of the character at the beginning
    of the event, e.g. '[' for an array, '{' for an object, and '"' for a string.
    #256

Enhancements

  • Added jmespath extension for JMESPath support, #204
  • Added json_type_traits support for std::variant, #257

Release 0.153.3

18 Jun 19:29
Compare
Choose a tag to compare

Bug fixes:

  • Fixed a bug in jsonpath array slice when the step component is negative
    and the start and stop components are omitted, #252.
    jsoncons jsonpath slices now have the same semantics as Python slices
    including for negative steps.

  • Fixed a bug in jsonpath line/column error reporting when using functions.

Release 0.153.2

13 Jun 20:04
Compare
Choose a tag to compare

Bug fixes:

  • Fixed a bug in the jsonpath array slice when the end argument is negative, #250

Platform:

  • Support for QNX Neutrino (thanks to Oleh Derevenko for #244
    and #245)

Release 0.153.1

04 Jun 12:38
Compare
Choose a tag to compare

Bug fixes for BSON:

  • Fixed int32 encoding error in the BSON encoder #243
  • Fixed issue with default binary subtype when not specified, was 0, now 0x80 (user defined.)

Release 0.153.0

01 Jun 14:10
Compare
Choose a tag to compare

Bug fixes:

  • Fixed decode issue with json_type_traits defined for set, unordered_set, multiset,
    unordered_multiset and forward_list #242

  • Fixed issue with preserving original CBOR semantic tag for CBOR byte strings
    associated with an unknown (to jsoncons) tag.

Enhancements:

  • basic_json::parse, decode_json, decode_csv, decode_bson, decode_cbor,
    decode_msgpack, and decode_ubjson now support reading data from a pair of
    LegacyInputIterators that specify a character or byte sequence.

  • byte_string_view now has an explicit constructor that allows any contiguous
    byte sequence container.