Releases of react-doctor
117 stable releases, newest first. Release notes are kept for the last 90 days; older ones link to where they were published.
0.9.18
12 October 2026Patch Changes
Record the GitHub Action clean-comment preference in anonymized scan telemetry and document the workflow input.
Match API Platform subscription IDs to the provider's resource-and-IDs unsubscribe contract.
Do not infer React hooks from relative helper imports in Angular component classes. Continue to check React and React ecosystem imports.
0.9.17
5 October 2026Patch Changes
Fix false new findings in
--baselineand--scope changedafter formatting or editing existing flagged code. Compare finding counts per file and rule, then use fingerprints, messages, and Git line shifts to identify added findings. Skip location matching when counts do not increase. Apply portable config filters to saved baseline findings and reject reports with missing or incompatible source-dependent filter settings; regenerate those base reports with the current version and settings.Updated dependencies []:
oxlint-plugin-react-doctor@0.9.17
0.9.16
4 October 2026Patch Changes
Fix changed-scope scans to compare findings for uncommitted changes and use flagged source spans instead of whole lines. Match duplicate findings by count and limit cross-file matches to Git renames.
Add
--baseline <report.json>to reuse a saved scan. JSON reports now include stable finding fingerprints, the source revision, the comparison source, and the number of matched base findings. Gates and summary counts use only new findings.Disable
require-pnpm-hardeningby default; enable it explicitly throughruleswhen wanted. Describe await parallelization as a conditional opportunity, preserving ordering, resource limits, and error semantics. Recognize local Promise.all/allSettled collectors and stop describing async array callbacks as sequential.Fix
effect-needs-cleanupfalse positive for React 19 callback ref cleanup returns. React 19 callback refs can return cleanup functions with the signature(node: T | null) => void | (() => void). The rule now correctly handles cases where cleanup is only returned after resource usage (e.g., afterResizeObserver.observe()), allowingvoidreturns on the null branch.
0.9.14
12 September 2026Patch Changes
Upgrade oxlint to 1.81 and oxc-parser to 0.148.
Detect React Compiler when
@vitejs/plugin-reactis called with an enabledcompileroption (react({ compiler: true })orreact({ compiler: { ... } })), including aliased, namespace, and CommonJS forms of the default export.compiler: falseand unrelated objects with acompilerproperty stay undetected, so rules disabled under React Compiler now switch off for these Vite projects.Skip source files that Git still tracks but that no longer exist in the working tree (for example a deleted root
index.htmlin a TanStack Start app) instead of failing the scan withENOENTwhile preparing lint sources.
0.9.13
2 September 2026Patch Changes
Add bippy as a runtime dependency.
Preserve plugin settings when React Doctor adopts an existing lint config.
Upgrade the Oxc parser and Oxlint runtime while preserving hard failures for broken JS plugins.
0.9.12
13 August 2026Patch Changes
Restore the option to copy the full fix prompt from the interactive report.
Ignore Git-ignored configuration files when checking staged scan snapshot divergence.
Upgrade the Oxc toolchain to the latest releases.
0.9.11
9 August 2026Patch Changes
Updated dependencies:
oxlint-plugin-react-doctor@0.9.11
deslop-js@0.9.11
0.9.10
9 August 2026Patch Changes
Send traces and metrics to Axiom instead of Sentry. Sentry keeps crash reporting, where its source-map symbolication, issue grouping, and quotable event ids have no Axiom equivalent — so error reports are unchanged, and the JSON report's
sentryEventIdfield keeps its meaning.Two user-visible changes:
--debugnow prints the run's Axiom trace id (crash reports carry the same id as a tag, so one id resolves in both backends), andREACT_DOCTOR_NO_TELEMETRYis now honored by the CLI as well as the language server.--no-scoreand--no-telemetryare unchanged and still disable everything.Updated dependencies []:
oxlint-plugin-react-doctor@0.9.10
deslop-js@0.9.10
0.9.9
8 August 2026Patch Changes
Updated dependencies:
oxlint-plugin-react-doctor@0.9.9
deslop-js@0.9.9
0.9.8
8 August 2026Patch Changes
Harden scan orchestration and cache persistence, modernize the Effect runtime, simplify package boundaries and analyzers, share cycle and suppression analysis, keep workflow paths inside the repository, and remove unused internals.
Updated dependencies:
oxlint-plugin-react-doctor@0.9.8
deslop-js@0.9.8
0.9.7
8 August 2026Patch Changes
Updated dependencies:
oxlint-plugin-react-doctor@0.9.7
deslop-js@0.9.7
0.9.6
7 August 2026Patch Changes
Detect React Compiler transforms passed through an installed
@rolldown/plugin-babelwrapper.Load standard JavaScript and TypeScript Knip configuration files when collecting dead-code entry and ignore patterns.
Accept trailing loading resets after non-rethrowing catch handlers, and preserve effect-local cleanup helpers with deterministic false-positive and false-negative fuzz replay.
0.9.5
5 August 20260.9.4
4 August 20260.9.3
1 August 20260.9.2
27 July 20260.9.1
23 July 20260.9.0
22 July 20260.8.3
21 July 20260.8.2
21 July 20260.8.1
18 July 20260.8.0
18 July 20260.7.8
14 July 20260.7.7
13 July 20260.7.6
12 July 20260.7.5
12 July 20260.7.4
10 July 20260.7.3
9 July 20260.7.2
8 July 20260.7.1
4 July 20260.7.0
4 July 20260.6.3
4 July 20260.6.2
3 July 20260.6.1
3 July 20260.6.0
2 July 20260.5.8
20 June 20260.5.7
19 June 20260.5.6
15 June 20260.5.5
14 June 20260.5.4
13 June 20260.5.3
13 June 20260.5.2
13 June 20260.5.1
9 June 20260.5.0
9 June 20260.4.2
7 June 20260.4.1
7 June 20260.4.0
5 June 20260.3.0
4 June 20260.2.16
1 June 20260.2.15
1 June 2026