Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down