Skip to content

Update Copilot CLI to 1.0.87-0 - #2731

Merged
stephentoub merged 7 commits into
mainfrom
update-copilot-1.0.87-0
Sep 19, 2026
Merged

stephentoub merged 7 commits into
mainfrom
update-copilot-1.0.87-0

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Automated update of the Copilot CLI release to version 1.0.87-0.

Changes

  • Updated the shared release pin in nodejs/package.json
  • Validated the release assets listed in SHA256SUMS.txt
  • Re-ran all code generators (scripts/codegen)
  • Formatted generated output
  • Regenerated Java types from the pinned CLI release schemas

Java Handwritten Code Adaptation Plan

If java-sdk-tests CI fails on this PR, follow these steps:

  1. Identify failures: Run mvn clean, mvn verify from java/ locally or check the java-sdk-tests workflow run logs.
  2. Categorize errors:
    • Constructor signature changes (new fields added to generated records)
    • Enum value additions/renames in generated types
    • New event types requiring handler registration
    • Removed or renamed generated types
  3. Fix handwritten source (java/sdk/src/main/java/com/github/copilot/sdk/):
    • Update call sites passing positional constructor args to include new fields (typically null for optional fields).
    • Update switch/if-else over enum values to handle new cases.
    • Register handlers for new event types in CopilotSession.java if applicable.
  4. Fix handwritten tests (java/sdk/src/test/java/com/github/copilot/sdk/):
    • Same constructor/enum fixes as above.
    • Add new test methods for new functionality if the change adds user-facing API surface.
  5. Validate: cd java && mvn clean test-compile jar:jar && mvn verify -Dskip.test.harness=true
  6. Format: cd java && mvn spotless:apply
  7. Push fixes to this PR branch.

To automate this, trigger the java-adapt-handwritten-code-to-accept-upgrade-changes agentic workflow instead.

Java shared-union review correction

Commit 20d9acec150af27ff677504bb42841eca57a98db addresses the reproduced Java inheritance/Jackson issue in the review:

  • Three new regressions: negotiation-refused, invalid-request, and unavailable failed deserialization into CatalogSearchResult because later generation overwrote their canonical classes to extend CatalogSelectionResult.
  • Nine pre-existing incompatibilities: shared error registrations under McpPlanInstallResult were already invalid at base ad69ee168680728872434817191ef8cc5e449431. The same uniform subtype-ownership correction fixes these mechanically; they were not introduced by this intake.
  • A documented 61-entry historical ABI registry preserves every pre-intake canonical variant name/superclass. Secondary roots receive 12 additive contextual variants (three Selection, nine MCP). All ten target-only unambiguous variants remain unchanged; no root becomes an interface and no canonical class is removed or renamed.
  • The exact Java-only delta is four generator/data/test files, five modified generated files, and twelve new generated files. Pins, schemas, runtime code, and other-language output are unchanged by this correction.

Focused qualification: 123 Java tests pass, including 15 real-Jackson subtype/full-payload wire round trips; 13 generator tests and three schema-fetch tests pass. Root Spotless passes. Two generations match across all 1,666 Java files. Exact-base comparisons preserve all 61 historical owners and ten target-only owners; all 83 registrations are valid across 13 roots. Fresh source review found no significant issues.

Java outbound dispatch coverage

Commit 2c54fa6c493ef8ce75107b26b7dfb827fa99c997 closes the review's finite Java endpoint-specific coverage gap. This was a missing-test finding, not a reproduced dispatch bug: all new wire names matched the release schema, and the shared dispatch generator was unchanged from the pre-intake base.

Only GeneratedRpcApiCoverageTest.java changes (+182/-0), reusing its existing capturing RpcCaller. The table invokes all 29 new public namespace-chain endpoints (catalog, managed settings, plugins/marketplaces, queue, workflow/journal), plus explicit optional marketplaces.refresh(null). Independent expectations assert exact wire methods, result classes, complete representative serialized parameters, and authoritative bound-session precedence over conflicting supplied IDs. Global catalog requests retain their supplied session identity.

Final execution evidence: focused JDK25 Maven verify and Surefire XML confirm 79 tests = 49 existing + 30 new invocations, with zero failures/errors/skips. Root Spotless passes. Review caught an initial placement issue that ran only the 49 existing tests; that was fixed, the tests were rerun, and the final XML invocation count was verified. Fresh follow-up review found no significant issues. No runtime, generator, schema, generated output, pin, or other-language change is included in this test-only commit.

Windows bundled CLI compilation correction

Commit 0225d194207979b30732c6bd041e29534e6ac3d6 changes only the private extract_binary availability guard in rust/src/embeddedcli.rs (+1/-1): all(has_bundled_cli, any(not(windows), test)).

The strict Windows x64 consumer build in github/github-app#16292 (failed job) reported extract_binary as unused with Rust 1.94.0 and -D warnings. Windows production uses the ZIP extractor; the TAR helper's remaining production caller is non-Windows. Windows bundled unit tests still need the TAR helper to verify runtime-archive contents, so their access is preserved. The affected source was unchanged from this PR's mainline base; this is a pre-existing cfg defect surfaced by the consumer build, not a demonstrated CLI 1.0.87 runtime regression. No warning suppression, public API, generator, schema, generated output, or pin change is included.

Host qualification, not Windows proof: pinned Rust 1.94.0 cargo check --lib --features bundled-cli passed; the existing runtime_install_replaces_stale_pair test with bundled-in-process ran exactly once and passed (0 failures/ignored); pinned nightly formatting passed. Fresh review found no significant issues. The host unit-test build emitted two unused-method warnings in untouched code; it was not a -D warnings run.

Windows proof remains pending: normal SDK Windows bundled CI compiles default production and the bundled-in-process library unit-test configuration, but does not enforce -D warnings or run the stale-pair test. The updated app consumer's natural Windows bundled-cli/e2e-support build with -D warnings is also required. Local macOS success does not substitute for that target proof.

Current qualification gates

Natural current-head CI for 0225d194 is running: SDK run 35410904068. Required six-language checks, Windows consumer compilation, human approval, and repository protection remain gates; no merge readiness is claimed.

The previous 2c54fa6c SDK run 35409036457 failed Java darwin-arm64 in-process AutoTierIT.shouldRestoreAndOverrideFastAutoTierOnColdResume at its second, tierless session.resume 30-second wait. Subsequent detach and client-closed errors occurred during teardown. All 79 dispatch tests passed in that failed job. The underlying cold-resume cause remains unresolved: neither a regression nor a flake has been established. The Rust cfg correction does not address it; bounded diagnostic work is separately gated.

The earlier head 20d9acec passed all 89 SDK jobs, including all six required language checks and the previously failing Go Linux in-process and Node macOS in-process lanes. Those passes show non-reproduction on that head, not established causal fixes, and do not qualify later heads 2c54fa6c or 0225d194.

Created by the Update Copilot CLI Version workflow.

Hunter Sadler and others added 2 commits September 18, 2026 16:36
Disambiguate shared C# session request envelopes without weakening collision checks. Preserve Rust explicit unknown values and forward-compatible fallbacks from #2703. Resolve Go event payload references and preserve root event unions across bindings, with real envelope regressions and target-schema Java test adaptations.

Validated with the 1.0.87-0 generated overlay; release pins and generated outputs are intentionally excluded from this source-only workflow seed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- Updated the shared CLI release pin
- Re-ran code generators
- Formatted generated code
@aurokin
aurokin marked this pull request as ready for review September 18, 2026 23:25
@aurokin
aurokin requested a review from a team as a code owner September 18, 2026 23:25
Copilot AI balanced review requested due to automatic review settings September 18, 2026 23:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Shared Java union variants break Jackson deserialization for existing result roots, and new generated RPC APIs lack established dispatch coverage.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: None

What changed in this PR

Updates the pinned Copilot CLI to 1.0.87-0 and regenerates SDK protocol types.

Changes:

  • Updates the shared CLI version pin.
  • Adds root event-payload union handling for Rust, Python, Go, and Java.
  • Regenerates Java events and RPC APIs for workflows, catalog, plugins, queues, permissions, and managed settings.
File Description
scripts/​codegen/​rust.ts Handles event unions and unknown enum values.
scripts/​codegen/​python.ts Generates discriminated event payload unions.
scripts/​codegen/​go.ts Preserves union payloads as raw JSON.
nodejs/​test/​python-codegen.test.ts Tests Python union generation.
nodejs/​src/​cliVersion.ts Pins CLI 1.0.87-0.
nodejs/​package.json Updates shared CLI release pin.
java/​scripts/​codegen/​java.test.ts Tests Java raw union payload generation.
java/​sdk/​src/​test/​java/​com/​github/​copilot/​generated/​rpc/​GeneratedRpcRecordsCoverageTest.java Adapts generated-record tests.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​UserMessageEvent.java Adds reasoning metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SystemNotificationEvent.java Adds reasoning metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SkillInvokedRefEvent.java Adds invocation turn metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SkillInvokedEvent.java Adds invocation turn metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SessionTaskCompleteEvent.java Adds structured blockers.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SessionPermissionRecoveryEvent.java Adds permission-recovery events.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SessionIndexedSearchEvent.java Adds raw indexed-search events.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SessionEvent.java Registers new event subtypes.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SessionCompactionCompleteEvent.java Adds reasoning baseline metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​SandboxDecisionEvent.java Preserves raw union payloads.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​TaskBlocker.java Adds structured blocker model.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​TaskBlockerKind.java Adds blocker category enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​ResponsesReasoning.java Adds reasoning boundary model.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRequestedEvent.java Adds permission context metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionCompletedEvent.java Adds recovery outcome metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryStatus.java Adds recovery status enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryReason.java Adds recovery reason enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryOnBlocked.java Adds blocked-action enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryData.java Adds recovery snapshot model.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryAttemptRelation.java Adds attempt relation enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryAttemptReason.java Adds attempt reason enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryAttemptDisposition.java Adds attempt disposition enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​PermissionRecoveryAttempt.java Adds recovery attempt model.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​ModelChangeSource.java Adds changeboarding source.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​AssistantUsageEvent.java Adds dropped-thinking usage fields.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionRpc.java Exposes workflow and managed-settings APIs.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionQueueApi.java Adds withdrawal and steering operations.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​ServerCatalogApi.java Adds catalog selection operation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionManagedSettingsApi.java Adds managed-settings lookup.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowJournalApi.java Adds workflow journal operations.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionResult.java Adds catalog-selection union; shared subtype issue found.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectParams.java Adds catalog selection parameters.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionDecision.java Adds selection outcome enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionSelected.java Adds selected result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionDeclined.java Adds declined result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionCancelled.java Adds cancelled result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionTimedOut.java Adds timed-out result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionInvalid.java Adds invalid-reference result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionStale.java Adds stale-reference result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionReplayed.java Adds replayed-reference result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionForeign.java Adds foreign-reference result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSelectionWrongKind.java Adds wrong-kind result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogUnavailableError.java Reparents unavailable error subtype.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogInvalidRequestError.java Reparents invalid-request subtype.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogNegotiationRefusedError.java Reparents negotiation error subtype.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogUnavailableReason.java Adds selection-unavailable reason.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSearchParams.java Adds catalog pagination input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSearchSucceeded.java Adds pagination metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSearchPage.java Adds numbered-page request.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSearchPagination.java Adds pagination response metadata.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogSearchTotalCountRelation.java Adds count relation enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogCandidate.java Adds plugin candidate subtype.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogCandidateKind.java Adds plugin candidate kind.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogCapability.java Adds catalog capabilities.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogMediaType.java Adds plugin media type.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogHandleType.java Adds selection handles.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogHandleRejectionReason.java Adds handle rejection reasons.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogInvalidRequestField.java Adds selection and pagination fields.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogNegotiatedContract.java Clarifies capability negotiation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogPluginRepositorySource.java Adds plugin repository provenance.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAiSkillCandidate.java Uses typed skill properties.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAiSkillCandidateProvenance.java Types skill media provenance.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAiSkillMediaType.java Adds skill media enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAiSkillInstallability.java Adds skill installability enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAgentPluginMediaType.java Adds plugin media enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAgentPluginCompatibilityTag.java Adds plugin compatibility tags.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CatalogAgentPluginCandidateProvenance.java Adds plugin provenance.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunOptions.java Adds workflow invocation options.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowToolRunOptions.java Adds tool-originated workflow options.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunLimits.java Adds workflow limits.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowDeclaredLimits.java Adds declared limits.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunConsumed.java Adds consumption metrics.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunStatus.java Adds workflow statuses.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunResult.java Adds workflow result envelope.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunTerminal.java Adds terminal outcome.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowRunSummary.java Adds run summary.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowCurrentPhase.java Adds current phase identity.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowPhaseStatus.java Adds phase status enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowPhaseObservation.java Adds phase observations.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowProgressLine.java Adds progress records.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowProgressPage.java Adds progress pagination.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowLogLine.java Adds workflow log lines.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowLogLineKind.java Adds log-line kinds.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowPauseCheckpointAction.java Adds checkpoint action enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowAgentOptions.java Adds subagent options.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowAgentSummary.java Adds subagent status summary.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowExecuteParams.java Adds workflow execution callback input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowExecuteResult.java Adds workflow callback result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​WorkflowAbortParams.java Adds workflow abort input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowRunParams.java Adds run RPC input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowRunResult.java Adds run RPC result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowRunFromToolParams.java Adds tool-run RPC input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowRunFromToolResult.java Adds tool-run result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowResumeParams.java Adds resume RPC input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowResumeResult.java Adds resume RPC result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowResumeFromToolParams.java Adds tool-resume input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowResumeFromToolResult.java Adds tool-resume result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowGetRunParams.java Adds run lookup input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowGetRunResult.java Adds run lookup result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowGetRunDetailParams.java Adds detail lookup input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowGetRunDetailResult.java Adds detailed observability result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowGetRunProgressParams.java Adds progress lookup input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowGetRunProgressResult.java Adds progress lookup result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowListRunsParams.java Adds run-list pagination input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowListRunsResult.java Adds run-list result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowCancelParams.java Adds cancellation input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowCancelResult.java Adds cancellation result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowPauseParams.java Adds pause input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowPauseResult.java Adds pause result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowPauseAtCheckpointParams.java Adds checkpoint input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowPauseAtCheckpointResult.java Adds checkpoint result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowLogParams.java Adds workflow logging input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowAgentParams.java Adds workflow-agent input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowAgentResult.java Adds workflow-agent result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowJournalGetParams.java Adds journal lookup input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowJournalGetResult.java Adds journal lookup result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionWorkflowJournalPutParams.java Adds journal write input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionQueueWithdrawMessageParams.java Adds queued-message withdrawal input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionQueueWithdrawMessageResult.java Adds withdrawal result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionQueueAppendSteeringParams.java Adds steering append input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionQueueAppendSteeringResult.java Adds steering append result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionQueueSnapshotResult.java Adds in-flight model change ID.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsInstallParams.java Adds plugin installation input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsInstallResult.java Adds installation result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsUninstallParams.java Adds uninstall disambiguation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsUpdateParams.java Adds plugin update input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsUpdateResult.java Adds plugin update result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsEnableParams.java Adds plugin enable input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsDisableParams.java Adds plugin disable input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesListParams.java Adds marketplace listing input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesListResult.java Adds marketplace listing result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesAddParams.java Adds marketplace registration input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesAddResult.java Adds marketplace registration result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesRemoveParams.java Adds marketplace removal input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesRemoveResult.java Adds marketplace removal result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesBrowseParams.java Adds marketplace browsing input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesBrowseResult.java Adds marketplace browsing result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesRefreshParams.java Adds marketplace refresh input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionPluginsMarketplacesRefreshResult.java Adds marketplace refresh result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​Plugin.java Adds plugin provenance and management fields.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​InstalledPluginInfo.java Adds managed-plugin state.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​MarketplaceInfo.java Adds managed marketplace state.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionModelSwitchToResult.java Adds queued model-change ID.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionModelApplyStartupOverlayParams.java Adds Auto tier preference.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionModelApplyStartupOverlayResult.java Adds queued model-change ID.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionMetadataSnapshotResult.java Adds indexed-search state.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​IndexedSearchState.java Adds indexed-search state enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionManagedSettingsGetParams.java Adds managed-settings input.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​ManagedSettingsResolvedSource.java Adds managed-settings provenance enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionManagedPermissions.java Updates managed permission semantics.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionFsSetProviderParams.java Clarifies filesystem-provider constraints.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​ServerSessionFsApi.java Updates filesystem API documentation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SandboxConfigUserPolicyNetwork.java Updates proxy behavior documentation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​SessionToolsTaskCompleteEventDataResult.java Adds structured blocker result.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​TaskBlocker.java Adds RPC blocker model.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​TaskBlockerKind.java Adds RPC blocker enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryStatus.java Adds RPC recovery status.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryReason.java Adds RPC recovery reason.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryOnBlocked.java Adds RPC blocked-action enum.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryData.java Adds RPC recovery snapshot.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryAttempt.java Adds RPC recovery attempt.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryAttemptRelation.java Adds RPC attempt relation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryAttemptReason.java Adds RPC attempt reason.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PermissionRecoveryAttemptDisposition.java Adds RPC attempt disposition.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​PendingPermissionRequest.java Adds recovery episode correlation.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​ModelChangeSource.java Adds changeboarding source.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​McpPlanConfigurationChange.java Clarifies transport alternatives.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​McpInstallPlan.java Clarifies transport plan semantics.
java/​sdk/​src/​generated/​java/​com/​github/​copilot/​generated/​rpc/​CopilotUserResponse.java Adds enterprise license metadata.
Files not reviewed (4)
  • go/rpc/zrpc_encoding.go: Generated file
  • go/rpc/zsession_encoding.go: Generated file
  • go/rpc/zsession_events.go: Generated file
  • go/zsession_events.go: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

This comment has been minimized.

Hunter Sadler and others added 2 commits September 18, 2026 17:45
Preserve existing subagent histories and add only observed short-idle, full-history read variants with failure/cancellation rejection coverage. Apply the repository root Java formatter to the two repaired test files.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve historical public variant superclasses and emit contextual
secondary-root variants with validated Jackson subtype registrations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

@aurokin

aurokin commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Follow-up to the Java shared-union finding in #2731 (review): fixed in 20d9ace.

I reproduced three new CatalogSearchResult failures (negotiation-refused, invalid-request, unavailable) with real Jackson. Nine McpPlanInstallResult registrations were already incompatible at the pre-intake base; the same generic ownership fix corrects those mechanically, rather than treating them as nine new regressions.

The generator now preserves all 61 historical canonical names/superclasses and all ten target-only unambiguous variants, with 12 additive contextual variants for secondary roots. All 83 subtype registrations across 13 roots are valid. The Java-only delta is exactly 21 files; pins, runtime, schemas, and other languages are unchanged. Focused qualification passed: 123 Java tests including 15 Jackson round trips, 13 generator tests, three schema-fetch tests, root Spotless, deterministic regeneration, and fresh source review. Details are in the updated PR description.

The finite Java outbound-dispatch coverage gap is now addressed separately in 2c54fa6. This is a test-only follow-up, not a reproduced dispatch bug: 29 new endpoint invocations plus the optional marketplaces.refresh(null) path assert independent literal wire names, result classes, complete representative JSON, and bound-session precedence. Only GeneratedRpcApiCoverageTest.java changes. Final Surefire XML confirms 79 passing tests = 49 existing + 30 new, with zero failures/errors/skips; root formatting and fresh follow-up review pass. An initial placement/discovery issue that ran only 49 tests was corrected before this qualification.

Current-head full CI and human approval remain outstanding. The previous 20d9ace head passed all 89 SDK jobs, including the Go/Node lanes previously observed failing; that proves non-reproduction on the earlier head, not causal fixes or CI coverage of this new test-only commit. Natural new-head SDK run: https://github.com/github/copilot-sdk/actions/runs/35409036457 .

@github-actions

This comment has been minimized.

Exercise 29 new public endpoints and optional marketplace refresh with
independent method, result type, payload, and session identity assertions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

Compile the private TAR helper only for non-Windows production or bundled
unit tests, preserving Windows runtime-archive test coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

Validate field-local literals before decoding extensible named enums so
untagged catalogue candidates cannot consume another kind. Preserve public
field types and standalone Unknown fallbacks; regenerate from CLI 1.0.87-0.

Includes the exact AI-skill decoding regression and MCP/Plugin controls.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor Author

SDK Consistency Review — PR #2731

Reviewed the authoritative diff (223 changed files across get_files/get_diff) for this automated Copilot CLI 1.0.87-0 version-bump PR.

Findings: no cross-SDK consistency issues.

  • Version pin bump (nodejs/package.json, nodejs/src/cliVersion.ts) and regenerated output (nodejs, python, go, dotnet, rust, java generated files) are updated together, as expected for this workflow.
  • New feature — preserving raw union event payloads: the codegen for session events was extended so that event data payloads backed by a JSON Schema anyOf/oneOf union no longer collapse to an empty struct/class; instead each SDK now emits a discriminated-union type (or a raw-payload wrapper) that round-trips the full wire payload, including unrecognized variants. This was implemented consistently across all six languages:
    • Go (scripts/codegen/go.ts): emits a Raw json.RawMessage field with custom MarshalJSON/UnmarshalJSON.
    • C#/.NET (scripts/codegen/csharp.ts): emits a discriminated-union class via generateDiscriminatedUnionClass.
    • Python (scripts/codegen/python.ts): emits a flat discriminated union via emitPyFlatDiscriminatedUnion.
    • Rust (scripts/codegen/rust.ts): emits a type alias to a generated union enum via tryEmitRustUnion.
    • Java (java/scripts/codegen/java.ts): emits a raw-payload wrapper documented as "Raw union payload... preserving every variant's fields".
    • Each language's corresponding test suite was updated in parallel (nodejs/test/*-codegen.test.ts, go/session_event_serialization_test.go, python/test_event_forward_compatibility.py, rust/tests/session_events_test.rs, dotnet/test/Unit/SessionEventSerializationTests.cs, java/sdk/src/test/java/.../SessionEventDeserializationTest.java).
  • Java-only generator correction (java/scripts/codegen/rpc-variant-owners.ts, java/scripts/codegen/java.ts): fixes a Java-specific inheritance/Jackson subtype-ownership regression (shared discriminated-union superclass selection) that only applies to Java's polymorphic-class generation strategy. This doesn't need a parallel change in other SDKs since it addresses a Java-specific code-generation quirk, not a cross-language API/feature gap.
  • Rust-only fix (rust/src/embeddedcli.rs): narrows a #[cfg(...)] guard on a private extract_binary helper to fix an "unused function" warning under a strict Windows build (-D warnings). This is an internal, non-Windows/test-only compilation detail with no public API or cross-SDK surface, so no parity action is needed elsewhere.
  • Unrelated test-only change in test/harness/subagentHooksReplay.test.ts / its snapshot adds a "short idle notification" test case variant to existing sub-agent hook replay tests — internal test-harness coverage, not an SDK API change.

No public API naming, parameter, or behavioral divergence was found between languages for the new functionality. ✅

Generated by SDK Consistency Review Agent for #2731 · copilot · sonnet50 · 66.3 AIC · ⌖ 11.7 AIC · ⊞ 7.8K ·

@aurokin
aurokin added this pull request to the merge queue Sep 19, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 19, 2026
@stephentoub
stephentoub added this pull request to the merge queue Sep 19, 2026
Merged via the queue into main with commit 791f7fb Sep 19, 2026
113 checks passed
@stephentoub
stephentoub deleted the update-copilot-1.0.87-0 branch September 19, 2026 15:57
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.

4 participants