Runs dropped the bot's name, title and description whenever custom instructions existed, always stated the time in UTC, and knew the user only through free-form durable memory. Groups with a lead, like the main conversation, still got the peer-group lines that forbid handing work back. And every group follow-up run failed during setup: the inbound handoff lookup selected a `bot` relation that Message does not have, which Prisma rejects. - Instructions now open with the bot's identity, then its own instructions, a main-agent role paragraph for the main bot, the current time in the user's time zone with its offset (UTC when unknown), and a `<user>` block built from loadUserContext: profile fields and the active facts visible in the run's space, escaped, clipped and framed as data rather than instructions. Runs that reply in a shared messaging channel get only the name, zone, locale, language and style, matching how those runs already leave out durable memory. - run_subagent helpers receive the identity, time and user block through a new optional AgentRunRequest.subagentContext instead of nothing. - Groups with an active lead get lead and specialist lines and matching inbound handoff instructions. Members may hand a stage back to the lead and the lead may delegate the next stage; the bounce rules still apply between members. Ordinary groups keep today's lines. - The teammate directory is rendered only when the run has message_bot, which group runs never have, and tool guidance names a tool only when the run has it. - The auto-review judge, history compaction and the team chat judge read the time in the user's zone, and schedule_create defaults to it. - The inbound handoff sender is read from the handoff block and looked up among the user's bots; a Postgres test covers the follow-up run, the prompt it receives, and handing the result back to the lead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
47 lines
3.2 KiB
Markdown
47 lines
3.2 KiB
Markdown
# Changelog
|
|
|
|
Notable product changes in evOo. See GitHub Releases for tagged builds.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
|
## [Unreleased]
|
|
|
|
### Fixed
|
|
|
|
- In group chats, the bot receiving a handoff (and every other follow-up run in a group) failed before it started, because the handoff sender was looked up through a relation messages do not have.
|
|
- Bots with more than 20 MCP tools failed on every Claude model behind a Claude Pro/Max/Team sign-in with "You're out of extra usage": Anthropic rejects Claude Code OAuth requests that carry a tool named `mcp_*`. The lazy catalog wrappers are now `connectors_search_tools`, `connectors_load_tool` and `connectors_execute_tool`.
|
|
|
|
### Changed
|
|
|
|
- Every run's system instructions now state the current date and time in the user's time zone (UTC when it is unknown), so bots judge deadlines, recency and scheduling from the real present instead of guessing it from training data or quoted timestamps. New schedules default to the user's time zone.
|
|
- Every run knows who it is and who the user is: instructions open with the bot's name, title and description even when it has custom instructions, followed by the user's profile and facts as data. Group chats with a lead, like the main conversation, have the lead decide and delegate while specialists answer in their lane and hand results back.
|
|
- Connect Slack, WhatsApp Business Cloud, or Telegram DMs to a bot from Messaging settings, alongside iMessage/SMS. Each app can use a different bot. Group conversations remain iMessage-only.
|
|
- Model picker includes Grok 4.6 (xAI) and Ox Alpha Free / GLM-5.3 (OpenCode Go).
|
|
|
|
### Added
|
|
|
|
- Voice mode: spoken replies, hold-to-talk dictation, and half-duplex calls with ElevenLabs, OpenAI, Cartesia, or Fish Audio.
|
|
- Desktop owners using Docker can opt into running bot shell commands directly on their computer. This grants access under the owner's OS account; see [computer providers](docs/self-host.md#choosing-a-computer-provider).
|
|
- GitHub Copilot and SuperGrok / X Premium sign-in for model access.
|
|
- Spawn peer bots (each with its own thread and computer) and short-lived in-thread subagents.
|
|
- ChatGPT Plus or Pro sign-in for model access.
|
|
- Mobile: point the app at a self-hosted API origin, a native iOS inbox, and take control of the live desktop.
|
|
- Provider-neutral integrations: managed apps through Composio or Pipedream Connect, plus encrypted user-installed Treg, HTTPS MCP, and OpenAPI tool sources on web and mobile.
|
|
- Disconnect connected Composio plugins.
|
|
- Routines in plain language instead of raw cron.
|
|
|
|
### Removed
|
|
|
|
- Nonfunctional Grant folder picker in the desktop app.
|
|
|
|
### Messaging upgrade notes
|
|
|
|
- Webhooks use `/api/v1/messaging/webhook/<provider>`; the previous Sendblue path remains supported.
|
|
- Configure credentials for each messaging provider in `.env`; see [.env.example](.env.example).
|
|
- Unknown senders are ignored by default. `MESSAGING_OPEN_SIGNUP=true` restores automatic account
|
|
creation from incoming messages and requires a deployment model key.
|
|
|
|
## [0.1.0-beta] - 2026-08-13
|
|
|
|
Initial public beta: web, Electron, and Expo clients; Pi runtime; Docker and E2B computers; plugins; one thread, computer, memory, routines, and history per bot.
|