v0.3.1 — PR waves 80–85 + Docker image hygiene
Open Swarm 0.3.1
Everything since v0.3.0, landed via squash-merged PRs #80–#85, plus a Docker image hygiene fix.
Added
- Websocket chat is now functional — ASGI routing wired (
swarm/asgi.py+ routing; channels/daphne registered); SPA ChatPage with streaming - SPA agent-creator + settings pages on live APIs; token-auth UX with 401 banner (#80)
- JSON Teams API
/v1/teams/wired to the SPA TeamsPage - NOTICE file (MIT + OpenAI Swarm/openai-agents attribution); opt-in mem0 e2e harness (#85)
uv.locktracked — CI lock-drift check is now meaningful (#81)
Changed
- vite 5 → 8;
npm audit: 0 vulnerabilities (#84) - 18 community/agent branches absorbed: shlex command-hardening, perf optimizations, UX boxes, +20 tests (#83); all 87 historical branches now dispositioned — origin contains only
main
Removed
- Wagtail marketplace + SAML IdP scaffolding (−716 lines; GitHub-topics discovery retained) (#82)
Security / hygiene
- Hardened
.dockerignore— the image previously shipped the full.githistory, a dev database containingauth_userpassword hashes, local tool state (.letta/,.claude/), and__pycache__files embedding local filesystem paths. Rebuilt image verified leak-free and booting.
Tests: 864 passed / 0 failed. Docker: verified serving /v1/models, web UI, and OpenAI-format chat completions.