kanayago 0.6.0 → 0.6.1

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: 70152c7596a4203fee587c54a35ab9c959346881525adceaff93a00ebc13c8c8
4
- data.tar.gz: c2da754698c773ed1d0e23fa3566c96feb204cf63123d3c561c750ef8c0db75c
3
+ metadata.gz: ac0fe43efe47ae452540f30e4ddbe1d953822a466f7f4e40bb91fb7841f8eabf
4
+ data.tar.gz: f8906e1292035a6d5f0f7b2e6ecba57da475537c7a13d6f46b901c4b0fb596d6
5
5
  SHA512:
6
- metadata.gz: 497bfbc8020190f5c356728c6f36769978a93a288be653fc929269b619ac1b3e0575b5d3cfeda9f9fe750c0b59edd4a21e86c9ffe1b89fca1847f55b38e28ec4
7
- data.tar.gz: 368c35402d3575d61c81893b834866d96ccd8c99162193ae212636984b049f8ab443e6a639a0e9d160a58083514477babf0d334f4f08a134569f531343eae1fc
6
+ metadata.gz: 6a7889db76bd146a2f8fd4abdcee847780ee7b10fac3d3c4897d34a5b1b5ad19869386bb71ee785e5f1adba4a7f2bd06f70ec42a724ba925b5631c4d54ddc92b
7
+ data.tar.gz: 7fb7f40b6ae56f12edd6bc8bffdb51a9c9248205acba3067e7000d28784de545d74452b78d799a01247bbf41ba87a05bb6ca1fd3e0e28caae397dfe01860dc10
data/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.6.1]
11
+
12
+ ### Fixed
13
+ - Fix segmentation fault when parsing large Ruby files (e.g., Rails schema.rb)
14
+ - Add `RB_GC_GUARD` for `vast` and `vparser` to prevent garbage collection during AST traversal
15
+ - The AST data is owned by `vast`, so it must remain alive until traversal is complete
16
+
10
17
  ## [0.6.0]
11
18
 
12
19
  ### Added
data/README.md CHANGED
@@ -31,7 +31,7 @@ Finally, build `Kanayago` gem and install it.
31
31
 
32
32
  ```console
33
33
  bundle exec rake build
34
- gem install pkg/kanayago-0.6.0.gem
34
+ gem install pkg/kanayago-0.6.1.gem
35
35
  ```
36
36
 
37
37
  ## Usage
@@ -528,6 +528,12 @@ kanayago_parse(VALUE self, VALUE source)
528
528
  rb_ast_t *ast = rb_ruby_ast_data_get(vast);
529
529
  VALUE ast_node = ast_to_node_instance(ast->body.root);
530
530
 
531
+ /* Ensure vast and vparser are not garbage collected during AST processing.
532
+ * The AST data (ast->body.root) is owned by vast, so we need to
533
+ * keep vast alive until we're done traversing the AST. */
534
+ RB_GC_GUARD(vast);
535
+ RB_GC_GUARD(vparser);
536
+
531
537
  // Get error_buffer from parser_params using accessor function
532
538
  VALUE error_buffer = rb_ruby_parser_error_buffer_get(parser_params);
533
539
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kanayago
4
- VERSION = '0.6.0'
4
+ VERSION = '0.6.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kanayago
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - S-H-GAMELINKS