-
v0.4.0
StableSome checks failedCI / cargo fmt (pull_request) Failing after 18sCI / cargo clippy (pull_request) Has been skippedCI / cargo test (pull_request) Has been skippedCI / cargo fmt (push) Failing after 18sCI / cargo clippy (push) Has been skippedCI / cargo test (push) Has been skippedRelease Build / Generate Version (push) Successful in 21sRelease Build / Build linux-x86_64 (push) Successful in 5m9sRelease Build / Build linux-aarch64 (push) Successful in 5m32sRelease Build / Build windows-x86_64 (push) Successful in 5m40sRelease Build / Create Forgejo Release (push) Failing after 1m3sreleased this
2026-06-04 15:30:50 +02:00 | 19 commits to master since this releaseHighlights
Ruby is now a fully supported language (sixth indexed language), with Rails-aware extraction — and this release closes a stack-overflow DoS that affected every language parser.
Ruby plugin
- Detects
.rb/.rake/.gemspecand the extensionlessRakefile/Gemfile. - Modules, classes (+ superclass type refs), instance & singleton methods, top-level functions, constants,
attr_*fields,require/require_relativeimports, bare-call vs receivermethod_callrefs, andinclude/extend/prependmixin refs. - Rails-aware associations:
has_many/has_one/belongs_to/has_and_belongs_to_manyemit a type reference to the associated model class — honoringclass_name:and singularizing plural names — sofind_referenceson a model surfaces its association sites.
Security: parser recursion-depth guard
A crafted file of deeply nested literals (well under the 2 MiB size cap) could overflow the worker stack and crash the long-lived daemon — and
catch_unwindcannot intercept stack exhaustion. All six language plugins now cap recursion depth, so a single malicious file can no longer take down the daemon. Verified with a 2 MiB-stack regression test on 20 000-deep input.Parity & tests
Wired Ruby into qualified-name separators, project-root detection (
Gemfile/*.gemspec), entry-point heuristics, ctags cross-validation, and the init template. Ships 25 unit tests, full e2e + Rails-association + parity coverage, and a 5-layercorrectness_rubycross-validation against ripgrep/ctags.Reviewed ultradeep by a multi-agent pass (correctness, security, performance, test coverage, cross-language parity, production readiness) with adversarial verification of every finding.
Changes:
v0.3.3...v0.4.0Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Detects