Skip to content

Bump GitHub.Copilot.SDK from 0.1.32 to 0.2.0#107

Merged
SIkebe merged 1 commit intomainfrom
dependabot/nuget/src/CopilotSdkPlayground.UnitTests/GitHub.Copilot.SDK-0.2.0
Mar 21, 2026
Merged

Bump GitHub.Copilot.SDK from 0.1.32 to 0.2.0#107
SIkebe merged 1 commit intomainfrom
dependabot/nuget/src/CopilotSdkPlayground.UnitTests/GitHub.Copilot.SDK-0.2.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 20, 2026

Updated GitHub.Copilot.SDK from 0.1.32 to 0.2.0.

Release notes

Sourced from GitHub.Copilot.SDK's releases.

0.2.0

This is a big update with a broad round of API refinements, new capabilities, and cross-SDK consistency improvements that have shipped incrementally through preview releases since v0.1.32.

Highlights

Fine-grained system prompt customization

A new "customize" mode for systemMessage lets you surgically edit individual sections of the Copilot system prompt — without replacing the entire thing. Ten sections are configurable: identity, tone, tool_efficiency, environment_context, code_change_rules, guidelines, safety, tool_instructions, custom_instructions, and last_instructions.

Each section supports four static actions (replace, remove, append, prepend) and a transform callback that receives the current rendered content and returns modified text — useful for regex mutations, conditional edits, or logging what the prompt contains. (#​816)

const session = await client.createSession({
  onPermissionRequest: approveAll,
  systemMessage: {
    mode: "customize",
    sections: {
      identity: {
        action: (current) => current.replace("GitHub Copilot", "Acme Assistant"),
      },
      tone: { action: "replace", content: "Be concise and professional." },
      code_change_rules: { action: "remove" },
    },
  },
});
var session = await client.CreateSessionAsync(new SessionConfig {
    OnPermissionRequest = PermissionHandler.ApproveAll,
    SystemMessage = new SystemMessageConfig {
        Mode = SystemMessageMode.Customize,
        Sections = new Dictionary<string, SectionOverride> {
            ["identity"] = new() {
                Transform = current => Task.FromResult(current.Replace("GitHub Copilot", "Acme Assistant")),
            },
            ["tone"] = new() { Action = SectionOverrideAction.Replace, Content = "Be concise and professional." },
            ["code_change_rules"] = new() { Action = SectionOverrideAction.Remove },
        },
    },
});

OpenTelemetry support across all SDKs

All four SDK languages now support distributed tracing with the Copilot CLI. Set telemetry in your client options to configure an OTLP exporter; W3C trace context is automatically propagated on session.create, session.resume, and session.send, and restored in tool handlers so tool execution is linked to the originating trace. (#​785)

const client = new CopilotClient({
  telemetry: {
    otlpEndpoint: "http://localhost:4318",
 ... (truncated)

## 0.1.33-preview.4

### Feature: fine-grained system prompt customization

A new `"customize"` mode for `systemMessage` lets you selectively override individual sections of the Copilot system prompt  without replacing the entire prompt. This sits between `"append"` (add to the end) and `"replace"` (replace everything). ([#​816](https://github.com/github/copilot-sdk/pull/816))

Ten sections are configurable: `identity`, `tone`, `tool_efficiency`, `environment_context`, `code_change_rules`, `guidelines`, `safety`, `tool_instructions`, `custom_instructions`, and `last_instructions`.

Each section supports four static actions (`replace`, `remove`, `append`, `prepend`) and a `transform` action — a callback that receives the current rendered section content and returns the modified version, enabling regex mutations, logging, or conditional edits.

```ts
const session = await client.createSession({
  systemMessage: {
    mode: "customize",
    sections: {
      identity: {
        // transform: read current content and return modified content
        action: (current) => current.replace("GitHub Copilot", "Acme Assistant"),
      },
      tone: { action: "replace", content: "Be concise and professional." },
      code_change_rules: { action: "remove" },
    },
  },
});
var session = await client.CreateSessionAsync(new SessionOptions {
    SystemMessage = new SystemMessageOptions {
        Mode = SystemMessageMode.Customize,
        Sections = new Dictionary(string, SectionOverride) {
            ["identity"] = new() {
                Transform = current => current.Replace("GitHub Copilot", "Acme Assistant"),
            },
            ["tone"] = new() { Action = "replace", Content = "Be concise and professional." },
            ["code_change_rules"] = new() { Action = "remove" },
        },
    },
});

Generated by Release Changelog Generator

Generated by Release Changelog Generator

0.1.33-preview.3

Feature: OpenTelemetry support across all SDKs

All four SDK languages now support distributed tracing with the Copilot CLI. Set telemetry in your client options to configure an OTLP exporter; W3C trace context is then propagated on session.create, session.resume, and session.send, and restored in tool handlers so tool execution is linked to the originating trace. (#​785)

const client = new CopilotClient({
  telemetry: {
    otlpEndpoint: "(localhost/redacted)
    sourceName: "my-app",
  },
});
var client = new CopilotClient(new CopilotClientOptions {
    Telemetry = new TelemetryConfig {
        OtlpEndpoint = "(localhost/redacted)
        SourceName = "my-app",
    },
});

Feature: blob attachment type for inline base64 data

A new blob attachment type lets you send images or other binary content directly to a session without writing to disk first — useful when data is already in memory (screenshots, API responses, generated images). (#​731)

await session.send("What's in this image?", {
  attachments: [{ type: "blob", data: base64Str, mimeType: "image/png" }],
});
await session.SendAsync("What's in this image?", new MessageOptions {
    Attachments = [new BlobAttachment { Data = base64Str, MimeType = "image/png" }],
});

Feature: Node.js CommonJS (CJS) compatibility

The Node.js SDK now ships both ESM and CJS builds, fixing crashes in VS Code extensions and other tools bundled with esbuild's format: "cjs". No changes needed in consumer code — Node automatically selects the right format. (#​546)

Feature: reasoningEffort when switching models

All SDKs now accept an optional reasoningEffort parameter in setModel() for models that support it. (#​712)

await session.setModel("claude-sonnet-4.6", { reasoningEffort: "high" });

... (truncated)

0.1.33-preview.0

Feature: pre-select a custom agent at session creation

You can now specify which custom agent should be active when a session starts, without needing a separate session.rpc.agent.select() call. (#​722)

const session = await client.createSession({
  customAgents: [
    { name: "researcher", prompt: "You are a research assistant." },
    { name: "editor", prompt: "You are a code editor." },
  ],
  agent: "researcher",  // active agent at session start
  onPermissionRequest: approveAll,
});
var session = await client.CreateSessionAsync(new SessionConfig {
    CustomAgents = [
        new CustomAgentConfig { Name = "researcher", Prompt = "You are a research assistant." },
        new CustomAgentConfig { Name = "editor", Prompt = "You are a code editor." },
    ],
    Agent = "researcher",  // active agent at session start
});

Feature: custom model listing for BYOK

Applications using bring-your-own-key providers can now supply onListModels in client options to override client.listModels() with their own model list, instead of forwarding the call to the CLI. (#​730)

const client = new CopilotClient({ onListModels: () => myProviderModels });
var client = new CopilotClient(new CopilotClientOptions {
    OnListModels = () => Task.FromResult(myProviderModels)
});
  • Python: on_list_models=lambda: my_provider_models
  • Go: OnListModels: func(ctx context.Context) ([]copilot.ModelInfo, error) { return myModels, nil }

Feature: new events and APIs (system notifications, session log, extension support)

Updated to match the latest CLI runtime, adding: system.notification events, a session log RPC API, reasoningEffort changes after model switch, alreadyInUse flag on sessions, and the groundwork for extension-based integrations. (#​737)

Other changes

  • feature: add no-result permission outcome so extensions can attach to sessions without actively answering permission requests (#​802)
  • bugfix: fix race condition where events emitted during session creation (e.g. session.start) could be dropped; also adds OnEvent catch-all handler to SessionConfig (#​664)
    ... (truncated)

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: GitHub.Copilot.SDK
  dependency-version: 0.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Mar 20, 2026
@dependabot dependabot bot requested a review from SIkebe as a code owner March 20, 2026 22:16
@dependabot dependabot bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Mar 20, 2026
@SIkebe SIkebe merged commit 6f6f705 into main Mar 21, 2026
5 checks passed
@SIkebe SIkebe deleted the dependabot/nuget/src/CopilotSdkPlayground.UnitTests/GitHub.Copilot.SDK-0.2.0 branch March 21, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant