summaryrefslogtreecommitdiff
path: root/ext/json/lib
AgeCommit message (Collapse)Author
3 hours[ruby/json] Deprecate duplicate keys in objectJean Boussier
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://.com/ruby/json/commit/06f00a42e8
3 hours[ruby/json] Add missing parser options documentationJean Boussier
https://.com/ruby/json/commit/eed753ffde
7 days[ruby/json] Fix a typoNobuyoshi Nakada
ruby/ruby#13636 https://.com/ruby/json/commit/6fc2c4b6ab Co-Authored-By: Tim Smith <[email protected]>
2025-05-26[ruby/json] Release 2.12.2Jean Boussier
https://.com/ruby/json/commit/a29cb77d52
2025-05-26[ruby/json] Release 2.12.1Jean Boussier
https://.com/ruby/json/commit/8603a57a91
2025-05-19[ruby/json] Remove some unnecessary top level constant lookupsJean Boussier
https://.com/ruby/json/commit/7c03ffc3e0
2025-05-19[ruby/json] remove redundant `self.`GrantBirki
https://.com/ruby/json/commit/c060943d04
2025-05-19[ruby/json] use `.` over `::` for consistencyGrantBirki
https://.com/ruby/json/commit/f5c1b8c45d
2025-05-19[ruby/json] fix for pretty_generate throwing wrong number of arguments errorCody Horton
https://.com/ruby/json/commit/8433571dcf
2025-05-13[ruby/json] Release 2.12.0Jean Boussier
https://.com/ruby/json/commit/41f1f6939d Notes: Merged: https://.com/ruby/ruby/pull/13310
2025-05-13[ruby/json] parser.c: include line and column in error messagesJean Boussier
https://.com/ruby/json/commit/30e35b9ba5 Notes: Merged: https://.com/ruby/ruby/pull/13310
2025-04-30[ruby/json] Release 2.11.3Jean Boussier
https://.com/ruby/json/commit/3e025f76d7
2025-04-25[ruby/json] Release 2.11.2Jean Boussier
https://.com/ruby/json/commit/c985e8c6ea
2025-04-25[ruby/json] Bring back JSON::PRETTY_STATE_ with a deprecationJean Boussier
Fix: https://.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://.com/ruby/json/commit/123121bba2
2025-04-25[ruby/json] Release 2.11.1Jean Boussier
https://.com/ruby/json/commit/84443e881d
2025-04-25[ruby/json] Bring back the numerous deprecated aliasJean Boussier
This time with explicit deprecation warnings. https://.com/ruby/json/commit/0dee9bdad9
2025-04-25[ruby/json] Release 2.11.0Jean Boussier
https://.com/ruby/json/commit/a6949f8656
2025-04-22[ruby/json] Get rid of unused CircularDatastructure classJean Boussier
https://.com/ruby/json/commit/92beca8032
2025-04-15[ruby/json] Cleanup Kernel#JSONJean Boussier
https://.com/ruby/json/commit/573ebdca89
2025-04-15[ruby/json] Deprecate Kernel#j and Kernel#jjJean Boussier
https://.com/ruby/json/commit/27155b6500
2025-04-15[ruby/json] Get rid of JSONError.wrapJean Boussier
https://.com/ruby/json/commit/3e7e661ef5
2025-04-15[ruby/json] Don't create custom NaN and Infinity objects.Jean Boussier
https://.com/ruby/json/commit/ff8e18392d
2025-03-28[ruby/json] Move `create_addtions` logic in Ruby.Jean Boussier
By leveraging the `on_load` callback we can move all this logic out of the parser. Which mean we no longer have to duplicate that logic in both parser and that we'll later be able to extract it entirely from the gem. https://.com/ruby/json/commit/f411ddf1ce Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] JSON.load invoke the proc callback directly from the parser.Jean Boussier
And substitute the return value like `Marshal.load` doesm which I can only assume was the intent. This also open the door to re-implement all the `create_addition` logic in `json/common.rb`. https://.com/ruby/json/commit/73d2137fd3 Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] Remove more dead codeJean Boussier
https://.com/ruby/json/commit/eda239ad34 Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] Remove `Class#json_creatable?` monkey .Jean Boussier
https://.com/ruby/json/commit/1ca7efed1f Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] Get rid of JSON::NOT_SETJean Boussier
https://.com/ruby/json/commit/760d922265 Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] Remove outdated JSON.iconvJean Boussier
https://.com/ruby/json/commit/3de8702354 Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] Cleanup JSON.pretty_generateJean Boussier
https://.com/ruby/json/commit/01c47a0555 Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-28[ruby/json] Deprecate `JSON.fast_generate`Jean Boussier
https://.com/ruby/json/commit/6508455d82 Notes: Merged: https://.com/ruby/ruby/pull/13004
2025-03-27Get rid of SAFE_STATE_Jean Boussier
It was only used by JRuby and TruffleRuby to call `SAFE_STATE_.dup` instead of `State.new` which isn't an worthy optimization. Notes: Merged: https://.com/ruby/ruby/pull/12994
2025-03-27[ruby/json] Remove unused `FAST_STATE_` and `PRETTY_STATE_`Jean Boussier
https://.com/ruby/json/commit/18e5c3c67c
2025-03-27[ruby/json] Remove `unparse` and `restore` aliases.Jean Boussier
These were deprecated 16 years ago. https://.com/ruby/json/commit/a88d825a91
2025-03-27[ruby/json] Deprecate all `*_default_options`Jean Boussier
Globally changing the behavior of the library is a bad idea, as many different libraries may rely on `json` and may not expect it and likely never tested that a different default config works for them. If you need to change the behavior of JSON, it's best to do it only locally, and not globally. In addition the new `JSON::Coder` interface is much more suited for that. Another reason for the deprecation is that it's impossible to make `JSON.load` and `JSON.dump` Ractor-safe with such API. https://.com/ruby/json/commit/172762c6e4
2025-03-13[ruby/json] Release 2.10.2Jean Boussier
https://.com/ruby/json/commit/350c1fd154
2025-03-06[ruby/json] Fix JSON::GeneratorError#detailed_message with Ruby < 3.2Rahim Packir Saibo
https://.com/ruby/json/commit/2e015ff839
2025-02-19[ruby/json] Pass through all options if present.Samuel Williams
https://.com/ruby/json/commit/bea96e0a69
2025-02-12[ruby/json] Release 2.10.1Jean Boussier
https://.com/ruby/json/commit/aa5b7d6acb
2025-02-12[ruby/json] Release 2.10.0Jean Boussier
https://.com/ruby/json/commit/8b56d47254
2025-02-06Optimize Symbol generation in strict modeÉtienne Barrié
Co-authored-by: Jean Boussier <[email protected]>
2025-01-30[ruby/json] Few doc tweaks:Edouard CHIN
- Also modified the gemspec files' blob as the ragel's `parser.rl` file was removed in https://.com/ruby/json/commit/c8d5236a921e https://.com/ruby/json/commit/b2b106e314
2025-01-28Introduce JSON::CoderÉtienne Barrié
Co-authored-by: Jean Boussier <[email protected]>
2025-01-28[ruby/json] Add some JSON::Fragment documentationJean Boussier
https://.com/ruby/json/commit/dbcf614e50
2025-01-20[ruby/json] Fix JSON::Fragment#to_json signatureJean Boussier
https://.com/ruby/json/commit/f8817fe56c Notes: Merged: https://.com/ruby/ruby/pull/12602
2025-01-20[ruby/json] Introduce JSON::FragmentÉtienne Barrié
https://.com/ruby/json/commit/9e3500f345 Co-authored-by: Jean Boussier <[email protected]> Notes: Merged: https://.com/ruby/ruby/pull/12602
2025-01-14[ruby/json] Fix a method redefinition warning in C parserJean Boussier
Ref: https://.com/ruby/json/pull/728 Ref: https://.com/ruby/ruby/pull/12569 https://.com/ruby/json/commit/30a4a86954
2025-01-14[ruby/json] Refactor JSON::Ext::Parser to split configuration and parsing stateJean Boussier
Ref: https://.com/ruby/json/pull/718 The existing `Parser` interface is pretty bad, as it forces to instantiate a new instance for each document. Instead it's preferable to only take the config and do all the initialization needed, and then keep the parsing state on the stack on in ephemeral memory. This refactor makes the `JSON::Coder` pull request much easier to implement in a performant way. https://.com/ruby/json/commit/c8d5236a92 Co-Authored-By: Étienne Barrié <[email protected]>
2025-01-14Remove Generator::State#_generateÉtienne Barrié
Co-authored-by: Jean Boussier <[email protected]> Notes: Merged: https://.com/ruby/ruby/pull/12568
2024-12-19[ruby/json] Release 2.9.1Jean Boussier
https://.com/ruby/json/commit/f745ec145e Notes: Merged: https://.com/ruby/ruby/pull/12394
2024-12-05[ruby/json] Release 2.9.0Jean Boussier
https://.com/ruby/json/commit/e1f6456499 Notes: Merged: https://.com/ruby/ruby/pull/12267