Skip to content

Chameleon

v4.4.46 Bugfix

This release fixes issues for SREs watching stability and regressions.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-coding-assistant archetype ast-analysis claude-code claude-plugin code-conventions
+12 more
code-review code-style developer-tools javascript linter mcp mcp-server prompt-engineering python ruby rails typescript

Affected surfaces

deps

Summary

AI summary

Fixed false all-clear reports when dependency auditors failed to run.

Changes in this release

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_audit reported 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 neither metadata nor vulnerabilities, so it fell through to
    status:"ok" total:0. bundler-audit had the same class: a missing-lockfile run
    exits 0 with Could not find "Gemfile.lock" and zero advisory blocks, which
    also read as ok/0. A caller seeing status:"ok", total:0, findings:[]
    concluded "no known CVEs" when no audit had run. Both now degrade to the
    unavailable no-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 marker No vulnerabilities found is 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_format rules stanza dropped its parse warning. Every other tool
    stanza (tsconfig, eslint, rubocop) wires a parse_warning through to rules.json
    when the config is malformed AND emits a warning-only stanza when the config is
    broken-but-empty; python_format did neither, so a torn pyproject.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

Track Chameleon

Get notified when new releases ship.

Sign up free

About Chameleon

All releases →

Related context

Earlier breaking changes

  • v3.0.0 MCP surface folded from 48 tools to 19; remaining 32 operator tools become actions on three dispatchers.

Beta — feedback welcome: [email protected]