| Age | Commit message (Collapse) | Author |
|
This reverts commit https://github.com/ruby/json/commit/b7e1734d9ca0.
https://github.com/ruby/json/commit/5793694ee6
|
|
While it's not allowed by the spec, some parsers like Oj do
accept it, and it can be blocking a transition.
Having this feature can help people migrate.
https://github.com/ruby/json/commit/3459499cb3
|
|
It's the most likely control character so it's worth
giving a better error message for it.
https://github.com/ruby/json/commit/1da3fd9233
|
|
Fix: https://github.com/ruby/json/issues/912
In the case of surogate pairs we consume two backslashes, so
`json_next_backslash` need to ensure it's not sending us back in the
stream.
https://github.com/ruby/json/commit/0fce370c41
|
|
Only `"\/bfnrtu` are valid after a backslash.
https://github.com/ruby/json/commit/f7f8f552ed
|
|
https://github.com/ruby/json/commit/305d3832db
|
|
https://github.com/ruby/json/commit/58d60d6b76
|
|
`rstring_cache_fetch`
The caller already know if the string contains escape sequences
so this check is redundant.
Also stop calling `rstring_cache_fetch` from `json_string_unescape`
as we know it won't match anyways.
```
== Parsing twitter.json (567916 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 122.000 i/100ms
Calculating -------------------------------------
after 1.226k (± 0.3%) i/s (815.85 μs/i) - 6.222k in 5.076282s
Comparison:
before: 1206.2 i/s
after: 1225.7 i/s - 1.02x faster
```
https://github.com/ruby/json/commit/b8cdf3282d
Co-Authored-By: Scott Myron <samyron@gmail.com>
|
|
https://github.com/ruby/json/commit/82b030f294
|
|
https://github.com/ruby/json/commit/f0150e2944
|
|
https://github.com/ruby/json/commit/5855f4f603
|
|
Test SubArrayWrapper#[] and SubOpenStruct#[]
https://github.com/ruby/json/commit/bae760aa19
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
https://github.com/ruby/json/commit/a9e05d6ff3
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
The gem root was including the test/ directory, so lines from tests were
skipped, and the deprecation warnings were shown as coming from the test
framework.
https://github.com/ruby/json/commit/2ec31a7363
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
https://github.com/ruby/json/commit/8510ea5c1a
|
|
Followup: https://github.com/ruby/json/pull/818
Now the warning should point at the `JSON.parse` caller, and not
inside the json gem itself.
https://github.com/ruby/json/commit/cd51557387
|
|
Followup: https://github.com/ruby/json/pull/818
https://github.com/ruby/json/commit/e3de4cc59c
|
|
|
|
There are few legitimate use cases for duplicate keys, and can
in some case be exploited.
Rather to always silently accept them, we should emit a warning,
and in the future require to explictly allow them.
https://github.com/ruby/json/commit/06f00a42e8
|
|
Report EOF when applicable instead of an empty fragment.
Also stop fragment extraction on first whitespace.
https://github.com/ruby/json/commit/cc1daba860
Notes:
Merged: https://github.com/ruby/ruby/pull/13310
|
|
https://github.com/ruby/json/commit/30e35b9ba5
Notes:
Merged: https://github.com/ruby/ruby/pull/13310
|
|
This was the behavior until `2.10.0` unadvertently changed it.
`"\u1"` would raise, but `"\u1zzz"` wouldn't.
https://github.com/ruby/json/commit/7d0637b9e6
|
|
Fix: https://github.com/ruby/json/issues/755
Error messages now include a snippet of the document
that doesn't parse to help locate the issue, however
the way it was done wasn't UTF-8 aware, and it could
result in exception messages with truncated characters.
It would be nice to go a bit farther and actually support
codepoints, but it's a lot of complexity to do it in C,
perhaps if we move that logic to Ruby given it's not a
performance sensitive codepath.
https://github.com/ruby/json/commit/e144793b72
|
|
https://github.com/ruby/json/commit/b9bfeecfa9
Notes:
Merged: https://github.com/ruby/ruby/pull/12602
|
|
https://github.com/ruby/json/commit/2f57f40467
Notes:
Merged: https://github.com/ruby/ruby/pull/12602
|
|
https://github.com/ruby/json/commit/86c0d4eb7e
Notes:
Merged: https://github.com/ruby/ruby/pull/12602
|
|
Ref: https://github.com/ruby/ruby/pull/12598
This could lead to an infinite loop.
https://github.com/ruby/json/commit/f8cfa2696a
Notes:
Merged: https://github.com/ruby/ruby/pull/12600
|
|
And get rid of the Ragel parser.
This is 7% faster on activitypub, 15% after on twitter and 11% faster
on citm_catalog.
There might be some more optimization opportunities, I did a quick
optimization pass to fix a regression in string parsing, but other
than that I haven't dug much in performance.
Notes:
Merged: https://github.com/ruby/ruby/pull/12598
|
|
https://github.com/ruby/json/commit/e85107197b
Notes:
Merged: https://github.com/ruby/ruby/pull/12003
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12003
|
|
https://github.com/ruby/json/commit/82d21f01c5
Notes:
Merged: https://github.com/ruby/ruby/pull/12003
|
|
https://github.com/ruby/json/commit/0f0b16b3f5
|
|
https://github.com/ruby/json/commit/850bd077c4
|
|
https://github.com/ruby/json/commit/cecf04fdfc
|
|
https://github.com/ruby/json/commit/fb25e94aea
|
|
Fix: https://github.com/ruby/json/pull/625
Declaring the buffer in a sub block cause bugs on some compilers.
https://github.com/ruby/json/commit/90967c9eb0
|
|
https://github.com/ruby/json/commit/b02091ed44
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
Fix: https://github.com/ruby/json/issues/534
Only include up to 32 bytes of unparseable the source.
https://github.com/ruby/json/commit/f44995cfb6
|
|
...to allow any character sequence, including "/*", before then end
sequence of a multi-line ANSI C-style comment
.
|
|
https://github.com/ruby/json/commit/8713aa4812
|
|
https://github.com/ruby/json/commit/db9a489ca2
|
|
Now that the repository was transfered, these links will become
dead in a few months.
Notes:
Merged: https://github.com/ruby/ruby/pull/11820
|
|
https://github.com/flori/json/commit/202ffe2335
|
|
https://github.com/flori/json/commit/bab704eb49
|
|
to prevent them from conflicting with yarp/test_helper
|
|
https://github.com/flori/json/commit/3dd36c6077
|
|
https://github.com/flori/json/commit/82fe866da2
Notes:
Merged: https://github.com/ruby/ruby/pull/6200
|
|
When `HAVE_RB_ENC_INTERNED_STR` is enabled it is possible to
pass through a null pointer to `rb_enc_interned_str` resulting
in a segfault
Fixes #495
https://github.com/flori/json/commit/b59368a8c2
|