Skip to content

v0.3.288

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:13
1d226e7

0.3.288 (2026-11-06)

Breaking Changes

  • environments with google-genai 2.x fail the validate_google_client version check. Install google-genai>=3.0.0.
  • Evaluations using the automatically generated Docker sandbox must provide an explicit image if they need the nonroot account, pipx, or Playwright browser dependencies.
  • Replace calls to web_browser() or its web_browser_tools() alias with web_search() for retrieval, or computer() / sandbox MCP tools for browser interaction; see #5497 for migration options.

Features

  • a runtime can keep a react() or deepagent() loop going after it answers (#6212) (cea079d)
  • custom tools inside a sandbox identity scope run as the scope's user (#6316) (572e288)
  • experimental transcript events for agent communication and agent swarm evidence (#6164) (cba2b16)
  • inspect ctl sample agent lists a sample's named agents and messages, pauses, resumes or stops them (#6297) (0a56f69)
  • remove deprecated web browser tools (#6264) (de4b309)
  • run each agent's sandbox tools as its own user (#6190) (f59945e)
  • sentinel: replay logs that do not record model-call origins, with turns inferred from the timeline (#6098) (7cf09c9)
  • use the official Python image for default Docker sandboxes (#6238) (cb7645f)

Bug Fixes

  • inspect view no longer terminates an unrelated process that reused a crashed server's pid (#6247) (689a92e)
  • a bridged agent's retries after a limit no longer pay for a compaction each (#6304) (3c75374)
  • a sample limit reached by overlapping bridged generations ends the sample after an inner limit (#6263) (642ee4b)
  • aborting one task while a sample fails no longer stops the whole run (#6272) (1ddc34d)
  • agent-bridge: Gemini tool calls through the chat completions bridge keep their thought signatures (#5892) (00d9882)
  • an interrupted agent turn no longer breaks the conversation on Bedrock or Google, or leaves its tool calls pending in the log (#6296) (c0f2e42)
  • avoid tenacity 9.2.1 'initial' DeprecationWarning in retry backoff (#6196) (9498a0a), closes #5989
  • batch result send failure no longer crashes the eval (#6233) (ae3af35)
  • bedrock: enable adaptive thinking on Claude 5 (#5941) (bfc7c72)
  • closing the task cancel dialog no longer clears a pending drain or cancel (#6250) (242da5f)
  • computer() keeps its latest screenshots when other tools have also run (#6180) (3d31a1d)
  • cost limits now count calls that trip a token limit (#6349) (829f1b9)
  • dataframe column paths with [*] rejected under jsonpath-ng 1.16.0 (#6318) (1a04094)
  • Docker exec with a timeout returns a command's own exit 124 instead of raising TimeoutError (#6183) (706b4c5)
  • don't score an earlier grade when the final verdict line can't be parsed (#6198) (c7fa0d2)
  • evals_df() model_args column shows the model args instead of the (7e0c5a0)
  • evals_df() model_args column shows the model args instead of the base URL (#6172) (7e0c5a0)
  • exec_remote returns fast commands without a fixed 5 s poll wait (#6313) (7b62abc)
  • google: batch requests with thought signatures or inline media serialize to JSON (#6242) (e08662f), closes #6214
  • google: failed, cancelled or expired batch jobs no longer hang their samples (#6234) (4499e04)
  • google: Gemini 3 400 error when replaying a web search and a parallel function call (#6289) (e84896e)
  • google: streamed responses drop signed generated images (#6241) (6ba3296)
  • harden model-graded scorer prompts against fake data markers in the graded answer (#6282) (e016fe2)
  • human approval cancelled as it is answered no longer fails with KeyError (#6266) (87f5016)
  • keep cached responses separate when model arguments change (#6271) (d30b973)
  • old logs read back with different message ids and working_start on every read (#6103) (75692ec)
  • on_task_end hook not called when a task is cancelled or fails (#6273) (c678272)
  • openai: cancelled or expired batches no longer hang their samples (#6249) (bc4dda0)
  • read ctl --file stdin with click.open_file (#6336) (5f6910e)
  • read_eval_log(exclude_fields={"events"}) no longer fails on samples (8e0ae3e)
  • read_eval_log(exclude_fields={"events"}) no longer fails on samples with timelines (#6173) (8e0ae3e)
  • report closed exec_remote stdin consistently (#6343) (1a9fb3d)
  • require google-genai>=3.0.0, accept Gemini /v1/ on sandbox proxy, default Developer API to v1beta (#6352) (39d40bc)
  • retry sample buffer connect when a sibling removes its directory during mkdir (#6305) (27f18ff)
  • sample event stream ownership and cancellation cleanup (#5737) (cb9eae3)
  • sandbox exec_remote returns the command's exit code when it exits just before a kill (#6251) (9619c27)
  • sandbox tools installed by another Inspect release are no longer reused (#6302) (09f1ba3)
  • show prerequisite errors when the display is disabled (#6229) (14fd618)
  • show the import error when a required hook's package fails to load, and keep checking on later calls (#6257) (15c780b)
  • throttled display updates stop firing after an error or a cancelled eval (#6248) (a156049)
  • tool_with() keeps a tool's current name and descriptions unless they are passed, so renaming an MCP tool works (#6181) (ae224b7)
  • tools in a sandbox identity scope get the scope user's HOME, not one the image sets (#6276) (325942c)
  • verify every non-dev sandbox-tools binary before inject (#6342) (2d902ba)

Performance Improvements

  • share logged model-call messages across calls (#6047) (c3360ce)