|
3 | 3 |
|
4 | 4 | - API Changes |
5 | 5 |
|
6 | | -- Non-const `basic_json::operator[]` no longer returns a proxy type. The rationale for this change is given in #315. |
7 | | -The new behavior for the non-const overload of `operator[](const string_view_type& key)` is consistent with the standard library |
8 | | -`std::map` behavior, that is, return a reference to the value that is associated with `key`, inserting a default |
9 | | -constructed value with the key if no such key already exists. |
10 | | -The new behavior for the const overload of `operator[](const string_view_type& key)` is to return |
11 | | -a const reference to the value that is associated with `key`, returning a const reference to a default |
12 | | -constructed value with static storage duration if no such key already exists. |
13 | | - |
14 | | -- Until 1.0.0, a buffer of text is supplied to `basic_json_parser` with a call to `update()` |
15 | | -followed by a call to `parse_some()`. Once the parser reaches the end of the buffer, |
16 | | -additional JSON text can be supplied to the parser with another call to `update()`, |
17 | | -followed by another call to `parse_some()`. See [Incremental parsing (until 1.0.0)](https://github.com/danielaparker/jsoncons/blob/master/doc/ref/corelib/basic_json_parser.md#incremental-parsing-until-01790). |
18 | | -Since 0.179, an initial buffer of text is supplied to the parse with a call to |
19 | | -`set_buffer`, and parsing commences with a call to `parse_some`. The parser can be |
20 | | -constructed with a user provided chunk reader to obtain additional JSON text |
21 | | -as needed. See [Incremental parsing (since 1.0.0)](https://github.com/danielaparker/jsoncons/blob/master/doc/ref/corelib/basic_json_parser.md#incremental-parsing-since-01790). |
22 | | - |
23 | | -- enum `bigint_chars_format` is replaced by `bignum_format_kind`, and for backwards compatability, `bigint_chars_format` |
24 | | -is aliased to `bignum_format_kind`. Added `bignum_format` getter and setter functions to `basic_json_options`, |
25 | | -and deprecated `bigint_format` getter and setter functions. Changed default `bignum_format` to `bignum_format_kind::raw`. |
26 | | -Rationale: `bigint_chars_format` was misnamed, as it applied to big decimal as well as big integer numbers, and |
27 | | -a default of `bignum_format_kind::raw` makes more sense than a string in base10 format. |
| 6 | + - Non-const `basic_json::operator[]` no longer returns a proxy type. The rationale for this change is given in #315. |
| 7 | + The new behavior for the non-const overload of `operator[](const string_view_type& key)` is consistent with the standard library |
| 8 | + `std::map` behavior, that is, return a reference to the value that is associated with `key`, inserting a default |
| 9 | + constructed value with the key if no such key already exists. |
| 10 | + The new behavior for the const overload of `operator[](const string_view_type& key)` is to return |
| 11 | + a const reference to the value that is associated with `key`, returning a const reference to a default |
| 12 | + constructed value with static storage duration if no such key already exists. |
28 | 13 |
|
29 | | -Fixed bugs: |
| 14 | + - Until 1.0.0, a buffer of text is supplied to `basic_json_parser` with a call to `update()` |
| 15 | + followed by a call to `parse_some()`. Once the parser reaches the end of the buffer, |
| 16 | + additional JSON text can be supplied to the parser with another call to `update()`, |
| 17 | + followed by another call to `parse_some()`. See [Incremental parsing (until 1.0.0)](https://github.com/danielaparker/jsoncons/blob/master/doc/ref/corelib/basic_json_parser.md#incremental-parsing-until-01790). |
| 18 | + Since 0.179, an initial buffer of text is supplied to the parse with a call to |
| 19 | + `set_buffer`, and parsing commences with a call to `parse_some`. The parser can be |
| 20 | + constructed with a user provided chunk reader to obtain additional JSON text |
| 21 | + as needed. See [Incremental parsing (since 1.0.0)](https://github.com/danielaparker/jsoncons/blob/master/doc/ref/corelib/basic_json_parser.md#incremental-parsing-since-01790). |
30 | 22 |
|
31 | | -- Git Issue #554: [jsonpath] evaluation throws on json containing json_const_pointer |
| 23 | + - enum `bigint_chars_format` is replaced by `bignum_format_kind`, and for backwards compatability, `bigint_chars_format` |
| 24 | + is aliased to `bignum_format_kind`. Added `bignum_format` getter and setter functions to `basic_json_options`, |
| 25 | + and deprecated `bigint_format` getter and setter functions. Changed default `bignum_format` to `bignum_format_kind::raw`. |
| 26 | + Rationale: `bigint_chars_format` was misnamed, as it applied to big decimal as well as big integer numbers, and |
| 27 | + a default of `bignum_format_kind::raw` makes more sense than a string in base10 format. |
32 | 28 |
|
33 | | -- Git PR #560: [jmespath] When there are elements and the sum is indeed zero, avg function should return average value returned instead of a null value. |
| 29 | +- Fixed bugs: |
34 | 30 |
|
35 | | -- Git Issue #561: json_string_reader doesnot work correctly for empty string or string with all blanks |
| 31 | + - Git Issue #554: [jsonpath] evaluation throws on json containing json_const_pointer |
36 | 32 |
|
37 | | -- Git Issue #564: fix basic_json compare of double and non-numeric string |
| 33 | + - Git PR #560: [jmespath] When there are elements and the sum is indeed zero, avg function should return average value returned instead of a null value. |
38 | 34 |
|
39 | | -Fixed other issues: |
| 35 | + - Git Issue #561: json_string_reader doesnot work correctly for empty string or string with all blanks |
40 | 36 |
|
41 | | -- Fixed a number of issues in `uri::resolve`, used in jsonschema, related to abnormal references, |
42 | | -particulay ones containing dots in path segments. |
| 37 | + - Git Issue #564: Fixed basic_json compare of double and non-numeric string |
43 | 38 |
|
44 | | -Removed deprecated jsonschema classes and functions: |
| 39 | + - Git Issue #570: Fixed writing fixed number of map value/value pairs using cbor_encoder and msgpack_encoder |
45 | 40 |
|
46 | | -- The jsonschema function `make_schema`, classes `json_validator` and `validation_output`, |
47 | | -header file `json_validator.hpp` and example `legacy_jsonschema_examples.cpp`, |
48 | | -deprecated in 0.174.0, have been removed. |
| 41 | + - Fixed a number of issues in `uri::resolve`, used in jsonschema, related to abnormal references, |
| 42 | + particulay ones containing dots in path segments. |
49 | 43 |
|
50 | | -Enhancements: |
| 44 | +- Removed deprecated classes and functions: |
51 | 45 |
|
52 | | -- New `basic_json(json_pointer_arg_t, basic_json* j)` constructor to |
53 | | -allow a `basic_json` value to contain a non-owning view of another `basic_json` |
54 | | -value. |
| 46 | + - The jsonschema function `make_schema`, classes `json_validator` and `validation_output`, |
| 47 | + header file `json_validator.hpp` and example `legacy_jsonschema_examples.cpp`, |
| 48 | + deprecated in 0.174.0, have been removed. |
55 | 49 |
|
56 | | -- Added constant `null_arg` so that a null json value can be |
57 | | -constructed with |
58 | | -``` |
59 | | -json j{jsoncons::null_arg}; |
60 | | -``` |
| 50 | +- Enhancements: |
| 51 | + |
| 52 | + - New `basic_json(json_pointer_arg_t, basic_json* j)` constructor to |
| 53 | + allow a `basic_json` value to contain a non-owning view of another `basic_json` |
| 54 | + value. |
| 55 | + |
| 56 | + - Added constant `null_arg` so that a null json value can be |
| 57 | + constructed with |
| 58 | + ``` |
| 59 | + json j{jsoncons::null_arg}; |
| 60 | + ``` |
61 | 61 |
|
62 | | -- Custom jmespath functions are now supported thanks to PR #560 |
| 62 | + - Custom jmespath functions are now supported thanks to PR #560 |
63 | 63 |
|
64 | | -- jsonschema now understands the 'uri' and 'uri-reference' formats |
| 64 | + - jsonschema now understands the 'uri' and 'uri-reference' formats |
65 | 65 |
|
66 | 66 | 0.178.0 |
67 | 67 | ------- |
|
0 commit comments