Download Latest Version v1.0 source code.zip (6.3 MB) Google Add to Preferred Sources
Home / v0.9.15
Name Modified Size InfoDownloads / 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

Desloppify mascot

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 let or match arm no longer triggers a false positive when .await appears after the block. Closes [#523].
  • Codex triage runner missing state — StageRunContext constructor now receives state=pipeline_context.state, fixing crashes in the strategize stage. Closes [#527], reported by @jmartell72.
  • normalize_step crashes on string input — normalize_step now handles string input from --steps CLI arg. Closes [#519].
  • do_import_run partial batch results — do_import_run now respects allow_partial for missing batch results.
  • Cross-extension test mapping — Fixed .test.ts → .tsx source 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]).

Source: README.md, updated 2026-04-06