Skip to content

Release 0.126.0

Choose a tag to compare

@danielaparker danielaparker released this 31 May 23:02
· 7586 commits to master since this release

0.126.0

Enhancements

  • The json_reader and csv_reader constructors have been generalized to take either a value
    from which a jsoncons::string_view is constructible (e.g. std::string), or a value from which
    a source_type is constructible (e.g. std::istream).

  • With this enhancement, the convenience typedefs json_string_reader and csv_string_reader are no
    longer needed, and have been deprecated.

Name change

  • The name json_pull_reader has been deprecated (still works) and renamed to json_cursor

Changes to bigfloat mapping

In previous versions, jsoncons arrays that contained

  • an int64_t or a uint64_t (defines base-2 exponent)
  • an int64_t or a uint64_t or a string tagged with semantic_tag::bigint (defines the mantissa)

and that were tagged with semantic_tag::bigfloat, were encoded into CBOR bigfloats.
This behaviour has been deprecated.

CBOR bigfloats are now decoded into a jsoncons string that consists of the following parts

  • (optional) minus sign
  • 0x
  • nonempty sequence of hexadecimal digits (defines mantissa)
  • p followed with optional minus or plus sign and nonempty sequence of hexadecimal digits (defines base-2 exponent)

and tagged with semantic_tag::bigfloat (before they were decoded into a jsoncons array and tagged with semantic_tag::bigfloat)

jsoncons strings that consist of the following parts

  • (optional) plus or minus sign
  • 0x or 0X
  • nonempty sequence of hexadecimal digits optionally containing a decimal-point character
  • (optional) p or P followed with optional minus or plus sign and nonempty sequence of decimal digits,

and tagged with semantic_tag::bigfloat are now encoded into CBOR bignums.