This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixed three critical defects in dependency scanning, cross‑file break detection, and Rails eval handling.
Full changelog
Live end-to-end QA of the chameleon-pr-review and chameleon-receiving-code-review
skills: real slash-command invocations across every supported language and framework
(TypeScript/JavaScript, Ruby, Python; Rails, Django, Flask, FastAPI, NestJS, Next.js),
plus cold-start, untrusted, large-diff, monorepo, noise, hostile-input, and
wrong-context scenarios. Three defects fixed and re-verified live.
Fixed
scan_dependency_changesflagged every pre-existing dependency as new when a
compact manifest was reformatted. A basepackage.jsonthat keeps its
dependencies inline on one line ("dependencies": { "a": "1", "b": "2" })
reformatted to multi-line made the removed-baseline parser read only the first
"key": valueon each removed line, so the inline dependencies never entered the
"previously present" set and every one read as new. The baseline now harvests all
inline"name": "value"pairs on a removed line. It only ever suppresses a
new-dependency finding, so a genuinely new dependency (which appears on no removed
line) is never hidden.- The cross-file existence-break pass could poison an unrelated PR's verdict.
get_crossfile_contextscans the whole repo, so a repo carrying a pre-existing
broken import returned high-confidence breaks on modules the diff never touched;
relayed as FIXes, they pushed every unrelated PR to NEEDS CHANGES. The pr-review
skill (Step 2.9c) now gates a break on a second condition alongside
high_confidence: the module that lost the export must be in the diff's changed
set. An out-of-diff break is pre-existing and goes to the repo-hygiene note, never
the verdict. - The receiving skill could overrule a correct reviewer on the Rails
class_eval
idiom. Step 3 calledeval-callerror-severity and block-eligible without
qualification, so a reviewer defending the string-argument
class_eval/instance_eval/module_evalpredicate-method idiom, which the engine
deliberately emits atwarningseverity and keeps out of the block-eligible set,
would be flipped to APPLY. The skill now routes by the returned severity, mirroring
pr-review Step 2.6d: an error-severityeval-callmeans the reviewer is wrong, a
warning-severity one is advisory and does not overrule them.
Changed
- The pr-review reviewer-discipline note no longer claims the output ends with the
verdict while the format leads with it; it states the verdict-first order plainly. - The receiving skill states that an explicit
/chameleon-receiving-code-review
invocation takes precedence over the situation-triggered superpowers
receiving-code-review, and that its per-item-approval and drafts-only rules are a
deliberate tightening, not a conflict to resolve.
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]