diff --git a/CHANGELOG.md b/CHANGELOG.md index 369c599be..82cfa9839 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,62 @@ All notable changes to the Copilot SDK are documented in this file. This changelog is automatically generated by an AI agent when stable releases are published. See [GitHub Releases](https://github.com/github/copilot-sdk/releases) for the full list. +## [v1.0.2](https://github.com/github/copilot-sdk/releases/tag/v1.0.2) (2026-06-18) + +### Feature: opt-in memory for sessions + +Sessions can now be configured with persistent memory, allowing the agent to recall information across turns. Set `memory: { enabled: true }` when creating or resuming a session; when omitted the runtime default applies. ([#1617](https://github.com/github/copilot-sdk/pull/1617)) + +```ts +const session = await client.createSession({ + memory: { enabled: true }, +}); +``` + +```cs +var session = await client.CreateSessionAsync(new SessionConfig +{ + Memory = new MemoryConfiguration { Enabled = true } +}); +``` + +### Feature: `defer` parameter for tool definitions + +Tools now support a `defer` option controlling whether they are pre-loaded eagerly or surfaced lazily through tool search. Use `"auto"` (the default) to allow lazy loading, or `"never"` to force pre-loading. ([#1632](https://github.com/github/copilot-sdk/pull/1632)) + +```ts +defineTool("lookup_issue", { + description: "Fetch issue details", + parameters: z.object({ id: z.string() }), + defer: "auto", + handler: async ({ id }) => { /* ... */ }, +}); +``` + +```cs +var tool = CopilotTool.DefineTool( + async ([Description("Issue ID")] string id) => { /* ... */ }, + toolOptions: new CopilotToolOptions { Defer = CopilotToolDefer.Auto }); +``` + +### Other changes + +- feature: **[All SDKs]** add `otlpProtocol` telemetry option (`"http/json"` or `"http/protobuf"`) for configuring OTLP export transport ([#1648](https://github.com/github/copilot-sdk/pull/1648)) +- feature: **[All SDKs]** surface `ModelBilling.tokenPrices` on public SDK types, exposing per-tier input/output/cache pricing and context window limits ([#1633](https://github.com/github/copilot-sdk/pull/1633)) +- improvement: **[All SDKs]** call `runtime.shutdown` during normal client stop for deterministic OTEL telemetry flush before process cleanup ([#1667](https://github.com/github/copilot-sdk/pull/1667)) +- improvement: **[Go]** thread `context.Context` through the JSON-RPC request path for proper cancellation support ([#1643](https://github.com/github/copilot-sdk/pull/1643)) +- improvement: **[Java]** add `getOpenCanvases()` to `CopilotSession` to track currently open canvas instances, matching the other SDKs ([#1606](https://github.com/github/copilot-sdk/pull/1606)) +- improvement: **[Java]** rename `SystemPromptSections` to `SystemMessageSections` for cross-SDK consistency; old class deprecated with `forRemoval=true` ([#1683](https://github.com/github/copilot-sdk/pull/1683)) +- bugfix: **[Python]** round sub-millisecond durations in `to_timedelta_int` to avoid serialization errors ([#1668](https://github.com/github/copilot-sdk/pull/1668)) +- bugfix: **[Rust]** skip CLI binary download in `build.rs` when `DOCS_RS` env var is set ([#1660](https://github.com/github/copilot-sdk/pull/1660)) + +### New contributors + +- @andyfeller made their first contribution in [#1631](https://github.com/github/copilot-sdk/pull/1631) +- @almaleksia made their first contribution in [#1632](https://github.com/github/copilot-sdk/pull/1632) +- @idryzhov made their first contribution in [#1668](https://github.com/github/copilot-sdk/pull/1668) +- @scottaddie made their first contribution in [#1636](https://github.com/github/copilot-sdk/pull/1636) + ## [v0.2.2](https://github.com/github/copilot-sdk/releases/tag/v0.2.2) (2026-04-10) ### Feature: `enableConfigDiscovery` for automatic MCP and skill config loading