This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
Summary
AI summaryHooks now require Python >=3.11 instead of silently falling back to an unsupported interpreter.
Full changelog
Two fixes. The hooks now pin a Python they can actually run, so enforcement stops
silently switching itself off on machines without a modern interpreter on PATH.
And teaching the profile no longer bounces you to re-confirm your own change.
Fixed
- Hooks pin a dep-capable Python >=3.11 instead of falling through to a stale
system interpreter. Each hook resolved its own Python via a ladder that ended
in a blindpython3; on macOS that is/usr/bin/python3(3.9.x, below the
floor, no deps), so the hook failed and fail-opened — and inenforcemode a
real violation could pass unblocked with no signal. A shared resolver
(hooks/_resolve-python.sh) now walks the bundled venv, thenpython3.13/12/11,
thenuv run(the same resolver the MCP server uses), and only a
version-probed barepython3— or surfaces a one-line SessionStart banner when
nothing >=3.11 resolves. The resolver runs as a subprocess, so a corrupt or
missing copy degrades the hook instead of aborting it. The merge driver uses the
same resolver./chameleon-doctornow reports the exact interpreter the hooks
pick (command + version + dep status), and a SessionStart banner flags repeated
hook fail-opens so a degraded session is not mistaken for a healthy one.
Changed
- Teaching no longer stales your own trust.
teach_profilealready re-granted
trust after editingidioms.md; the same now holds forteach_competing_import,
unteach_competing_import, and the deprecated-idiom paths of
teach_profile_structured(which/chameleon-auto-idiomuses). A teach you ran
yourself keeps the profile trusted instead of bouncing you to re-/chameleon-trust.
The guarantee is bounded: trust is preserved only when the profile was already
trusted (not when it was untrusted or already stale under a teammate's change),
and the re-grant still runs the injection scan, so a poisoned teach is refused
and stays stale rather than silently re-trusted.
Breaking Changes
- Hooks pin a dep‑capable Python >=3.11; previously they fell back to any `python3` which could be <3.11 and cause enforcement to silently disable.
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]