| Age | Commit message (Collapse) | Author |
|
Suppress warnings for old style function definition and unused
variable.
https://github.com/ruby/json/commit/58dc0aa938
|
|
When both extconf.rb of generator and parser are run in one process,
the second `require_relative` does nothing.
https://github.com/ruby/json/commit/8e775320b7
|
|
|
|
https://github.com/ruby/json/commit/68ee9cf188
|
|
|
|
|
|
https://github.com/ruby/json/commit/3ae3eeb9d3
|
|
|
|
https://github.com/ruby/json/commit/6c41162522
|
|
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
|
|
https://github.com/ruby/json/commit/eed753ffde
|
|
ruby/ruby#13636
https://github.com/ruby/json/commit/6fc2c4b6ab
Co-Authored-By: Tim Smith <tsmith84@gmail.com>
|
|
https://github.com/ruby/json/commit/a29cb77d52
|
|
https://github.com/ruby/json/commit/8603a57a91
|
|
This would have caught https://github.com/ruby/json/pull/808
on CI.
https://github.com/ruby/json/commit/8109421fb4
|
|
negative floats.
Fix: https://github.com/ruby/json/issues/807
Since https://github.com/ruby/json/pull/800, `fpconv_dtoa` can actually
generate up to 28 chars.
https://github.com/ruby/json/commit/d73ae93d3c
|
|
https://github.com/ruby/json/commit/7c03ffc3e0
|
|
https://github.com/ruby/json/commit/c060943d04
|
|
https://github.com/ruby/json/commit/f5c1b8c45d
|
|
https://github.com/ruby/json/commit/8433571dcf
|
|
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/f3dde3cb2f
Notes:
Merged: https://github.com/ruby/ruby/pull/13310
|
|
https://github.com/ruby/json/commit/41f1f6939d
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
|
|
https://github.com/ruby/json/commit/832b5b1a4c
Notes:
Merged: https://github.com/ruby/ruby/pull/13310
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/13304
|
|
e.g.
```
JSON.dump(1746861937.7842371)
```
master:
```
"1.https://github.com/ruby/json/commit/746861937784+9"
```
This branch and older json versions:
```
https://github.com/ruby/json/commit/1746861937.7842371
```
In the end it's shorter, and according to `canada.json` benchmark
performance is the same.
https://github.com/ruby/json/commit/866f72a437
|
|
https://github.com/ruby/json/commit/3b605d9b1e
|
|
Fix: https://github.com/ruby/json/issues/796
Notes:
Merged: https://github.com/ruby/ruby/pull/13227
|
|
https://github.com/ruby/json/commit/6b059900de
.
|
|
https://github.com/ruby/json/commit/d7d60cccb0
|
|
We should test compilation with `-msse2` because we need to
test with whatever arguments Ruby will be compiled with.
https://github.com/ruby/json/commit/0a871365db
|
|
`c < 32 || c == 34` is equivalent to `c ^ 2 < 33`.
Found in: https://lemire.me/blog/2025/04/13/detect-control-characters-quotes-and-backslashes-efficiently-using-swar/
The gain seem mostly present on micro-benchmark, and even there aren't
very consistent, but it's never slower.
```
== Encoding long string (124001 bytes)
ruby 3.4.2 (2025-02-15 revision https://github.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 5.295k i/100ms
Calculating -------------------------------------
after 55.796k (± 3.4%) i/s (17.92 μs/i) - 280.635k in 5.035690s
Comparison:
before: 49840.7 i/s
after: 55795.8 i/s - 1.12x faster
```
https://github.com/ruby/json/commit/034c5debd8
|
|
|
|
(https://github.com/ruby/json/pull/743)
See the pull request for the long development history: https://github.com/ruby/json/pull/743
```
== Encoding activitypub.json (52595 bytes)
ruby 3.4.2 (2025-02-15 revision https://github.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 2.913k i/100ms
Calculating -------------------------------------
after 29.377k (± 2.0%) i/s (34.04 μs/i) - 148.563k in 5.059169s
Comparison:
before: 23314.1 i/s
after: 29377.3 i/s - 1.26x faster
== Encoding citm_catalog.json (500298 bytes)
ruby 3.4.2 (2025-02-15 revision https://github.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 152.000 i/100ms
Calculating -------------------------------------
after 1.569k (± 0.8%) i/s (637.49 μs/i) - 7.904k in 5.039001s
Comparison:
before: 1485.6 i/s
after: 1568.7 i/s - 1.06x faster
== Encoding twitter.json (466906 bytes)
ruby 3.4.2 (2025-02-15 revision https://github.com/ruby/json/commit/d2930f8e7a) +YJIT +PRISM [arm64-darwin24]
Warming up --------------------------------------
after 309.000 i/100ms
Calculating -------------------------------------
after 3.115k (± 3.1%) i/s (321.01 μs/i) - 15.759k in 5.063776s
Comparison:
before: 2508.3 i/s
after: 3115.2 i/s - 1.24x faster
```
https://github.com/ruby/json/commit/49003523da
|
|
https://github.com/ruby/json/commit/b14250f1da
|
|
We can't directly call `RBASIC_CLASS` as the return value of
`to_s` may be an immediate.
https://github.com/ruby/json/commit/12dc394d11
|
|
https://github.com/ruby/json/commit/3e025f76d7
|
|
Fix: https://github.com/ruby/json/issues/790
If we end up calling something that spills the state
on the heap, the pointer we received is outdated and
may be out of sync.
https://github.com/ruby/json/commit/2ffa4ea46b
|
|
https://github.com/ruby/json/commit/c985e8c6ea
|
|
Fix: https://github.com/ruby/json/issues/788
`multi_json` rely on it, even though it was never documented as
public API.
Bringing it back as a method so it can emit a deprecation warning.
https://github.com/ruby/json/commit/123121bba2
|
|
https://github.com/ruby/json/commit/84443e881d
|
|
This time with explicit deprecation warnings.
https://github.com/ruby/json/commit/0dee9bdad9
|
|
https://github.com/ruby/json/commit/a6949f8656
|
|
https://github.com/ruby/json/commit/92beca8032
|
|
https://github.com/ruby/json/commit/573ebdca89
|
|
https://github.com/ruby/json/commit/27155b6500
|
|
https://github.com/ruby/json/commit/3e7e661ef5
|
|
https://github.com/ruby/json/commit/ff8e18392d
|
|
https://github.com/ruby/json/commit/97f2924d0a
|