Releases: VRSEN/agency-swarm
v1.9.7
Patch release for Agent Swarm TUI / browser-auth history replay.
Changes:
- Fix stateless OpenAI Responses reasoning replay when browser-auth runs with store=false.
- Request reasoning.encrypted_content for store=false replay paths.
- Sanitize legacy unencrypted reasoning spans before replay.
- Preserve per-run ModelSettings boundaries and avoid leaking resolved agent settings into reusable RunConfig objects.
- Add focused coverage plus a live OpenAI stateless reasoning replay proof.
What's Changed
Full Changelog: v1.9.6...v1.9.7
v1.9.6
Patch release for structured FastAPI message attachments used by AgentSwarm TUI file attachment flows.
What's Changed
- fix: allow structured FastAPI message attachments by @nicko-ai in #639
- Accept structured Responses-style message attachments in FastAPI requests.
- Preserve streamed Codex output ordering and function-call deduplication.
- Document that manual chat_history clients must replay required inline attachment parts unless they use future server-managed state or durable file IDs.
Full Changelog: v1.9.5...v1.9.6
v1.9.5
v1.9.4
v1.9.3
Bugfixes
This patch preserves the documented client_config.base_url + litellm_keys proxy pattern, only strips the Codex OAuth base_url when the target provider is non-OpenAI-compatible, and adds focused tests around the provider-scoped behavior.
v1.9.2
Bugfixes
- Contain Agent Swarm CLI TUI bridge output to the bridge thread and its async children so other threads' stdout/stderr/logging no longer get silenced (#618).
Features
- Per-request agent model override via
client_config.modelin FastAPI requests. Callers can swap an agent's model for a single request while preserving the agent's existing transport (OpenAI client or LiteLLM base_url/api_key), GPT-5 model-family defaults, and OpenClaw usage aliases (#621).
v1.9.1
Bugfixes
- Fix browser-auth "Store must be set to false" 400 from the Codex Responses backend when generating chat titles and when request-scoped client overrides retarget agents to Codex (#612).
- Contain Python bridge stdout/stderr writes and existing stream-handler logger output so they no longer leak into the Agent Swarm CLI TUI; replaces the previous print()-only trap with stream-level containment (#613).
- Pin Agent Swarm CLI to 1.4.12, which recovers local Agency Swarm session memory across loopback port changes (VRSEN/agentswarm-cli#64 in agentswarm-cli).
v1.9.0 - Agent Swarm TUI and OpenClaw
This release centers three visible changes: a single command for opening the Agent Swarm TUI, OpenClaw support inside Agency Swarm, and more control over FastAPI requests for OpenAI and LiteLLM models.
If you're new to Agency Swarm, here's the short version:
- Agent Swarm TUI: run
npx @vrsen/agentswarmfrom your project root. On first launch, the TUI can select or create a project, prepare.venv, install dependencies, and open localAgent Buildermode. See the Agent Swarm CLI docs. - OpenClaw support: expose OpenClaw through Agency Swarm's FastAPI integration and use
OpenClawAgentfor worker-oriented flows. See the OpenClaw marketplace docs and OpenClawAgent docs. - Request-scoped FastAPI control: for OpenAI and LiteLLM models, change
base_url,api_key, headers, and LiteLLM provider keys for one request at a time. - Run-scoped multi-agent control: runs can keep their own agency context, use the public
streaming_contextfield, and refresh recipient reminders after manual handoff switches.
Compatibility Notes
These notes call out the small number of limits and behavior changes you may notice after upgrading.
npx @vrsen/agentswarmis now the main terminal launch path.agency.tui()is still supported as the Python-first path, andterminal_demo()remains a backward-compatible alias.tui(show_reasoning=False)is not supported in the new TUI yet.- FastAPI is stricter in a few useful ways: wildcard CORS origins no longer keep credentials turned on automatically, and the metadata response now shows absolute
allowed_local_file_dirsentries.
Features
The main additions in this release are a simpler way to open the TUI, built-in OpenClaw support, and more control over FastAPI requests and agent runs.
-
Open the Agent Swarm TUI with one command by @bonk1t in #566, #572, #574, #577, #581, #584, #589, #590, #601, #602, #603, and #608
- What changed:
npx @vrsen/agentswarmis now the main way to open the TUI. On first run, it can help you choose or create a project, set up.venv, install dependencies, and open localAgent Buildermode.agency.tui()still works for Python-first projects. See the Agent Swarm CLI docs. - Why it matters: New users now have one clear way to start, while existing Python-first projects can keep
agency.tui().
- What changed:
-
OpenClaw runtime, proxy, and agent support inside Agency Swarm by @bonk1t in #540, #554, #582, and #583
- What changed: Agency Swarm now includes OpenClaw runtime and proxy support, the
openclaw:mainalias, a worker-focusedOpenClawAgent, replay coverage, and dedicated docs and marketplace coverage: OpenClaw marketplace docs and OpenClawAgent docs. - Why it matters: OpenClaw can now be exposed and operated through Agency Swarm using the built-in runtime, proxy, and agent paths.
- What changed: Agency Swarm now includes OpenClaw runtime and proxy support, the
-
Request-scoped FastAPI client overrides by @ArtemShatokhin in #518
- What changed: For OpenAI and LiteLLM models, each request can bring its own
base_url,api_key,default_headers, and LiteLLM provider keys. CustomModelsubclasses keep their current behavior. - Why it matters: This makes it easy to send one request through a different provider, environment, or header set without changing the rest of your app.
- What changed: For OpenAI and LiteLLM models, each request can bring its own
-
Run-scoped agency context and public streaming state by @bonk1t in #555, #558, and #561
- What changed: Runs can use isolated agency context, and
streaming_contextis now the supported public path instead of private state access. - Why it matters: Multi-agent streaming and per-run isolation are easier to extend without relying on private framework internals.
- What changed: Runs can use isolated agency context, and
-
Simpler custom
SendMessageextensions and better handoff control by @bonk1t in #564 and #597- What changed: Custom
SendMessagetools can define inline fields more easily, and recipient reminders refresh when users manually switch agents after a handoff. - Why it matters: Tool customization is simpler, and handoff-heavy flows stay aligned with the active recipient.
- What changed: Custom
Improvements & Fixes
This release also fixes several FastAPI and file-handling issues and refreshes the framework default model.
-
Safer FastAPI and file handling by @bonk1t, @ArtemShatokhin, and @RinZ27 in #537, #547, #548, #553, #557, #559, and #560
- What changed: Remote PDF fallback is more reliable, header overrides now work correctly even when there is no baseline OpenAI client, downloads no longer collide or leak temp files, wildcard CORS origins now disable credentials automatically, and metadata now shows absolute
allowed_local_file_dirsentries. - Why it matters: FastAPI deployments are more predictable under real traffic, file-heavy flows, and wildcard-origin setups.
- What changed: Remote PDF fallback is more reliable, header overrides now work correctly even when there is no baseline OpenAI client, downloads no longer collide or leak temp files, wildcard CORS origins now disable credentials automatically, and metadata now shows absolute
-
Framework default model now uses
gpt-5.4-miniinstead of the SDK'sgpt-4.1by @bonk1t in #578, #580, and #591- What changed: Agency Swarm's framework default model is now
gpt-5.4-minirather than the SDK'sgpt-4.1. - Why it matters: Agents that rely on framework defaults now start from the model family Agency Swarm is actually tuned and tested against.
- What changed: Agency Swarm's framework default model is now
Docs
The public docs now cover the new user_context, FastAPI, and tool streaming paths.
- Docs and examples for
user_context, FastAPI, and tool streaming by @MykhailoShchuka, @ArtemShatokhin, and @bonk1t in #508, #546, and #556- Adds public docs for
user_contextand widget control, expands the FastAPI example, and adds tool streaming guidance.
- Adds public docs for
Other Work
Tests
These changes also come with broader test coverage across the TUI, OpenClaw, FastAPI, and runtime paths.
- Quality, typing, and release hardening across TUI, OpenClaw, FastAPI, and runtime paths by @bonk1t in #542, #545, #549, #563, #575, and #576
- Tightens coverage, typing, hosted-tool tests, OpenClaw-adjacent checks, and oversized test structure so the new runtime paths ship with broader automated coverage.
New Contributors
Full Changelog: v1.8.0...v1.9.0
v1.8.0 — Present and Accounted For
This release improves first-message UX, cross-provider history compatibility, and metadata visibility while tightening LiteLLM release validation and upgrading the OpenAI Agents SDK. In short: better defaults, cleaner migration paths, and safer release behavior.
Breaking Changes
This release continues the v1.x cleanup and standardization work around guardrail/runtime APIs.
- Input guardrail runtime flag migration by @bonk1t in #532
- Canonical runtime flag is
raise_input_guardrail_error. throw_input_guardrail_errorremains as a deprecated alias.return_input_guardrail_errorsis removed and now fails fast with migration guidance.
- Canonical runtime flag is
- Handoff export clarification by @bonk1t in #532
Handoffnow maps to Agency Swarm’s handoff tool export.- OpenAI Agents SDK handoff is exported as
SDKHandoff.
Features
These additions improve out-of-the-box UX in both agent behavior and API metadata.
- Built-in
PresentFilestool by @ArtemShatokhin in #520- Moves files into the configured preview directory with overwrite/symlink safety and preview metadata output.
- Conversation starters + quick replies cache improvements by @bonk1t in #519 and #526
- Adds
quick_repliessupport for cached first-message replay. - Hardens cache fingerprinting (including shared instructions/streaming context) and cache skip rules for override/hook paths.
- Adds
- Expose tool input schemas in metadata by @bonk1t in #523
- Function tool schemas are now available in metadata for richer UI/client generation.
- Web search sources enabled by default by @bonk1t in #530
- Enables source inclusion by default and adds shared source extraction utilities.
- FastAPI server example polish by @bonk1t in #529
- Refreshes the server example to demonstrate clearer inter-agent routing and typed calculation tooling.
Improvements & Fixes
This release puts significant focus on history correctness across model backends and release-check stability.
- History protocol compatibility hardening by @bonk1t in #525
- Persists protocol metadata consistently, rejects incompatible mixed history, and improves LiteLLM ↔ Responses replay behavior.
- RunItem persistence refactor by @bonk1t in #527
- Switches to typed
RunItem.raw_itemattribute access in stream persistence paths.
- Switches to typed
- OpenAI Agents SDK upgrade by @bonk1t in #535
- Bumps
openai-agentsto0.9.3and refreshes lock metadata.
- Bumps
- Release-check unblock and LiteLLM test hardening by @bonk1t in #536
- Fixes LiteLLM integration test path/import issues and aligns test/CI validation for release gating.
Docs & Process
- Guardrails docs split + onboarding refresh by @bonk1t in #533
- AGENTS process-rule tightening (branch sync/review loop) by @bonk1t in #534
Full Changelog: v1.7.0...v1.8.0
v1.7.0 — Cache Me If You Can
This release introduces conversation starters with caching and metadata support, stronger validation, and cleaner FastAPI/MCP behavior, plus a round of stability work in tests and docs.
Breaking Changes
This release completes the v1.x transition by removing deprecated v0.x APIs. If you're still using old patterns, see the Migration Guide.
- Removed deprecated Agency APIs (
agency_chart, completions proxy,message_files), enforced strict Agent kwargs, and removed legacy reminder override behavior. SendMessageno longer accepts themy_primary_instructionsfield. Remove it from tool payloads to avoid schema errors.get_agency_structureis deprecated. Useget_agency_graphfor nodes/edges andget_metadatawhen you need the full metadata bundle.SendMessageHandoffis deprecated and renamed toHandoff.
Features
- feat: conversation starters cache and metadata by @bonk1t in #516:
- Exposes conversation starters in agency graph/FastAPI metadata, adds a cached starter-prompts system with fingerprinting and warmup for sync/streaming runs, removes deprecated completions paths, and refreshes related docs/tests.
- Add shared resource parameters to the agency class by @ArtemShatokhin in #502:
- You can now pass shared tools, tool folders, files folders, and MCP servers once, and have them applied to every agent (with shared vector store support and FastAPI wiring).
- Add local file path support to file urls by @ArtemShatokhin in #498:
- FastAPI now accepts local file paths in
file_urlswhenallowed_local_file_dirsis set, with strict allowlisting, better error reporting, and updated AG-UI handling.
- FastAPI now accepts local file paths in
- Add dynamic client configuration override to fastapi endpoints by @ArtemShatokhin in #503:
- Each request can now override
base_urlandapi_key(and LiteLLM provider keys) viaclient_config.
- Each request can now override
Improvements
- Remove my_primary_instructions by @bonk1t in #499: Simplified
SendMessageschema by removing the redundantmy_primary_instructionsfield. - chore: bump openai-agents to 0.6.4 by @bonk1t in #497: Upgraded
openai-agents(andopenai) and tightened runtime tool type checks so invalid hosted tool inputs are caught earlier. - rename SendMessageHandoff to Handoff by @bonk1t in #507: Introduced
Handoffas the preferred tool name, keptSendMessageHandoffas a deprecated alias, and refreshed docs/tests to match. - fix: tighten tool validation errors by @bonk1t in #501: Agent tool validation now rejects invalid tool entries earlier (like uninitialized hosted tool classes or
FunctionToolclasses). - Rename agency graph metadata APIs by @bonk1t in #517: Added
get_agency_graph(nodes/edges only) andget_metadata(graph + metadata), plus updated visualization and docs.
Fixes
- fix: pass uvicorn_config through run_mcp by @bonk1t in #510:
run_mcpnow forwards Uvicorn settings to FastMCP for HTTP/SSE servers, and MCP examples are more runnable out of the box. - Fix tools_folder relative imports with stable namespace by @ArtemShatokhin in #513: Tools loaded from
tools_foldernow support relative imports reliably.
Tests
- Stabilize tests: standardize models to GPT-5 mini + harden messaging/streaming tests by @bonk1t in #514: Updated test models and added more stable streaming, send_message, and vector-store assertions.
Refactors & Chores
- cleanup: drop deprecated v0/v1 APIs and align docs/tests by @bonk1t in #512: Cleaned out deprecated surfaces and aligned docs/examples/tests to v1.x-only usage.
Full Changelog: v1.6.0...v1.7.0