|
18 | 18 | <active>yes</active> |
19 | 19 | </lead> |
20 | 20 | --> |
21 | | - <date>2022-10-17</date> |
| 21 | + <date>2022-10-19</date> |
22 | 22 | <version> |
23 | | - <release>3.0.0</release> |
24 | | - <api>3.0.0</api> |
| 23 | + <release>4.0.0</release> |
| 24 | + <api>4.0.0</api> |
25 | 25 | </version> |
26 | 26 | <stability> |
27 | 27 | <release>stable</release> |
28 | 28 | <api>stable</api> |
29 | 29 | </stability> |
30 | 30 | <license uri="https://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0</license> |
31 | 31 | <notes> |
32 | | -* Add SimdJsonValueError. In php 8.0+, it extends ValueError, and it extends Error in older php versions. |
33 | | - This provides an API similar to the JSON module, which started throwing ValueError for invalid depths in php 8.0. |
34 | | -* Throw SimdJsonValueError instead of emitting notices if $depth is too small or too large in all simdjson PHP functions. |
35 | | - simdjson_is_valid(), simdjson_key_count() and simdjson_key_exists() now have non-null return types. |
36 | | -* Throw a SimdJsonException in simdjson_key_exists on error conditions such as invalid json, to be consistent with other simdjson PHP functions. |
37 | | -* Add an optional boolean `$throw_if_uncountable = false` to simdjson_key_count. |
38 | | - When this is overridden to be true, simdjson_key_count will throw a SimdJsonException if the JSON pointer refers to a value that exists but is neither an array nor an object instead of returning 0. |
39 | | -* Rename the parameter $assoc to $associative in simdjson_decode and simdjson_key_value, to match naming practices used in json_decode() |
| 32 | +* Make the `SIMDJSON_ERR_*` constants case-sensitive in all PHP versions. |
| 33 | + (The code it was based on was missing the flag needed to mark constants as case sensitive before PHP 8) |
| 34 | +* Fix a bug that prevented using JSON pointer in `simdjson_key_count`, `simdjson_key_exists`, and `simdjson_key_value` with a leading slash https://www.rfc-editor.org/rfc/rfc6901.html. |
| 35 | + |
| 36 | + This bug was introduced when working around test failures following a change in json pointer validation in the underlying C simdjson library. |
| 37 | +* "" in a JSON pointer continues to refer to the entire document. |
| 38 | +* "/" in a JSON pointer now properly refers to the key that is the empty string. |
| 39 | +* Continue to allow the non-standard omission of the leading "/" for compatibility with earlier PECL releases. This may be deprecated in a subsequent release. |
40 | 40 | </notes> |
41 | 41 | <contents> |
42 | 42 | <dir name="/"> |
|
83 | 83 | <file name="key_value_exception.phpt" role="test"/> |
84 | 84 | <file name="key_value_int.phpt" role="test"/> |
85 | 85 | <file name="key_value_result.phpt" role="test"/> |
| 86 | + <file name="key_value_slash.phpt" role="test"/> |
86 | 87 | <file name="uint64_overflow.phpt" role="test"/> |
87 | 88 | <file name="_files/result.json" role="test"/> |
88 | 89 | <dir name="compat"> |
|
124 | 125 | <providesextension>simdjson</providesextension> |
125 | 126 | <extsrcrelease/> |
126 | 127 | <changelog> |
| 128 | + <release> |
| 129 | + <version> |
| 130 | + <release>3.0.0</release> |
| 131 | + <api>3.0.0</api> |
| 132 | + </version> |
| 133 | + <stability> |
| 134 | + <release>stable</release> |
| 135 | + <api>stable</api> |
| 136 | + </stability> |
| 137 | + <license uri="https://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0</license> |
| 138 | + <notes> |
| 139 | +* Add SimdJsonValueError. In php 8.0+, it extends ValueError, and it extends Error in older php versions. |
| 140 | + This provides an API similar to the JSON module, which started throwing ValueError for invalid depths in php 8.0. |
| 141 | +* Throw SimdJsonValueError instead of emitting notices if $depth is too small or too large in all simdjson PHP functions. |
| 142 | + simdjson_is_valid(), simdjson_key_count() and simdjson_key_exists() now have non-null return types. |
| 143 | +* Throw a SimdJsonException in simdjson_key_exists on error conditions such as invalid json, to be consistent with other simdjson PHP functions. |
| 144 | +* Add an optional boolean `$throw_if_uncountable = false` to simdjson_key_count. |
| 145 | + When this is overridden to be true, simdjson_key_count will throw a SimdJsonException if the JSON pointer refers to a value that exists but is neither an array nor an object instead of returning 0. |
| 146 | +* Rename the parameter $assoc to $associative in simdjson_decode and simdjson_key_value, to match naming practices used in json_decode() |
| 147 | + </notes> |
| 148 | + </release> |
127 | 149 | <release> |
128 | 150 | <date>2022-10-14</date> |
129 | 151 | <version> |
|
0 commit comments