v1.0.0

Effect-TS/effectv1.0.0Oct 2, 2026by github-actions[bot]

Upgrading?

Key Highlights

  • Introduces three explicit commands: `serve` for the Realtime server, `talk` for the packaged microphone/speaker client, and `local` for running both in one terminal.
  • Adds Qwen3-ASR, OpenAI-compatible STT/TTS endpoints, stateful OpenAI Realtime transcription, experimental vLLM Realtime transcription, and optional OmniVoice and Supertonic TTS.
  • Improves ordered text, audio, and tool-call output; transcript and content-part events; interrupted responses; remote-request cancellation; and session cleanup.
  • Updates Apple Silicon setup with refreshed MLX dependencies and a default 4-bit `mlx-community/Qwen3-4B-Instruct-2507-4bit` LLM with 6-bit Qwen3-TTS.
  • Makes full transcript logging opt-in via `--log_transcripts`, with operational logs omitting conversation text by default.

Breaking Changes

  • Scripts and service definitions must use explicit commands: `speech-to-speech` becomes `speech-to-speech serve`, `--mode realtime` becomes `serve`, and `--mode local` becomes `local`.
  • The `--mode realtime` and `--mode local` forms only work temporarily with a deprecation warning; other mode values including `socket` and `raw-websocket` are removed.
  • Raw PCM clients must migrate to the Realtime WebSocket or WebRTC API because old raw transport flags are no longer accepted.
  • The `--mac-optimal-settings` preset no longer selects a command; use `local` or `serve` explicitly.
  • `serve` now binds to `127.0.0.1` by default, requiring an explicit `--host` for network access.
  • The default hosted LLM is now `gpt-5.6-terra` with reasoning effort `none`; deployments depending on a specific model should pin `--model_name`.
  • The redundant `facebook-mms`, `language-detection`, and `websocket` installation extras were removed and their dependencies folded into the standard package.

New Features

  • `serve` command for running the Realtime server
  • `talk` command for the packaged microphone/speaker client, including local tool execution with `--tool-module`
  • `local` command for starting server and client together
  • Qwen3-ASR speech recognition backend
  • OpenAI-compatible STT and TTS endpoints
  • Stateful OpenAI Realtime transcription
  • Experimental vLLM Realtime transcription
  • Optional OmniVoice and Supertonic TTS backends
  • `--log_transcripts` for opt-in full transcript logging
  • `--local_audio_block_mic_during_playback` to reduce speaker feedback
  • Browser demo using the OpenAI Agents SDK with WebSocket and WebRTC integration tests
  • README guidance for local Mac, local NVIDIA, hosted-LLM, shared llama.cpp, and offline setups

Full Release Notes

## [1.0.0] — 2026-10-02

Implements AHP 1.0.0.

### Added

- `AuthenticateParams.expiresIn` carries an OAuth access token's remaining lifetime in seconds.
- `SessionSummary.chats`, `SessionChatSummary.interactivity`, and `SessionSummary.defaultChat` expose lightweight chat navigation data without requiring a session subscription.
- `chat/isArchivedChanged` action for archiving a chat independently of its session.
- `ChatState.changesets` and `chat/changesetsChanged` expose each chat's changeset catalogue through the subscribed chat channel.
- `AutomationDefinition.disableConditions` supports `afterRuns` (`max`) and `afterDate` (`date`) rules combined with logical OR, with at most one condition per kind. Host-owned `AutomationEntry.runCount` tracks the current scheduled-run allowance. Edit conditions through `automation/updateRequested`: omission leaves them unchanged, an array replaces them, and `[]` removes all conditions without re-enabling the automation.
- `ChangesetStatus.Recomputing` distinguishes refreshes of a completed result from initial changeset computation.
- `ConfigPropertySchema.minItems` and `ConfigPropertySchema.maxItems` express array cardinality for `type: "array"` config properties. (#432)
- `McpServerStartingState.blocking` flag indicating that message processing may be held on the server, and the client-dispatchable `session/mcpServerBackgroundRequested` action asking the host to background such a startup.
- `AutomationSessionTemplate.customizations` lets automations carry client plugins (skills, agents, prompts, rules) that the host captures when the definition is saved, with the host-owned copies reported in `AutomationEntry.customizations` and support advertised by `AutomationCapabilities.customizations`.
- Hosts can advertise chat-owned canvas channel references and synchronize live presentation metadata and source URLs on experimental per-canvas channels.
- Atomic stable-URI `moveChat` transfer and same-session ordering for host-authorized chats, with per-chat `movable` discovery and durable authoritative catalogs.
- Expose chat-owned background work (background shells and subagents) in chat state, with `chat/backgroundWorkSet` and `chat/backgroundWorkRemoved` actions independent of turn lifetime.
- `ChatSummary.changes` and `ChatState.changes` provide aggregate file-change counts without requiring a changeset subscription.
- `SessionChatSummary.status` exposes per-chat archived state via `SessionStatus.IsArchived` in the lightweight chat catalog without requiring a session subscription.
- `chat/isReadChanged` action and optional `SessionChatSummary.status` projection for independently tracking the status of any known chat, including the default chat; the status bitset replaces the unreleased `isRead` and `archived` catalog fields.
- `SessionChatSummary.changes` exposes per-chat change counts in the lightweight chat catalog without requiring a session subscription.

### Changed

- Historical `ToolResultTerminalContent.resource` subscriptions return lazily reconstructed exited terminal state with retained output.
- `FileEdit` and preview `edits` now use named models in generated SDKs. This breaks affected SDK APIs but keeps JSON shapes unchanged.
- Advertise only the 1.0.0 and 0.9.0 protocol compatibility baselines independently of the development version. Host-side negotiation helpers select the highest client-offered version within either caret-compatible range and report malformed offers explicitly.

Related Repositories