v3.0.242
3.0.242 (2026-06-09)
Bug Fixes
- acp-client: cap transport stderr diagnostics (21acc19)
- acp-client: wait for transport process shutdown (a2acec1)
- acp-telemetry: redact env-style secret strings (b26bbba)
- acp-telemetry: redact exported secrets (220541f)
- acp: clean partial report temp writes (10076dc)
- acp: publish run reports atomically (f52e9f3)
- acp: redact raw run report content (5dca87d)
- agent-eval: clean partial artifact temp writes (5ba8a90)
- agent-eval: create scaffold files exclusively (c48a2cf)
- agent-eval: escalate timed out subprocesses (adf61ca)
- agent-eval: harden result temp writes (990e05d)
- agent-eval: publish matrix aggregates atomically (08f31ec)
- agent-eval: reject symlinked oracle sources (22b2568)
- agent-eval: reject symlinked plan destinations (b1579e0)
- agent-eval: reject symlinked run outputs (12fc11b)
- agent-harness: clean partial loader temp writes (166ce8f)
- agent-harness: clean partial schema temp writes (1efb7da)
- agent-harness: harden schema temp writes (bce68a6)
- agent-harness: roll back failed schema publishes (766e560)
- agent-hook-config: clean partial bridge cleanup writes (65ab663)
- agent-hook-config: clean partial hook temp writes (6d30475)
- agent-hook-config: restore generated hook symlinks safely (a53d38a)
- agent-hooks: reject symlinked hook parents (1710833)
- agent-maestro: clean partial ralph temp writes (3b72e95)
- agent-maestro: guard workspace removal root (c7e124a)
- agent-maestro: harden ralph workspace writes (7ca53a9)
- agent-script: clean partial signal dump temp writes (6b681c4)
- agent-script: clean partial snapshot temp writes (8bfbbd4)
- agent-script: harden signal dump temp writes (61db7af)
- agent-script: harden snapshot temp writes (eed2486)
- agent-skill-config: clean partial exclude temp writes (51c2807)
- agent-spawn: avoid raw ACP payload logs (99a67cc)
- agent-spawn: ignore stderr for acp activity timeouts (525f213)
- agent-spawn: kill runCommand process groups (ab82dc3)
- agent-spawn: prefer timestamped replay latest logs (18df518)
- agent-spawn: preserve split utf8 lines (ab49743)
- agent-spawn: redact logged tool titles (1f6fe74)
- agent-spawn: redact spawn log content by default (0636c5b)
- agent-spawn: reject symlinked spawn log state roots (628cad9)
- agent-spawn: skip malformed replay records (ea226a3)
- agent-spawn: tee streaming stdout chunks (b9c1bb1)
- agent: block env in read-mode shell (d8b1c5e)
- auth-store: clean partial credential temp writes (b41e922)
- auth-store: handle keychain stdin errors (121a509)
- auth-store: harden credential temp writes (cfb5112)
- auth-store: reject symlinked default directory roots (4b13e50)
- auth: route whoami dry-run through logger (0a3b8be)
- cached-resource: clean partial cache temp writes (895f14d)
- cached-resource: harden cache temp writes (d9c2b1a)
- cli: expose hook bridge scope (78bda31)
- cli: make overlay commits transactional (cb4415e)
- cli: preserve symlink rollback failures (1e96016)
- cli: prompt before default agent without yes (66037c4)
- cli: redact sensitive argv in error logs (a2f0cb2)
- cli: show progress during provider installs (4193275)
- cli: stage preferred provider login credentials (720333f)
- code-review: harden atomic temp cleanup (5f38648)
- code-review: preserve colliding temp symlinks (b2f1853)
- codegen: publish Python types atomically (5a377f7)
- config-mutations: clean partial backup writes (a76df89)
- config-mutations: clean partial mutation temp writes (d15d2f2)
- config-mutations: harden mutation temp writes (0575557)
- config-mutations: preserve JSONC comments (e4852bf)
- config-mutations: preserve proto keys while pruning (ef335be)
- config: clean partial credential backup writes (ffb0627)
- config: clean partial invalid backup writes (3538f82)
- config: clean partial project init writes (2ec2c58)
- config: clean partial state temp writes (49b1df1)
- config: clean partial temp writes (1b487c4)
- config: harden config temp writes (b258e2a)
- config: harden state registry temp writes (e84bdc4)
- config: preserve legacy invalid backups (26c9d60)
- config: redact secret header keys in show (b6a23fd)
- config: redact secrets in config show (2d20e0e)
- configure: honor command-local yes flag (a0e5ea2)
- design-system: avoid cmd for windows browser opens (9b2febc)
- design-system: respect color support in spinner fallback (a3ec40c)
- docker: forward interactive shell signal (112aa2c)
- docker: keep env values out of argv (bc912bc)
- docker: reject remote workspace symlinks (577ac86)
- docker: wait for aborted run child exit (f9e39cc)
- e2b: cancel interactive pty shells (48f217c)
- e2e-test-runner: clean partial snapshot temp writes (3fef44e)
- e2e: harden proxy snapshot temp writes (319657e)
- e2e: redact proxy capture headers (e1a6348)
- e2e: reject symlinked snapshot roots (968cc1b)
- experiment-loop: clean partial persistence temp writes (fce100a)
- experiment: create run yaml exclusively (bedf7de)
- experiment: harden frontmatter temp writes (f2093c9)
- experiment: harden journal temp writes (59b4790)
- explorer: clamp detail scroll (2f903bc)
- explorer: honor disabled multi-select (7ec6f3f)
- explorer: measure display width when truncating (1dcc247)
- generate: redact poe api error bodies (ee37b91)
- generate: sanitize media mime extensions (eb40717)
- github-workflows: clean partial scan artifact temp writes (17dee55)
- github-workflows: clean partial workflow temp writes (690635f)
- github-workflows: harden trufflehog temp writes (4a184d8)
- github-workflows: publish installs atomically (27d020a)
- github-workflows: reject symlinked install parents (665675a)
- github-workflows: time out helper commands (5e40850)
- harness: create scaffold files exclusively (554381c)
- harness: drain captured wrapped command output (e04a01a)
- harness: guard cli default snapshots (485fdaf)
- harness: harden host-call store temp writes (bdd691c)
- harness: kill wrapped command process groups (170d8e7)
- harness: publish lint fixes atomically (7c9abd6)
- harness: reject noninteractive prompt paths (a96a16b)
- harness: reject symlinked job log dir (a5ada64)
- harness: reset activity on piped output (0483120)
- harness: stop handle after stdin write failure (b49fed8)
- hooks: harden cleanup temp writes (9c26d29)
- launch: follow logs from byte cursor (3773ddd)
- launch: observe partial readiness logs (85e95e7)
- launch: reject missing start values under yes (2b0c7be)
- launch: reject noninteractive start prompts (d8bfe86)
- launch: show progress while waiting for start (e605b33)
- login: block OAuth fallback under yes (a56ef32)
- loop: prompt before default agent without yes (0390ab9)
- loop: reject prompt paths without tty (ed65628)
- maestro: harden ralph plan temp writes (6779a78)
- maestro: reject symlinked workspace ancestors (086b2d9)
- maestro: return outcomes for unsupported drivers (31752f3)
- mcp-oauth: isolate custom file auth stores (94c2c3a)
- mcp: reject noninteractive agent prompt (b3dc47d)
- mcp: use design-system colors for tool help (cca33bd)
- memory: clean partial atomic temp writes (f4d9f8e)
- memory: clean partial init scaffold writes (da8f27b)
- memory: harden atomic temp cleanup (f0c67e7)
- memory: honor dry-run for cache clear (e07d02e)
- memory: reject symlinked ingest cache dirs (fbc3b1c)
- memory: reject symlinked memory root ancestors (c24e9c0)
- memory: reject symlinked search roots (0336a15)
- memory: require yes without tty for clear (38df74d)
- models: keep raw output parseable (e895b7b)
- models: reject invalid view and since filters (09eb4b2)
- openapi: publish generated files atomically (6e3de75)
- package: bundle tiny test server root bins (a78d1ec)
- packaging: declare braintrust optional sdk (392e2fa)
- pipeline: clean partial status temp writes (6e8a111)
- pipeline: harden plan status temp cleanup (77e6ec5)
- pipeline: harden status temp writes (839a3b9)
- pipeline: harden steps scaffold writes (73ddde3)
- pipeline: reject prompt paths without tty (88cff60)
- plan-browser: treat undefined tty as noninteractive (89e630e)
- plan: make destructive actions opt-in in json mode (41c2361)
- plan: prompt before default install agent without yes (272129f)
- plan: prompt for session agent without yes (dc14452)
- plan: reject prompt paths without tty (1e3b4cd)
- poe-agent: block read-mode shell expansion emitters (2dc5181)
- poe-agent: cap shell output retention (17bd72c)
- poe-agent: clean partial file create writes (19dbca6)
- poe-agent: clean partial file edit temp writes (62e6bd5)
- poe-agent: decouple shell notification drain (7047b64)
- poe-agent: harden file edit temp cleanup (a8638e0)
- poe-agent: include shell output on timeout (13d4351)
- poe-agent: reject compound read-mode shell wrappers (6b5a8ec)
- process-launcher: cancel workspace preparation (5a05bca)
- process-launcher: clean partial state temp writes (7cb0a51)
- process-launcher: escalate failed readiness stops (d71a47a)
- process-launcher: guard state temp writes (7620970)
- process-launcher: harden state temp writes (83974e2)
- process-launcher: publish manager json atomically (e937eab)
- process-launcher: reject symlinked launch roots (154e66b)
- process-launcher: rotate logs with rename (e2ba964)
- process-launcher: stop stale host children (8a5feaa)
- process-launcher: tolerate stop signal ESRCH (bb3920a)
- process-launcher: validate supervisor ids before launch (e9abf44)
- process-runner: preserve split docker log utf8 (5c8bf61)
- process-runner: unref docker control helpers (df52ac4)
- providers: derive shape default base urls (a0e0875)
- providers: honor auth storage keys (9054f9f)
- provider: validate shape base urls on login (81a7f40)
- ralph: harden frontmatter temp writes (6403cd0)
- ralph: publish init config atomically (d8e4d56)
- redaction: mask bare provider token strings (417f0e8)
- restore full unit suite baseline (6df3f37)
- runner: guard default log dirs against symlinks (0eb5ef6)
- runner: randomize download temp files (3420f98)
- runtime: buffer detached job log chunks by line (330ba4d)
- runtime: contain docker build contexts (7a0929e)
- runtime: create default Dockerfile exclusively (1f4d251)
- runtime: escalate stalled job stops (8d59643)
- runtime: honor jobs stop sync flag (682feea)
- runtime: preserve since log cursor (d54f3ef)
- runtime: redact prompt argv in job metadata (43d191a)
- sdk: defer Poe credential gate for providers (68396f3)
- sdk: resolve cwd for ACP spawns (bd68daf)
- skill-config: harden git exclude temp writes (1a250de)
- skill: default unconfigure scope with yes (ff49bcb)
- skill: prompt before default agent without yes (3bf3352)
- skill: reject noninteractive prompts without defaults (03bb086)
- spawn: avoid duplicate braintrust middleware (ac1a144)
- spawn: export stored credentials for interactive cli (5f6e6f6)
- spawn: expose resume and log filename flags (4a08379)
- spawn: forward stdin transport option (a928067)
- spawn: redact prompts in dry-run output (735a658)
- spawn: require mode choice without yes (36c67fd)
- spawn: require yes for unconfigured non-tty (7282234)
- strategy: harden config temp writes (d144ce7)
- superintendent: clean partial complete temp writes (f40d53e)
- superintendent: clean partial document temp writes (fe9fb89)
- superintendent: harden completion temp writes (14e8f42)
- superintendent: publish loop status atomically (9d083a6)
- task-list: clean partial atomic temp writes (6828690)
- task-list: clean partial lock writes (326450d)
- task-list: harden atomic temp writes (30acfa9)
- tasks: allow sync json without tty (6001d0d)
- tasks: fall back to gh auth token in
tasks verify(dd28bf8) - tasks: keep imported sources by default (93332e2)
- tasks: keep sync json output non-interactive (d04eb01)
- tasks: reject empty set updates (fc15cb7)
- tasks: require confirmation before project sync mutations (21ca099)
- tasks: use toolcraft-design import after package rename (144a423)
- temp: guard atomic temp cleanup (92a5b58)
- temp: guard remaining state cleanup (3a0c653)
- terminal-pilot: vendor private skill config (8e77eb2)
- terminal-png: clean partial png temp writes (d723917)
- test: preserve vitest config newline (8e02561)
- test: skip non-package directories in vitest aliases (d833f88)
- tiny-mcp: clear pending tool requests on abort (ca95164)
- tiny-mcp: preserve split utf8 stderr diagnostics (14d4709)
- toolcraft-design: parse YAML block scalars in frontmatter (624f9a3)
- toolcraft-landing-page: depend on toolcraft-design via * so release build orders it first (691d7dc)
- toolcraft-landing-page: publish site files atomically (df40b35)
- toolcraft-openapi: clean partial generated temp writes (7bfcbf1)
- toolcraft-openapi: guard generated cleanup symlinks (1a08e57)
- toolcraft: clean failed MCP cache staging files (1f5c1c1)
- toolcraft: clean partial mcp cache temp writes (3907302)
- toolcraft: harden mcp cache temp writes (2651927)
- toolcraft: redact secret-like http bodies (f987f3d)
- toolcraft: redact secrets from error report strings (84357e7)
- toolcraft: treat undefined stdout tty as plain (2c88f30)
- usage: show progress during api fetches (99b4600)
- usage: stop pagination prompts without tty (fd8746f)
- usage: validate pages option (1ba75ed)
- utils: clean partial backup copies (fbfa067)
- utils: create backups exclusively (0f889eb)
- utils: harden restore and media temp writes (e925dd2)
- utils: require symlink scope without tty (28f7a78)
- workspace-resolver: reject symlinked workspace roots (3ba65c2)
- workspace: reject symlinked github subdirs (6342fd0)
- worktree: clean partial registry temp writes (0951c2f)
- worktree: harden registry temp writes (eb4de5b)
Features
- cli: configure branded themes per entrypoint (9eb9ac1)
- design-system: add configurable brand themes (0131015)
- sdk: expose Poe auth identity lookup (faa11bb)
- spawn: expose native and neutral traces (c15b02e), closes #390 #391 #392
- toolcraft-design: document and support brand override (b24e3eb)
- toolcraft-landing-page: add responsive themes (4708d94)
- toolcraft: add landing page renderer (a4acc6a)
- toolcraft: add landing page site build (9f7b030)