v2.1

facebookresearch/AnimatedDrawingsv2.1Jun 26, 2026by github-actions[bot]

AI Summary

Enhances the Agent Zero Responses API handling and MCP image management with better fallback logic and WebUI improvements.

Key Highlights

  • Fallback handling for Responses API rejections
  • Materialized MCP image attachments as artifact files
  • Normalized Responses tool schemas
  • Fixed WebUI message replay ordering
  • Prefer tool roots in streamed JSON extraction

New Features

  • Improved Responses API error handling
  • MCP image artifact management
  • WebUI message replay stability

Full Release Notes

## Release Notes

- **Fallback handling for Responses API rejections** — OpenAI-compatible providers that reject `/v1/responses` payloads with a 400 validation error now correctly retry through Chat Completions. Generic bad-request errors are no longer misinterpreted as proof that Responses is unsupported; only endpoint-specific and Venice-style rejections trigger the fallback.

- **Materialize MCP image attachments** — MCP image and image-resource payloads are now saved as scoped artifact files, returning real file paths in tool text and attachment metadata instead of only inline data URLs. Images remain model-visible through raw image history content.

- **Normalize Responses tool schemas** — Function parameter schemas now include an explicit `properties` object before Responses requests are dispatched, keeping permissive prompt/MCP schemas compatible with stricter OpenAI-compatible chat validators.

- **Render plain Responses completions in WebUI** — When Responses mode returns a plain-text final answer, the active "Calling LLM" log item is now correctly promoted to a finished response entry instead of leaving the UI stuck on the generating step.

- **Fix WebUI message replay ordering** — Full log snapshots are now treated as authoritative replays, clearing the message DOM when the snapshot starts at log 0 and rendering in backend order. This prevents streamed responses from appearing above earlier welcome/user messages after sync races.

- **Prefer tool roots in streamed JSON extraction** — The JSON extraction logic now prefers the first complete root that normalizes as a tool request, reducing false misformat warnings when incidental JSON or leading prose precedes a streamed tool-call envelope.

- **Accept JSON-string parallel tool calls** — Providers or models that stringify the `tool_calls` array inside `tool_args` are handled again; the wrapper decodes the string and runs the same validation path as normal tool-call objects.

- **Remove backup file count cap** — Backup creation and restore cleanup no longer cap file pattern scans at 50,000 files, so archives for large agent directories are complete. UI preview and dry-run paths remain bounded for responsiveness.

- **Skills tooling compatibility** — Empty `skills_tool` calls now default to `list`, the legacy `method` parameter is accepted as a deprecated alias for `action`, and malformed `SKILL.md` frontmatter emits a once-per-path warning with line numbers instead of silently skipping the skill.