Skip to content

Upstream sync: serialize event dispatch, skipPermission, TelemetryConfig, reasoningEffort (2026-03-17)#198

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/upstream-sync-19-new-commits
Draft

Upstream sync: serialize event dispatch, skipPermission, TelemetryConfig, reasoningEffort (2026-03-17)#198
Copilot wants to merge 2 commits intomainfrom
copilot/upstream-sync-19-new-commits

Conversation

Copy link
Contributor

Copilot AI commented Mar 17, 2026

Ports 19 upstream commits (062b61c485ea5e) from github/copilot-sdk. Key behavioral changes and new APIs below.

Serialized event dispatch (b100339)

Events are now queued and delivered serially on a dedicated background thread (copilot-session-events) instead of inline on the JSON-RPC reader thread. This prevents deadlocks when close() is called from within a handler and ensures handlers are never invoked concurrently.

skipPermission on ToolDefinition (10c4d02)

Tools can now opt out of the permission prompt entirely:

ToolDefinition.createSkipPermission("safe_lookup", "...", schema, handler)

The skipPermission field is serialized to the CLI in the tool registration payload.

no-result permission kind (df59a0e)

PermissionRequestResultKind.NO_RESULT added. Returning this from a v3 broadcast permission handler silently skips responding to the pending request (allows another client to handle it).

setModel with reasoningEffort (ea90f07)

session.setModel("claude-sonnet-4.6", "high").get();

SessionModelChangeEvent also gains reasoningEffort and previousReasoningEffort fields.

TelemetryConfig + OpenTelemetry CLI support (f2d21a0)

new CopilotClientOptions().setTelemetry(new TelemetryConfig()
    .setOtlpEndpoint("http://localhost:4317")
    .setExporterType("otlp-http"));

Sets COPILOT_OTEL_ENABLED and related env vars on the CLI process.

autoRestart deprecated (5a41532)

CopilotClientOptions.setAutoRestart(boolean) is now @Deprecated — the option has no effect.

Other

  • ExternalToolRequestedEvent gains traceparent/tracestate fields for OTel context propagation from CLI spans.
  • .lastmerge updated to 485ea5e.

Pull request checklist

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)
  • mvn spotless:apply has been run to format the code
  • mvn clean verify passes locally

Does this introduce a breaking change?

  • Yes
  • No

💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

…emetryConfig, NO_RESULT, reasoningEffort overload

Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com>
Copilot AI changed the title [WIP] [upstream-sync] Sync with 19 new commits from upstream Upstream sync: serialize event dispatch, skipPermission, TelemetryConfig, reasoningEffort (2026-03-17) Mar 17, 2026
Copilot AI requested a review from brunoborges March 17, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[upstream-sync] Upstream sync: 19 new commits (2026-03-17)

2 participants