This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
Summary
AI summaryFixed false all-clear reports when dependency auditors failed to run.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
`dep_audit` now reports `unavailable` when audit tools fail or produce no results. `dep_audit` now reports `unavailable` when audit tools fail or produce no results. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
| Bugfix | Medium |
`python_format` rules stanza emits a parse warning for malformed config files. `python_format` rules stanza emits a parse warning for malformed config files. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
Full changelog
Fixed
dep_auditreported a false all-clear when the auditor never ran -- a security
tool collapsing the two states it exists to distinguish. npm v7+ delivers
auditor errors as PARSEABLE JSON ({"error":{"code":"ENOLOCK",...}}for a
missing lockfile; the same channel carries every network/registry failure), and
that body has neithermetadatanorvulnerabilities, so it fell through to
status:"ok" total:0. bundler-audit had the same class: a missing-lockfile run
exits 0 withCould not find "Gemfile.lock"and zero advisory blocks, which
also read as ok/0. A caller seeingstatus:"ok", total:0, findings:[]
concluded "no known CVEs" when no audit had run. Both now degrade to the
unavailableno-signal result the module docstring already promises: npm on an
error body or any object missing both audit keys; bundler when zero advisories
parse AND the clean-pass markerNo vulnerabilities foundis absent. A genuine
clean audit (npm metadata with total 0, bundler's marker) still reads ok.
Verified end-to-end on the fixtures: ts-nextjs ->unavailable: npm audit error: ENOLOCK, rb-rails ->unavailable: bundler-audit did not run cleanly.- The
python_formatrules stanza dropped its parse warning. Every other tool
stanza (tsconfig, eslint, rubocop) wires aparse_warningthrough to rules.json
when the config is malformed AND emits a warning-only stanza when the config is
broken-but-empty;python_formatdid neither, so a tornpyproject.toml/
ruff / flake8 config parsed to no rules AND silently lost the signal that it was
broken, reading as "no config declared". Mirrored the rubocop pattern exactly.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Chameleon
All releases →Beta — feedback welcome: [email protected]