Update @github/copilot to 1.0.61#1612
Conversation
- Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code
There was a problem hiding this comment.
Pull request overview
This PR updates the monorepo’s pinned @github/copilot dependency to 1.0.61 and regenerates the language-specific SDK protocol bindings (RPC + session events) to match the updated schema across Node.js, Python, Go, .NET, Rust, and Java.
Changes:
- Bumped
@github/copilotto^1.0.61in Node.js packages and the shared test harness/codegen packages. - Regenerated protocol bindings across languages, including new/updated session event fields (e.g.,
eventsFileSizeBytes, schedule fields likeat/cron/tz, and hook progresstemporary). - Added new server-scoped experimental RPC namespaces (
agents.*,instructions.*) and updated instruction-source typing (InstructionSource*).
Show a summary per file
| File | Description |
|---|---|
| test/harness/package.json | Bumps @github/copilot devDependency to 1.0.61 for the shared harness. |
| test/harness/package-lock.json | Locks @github/copilot and platform packages to 1.0.61. |
| rust/src/generated/session_events.rs | Regenerated Rust session event types (new schedule fields, events_file_size_bytes, hook progress temporary). |
| rust/src/generated/rpc.rs | Regenerated Rust RPC client with new agents and instructions sub-namespaces. |
| rust/src/generated/api_types.rs | Regenerated Rust schema types/method constants (adds agents.discover, instructions.discover, instruction source renames). |
| python/copilot/generated/session_events.py | Regenerated Python session event dataclasses (new schedule fields, events_file_size_bytes, hook progress temporary). |
| python/copilot/generated/rpc.py | Regenerated Python RPC client/types (adds agents/instructions; refactors MCP lifecycle methods into internal surface). |
| nodejs/src/generated/session-events.ts | Regenerated TS session event typings (new schedule fields, eventsFileSizeBytes, hook progress temporary). |
| nodejs/src/generated/rpc.ts | Regenerated TS RPC typings (adds agents/instructions; moves some MCP lifecycle methods to an internal session RPC constructor). |
| nodejs/samples/package-lock.json | Updates sample lockfile to @github/copilot 1.0.61. |
| nodejs/package.json | Bumps Node.js SDK dependency on @github/copilot to 1.0.61. |
| nodejs/package-lock.json | Locks Node.js SDK dependency graph to @github/copilot 1.0.61. |
| java/src/generated/java/com/github/copilot/generated/SessionShutdownEvent.java | Adds eventsFileSizeBytes to shutdown event data. |
| java/src/generated/java/com/github/copilot/generated/SessionScheduleCreatedEvent.java | Adds schedule fields (cron, tz, at) and updates interval semantics. |
| java/src/generated/java/com/github/copilot/generated/SessionResumeEvent.java | Adds eventsFileSizeBytes to resume event data. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionInstructionsGetSourcesResult.java | Switches instructions sources result to InstructionSource. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerRpc.java | Adds agents and instructions namespaces to Java server RPC. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerInstructionsApi.java | New generated server RPC API for instructions.discover. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerAgentsApi.java | New generated server RPC API for agents.discover. |
| java/src/generated/java/com/github/copilot/generated/rpc/ScheduleEntry.java | Adds schedule fields and makes interval semantics explicit. |
| java/src/generated/java/com/github/copilot/generated/rpc/InstructionSourceType.java | New generated enum for instruction source type. |
| java/src/generated/java/com/github/copilot/generated/rpc/InstructionSourceLocation.java | New generated enum for instruction source location. |
| java/src/generated/java/com/github/copilot/generated/rpc/InstructionSource.java | New generated record representing instruction sources (includes projectPath). |
| java/src/generated/java/com/github/copilot/generated/rpc/InstructionsDiscoverResult.java | New generated result type for instruction discovery. |
| java/src/generated/java/com/github/copilot/generated/rpc/InstructionsDiscoverParams.java | New generated params type for instruction discovery. |
| java/src/generated/java/com/github/copilot/generated/rpc/AgentsDiscoverResult.java | New generated result type for agent discovery. |
| java/src/generated/java/com/github/copilot/generated/rpc/AgentsDiscoverParams.java | New generated params type for agent discovery. |
| java/src/generated/java/com/github/copilot/generated/HookProgressEvent.java | Adds temporary flag to hook progress event data. |
| java/scripts/codegen/package.json | Bumps Java codegen’s @github/copilot dependency to 1.0.61. |
| java/scripts/codegen/package-lock.json | Locks Java codegen deps to @github/copilot 1.0.61. |
| java/pom.xml | Updates the Java “reference impl version” property to ^1.0.61. |
| go/rpc/zsession_events.go | Regenerated Go session events (new schedule fields, eventsFileSizeBytes, hook progress Temporary). |
| go/rpc/zrpc.go | Regenerated Go RPC types (adds agents/instructions; refactors MCP lifecycle methods into internal surface). |
| dotnet/src/Generated/SessionEvents.cs | Regenerated .NET session events (new schedule fields, EventsFileSizeBytes, hook progress Temporary). |
| dotnet/src/Generated/Rpc.cs | Regenerated .NET RPC (adds agents/instructions; makes some MCP lifecycle APIs internal-only and updates instruction-source typing). |
Copilot's findings
Files not reviewed (6)
- go/rpc/zrpc.go: Language not supported
- go/rpc/zsession_events.go: Language not supported
- java/scripts/codegen/package-lock.json: Language not supported
- nodejs/package-lock.json: Language not supported
- nodejs/samples/package-lock.json: Language not supported
- test/harness/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)
go/rpc/zrpc.go:12390
- The Go
MCPAPItype no longer includes several MCP lifecycle helpers that are still used by in-repo E2E tests (StartServer, RestartServer, RegisterExternalClient, UnregisterExternalClient, ReloadWithConfig, ConfigureGitHub, and Oauth.Respond). As a result, go/internal/e2e/rpc_mcp_lifecycle_e2e_test.go will not compile against this generated API without additional wrapper changes.
- Files reviewed: 4/35 changed files
- Comments generated: 0
1.0.61 marks several session MCP lifecycle RPC methods as internal (startServer, restartServer, registerExternalClient, unregisterExternalClient, reloadWithConfig, configureGitHub, mcp.oauth.respond). Remove the E2E cases that exercised those methods on the public client surface across the Node, Python, Go, and .NET MCP lifecycle suites; the public list-tools/status/stop cases are retained. Also make the abort-streaming snapshot tolerant of a transport timing change. Routing fetch through Rust reqwest in the runtime can land the abort before the in-flight assistant turn is finalized, so the recovery request's history omits the aborted assistant message. Add a second conversation covering that dropped-turn path so the replay proxy matches regardless of which side of the race wins. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
The should_abort_during_active_streaming E2E test used sendAndWait/ send_and_wait for the post-abort recovery turn, which resolves on the first session.idle it sees. After session.abort() (which resolves on the abort RPC ack, not on idle), the aborted turn's trailing session.idle can land inside the recovery wait window and resolve it early with no assistant message. The CLI 1.0.61 transport change (fetch via Rust reqwest) compressed the timing enough to make this fail consistently. Convert the Node, Rust, and Python streaming-abort tests to the event-listener pattern already used by the Go and .NET equivalents (and by the tool-execution abort tests): register a listener for the assistant.message containing abort_recovery_ok, send the recovery, and await that specific message. Also document the two legal post-abort histories captured by the snapshot's two stored conversations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cross-SDK Consistency ReviewOverall: ✅ This PR maintains cross-SDK consistencyThis automated codegen update brings Node.js, .NET, Go, and Java in sync with Python and Rust (which were already at this schema version). After merging, all six SDKs will be at feature parity.
|
| Change | Node.js | .NET | Go | Java | Python | Rust |
|---|---|---|---|---|---|---|
New agents.discover API |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
New instructions.discover API |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
InstructionSource renamed types |
✅ | ✅ | ✅ | ✅ (+ stale) | ✅ | ✅ |
SessionResumeData.eventsFileSizeBytes |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
SessionShutdownData.eventsFileSizeBytes |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ScheduleCreatedData cron/at/tz fields |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
intervalMs made optional |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
HookProgressData.temporary |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Generated by SDK Consistency Review Agent for issue #1612 · sonnet46 2.4M · ◷
…structionSource rename These three generated files were left behind by the codegen rename from InstructionsSources to InstructionSource. They are dead code: InstructionsSources is referenced only within these three files, and the current InstructionSource* types are used instead. Java codegen does not delete orphaned files, so they require manual removal. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Automated update of
@github/copilotto version1.0.61.Changes
@github/copilotinnodejs/package.jsonandtest/harness/package.jsonscripts/codegen)Java Handwritten Code Adaptation Plan
If
java-sdk-testsCI fails on this PR, follow these steps:mvn clean,mvn verifyfromjava/locally or check thejava-sdk-testsworkflow run logs.java/src/main/java/com/github/copilot/sdk/):nullfor optional new fields).CopilotSession.javaif applicable.java/src/test/java/com/github/copilot/sdk/):cd java && mvn clean test-compile jar:jar && mvn verify -Dskip.test.harness=truecd java && mvn spotless:applyNext steps
When ready, click Ready for review to trigger CI checks.