This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
Summary
AI summaryRefresh now fetches the latest production reference by default.
Full changelog
Refresh now derives from the genuinely-latest production, not the user's last
fetch. When a repo has a locked production_ref, /chameleon-refresh and the
background auto-refresh run one bounded git fetch origin <branch> before
resolving the tip — DEFAULT-ON, the one network path made default-on by design.
Added
- Production-ref fetch-before-refresh (
auto_refresh.fetch_production_ref,
default true; kill switchCHAMELEON_FETCH_PRODUCTION_REF=0). Before refresh
resolves the locked production tip, it fetchesorigin <branch>so the
derivation sees the latest production rather than whatever the user last
fetched. One fetch site inrefresh_reposerves both manual and auto-refresh;
bootstrap/init never fetch. The outcome rides out in the refresh envelope's
production_ref_fetchblock andauto_refresh.log, so a stale derivation
always says WHY.- Hang-proof + non-interactive. The fetch runs with
GIT_TERMINAL_PROMPT=0,
an empty askpass, and SSHBatchMode=yesso a missing credential is a clean
failure, never a prompt; a hardCHAMELEON_PRODUCTION_REF_FETCH_TIMEOUT_SECONDS
(default 10) wall-clock plus a process-group SIGKILL (taskkill tree on
Windows) backstops a stuck transfer. - Fails open, classified, surfaced. Any non-ok outcome (timeout /
no_network / auth / no_remote_ref / concurrent / unknown) falls back to the
existing last-fetched ref and reports a specific reason — the auth reason
tells the user the exactgit fetch origin <branch>to run by hand. - Self-suppresses where a surprise network call is wrong. Off under
CI,
off when the branch is not origin-backed (re-detected, not inferred), and a
CHAMELEON_PRODUCTION_REF_FETCH_BACKOFF_HOURS(default 6) backoff after a
persistent auth/branch-gone failure so a misconfigured remote isn't re-hit
every session. NO fetch on any hook hot path (PreToolUse/PostToolUse/
SessionStart stay offline).
- Hang-proof + non-interactive. The fetch runs with
This is a deliberate, single exception to the "network paths stay opt-in"
principle, made default-on by maintainer decision and surfaced here rather than
buried. Designed via a multi-agent panel with adversarial review; shipped with a
fake-git-shim test battery (classifier, timeout-kill, non-interactive env,
backoff) plus real-local-origin integration and hot-path no-fetch assertions.
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]