Skip to content

v0.226.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 09:52
· 308 commits to main since this release
9926a54

v0.226.0 removes hosted chat publishing, a pre-release feature that was never used. It adds image thumbnails to the messages you send. It also fixes six problems: the Local model setup step and its connection test, memories that could fail to save while the database was busy, web searches that reported "no results" when they were rate-limited, chat export during a running turn, and a right panel that ran off narrow windows.

Added

  • Image thumbnails in your chat messages. Images you attach now show as small thumbnails in your message. Click one to see a larger preview. Only the thumbnail is saved with the chat, not the full-size image. File attachments keep their filename labels. (#4700)

Removed

  • Hosted chat publishing and its chat.publish developer flag. The hosted viewer it needed was never built, so the feature could not leave pre-release. Removed: the /publish command, the tab menu item, Settings ▸ Publish, the publish and published-links routes, and the publish.endpoint_url, publish.timeout_seconds and publish.revoke_endpoint_url config fields. /export is unchanged. (#4701)

Fixed

  • The Local model setup step is shorter, and large local models have time to load. The step lists only the servers you can use, picks the model from a dropdown, and puts the endpoint under "Use a different address". The connection test runs on its own, and a failed test offers Try again. Testing a model running on this machine now waits up to two minutes instead of 20 seconds, so a large model that is still loading no longer fails with a timeout. Hosted endpoints keep the 20-second limit. (#4706)
  • A memory could fail to save when the database was busy. With several writes running at once, saving a memory could fail with "database is locked" and the memory was lost. Memory writes now take the database lock first and retry briefly. (#4705)
  • web_search no longer reports a rate-limited search as "no results". A throttled DuckDuckGo search is retried once after a short wait, on another backend when one is available. If both tries fail, the tool says the search failed or was rate-limited. "No results" now means a search that actually ran and found nothing. (#4690)
  • A scheduled retry no longer ends the turn without saying why. When the agent schedules a retry after a tool fails, it is now told to say what went wrong and what will run next. Before, it could end the turn with a bare "I'll pick this back up". Scheduling itself is unchanged. (#4688)
  • Chat export works during a running turn. Exporting a chat while a reply is still being generated no longer waits for the turn to finish. The export contains the chat as last saved, is marked as still in progress, and leaves out tool calls that have not been answered yet. (#4691)
  • The right panel stays inside the window. A right panel saved wider than the current window now shrinks to fit. It goes back to its saved width when the window gets wider again. (#4693)

Upgrading

  • Hosted chat publishing is gone: /publish, Settings ▸ Publish, its routes and the publish.* config fields. It was behind a developer flag that was off by default, and its hosted service never existed, so almost nobody is affected.
  • If your config.yaml still has a publish: section, it is ignored, and it is kept when settings are saved. Any published_links.json file stays on disk.
  • /export is unchanged. There is nothing else to change, and no restart is needed beyond the normal update.

What's Changed

  • feat: Flaky test_show_component_refuses_code_ref: find the test that leaves get_all_tools/tools.lg_tools mutated, make it restore state, and import show_component directly (#4667) by @mabry1985 in #4689
  • feat: Chat export returns at once during a running turn: read the checkpoint without the per-thread lock, flag in_progress, never emit a half-written tool call (#4652) by @mabry1985 in #4691
  • feat: web_search: retry a failed/throttled ddgs search once with backoff + alternate backend, and say plainly "rate-limited/failed" vs "no results" (#4578) by @mabry1985 in #4690
  • feat: test_plugin_reload_leak: gc scan skips weakref proxies so a dead proxy elsewhere on the heap can't raise ReferenceError (#4685) by @mabry1985 in #4692
  • feat: schedule_task / wait results tell the model to say what failed and what will happen before ending the turn on a retry (#4651) by @mabry1985 in #4688
  • fix(console): adopt DS 0.68.6 so the right panel stays inside the window by @mabry1985 in #4693
  • feat: Flaky test_manager_resolves_the_registry_allowlist at full-suite scale: reproduce single-process, find the real divergence, pin it (#4617) by @mabry1985 in #4694
  • fix(tests): an overdue developer flag warns instead of failing CI by @mabry1985 in #4696
  • docs(evidence): record the #4561 first-run acceptance pre-check by @mabry1985 in #4695
  • chore(ci): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #4687
  • chore(flags): give secrets-panel a new remove-by date by @mabry1985 in #4697
  • fix(tests): stop leaking websocket tasks that cancel later tests by @mabry1985 in #4699
  • test(console): pin the right panel inside a narrower window (#4686) by @mabry1985 in #4698
  • feat(console): show attached images as thumbnails in the user's chat bubble by @mabry1985 in #4700
  • chore(changelog): name the #4700 fragment after its issue by @mabry1985 in #4703
  • fix(knowledge): take the write lock up front in add_chunk, with bounded retries by @mabry1985 in #4705
  • fix(setup): shorten the local model step and let local models load by @mabry1985 in #4706

Full Changelog: v0.225.0...v0.226.0