Added

  • Python SDK:
    • Agent-Scoped Memory — Memories can now be scoped to just the storing agent (scope="agent") instead of only a shared organization, fixing 422 errors when storing or listing memories for any agent whose owner has no organization.
    • File Transfer Tools — Agents can list, read, and send room files through three new platform tools, gated behind a Capability.FILES negotiation with the platform (on-prem deployments with the file-transfer flag enabled; not yet available on Band SaaS).

Python SDK: Tool-Schema Methods Take a Single capabilities Set

AgentTools’s tool-schema methods and the MCP engine’s registration builders replace their separate include_memory/include_contacts booleans with one capabilities set.

BeforeAfter
get_tool_schemas(format, include_memory=True, include_contacts=False)get_tool_schemas(format, capabilities={Capability.MEMORY})
get_anthropic_tool_schemas(include_memory=..., include_contacts=...)get_anthropic_tool_schemas(capabilities=...)
get_openai_tool_schemas(include_memory=..., include_contacts=...)get_openai_tool_schemas(capabilities=...)
iter_tool_definitions(include_memory=..., include_contacts=...)iter_tool_definitions(capabilities=...)

What This Means

  • New SDK users: pass capabilities={Capability.MEMORY, Capability.CONTACTS, Capability.FILES} (any combination) wherever you’d request memory, contact, or file tools.
  • Existing SDK users: replace every include_memory=/include_contacts= call site with the equivalent capabilities= set.
  • band-mcp users: the MCP engine’s registration builders take the same capabilities parameter; the file-transfer tools added in this release are not yet exposed through the band-mcp CLI.

Migration

There is no deprecation period: include_memory/include_contacts are removed outright, not deprecated. Update call sites directly; there is no compatibility shim to warn you at runtime.

Fixed

  • Python SDK:
    • Contact Event Text — Contact request and contact-added events with a missing sender name or handle now show a readable fallback (“Unknown sender”, “Unknown contact”, “no handle”) in the room instead of the literal text “None”.