L4 0.2.7
Agents gain embedded Pi execution, named model connections and conversation controls. This release also protects private DM history, adds private-channel membership management and reduces repeated RealtimeKit provisioning.
- Pi persists and recovers conversation state inside the Run SQLite Durable Object. Model calls and tools pass through the Server's governed gateway, with role/resource checks, usage accounting, streaming activity, durable tool-call deduplication and cancellation. OpenRouter connections can enable web search.
- Agent conversations live in the Agents app. Replies start in threads with the original message visible. The composer combines provider/model selection, queues messages sent during work, offers Steer for queued messages and shows Stop during active work. The directory shows the latest agent reply and working status; unsupported call and participant controls are hidden in direct Agent conversations.
- Server settings separate Agents, Providers and owner-only Audit. Search and pagination keep lists bounded. Operators can create multiple named OpenRouter, OpenCode, OpenCode Go, Claude and ChatGPT/Codex connections, choose models from provider catalogs and set Server, Agent and conversation defaults. Provider credentials are encrypted; saved API keys expose only masked fragments.
- Continue with ChatGPT uses OAuth with PKCE, validated identity and renewable encrypted credentials; remote Servers have a loopback helper. Subscription inference is restricted to the Member who connected the account. Pi remains the execution runtime.
- My Settings separates OAuth Connected apps from owner-managed manual Access tokens. Tokens act as the selected Human or Agent within its current Role, resource access and scopes. MCP URLs have Copy actions. Settings search ignores unsolicited autofill, Agent tabs keep stable geometry and the app rail no longer fades beneath the account panel.
- A 1:1 DM rejects participant additions. New group with… creates a separate conversation without exposing the pair's history. Groups keep their identity when membership shrinks, track their creator, allow creator-managed removal and support self-leave. Agent admission requires Use agents. Historical groups are not assigned a guessed creator; adding someone to a group grants access to its existing history.
- Members of a private Server channel who hold Manage channels can add or remove active Members. Server ownership alone grants no admission. Removal revalidates channel/Thread WebSockets and Live seats, cancels pending private notifications and clears revoked conversation caches. Private file responses use no-store. DM, Mailbox and task-discussion access keep their own rules.
- RealtimeKit REST app/preset metadata is cached per account in D1 and provisioning is serialized through the Server Durable Object. Concurrent joins share setup, a definite 404 can trigger one coordinated repair, and existing meetings never move to a replacement app. Credentials remain in deployment bindings.
- Agent/Runner images use Node 26.11.1 with explicit pinned pnpm installation; Runner uses Docker CLI 29.9.1. The Server/build toolchain stays on Node 24. Self-host and Coolify update RustFS to 1.0.3 and AWS CLI to 2.38.2; the Caddy gateway uses 2.11.6. GitHub Actions stay SHA-pinned, including upload-artifact 7.0.2.
- Dependency maintenance, CodeQL, dependency-review and public security/contribution guides are now configured. PR checks gate newly introduced findings; the separate scheduled audit tracks existing dependency advisories. Passing these checks is not a claim that the vulnerability backlog is empty.
- Client update discovery and settings Escape handling are fixed. Backend development builds regenerate headers instead of accumulating duplicate rules, retain the last working generation after compilation errors and recover on the next corrected build.
Validation includes 824 unit/component tests on the combined changes, type checks, lint, immutable migration checks, builds, independent Server integration, isolated Pi execution, local-stack error recovery and self-host install/cold restore. Every merged PR passed its required CI/security checks and exact-commit Web Preview health verification. Live ChatGPT subscription sign-in/inference, live OpenCode/Claude accounts and physical RealtimeKit media calls were not exercised for this release.
This release appends 0011_dm_privacy within the server-v1 schema lineage. The official site, Shell, standalone Server, portable amd64 runtime, VPS installer and version-pinned Docs share version 0.2.7. Customer Servers remain pinned until their operators select the update and complete the verified backup/update flow. Native iOS/macOS packaging remains frozen.
Assets and checksums: GitHub release v0.2.7