-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Comparing changes
Open a pull request
base repository: github/copilot-sdk
base: rust/v1.0.0-beta.6
head repository: github/copilot-sdk
compare: rust/v1.0.0-beta.7
- 16 commits
- 673 files changed
- 6 contributors
Commits on May 22, 2026
-
Configuration menu - View commit details
-
Copy full SHA for dbe9d27 - Browse repository at this point
Copy the full SHA dbe9d27View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8c0c7c - Browse repository at this point
Copy the full SHA d8c0c7cView commit details -
Add runtime_instructions system message section to all SDKs (#1377)
* Add runtime_instructions system message section to all SDKs Add support for the new runtime_instructions section added by the latest copilot-agent-runtime. This section targets runtime-provided context and instructions assembled from sources such as systemMessage.content, system notifications, memories, workspace context, mode-specific instructions, and content-exclusion policy. Changes across SDKs (excluding Java): - Node.js: Add to SystemMessageSection type union and SYSTEM_MESSAGE_SECTIONS - Python: Add to SystemMessageSection Literal type and SYSTEM_MESSAGE_SECTIONS - Go: Add SectionRuntimeInstructions constant with doc comments on all constants - .NET: Add SystemMessageSection.RuntimeInstructions using string-backed struct pattern (replaces former static class with string constants) - Rust: Comment-only update (uses raw strings, no predefined constants) Also renames SystemPromptSection/SYSTEM_PROMPT_SECTIONS to SystemMessageSection/SYSTEM_MESSAGE_SECTIONS across all SDKs for consistency, since these are sections of SystemMessageConfig. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix README: SystemMessageSection is a struct, not an enum Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix PublicDtoTests to handle non-string dictionary keys The test's TryCreateGenericCollection only handled dictionaries with string keys. With SystemMessageSection now being a struct used as a dictionary key, the test fell through to the IEnumerable path which created a List<KeyValuePair<...>> incompatible with IDictionary<...>. Generalized the dictionary handling to support any key type. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 85d91ca - Browse repository at this point
Copy the full SHA 85d91caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24d5ff6 - Browse repository at this point
Copy the full SHA 24d5ff6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 578782e - Browse repository at this point
Copy the full SHA 578782eView commit details -
Fix flaky SDK E2E tests (#1379)
* Fix flaky SDK E2E tests Avoid waiting for full assistant completions in tool-filter tests when the assertions only need captured CAPI requests. Replace fake echo MCP server configs with the shared Node MCP test server and wait for MCP connectivity before prompts in real MCP E2E tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Format Python E2E harness Apply Ruff formatting to the new exchange polling helper. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address CodeQL review comments Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Avoid rooted path combine in test harness lookup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Stabilize custom config dir E2E test Use SendAndWaitAsync so the test subscribes for response events before sending the prompt, and dispose the session after the custom config dir check. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Stabilize permission handler E2E test Start the send-and-wait operation before awaiting permission callbacks so response events are observed by the operation's subscription. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0c7886c - Browse repository at this point
Copy the full SHA 0c7886cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d99871c - Browse repository at this point
Copy the full SHA d99871cView commit details -
Implement phase 03 of merge to monorepo plan (#1369)
* Add Java publish workflows, smoke test, and release scripts for monorepo Implement Phase 03 of the Java-to-monorepo migration plan, adapting the Java SDK's publishing and testing automation for the monorepo structure. Changes: - java-publish-maven.yml: add working-directory, use java/v tag prefix, scope secrets to Java - java-publish-snapshot.yml: add working-directory for monorepo - java-smoke-test.yml: new workflow running smoke tests on JDK 17 and JDK 25 with globally installed Copilot CLI (version pinned from pom.xml) - java.notes.template: release notes template for GitHub Releases - update-changelog.sh: script to update CHANGELOG.md during release, generating compare links with java/v tag prefix - test-update-changelog.sh: tests for the changelog update script - TestUtil.java: align findCliPath() Javadoc with actual resolution order (COPILOT_CLI_PATH first, then PATH search) - pom.xml: update copilot-sdk-ref-impl version property * Remove Java-specific CHANGELOG; use monorepo's release-changelog agent for java/v* and rust/v* scoped tags. Address [comments](#1369 (comment)) from @stephentoub . .github/scripts/release/update-changelog.sh (deleted): Custom awk-based script that maintained java/CHANGELOG.md is no longer needed. .github/scripts/release/test-update-changelog.sh (deleted): Tests for the above script. .github/workflows/java-publish-maven.yml: Remove update-changelog.sh call and CHANGELOG.md from git-add; add "Trigger changelog generation" step that invokes release-changelog.lock.yml with the java/v* tag. .github/workflows/release-changelog.md: Surgical additions to handle language-prefixed tags (java/v*, rust/v*) — scoped previous-tag lookup, scoped file filtering, scoped code snippets, and scoped heading format in CHANGELOG.md. .github/workflows/release-changelog.lock.yml: Recompiled from release-changelog.md via `gh aw compile`. java/CHANGELOG.md (deleted): No longer maintaining a Java-specific changelog; releases flow through the root CHANGELOG.md via the release-changelog agent. * Recompile workflows
Configuration menu - View commit details
-
Copy full SHA for 217db5f - Browse repository at this point
Copy the full SHA 217db5fView commit details -
Fix .NET package version props generation (#1387)
Generate the Copilot CLI version props before NuGet collects package files so the generated props file is included in the packed build assets. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 4afa8ce - Browse repository at this point
Copy the full SHA 4afa8ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for a68141d - Browse repository at this point
Copy the full SHA a68141dView commit details
Commits on May 23, 2026
-
Add Java-specific content to monorepo copilot-instructions.md (#1391)
Closes #1390 Enrich `.github/copilot-instructions.md` with Java details that were present in the standalone copilot-sdk-java repo but missing from the monorepo variant: - **Developer workflows**: add single-test and format-check commands - **Testing & E2E tips**: add snapshot naming convention (snake_case) - **Conventions & patterns**: add code style bullet (Spotless, fluent setters, Javadoc) and porting guidance (CompletableFuture, Jackson) - **Integration & environment**: add pre-commit hook instructions - **Boundaries section** (new): document generated files that must not be hand-edited (`java/src/generated/java/`, `nodejs/src/generated/`, `test/snapshots/`)
Configuration menu - View commit details
-
Copy full SHA for 5e4f490 - Browse repository at this point
Copy the full SHA 5e4f490View commit details -
Java SDK: sync reference implementation to
^1.0.52-1, add `preMcpTo……olCall` hook, fix `PingResponse` timestamp type (#1389) ## XL — Regenerated RPC types from `@github/copilot schema` update (288 files) Upgrading the reference implementation version from `^1.0.49-1` to `^1.0.52-1` required updating the `@github/copilot` npm package in `scripts/codegen/`, which brought in schema changes. The Java code generator (`java.ts`) was updated to handle these schema changes, and all generated types were regenerated. - 222 new generated RPC types under `src/generated/java/` (new API surfaces: `SessionEventLogApi`, `SessionMetadataApi`, `SessionQueueApi`, `SessionTasksApi`, `SessionUiApi`, `SessionOptionsApi`, `SessionLspApi`, `SessionMcpApi`, `SessionScheduleApi`, permission `location/path/URL` config types, and more) - 66 modified generated files (field type changes, new fields, new enum values) - Updated `scripts/codegen/java.ts` to handle new schema patterns - Updated `scripts/codegen/package.json` and `package-lock.json` These are all machine-generated. Human review should focus on the `java.ts` codegen script changes; the generated output can be spot-checked. ## M — Port `preMcpToolCall` hook (6 files) New hook that fires before an MCP tool call is dispatched to an MCP server, giving SDK consumers the ability to inspect or modify the call. - New: `PreMcpToolCallHandler.java` (functional interface) - New: `PreMcpToolCallHookInput.java` (input DTO with server name, tool name, arguments) - New: `PreMcpToolCallHookOutput.java` (output DTO with allow/deny/modify) - Modified: `SessionHooks.java` (added onPreMcpToolCall field, getter, setter, hasHooks check) - Modified: `CopilotSession.java` (dispatch "preMcpToolCall" hook name to handler) - New test: `PreMcpToolCallHookTest.java` (unit tests for the new hook) ## S — Fix `PingResponse` timestamp type (2 files) The CLI server changed the ping response timestamp from a numeric epoch (long) to an ISO 8601 string. Updated `PingResponse` record field from `long timestamp` to `String timestamp`, and updated `CopilotClientTest` accordingly. ## S — `SessionLogParams` constructor change (1 file) `SessionLogParams` gained new nullable fields in the schema. Updated the call site in `CopilotSession.log()` to pass the additional null parameters. ## S — Test maintenance (4 files) - `McpAndAgentsTest`: new E2E test for MCP and agents scenario - `PermissionsTest`: minor test adjustment - `SessionEventDeserializationTest`: updated assertions to match new generated types - `GeneratedRpcRecordsCoverageTest`: updated coverage list for new generated types ## S — Infra / metadata (3 files) - `.lastmerge`: updated to `f4d22d70016c377881d86e4c77f8a3f93746ffae` - `pom.xml`: ref-impl version property updated to `^1.0.52-1` - `.github/workflows/copilot-setup-steps.yml`: bump gh-aw setup-cli to `v0.74.8`
Configuration menu - View commit details
-
Copy full SHA for 9149379 - Browse repository at this point
Copy the full SHA 9149379View commit details -
Update @github/copilot to 1.0.52-4 (#1393)
* Update @github/copilot to 1.0.52-4 - Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code * Fix Rust generation for map RPC results Emit Rust type aliases for top-level map-shaped schemas so generated RPC methods can return opaque object payloads like session.mcp.apps.callTool. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Stephen Toub <stoub@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e89a891 - Browse repository at this point
Copy the full SHA e89a891View commit details -
Update @github/copilot to 1.0.52 (#1405)
- Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for a77e8ec - Browse repository at this point
Copy the full SHA a77e8ecView commit details
Commits on May 24, 2026
-
Update @github/copilot to 1.0.53-2 (#1408)
* Update @github/copilot to 1.0.53-2 - Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code * Fix Python RPC dataclass: keep canvas_json_schema required quicktype emits the freeform 'canvas_json_schema' field as 'Any', and the post-processor was adding '= None' to every bare ': Any' annotation. That turned the synthesized root RPC dataclass field into a defaulted argument followed by required fields (canvas_list, ...), which made Python raise 'non-default argument follows default argument' at import time and broke every Python SDK test plus the scenario import checks. Scope the post-processor so RPC definition fields keep their required Any annotation, matching the rest of the registry. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: jmoseley <jemoseley@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 08f0521 - Browse repository at this point
Copy the full SHA 08f0521View commit details -
Add SDK canvas runtime support (#1401)
* Add canvas runtime support to SDK Add Node extension canvas APIs and direct canvas provider callback routing. Add Rust canvas declarations, provider handlers, create/resume wiring, and host session.canvas APIs aligned with the runtime schema. Validation: nodejs typecheck/lint/tests; rust fmt/check/clippy; cargo test --all-features. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add canvas provider RPC tracing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add extension info session option Expose stable extension identity metadata on Node and Rust session create/resume options and forward extensionInfo on the wire for canvas providers. Validation: nodejs typecheck/lint/vitest; rust fmt/clippy/test --all-features. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Expose canvas resume durability fields Add CanvasInstanceAvailability, OpenCanvasInstance availability, and resume openCanvases seeding support to the Rust SDK. Validation: cargo +nightly-2026-04-14 fmt --check; cargo clippy --all-features --all-targets -- -D warnings; cargo test --all-features. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address canvas SDK review feedback Validate canvas provider request payloads before routing, surface Rust canvas serialization and builder errors, and clarify list_open RPC behavior. Validation: nodejs typecheck/lint/vitest; rust fmt/clippy/test --all-features. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Format Rust session imports Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Sync canvas tool surface docs Remove stale focus/close/reload canvas agent-tool references and cover custom-tool permission payload passthrough for open_canvas. Validation: nodejs typecheck; cargo test --all-features permission_request_data_extracts_typed_kind. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Require canvas descriptions Align canvas contribution and discovered canvas descriptions with the runtime schema, update canvas tool-surface docs, and cover open_canvas custom-tool permission payloads. Validation: nodejs typecheck/lint/vitest client+extension; rust fmt/clippy; cargo check --all-features --all-targets; targeted canvas and permission tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Require canvas instance availability Align OpenCanvasInstance with the runtime schema by making availability required and updating canvas host/resume tests. Validation: cargo check --all-features --all-targets; cargo test --all-features canvas; targeted session canvas tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Rename Node canvas open handler Rename the Node canvas provider option from onOpen to open and remove lifecycle handler options from the extension canvas API. Validation: nodejs typecheck; vitest client and extension tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Drop canvas toolbar and focus/reload surface Aligns the SDK canvas contract with copilot-agent-runtime jmoseley/adr-implementation-plan commits 85b23bc264 and acdefc1bc1: - Rename agentActions to actions on CanvasDeclaration and DiscoveredCanvas (Rust + Node). - Drop toolbar from CanvasContribution and CanvasOpenResponse, and remove CanvasToolbarItemDeclaration / CanvasToolbarItem entirely. - Drop SessionCanvas::focus and SessionCanvas::reload host APIs; re-opening with the same instanceId now drives focus via session.canvas.opened { reopen: true }, and reload is renderer-only. - Drop canvas.focus / canvas.reload provider JSON-RPC routes and the matching CanvasHandler::on_focus / on_reload hooks; canvas.close keeps its dedicated dispatch path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Restore optional onClose handler on Node canvas options Lets extension authors observe canvas instance close events without adding back the dropped onFocus/onReload hooks. Fire-and-forget: the handler's return value is ignored and the provider response is still undefined. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Support per-action handlers on Node canvas actions Each entry in createCanvas({ actions }) may now carry its own optional handler, co-located with the action's metadata. The top-level onAction remains as a fallback for actions that don't define their own handler. Dispatch order: 1. Per-action handler when set. 2. Top-level onAction otherwise. 3. canvas_action_no_handler if neither is wired. The handler closure is stripped from the wire CanvasDeclaration sent on session.create / session.resume; only the action's name, description, and inputSchema reach the runtime. A new CanvasAction authoring type sits on top of the existing CanvasAgentActionDeclaration wire type. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Drop top-level onAction fallback on Node canvases Per-action handlers are now the only dispatch path. Declared actions without a handler fall through to canvas_action_no_handler. Keeps the action's metadata and behavior co-located and removes a second indirection that always boiled down to a switch on actionName. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Normalize JSDoc style on CanvasAgentActionDeclaration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Drop stale wire-rename guards from canvas declaration test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Document canvas action dispatch divergence in Rust SDK Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Require handler on canvas actions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Collapse CanvasAgentActionDeclaration into CanvasAction Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Drop debug log for inbound JSON-RPC requests Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Drop canvas debug logs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove canvas tools field Drop CanvasToolDefinition, CanvasToolDefinitionDefer, and the CanvasOpenResponse.tools / OpenCanvasInstance.tools fields from both the Node and Rust SDKs. The CLI side is being removed in lockstep, so the wire contract no longer carries this field. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * rust: slim canvas surface to wire types + CanvasHandler Move per-canvas registry, Canvas builder, dispatch helpers, and the SessionCanvas host helper out of the SDK. The Rust canvas surface now matches the other typed extension points (PermissionHandler / UserInputHandler / HookHandler): SessionConfig .with_canvases([CanvasDeclaration, ...]) .with_canvas_handler(Arc::new(MyHandler)) Removed: - canvas::Canvas, CanvasBuilder (declaration+handler bundle) - canvas::CanvasRegistry, build_registry, dispatch_canvas_* - session::SessionCanvas + Session::canvas() accessor (callers move to session.rpc().canvas().*) Kept (the wire boundary + typed extension point): - All wire types (CanvasDeclaration, OpenCanvasInstance, ...) - CanvasHandler trait + on_open/on_action/on_close - SessionConfig/ResumeSessionConfig.canvases (now Vec<CanvasDeclaration>) - SessionConfig/ResumeSessionConfig.canvas_handler handle_request dispatches canvas.open/close/action.invoke directly to the handler; the per-canvas registry now lives in the app layer. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * rust: drop canvas wire types duplicated by codegen Removed CanvasInstanceAvailability, OpenCanvasInstance, CanvasAgentActionDeclaration (-> CanvasAction), CanvasDiscoverResult, DiscoveredCanvas, CanvasListOpenResult, CanvasOpenRequest, CanvasCloseRequest, CanvasInvokeActionRequest, and CanvasInvokeActionResult from canvas.rs; consumers import these from crate::generated::api_types directly. The remaining hand-written types (CanvasDeclaration, CanvasOpenResponse, handler trait, contexts, CanvasError) are genuinely additive provider-authoring contracts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix broken intra-doc link to renamed CanvasAction type The canvas wire types were deduplicated against generated/api_types.rs, renaming CanvasAgentActionDeclaration to CanvasAction. A doc comment in canvas.rs still referenced the old name, which broke cargo doc on CI (broken_intra_doc_links is denied). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * go: add canvas runtime support Mirrors the Rust SDK canvas surface in rust/src/canvas.rs: - CanvasDeclaration, CanvasOpenResponse, CanvasHostContext, CanvasOpenContext / CanvasActionContext / CanvasLifecycleContext, CanvasError, CanvasHandler interface + CanvasHandlerDefaults, and ExtensionInfo. - SessionConfig / ResumeSessionConfig: Canvases, RequestCanvasRenderer, RequestExtensions, CanvasHandler, ExtensionInfo. - Inbound JSON-RPC dispatch for canvas.open, canvas.close, and canvas.action.invoke, with a canvas_handler_unset error envelope when no handler is installed and a canvas_handler_error envelope when a handler returns a non-CanvasError error. - Session.OpenCanvases() surfaces the openCanvases snapshot from the session.resume response. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * python: add canvas runtime support Mirrors the Rust SDK design: callers declare canvases on session.create / session.resume, install a single CanvasHandler, and the SDK dispatches inbound canvas.open / canvas.close / canvas.action.invoke JSON-RPC requests to that handler. Resume populates session.open_canvases from the response. JSON-RPC dispatch was loosened to allow handlers to return any JSON value (canvas.action.invoke result is arbitrary JSON). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * dotnet: add canvas runtime support Ports the canvas runtime surface from the Rust SDK to the .NET SDK so .NET hosts can declare canvases on session create/resume, advertise an extension identity, and handle inbound canvas.open / canvas.close / canvas.action.invoke RPC calls. * New public Canvas.cs surface (CanvasDeclaration, ExtensionInfo, CanvasOpenResponse, CanvasHostContext, lifecycle/action/open contexts, CanvasError, ICanvasHandler, CanvasHandlerBase). All marked [Experimental(GHCP001)]. * SessionConfigBase gains Canvases, RequestCanvasRenderer, RequestExtensions, ExtensionInfo, CanvasHandler. * CreateSession/ResumeSession requests forward the new fields and surface OpenCanvases on the response. CopilotSession exposes the returned canvases via OpenCanvases. * CopilotClient registers canvas.open / canvas.close / canvas.action.invoke handlers and dispatches them to the session, which invokes the user's ICanvasHandler and returns structured CanvasError data via a new JsonRpc LocalRpcInvocationException path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review: openCanvases parity + Node API divergence note - Node: add openCanvases accessor on CopilotSession and OpenCanvases field on ResumeSessionConfig so callers can both rehydrate from the resume response and pre-populate canvas state on resume. - Node: document why createCanvas/Canvas intentionally diverges from the per-session CanvasHandler pattern used by Rust/Python/Go/.NET. - Go: add ResumeSessionConfig.OpenCanvases, thread through to the resume request wire payload, and add a serialization test. - .NET: add ResumeSessionConfig.OpenCanvases, thread through to the internal ResumeSessionRequest record, and add a serialization test. Mirrors what Rust and Python already do, fixing wire-protocol parity across SDKs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for 51043b1 - Browse repository at this point
Copy the full SHA 51043b1View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff rust/v1.0.0-beta.6...rust/v1.0.0-beta.7