Skip to content

Releases: VRSEN/agency-swarm

v1.9.7

05 May 03:21

Choose a tag to compare

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

  • fix: harden stateless Responses reasoning replay by @nicko-ai in #641

Full Changelog: v1.9.6...v1.9.7

v1.9.6

03 May 21:38

Choose a tag to compare

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

29 Apr 03:55

Choose a tag to compare

What's Changed

  • fix(fastapi): warn-and-drop client_config.litellm_keys when litellm missing by @bonk1t in #636

Full Changelog: v1.9.4...v1.9.5

v1.9.4

22 Apr 16:56

Choose a tag to compare

Changes since v1.9.3

  • chore(cli): bump _CLI_VERSION to 1.4.24.
  • fix: missing event handling for codex api (#633).

v1.9.3

21 Apr 09:01
d3eeeda

Choose a tag to compare

Bugfixes

  • fix(fastapi): scope Codex client_config.base_url by LiteLLM provider (#630) — closes #629

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

18 Apr 17:34

Choose a tag to compare

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.model in 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

17 Apr 17:29

Choose a tag to compare

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

16 Apr 04:08

Choose a tag to compare

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/agentswarm from your project root. On first launch, the TUI can select or create a project, prepare .venv, install dependencies, and open local Agent Builder mode. See the Agent Swarm CLI docs.
  • OpenClaw support: expose OpenClaw through Agency Swarm's FastAPI integration and use OpenClawAgent for 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_context field, 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/agentswarm is now the main terminal launch path. agency.tui() is still supported as the Python-first path, and terminal_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_dirs entries.

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/agentswarm is 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 local Agent Builder mode. 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().
  • 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:main alias, a worker-focused OpenClawAgent, 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.
  • 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. Custom Model subclasses 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.
  • 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_context is 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.
  • Simpler custom SendMessage extensions and better handoff control by @bonk1t in #564 and #597

    • What changed: Custom SendMessage tools 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.

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_dirs entries.
    • Why it matters: FastAPI deployments are more predictable under real traffic, file-heavy flows, and wildcard-origin setups.
  • Framework default model now uses gpt-5.4-mini instead of the SDK's gpt-4.1 by @bonk1t in #578, #580, and #591

    • What changed: Agency Swarm's framework default model is now gpt-5.4-mini rather than the SDK's gpt-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.

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_context and widget control, expands the FastAPI example, and adds tool streaming guidance.

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

25 Feb 01:22

Choose a tag to compare

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_error remains as a deprecated alias.
    • return_input_guardrail_errors is removed and now fails fast with migration guidance.
  • Handoff export clarification by @bonk1t in #532
    • Handoff now 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 PresentFiles tool 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_replies support for cached first-message replay.
    • Hardens cache fingerprinting (including shared instructions/streaming context) and cache skip rules for override/hook paths.
  • 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_item attribute access in stream persistence paths.
  • OpenAI Agents SDK upgrade by @bonk1t in #535
    • Bumps openai-agents to 0.9.3 and refreshes lock metadata.
  • 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

20 Jan 09:16
3fecd91

Choose a tag to compare

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.
  • SendMessage no longer accepts the my_primary_instructions field. Remove it from tool payloads to avoid schema errors.
  • get_agency_structure is deprecated. Use get_agency_graph for nodes/edges and get_metadata when you need the full metadata bundle.
  • SendMessageHandoff is deprecated and renamed to Handoff.

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_urls when allowed_local_file_dirs is set, with strict allowlisting, better error reporting, and updated AG-UI handling.
  • Add dynamic client configuration override to fastapi endpoints by @ArtemShatokhin in #503:
    • Each request can now override base_url and api_key (and LiteLLM provider keys) via client_config.

Improvements

  • Remove my_primary_instructions by @bonk1t in #499: Simplified SendMessage schema by removing the redundant my_primary_instructions field.
  • chore: bump openai-agents to 0.6.4 by @bonk1t in #497: Upgraded openai-agents (and openai) and tightened runtime tool type checks so invalid hosted tool inputs are caught earlier.
  • rename SendMessageHandoff to Handoff by @bonk1t in #507: Introduced Handoff as the preferred tool name, kept SendMessageHandoff as 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 FunctionTool classes).
  • Rename agency graph metadata APIs by @bonk1t in #517: Added get_agency_graph (nodes/edges only) and get_metadata (graph + metadata), plus updated visualization and docs.

Fixes

  • fix: pass uvicorn_config through run_mcp by @bonk1t in #510: run_mcp now 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_folder now 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