Skip to content

Release 0.99.8

Compare
Choose a tag to compare
@danielaparker danielaparker released this 15 Aug 17:39
· 9046 commits to master since this release

Changes

  • Visual Studio 2013 is no longer supported (jsonpath uses string initilizer lists)

  • json_input_handler overloaded functions value(value,context)have been deprecated. Instead usestring_value(value,context), integer_value(value,context), uinteger_value(value,context), double_value(value,precision,context), bool_value(value,context)andnull_value(context)`

  • json_output_handler overloaded functions value(value)have been deprecated. Instead usestring_value(value), integer_value(value), uinteger_value(value), double_value(value,precision=0), bool_value(value)andnull_value(context)`

  • For consistency, the names jsoncons_ext/msgpack/message_pack.hpp,
    encode_message_pack and decode_message_pack have been deprecated and
    replaced with jsoncons_ext/msgpack/msgpack.hpp, encode_msgpack and decode_msg_pack

Bug fixes

  • Fixed operator== throws when comparing a string against an empty object

  • Fixed jsonpath issue with array 'length' (a.length worked but not a['length'])

  • msgpack extension uses intrinsics for determing whether to swap bytes

New features

  • Stream supported C++ values directly to JSON output, governed by json_stream_traits

  • json::is() and json::as() accept template packs, which they forward to the
    json_type_traits is and as functions. This allows user defined json_type_traits
    implementations to resolve, for instance, a name into a C++ object looked up from a
    registry. See Type Extensibility, Example 2.

  • jsonpath json_query now supports returning normalized paths (with
    optional return_type::path parameter)

  • New jsonpath max and min aggregate functions over numeric values

  • New json::merge function that inserts another json object's key-value pairs
    into a json object, if they don't already exist.

  • New json::merge_or_update function that inserts another json object's key-value
    pairs into a json object, or assigns them if they already exist.