Skip to content

v1.0.7

Choose a tag to compare

@github-actions github-actions released this 16 Jul 15:23
d95cfac

Feature: in-process (FFI) transport

The SDK can now host the Copilot runtime in-process by loading the native runtime library via its C ABI (FFI), eliminating the overhead of spawning a child process. This experimental transport is available for Node.js, Rust, Python, and Go. (#1953, #1915, #1975, #1976)

const client = new CopilotClient({ connection: RuntimeConnection.forInProcess() });
var client = new CopilotClient(new CopilotClientOptions { Connection = RuntimeConnection.ForInProcess() });

Feature: tool search configuration

A new toolSearch session option controls how the SDK defers tools when the total tool count exceeds a threshold. When enabled (the default), excess MCP and external tools are surfaced on demand through the built-in tool_search_tool rather than pre-loaded into every prompt. Tool results can also include toolReferences to link cited sources back to the tool that produced them. (#1933)

const session = await client.createSession({
    toolSearch: { defer: "auto" },
});
var session = await client.CreateSessionAsync(new SessionConfig
{
    ToolSearch = new ToolSearchConfig { Defer = "auto" },
});

Feature: opaque metadata passthrough on tool definitions

Tool definitions now accept an optional metadata bag that is forwarded verbatim in session.create and session.resume RPC calls. This lets hosts attach namespaced, implementation-specific metadata to tools without expanding the typed public contract; unknown keys are preserved and round-tripped untouched. (#1864)

session.defineTool("my-tool", { metadata: { "myapp:priority": 1 } }, handler);
session.DefineTool("my-tool", new ToolOptions { Metadata = new() { ["myapp:priority"] = 1 } }, handler);

Other changes

  • feature: [All SDKs] add canvasProvider field to session create/resume config so hosts can supply a stable canvas-provider identity that survives cold resume (#1847)
  • feature: [All SDKs] forward enableManagedSettings flag in session create/resume for enterprise managed-settings enforcement (#1925)
  • feature: [All SDKs] propagate agentId, parentAgentId, and interactionType from LLM inference start frames into request-handler contexts (#1949)
  • improvement: [Rust] make tool schema and MCP server serialization deterministic by replacing HashMap with IndexMap (#1931)
  • improvement: [Rust] use native-tls for the build-time CLI download (#1964)
  • bugfix: [.NET] avoid Windows in-process test teardown deadlock (#1997)

New contributors

  • @agoncal made their first contribution in #1951
  • @Shivam60 made their first contribution in #1964
  • @rinceyuan made their first contribution in #1978
  • @belaltaher8 made their first contribution in #1864

Full Changelog: v1.0.6...v1.0.7

Generated by Release Changelog Generator · sonnet46 1.2M