smarter_json 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 480227c64ed99ba271fe95c6e7c79be6871f6bbf5c7f8f03d9bf118bb6bd7051
4
- data.tar.gz: 966190c8f2e316e3664e381bf738831259b0e469a783f2fa3a25edf5f198d41b
3
+ metadata.gz: 616af8a85697d036162f613a7e0b370103cde9e2d8cd46496b417288785839d7
4
+ data.tar.gz: 6449bcecb8c631f357e3885f931407c8d52bcdc35acb4dcb2776d3047951986e
5
5
  SHA512:
6
- metadata.gz: d53d1a84aa5ce83a2243a9adcdcddc284933dc8c357e08c8aaaec8e5e005164dfdec37d70c41bce0b2a3abf22dc7902e062adbbe3ffaa947b2232836bd01a86c
7
- data.tar.gz: ae44f83437fe6c75227822a234658abb2157caf0378c8b998bab25aa40b4f1286da9a85a482be04b1be4ab17b142779140d0892ada81ae7d4342a0b7f706e9b7
6
+ metadata.gz: 6866b5eeeb2932d6c083da8c78daf1715eda5cc8c633f961947229698ae2bd79b25f14dd39d43f47dc3056984755e75892488c6c51cd5c1dea4efff90e114255
7
+ data.tar.gz: 2d911cad4653363fa8de29e84cefc306604190df6e11e1ef2b7807ede5e52006592d6cd5f4f17e58b9d2b36be1ed6b6145c5deda541f8bc56c59f9c5e64afdf8
data/CHANGELOG.md CHANGED
@@ -12,6 +12,12 @@
12
12
  > ⚠️ We discourage the use of `process(input).first` / `process(input)[0]` because it silently drops potential additional documents
13
13
  > Please use `process_one` if you are expecting only one JSON doc, e.g. in API payloads.
14
14
 
15
+ ## 1.1.2 (2026-06-12)
16
+
17
+ RSpec tests: 1,097
18
+
19
+ - The C extension now correctly supports Ruby's GC heap compaction (`GC.compact` / auto-compaction) — its cached exception/warning classes are declared to the GC. Thanks [Jean Boussier](https://github.com/byroot) for PR [#7](https://github.com/tilo/smarter_json/pull/7).
20
+
15
21
  ## 1.1.1 (2026-06-11)
16
22
 
17
23
  RSpec tests: 1,070 → 1,097
data/CONTRIBUTORS.md ADDED
@@ -0,0 +1,6 @@
1
+ # A Big Thank You to all Contributors!!
2
+
3
+
4
+ A Big Thank you to everyone who filed issues, sent comments, and who contributed with pull requests:
5
+
6
+ * [Jean Boussier](https://github.com/byroot)
data/README.md CHANGED
@@ -359,6 +359,8 @@ Both the C extension and the pure-Ruby engine are **iterative, not recursive**
359
359
  The trade-off: there is currently **no fixed nesting or input-size limit**, so extremely large or adversarially-nested untrusted input is bounded by memory (it can exhaust RAM), not by a crash. If you process untrusted input and want a hard cap, that's a planned opt-in guard — for now, size-limit upstream.
360
360
 
361
361
 
362
+ # [A Special Thanks to all Contributors!](CONTRIBUTORS.md) 🎉🎉🎉
363
+
362
364
  ## Development
363
365
 
364
366
  After checking out the repo, run `bin/setup` to install dependencies, then `rake compile` to build the C extension and `rake spec` to run the tests. The test suite runs every example against **both** the C and pure-Ruby paths, so the two stay behavior-identical.
@@ -1676,9 +1676,16 @@ static VALUE fj_parse_c(VALUE self, VALUE input, VALUE opts) {
1676
1676
 
1677
1677
  void Init_smarter_json(void) {
1678
1678
  mSmarterJSON = rb_define_module("SmarterJSON");
1679
+
1680
+ rb_global_variable(&cParseError);
1679
1681
  cParseError = rb_const_get(mSmarterJSON, rb_intern("ParseError"));
1682
+
1683
+ rb_global_variable(&cEncodingError);
1680
1684
  cEncodingError = rb_const_get(mSmarterJSON, rb_intern("EncodingError"));
1685
+
1686
+ rb_global_variable(&cWarning);
1681
1687
  cWarning = rb_const_get(mSmarterJSON, rb_intern("Warning"));
1688
+
1682
1689
  fj_bigdecimal_id = rb_intern("BigDecimal");
1683
1690
  fj_to_sym_id = rb_intern("to_sym");
1684
1691
  fj_key_p_id = rb_intern("key?");
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SmarterJSON
4
- VERSION = "1.1.1"
4
+ VERSION = "1.1.2"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smarter_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tilo Sloboda
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-06-11 00:00:00.000000000 Z
10
+ date: 2026-06-12 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: bigdecimal
@@ -44,6 +44,7 @@ extra_rdoc_files: []
44
44
  files:
45
45
  - ".gitignore"
46
46
  - CHANGELOG.md
47
+ - CONTRIBUTORS.md
47
48
  - LICENSE.txt
48
49
  - README.md
49
50
  - Rakefile