Update dependency @github/copilot-sdk to v1 - #90
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
from
June 10, 2026 17:15
2d34b7a to
0362bac
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
2 times, most recently
from
June 22, 2026 05:31
88232d4 to
4d6bce6
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
2 times, most recently
from
July 1, 2026 20:33
1dc9208 to
7c6e4ab
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
2 times, most recently
from
July 12, 2026 10:43
9d3b50e to
0ca03b6
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
3 times, most recently
from
July 23, 2026 03:10
66a31bd to
c9ab673
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
2 times, most recently
from
July 30, 2026 19:00
a83aa5f to
abbdc4e
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
2 times, most recently
from
August 11, 2026 23:50
14788c9 to
32d690d
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
from
August 14, 2026 22:40
32d690d to
200a58f
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
from
August 26, 2026 16:37
200a58f to
c00d4d6
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
from
September 2, 2026 23:37
c00d4d6 to
a79d876
Compare
renovate
Bot
force-pushed
the
renovate/github-copilot-sdk-1.x
branch
from
September 5, 2026 01:03
a79d876 to
58c1a7d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.3.0→1.0.13Release Notes
github/copilot-sdk (@github/copilot-sdk)
v1.0.13Compare Source
Feature: cancellation for host-owned external tools
Host-owned external tool callbacks are now cancelled when their runtime request completes or their SDK session terminates. The cancellation primitive is idiomatic per SDK: .NET passes a request token to
AIFunction, Node.js exposesToolInvocation.signal, Go cancelsToolInvocation.TraceContext, Java cancels the returnedCompletableFuture, Python cancels the handler task, and Rust drops the handler future. Go handlers that retainTraceContextfor background work must derive a separate lifetime because the invocation context is cancelled when the request ends.Feature: declare application identity with client info
Client options now accept optional client info (application name and version, integration name and version) across all six SDKs, exposed idiomatically per language (
clientInfoin Node.js,client_infoin Python and Rust,ClientInfoin Go and .NET,setClientInfoin Java). When set, the SDK forwards it on theserver.connecthandshake so the telemetry the runtime emits on the connection is attributed to the application and its Copilot integration instead of the runtime's own build. All fields are optional, and leaving client info unset keeps the runtime's default attribution. See Client info.Feature: Node Agent Factories pagination and run notifications
The experimental Node.js Agent Factories convenience API now supports paginated run history. Existing
session.factory.listRuns()calls still return the runs array, while calls withafterSeq,beforeSeq, orlimitreturn the full page with cursor and truncation metadata.Factory
runandresumeoptions now acceptnotifyOnCompleteandlogPhaseNames. The SDK forwards these options to the Copilot CLI for new and resumed runs.Feature: selectable
ask_usersession behaviorSession create and cold resume now accept a language-specific
askUserVariantoption withlegacyandelicitationvalues. SDK sessions retain the legacy question-and-answer tool by default. Selectelicitationand provide an elicitation handler to expose the structured form-basedask_usertool.Feature: rotating session-scoped GitHub credentials
All six SDKs can now acquire short-lived GitHub credentials through a session-scoped callback. The SDK registers the callback before session create or resume, maps
initialandrefreshrequests to the owning session, and removes registrations on rollback, replacement, session close, and client close. Static per-sessiongitHubTokencredentials remain supported and are mutually exclusive with the callback.Token responses use the shared tagged token/cancelled shape and require
expiresIn, expressed as the positive number of seconds remaining when the callback completes. See github/copilot-agent-runtime#16381 for the runtime credential-authority implementation.Initial acquisition occurs during create or resume; cancellation, callback errors, and invalid credentials reject that operation instead of falling back to ambient authentication. Idle sessions refresh only before their next credential-consuming operation.
Feature: extensions can request sensitive environment variables
Copilot CLI extensions can now ask for named sensitive environment variables when they join a session.
joinSession()accepts arequestedEnvironmentVariablesoption listing the variable names the extension needs. The CLI shows a permission prompt naming the extension and the exact variables requested. On approval, only those variables reach that extension and their values are written into the extension process'sprocess.envbeforejoinSession()resolves. On denial,joinSession()rejects, the extension does not load, and its tools never reach the model.An approval is remembered against the exact set of names the user saw, so an extension that later asks for one more variable prompts again. Names that are unset, or that the CLI does not filter from extensions, are not prompted for. This is the client half of the feature; it requires a Copilot CLI that supports extension environment access, and older CLIs ignore the request and grant nothing.
Feature: early session-event subscription (Rust)
The Rust SDK can now observe every event routed to a session, starting with that session's very first routed event.
Client::prepare_sessionandClient::prepare_resume_sessionreturn an inertPreparedSessionthat owns the session's event channel, so a subscription can be installed before any protocol activity begins:Previously,
Session::subscribecould only be called on the returned session, so events the runtime emitted whilesession.create/session.resumewas still in flight were broadcast with no receiver installed and dropped. Ephemeral events such assession.idleare not persisted, so they could not be recovered withgetMessageseither.The guarantee is scoped to routed events. For cloud sessions where the server assigns the session ID, the SDK cannot route notifications until the
session.createresponse arrives and the ID is known, so events emitted before that point are not routable to any session. Pinsession_idon the config to get router registration before the RPC, and with it complete pre-response coverage.prepare_*is synchronous and inert: it validates the buffer capacity and allocates a local channel, and performs no router registration, task spawn, or wire activity untilstart()is first polled.start(self)consumes the handle andPreparedSessionis notClone, so a prepared session can never produce two event loops. Dropping an unstarted handle leaves no state behind; dropping a polledstart()future cancels the startup and unregisters the session, so a retry with the same session ID succeeds. Session registrations now carry an ownership identity, so cleanup removes only the exact registration it owns and an abandoned startup can never evict a same-ID retry (or a session that replaced it).Both
SessionConfigandResumeSessionConfiggained a runtime-onlyevent_buffer_capacityoption (default 512,Some(0)rejected as an invalid config). The buffer is finite, so slow subscribers observeLaggedrather than applying backpressure; consumers that need a lossless view of a large startup burst must size the buffer accordingly or drain concurrently withstart().create_sessionandresume_sessionare unchanged wrappers overprepare_*(...)?.start()with identical RPC sequences and error kinds.Feature: host-injected managed settings permissions
Session create and resume accept a new optional
managedSettingsoption that injects an enterprise permissions policy at session startup, alongside the existingenableManagedSettingsself-fetch flag. The current contract is permissions-only:disableBypassPermissionsMode(the literal"disable"), plusdeny,ask, andallowrule lists. The layer composes restrictively with any server- or device-level managed settings (deny/ask are unioned, every present allow list must admit a tool, anddisableBypassPermissionsModeis deny-wins).This layer is startup-only and is not persisted with the session, so it must be re-supplied on resume to remain in effect; omitting it on resume clears the previously injected layer. It can be combined with
enableManagedSettings. Host injection requires Copilot CLI1.0.79-5or later and does not require an SDK protocol version bump.The generated session-event types also expose truthful injected-policy provenance:
session.managed_settings_resolvedcan reportsourceasclientormixed, with optionalclientManagedmetadata.Feature: Auto model routing tier controls
Sessions can now steer
automodel routing toward efficiency, balance, or intelligence. An Auto tier can be set at session creation, and a newsetAutoTier(and equivalentsetModeloption) lets sessions stage or reset a tier preference afterward, since the runtime only commits a staged preference on the next successfulautomodel turn. (#2437, #2514)Feature: sandbox bypass and non-object external tool arguments
Sandbox configuration now exposes
allowBypassacross all six SDKs. External tool overrides such asapply_patchcan also receive non-object JSON argument values, which previously failed before reaching the host handler in .NET. (#2372, #2496)Feature: host-resolved feature flag overrides
Session create and resume now accept a
featureFlagsmap across all six SDKs, forwarding host-resolved overrides while preserving the distinction between an unset map and an explicitly empty one. (#2451)Other changes
session.detachinstead ofsession.destroyfor SDK session cleanup so disconnecting one client no longer tears down a shared session for other owners (#2307)ClientMode::Emptyto no built-in skills (#2410)New contributors
@lukehobanmade their first contribution in #2292@scordiomade their first contribution in #2382@OllieinCanadamade their first contribution in #2374@gimenetemade their first contribution in #2458@gwwarmade their first contribution in #2464@Pybsamamade their first contribution in #2163@green3sfmade their first contribution in #2360@gokhanarkanmade their first contribution in #2532v1.0.11Compare Source
What's Changed
history.clearContextandTool.isTerminalacross all SDKs by @examon in #2129New Contributors
Full Changelog: github/copilot-sdk@v1.0.9...v1.0.11
v1.0.9Compare Source
What's Changed
session.idle.backgroundTasksfield with the currentabortedfield by @examon in #2232New Contributors
Full Changelog: github/copilot-sdk@v1.0.8...v1.0.9
v1.0.8Compare Source
Feature: per-agent reasoning effort
Custom sub-agents can now have their own reasoning effort level, independent of the parent session. When
reasoningEffortis omitted on a custom agent, the backend applies its own default — the session-level setting is not inherited. (#1981)Other changes
expAssignmentssession config field across all SDKs (#2033)ask_userstarving the per-session event loop (#2034)New contributors
@lukewarmade their first contribution in #1880v1.0.7Compare Source
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)
Feature: tool search configuration
A new
toolSearchsession 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-intool_search_toolrather than pre-loaded into every prompt. Tool results can also includetoolReferencesto link cited sources back to the tool that produced them. (#1933)Feature: opaque metadata passthrough on tool definitions
Tool definitions now accept an optional
metadatabag that is forwarded verbatim insession.createandsession.resumeRPC 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)Other changes
canvasProviderfield to session create/resume config so hosts can supply a stable canvas-provider identity that survives cold resume (#1847)enableManagedSettingsflag in session create/resume for enterprise managed-settings enforcement (#1925)agentId,parentAgentId, andinteractionTypefrom LLM inference start frames into request-handler contexts (#1949)HashMapwithIndexMap(#1931)native-tlsfor the build-time CLI download (#1964)New contributors
v1.0.6Compare Source
Feature: inline lambda tool definitions
Developers can now define tools directly at the call site using
ToolDefinition.from(...)with typed lambda handlers andParam.of(...)parameter metadata — no separate annotated class required. Async variants (fromAsync) andToolInvocationcontext injection (fromWithToolInvocation) are also available. (#1895)Other changes
onGitHubTelemetrycallback onCopilotClientOptionsfor receiving forwarded GitHub telemetry events (#1835)v1.0.5Compare Source
Feature: new session options — citations, agent exclusions, and credit limits
Three new options are available on
SessionConfigandResumeSessionConfig.enableCitations(experimental) enables native model citations for supported providers;excludedBuiltInAgentshides named built-in agents from discovery; andsessionLimitssets a per-session AI-credit budget. (#1865)New contributors
v1.0.4Compare Source
Feature: HTTP request callback support
Register a
CopilotRequestHandleron the client to intercept every outbound LLM inference HTTP or WebSocket request — for both BYOK and CAPI — and mutate, replace, or fully forward it. Useful for logging, header injection, model substitution, or custom routing. (#1689, #1775, #1784)Feature:
getBearerTokencallback for BYOK providers (Managed Identity)BYOK provider configs now accept a
getBearerTokencallback so the SDK consumer can resolve bearer tokens (e.g. Azure Managed Identity) on demand. The SDK takes zero Azure SDK dependency — the consumer supplies the callback using any identity library. (#1748)Feature: experimental multi-provider BYOK registry
Register multiple named providers and models on a single session via
NamedProviderConfigandProviderModelConfig. Custom agents can reference provider-qualified model IDs such as"alpha/sonnet". This feature is experimental. (#1718)Feature:
preamblesystem message section andpreserveactionTwo new customization options for system message sections.
SystemMessageSections.PREAMBLEtargets only the identity preamble without affecting its sibling sub-sections (identityandtool_instructionsare now documented as section groups). The newpreserveaction protects an individually-addressable section from a group-levelremove. (#1713)Other changes
memoryconfiguration (MemoryConfiguration) to session create and resume (#1617)deferparameter on tool definitions controls eager vs. lazy tool loading ("auto"or"never") (#1632)otlpProtocoltelemetry option for configuring OTLP export transport ("http/json"or"http/protobuf") (#1648)ModelBilling.tokenPricessurfaced on public SDK types, exposing per-tier pricing and context window limits (#1633)CapiSessionOptions.enableWebSocketResponsesandProviderConfig.transportfor WebSocket transport control on session create/resume (#1711)runtime.shutdownduring client stop for deterministic OTEL telemetry flush before process cleanup (#1667)SystemPromptSections→SystemMessageSectionsfor cross-SDK consistency; old class deprecated withforRemoval=true(#1683)New contributors
v1.0.3Compare Source
v1.0.2Compare Source
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)Feature:
deferparameter for tool definitionsTools now support a
deferoption 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)Other changes
otlpProtocoltelemetry option ("http/json"or"http/protobuf") for configuring OTLP export transport (#1648)ModelBilling.tokenPriceson public SDK types, exposing per-tier input/output/cache pricing and context window limits (#1633)runtime.shutdownduring normal client stop for deterministic OTEL telemetry flush before process cleanup (#1667)context.Contextthrough the JSON-RPC request path for proper cancellation support (#1643)getOpenCanvases()toCopilotSessionto track currently open canvas instances, matching the other SDKs (#1606)SystemPromptSectionstoSystemMessageSectionsfor cross-SDK consistency; old class deprecated withforRemoval=true(#1683)to_timedelta_intto avoid serialization errors (#1668)build.rswhenDOCS_RSenv var is set (#1660)New contributors
v1.0.1Compare Source
Feature:
@CopilotExperimentalcompile-time gate for Java SDKThe Java SDK now ships a
@CopilotExperimentalannotation and a JSR 269 annotation processor that causes compilation to fail when experimental SDK APIs are referenced without opting in. Annotate a class or method with@AllowCopilotExperimental, or pass-Acopilot.experimental.allowed=trueto the compiler to acknowledge the experimental status. (#1601)Other changes
open_canvasessnapshot now correctly shrinks whensession.canvas.closedis emitted — previously closed canvases were never removed (#1604)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.