| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-04-06 | 4.0 kB | |
| v0.9.15 source code.tar.gz | 2026-04-06 | 5.2 MB | |
| v0.9.15 source code.zip | 2026-04-06 | 6.1 MB | |
| Totals: 3 Items | 11.4 MB | 0 | |
This release adds test coverage hooks for JavaScript and R, Next.js App Router awareness in the orphan detector, and fixes false positives in three Rust detectors. License updated to OSNL v0.2.
47 files changed | 17 commits | 6,698 tests passing
Headline Feature
Next.js App Router Framework Awareness
The orphan detector now auto-detects Next.js projects (via next.config.{js,mjs,ts}) and recognizes App Router convention files — page.tsx, layout.tsx, loading.tsx, error.tsx, route.ts, template.tsx, default.tsx, middleware.ts, and more — as framework entry points. No more false orphan warnings for idiomatic Next.js code. Closes [#528], reported by @m-ahmed-elbeskeri.
Other Features
JavaScript Test Coverage Hooks
Full test mapping support for JavaScript, matching the existing TypeScript plugin. Includes file-naming conventions (.test.js, .spec.js, __tests__/), assertion pattern detection, and placeholder/todo-test recognition. Cherry-picked from PR [#515] by @elfensky. Closes [#514].
R Testthat Test Coverage Hooks
Test mapping for R projects following the testthat convention (tests/testthat/test-*.R → R/*.R). Includes R-specific assertion patterns (expect_equal, expect_true, etc.) and testthat placeholder detection. Cherry-picked from PR [#529] by @sims1253 (with strip_test_markers basename fix).
Deno std/assert Recognition
TypeScript and JavaScript plugins now recognize Deno-style function-call assertions (assert(), assertEquals(), assertThrows(), etc.) in addition to Node's dot-notation style. Closes [#530], reported by @RolanH.
OpenCode Batch Review Runner
Added OpenCode as an alternative batch review runner alongside existing options. From PR by @cpjet64.
Bug Fixes
- Rust grouped use declarations — Unused import detector no longer produces false positives for
use crate::module::{A, B}grouped imports. Each name is now verified independently. Closes [#521]. - Rust async locking scope drops — The async locking detector now tracks brace depth to recognize implicit lock guard drops at block scope boundaries. A guard acquired inside an
if letormatcharm no longer triggers a false positive when.awaitappears after the block. Closes [#523]. - Codex triage runner missing state —
StageRunContextconstructor now receivesstate=pipeline_context.state, fixing crashes in the strategize stage. Closes [#527], reported by @jmartell72. - normalize_step crashes on string input —
normalize_stepnow handles string input from--stepsCLI arg. Closes [#519]. - do_import_run partial batch results —
do_import_runnow respectsallow_partialfor missing batch results. - Cross-extension test mapping — Fixed
.test.ts→.tsxsource file mapping in TypeScript plugin.
Refactoring & Internal
- License updated to OSNL v0.2 — Switched from MIT to the Open Source Non-Commercial License v0.2.
- Review pipeline batching — Orchestrator prompts now default to batches of 4-5 sub-agents instead of launching all at once. Closes [#518], reported by @AyoKeito.
- Monorepo documentation — Added guidance for scanning multi-project directories with
--path. Closes [#525], reported by @jmartell72.
Community
Thanks to @elfensky for the JavaScript test coverage hooks (PR [#515]), @sims1253 for R testthat support (PR [#529]), @RolanH for the Deno assertion report (#530), @m-ahmed-elbeskeri for the Next.js orphan detector feature request (#528), @AyoKeito for flagging the subagent rate-limiting issue (#518), @jmartell72 for the codex runner bug report (#527) and multi-project docs (#525), and the reporters behind the Rust detector false positives (#521, [#522], [#523]).