Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: github/copilot-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.0-beta.3
Choose a base ref
...
head repository: github/copilot-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: rust/v1.0.0-beta.4
Choose a head ref
  • 17 commits
  • 265 files changed
  • 10 contributors

Commits on May 9, 2026

  1. Unify Rust SDK release with publish.yml workflow (#1237)

    * Unify Rust SDK release with publish.yml workflow
    
    Fold the Rust crate into the same manual publish.yml workflow that
    ships Node, .NET, and Python. Retire release-plz, the two-PR flow,
    and the hand-curated CHANGELOG.md.
    
    Rust ships only on dist-tag=latest runs and is hard-guarded to ^0\.
    versions to prevent accidentally publishing 1.x while the crate is
    still pre-1.0. The cross-language release notes continue at vX.Y.Z;
    Rust gets its own scoped GitHub Release at rust/vX.Y.Z with notes
    auto-generated from PR titles since the previous Rust tag.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Allow Rust SDK to ship prereleases on crates.io
    
    Drop the pre-1.0 ^0\. guard and the 'latest only' gate on the Rust
    publish job. Rust now follows the same dist-tag rules as Python and
    .NET: publish on 'latest' and 'prerelease', skip on 'unstable'.
    
    Cargo's standard semver behavior already protects stable users from
    prereleases — 'cargo add' and bare version requirements skip
    prereleases by default, so users have to opt in explicitly.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Drop cargo semver-checks from Rust CI
    
    None of the other language SDKs enforce semver compatibility in CI;
    Rust shouldn't either. Out of step with the rest of the repo.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Address PR review feedback
    
    - Use 'grep -vFx' instead of 'grep -v "^TAG$"' for prev-tag lookup.
      Tag values contain dots that would be treated as regex metachars.
    - Pass --prerelease to the Rust 'gh release create' when the
      workflow is triggered with dist-tag=prerelease, matching how the
      cross-language release step is labeled.
    - Replace BSD-sed invocations in rust/RELEASING.md with portable
      'perl -i -pe' so the manual publish steps work on both macOS
      and Linux.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    tclem and Copilot authored May 9, 2026
    Configuration menu
    Copy the full SHA
    55b3b1c View commit details
    Browse the repository at this point in the history
  2. Update @github/copilot to 1.0.44-3 (#1239)

    * Update @github/copilot to 1.0.44-3
    
    - Updated nodejs and test harness dependencies
    - Re-ran code generators
    - Formatted generated code
    
    * Align ModelBilling.multiplier optional across SDK public surfaces
    
    The regenerated wire types now treat `ModelBilling.multiplier` as optional,
    matching the upstream schema relaxation. Update the hand-coded public surface
    mirrors so each language's stable API can represent an absent multiplier
    instead of silently coercing to zero (Go/.NET) or raising at decode time
    (Python).
    
    - nodejs/src/types.ts: `multiplier?: number`
    - go/types.go: `*float64` with `omitempty`
    - dotnet/src/Types.cs: `double?`
    - python/copilot/client.py: `float | None = None`; from_dict no longer
      raises on absence; to_dict skips serializing None
    
    ---------
    
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    github-actions[bot] and dmytrostruk authored May 9, 2026
    Configuration menu
    Copy the full SHA
    ac55e9a View commit details
    Browse the repository at this point in the history
  3. Replace Go RPC quicktype generation (#1234)

    * Replace Go RPC quicktype generation
    
    * Address Go RPC codegen review feedback
    
    * Rerun CI
    
    * Sort generated Go fields and constants
    
    * Regenerate Go after rebase
    
    * Sort generated Go output consistently
    
    * fix race
    
    * Regenerate Go files for updated schemas
    qmuntal authored May 9, 2026
    Configuration menu
    Copy the full SHA
    30a76a5 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2026

  1. fix(go): capture CLI stderr and fix SetProcessDone race (#863)

    * test(go): validate stderr not captured and SetProcessDone race on process exit
    
    * fix(go): capture CLI stderr and fix SetProcessDone race
    
    * test(go): avoid breaking portability
    
    Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
    
    * fix(tests): read stderr msg and exit code from env vars in TestHelperProcess to match newStderrTestCommand
    
    * fix: use bounded ring buffer for CLI stderr capture to prevent unbounded memory growth
    
    * fix: add new package truncbuffer
    
    ---------
    
    Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
    claudiogodoy99 and Copilot authored May 10, 2026
    Configuration menu
    Copy the full SHA
    d5c8db4 View commit details
    Browse the repository at this point in the history
  2. Handle empty session fork behavior in E2E tests (#1247)

    Allow the empty-session fork tests to accept either the older runtime error or a successful empty fork, and apply the expectation across C#, Node, Python, and Go.
    
    Also mark the C# test project explicitly as a test project so dotnet test discovers the xUnit tests with newer SDKs.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    stephentoub and Copilot authored May 10, 2026
    Configuration menu
    Copy the full SHA
    f625779 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2026

  1. Add Go reference badge to README (#1253)

    Added Go reference badge to README.
    qmuntal authored May 11, 2026
    Configuration menu
    Copy the full SHA
    4901dff View commit details
    Browse the repository at this point in the history
  2. Expand Rust E2E coverage (#1250)

    * Expand Rust E2E coverage
    
    Add a replay-backed Rust E2E suite matching the .NET coverage, update Rust SDK session lifecycle support for session filesystem and multi-client scenarios, and add reliability fixes for model caching and cancellation-safe pending session registration.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Address Rust E2E review feedback
    
    Move struct-only E2E placeholders into unit tests, exercise invalid external-auth client options, avoid logging session IDs from test assertions, and harden failing Rust E2Es on CI.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix Rust CI after review updates
    
    Allow inert use_logged_in_user(false) on external transports so shared E2E client options continue to work, while still rejecting true external auth requests.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Stabilize Rust selection attachment E2E
    
    Use a workspace-relative selection file path so the replayed prompt is stable across platforms instead of containing platform-specific temp directory relatives.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Make Rust E2E CI fail fast
    
    Add a per-test E2E timeout and run Rust CI tests serially with uncaptured output so stuck replay-backed tests expose the active test instead of hanging silently.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix Rust E2E suite runtime
    
    Replace the global Rust E2E lock with bounded replay-test concurrency so the suite no longer serializes every replay-backed case. Wait for disconnected-client tool removal before sending the follow-up multi-client prompt to keep the concurrent run deterministic.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Use bounded Rust E2E concurrency in CI
    
    Set libtest to four worker threads so GitHub-hosted runners actually exercise the harness concurrency limit instead of defaulting to the runner CPU count.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix Rust session tests for generated IDs
    
    Update session_test fake servers to echo the session id requested by the SDK instead of returning arbitrary ids. This keeps the tests aligned with the SDK's session-id validation and prevents cargo test from failing before the E2E suite runs.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Address Rust E2E review feedback
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix Rust multi-client clippy
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    stephentoub and Copilot authored May 11, 2026
    Configuration menu
    Copy the full SHA
    8794594 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f72bf0f View commit details
    Browse the repository at this point in the history
  4. Update README and guide for Rust SDK (#1259)

    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    stephentoub and Copilot authored May 11, 2026
    Configuration menu
    Copy the full SHA
    4a0437b View commit details
    Browse the repository at this point in the history

Commits on May 12, 2026

  1. Fix C# listFiles E2E ordering assumption (#1261)

    * Fix listFiles E2E order assertion
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix Rust listFiles E2E order assertion
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    stephentoub and Copilot authored May 12, 2026
    Configuration menu
    Copy the full SHA
    9915343 View commit details
    Browse the repository at this point in the history
  2. Update @github/copilot to 1.0.45 (#1263)

    * Update @github/copilot to 1.0.45
    
    - Updated nodejs and test harness dependencies
    - Re-ran code generators
    - Formatted generated code
    
    * Fix C# boolean discriminator generation
    
    Generate boolean-discriminated unions as flat DTOs so handled serializes as a JSON boolean.
    
    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>
    3 people authored May 12, 2026
    Configuration menu
    Copy the full SHA
    7e7dac2 View commit details
    Browse the repository at this point in the history
  3. Generate typed Go union interfaces (#1252)

    * Generate typed Go union interfaces
    
    * Update Go image input docs for attachment variants
    
    * Preserve unknown permission decision kind
    
    * Simplify Go union codegen cleanup
    
    * Fix Go scenario typed union examples
    
    * Fix Go matcher codegen lint
    
    * Generate Go interfaces for shape-distinct unions
    
    * Refactor Go union codegen planning
    
    * Fix raw session event JSON fallback
    
    * Generate Go unions from required fields
    
    * regenerate
    qmuntal authored May 12, 2026
    Configuration menu
    Copy the full SHA
    f48afda View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e0a0f5e View commit details
    Browse the repository at this point in the history
  5. Support experimental schema types in codegen (#1267)

    * Support experimental schema types in codegen
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Stabilize Rust generated imports
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Preserve Rust codegen API schema argument
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Retry CI
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Retry CI after CodeQL 429
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Deduplicate experimental marker emission
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Remove unused Python event experimental state
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Align event data experimental metadata
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Use Python event data experimental metadata
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    stephentoub and Copilot authored May 12, 2026
    Configuration menu
    Copy the full SHA
    81b7b01 View commit details
    Browse the repository at this point in the history
  6. Normalize skill context snapshots (#1269)

    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    stephentoub and Copilot authored May 12, 2026
    Configuration menu
    Copy the full SHA
    4a3f210 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2026

  1. Update @github/copilot to 1.0.46 (#1270)

    * Update @github/copilot to 1.0.46
    
    - Updated nodejs and test harness dependencies
    - Re-ran code generators
    - Formatted generated code
    
    * Add missing model_picker fields to Rust test fixtures
    
    The 1.0.46 update added `model_picker_category` and
    `model_picker_price_category` fields to the `Model` type. Update the
    Rust test fixtures in lib.rs and tests/e2e/client.rs to initialize these
    new fields so clippy passes.
    
    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: Timothy Clem <timothy.clem@gmail.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    3 people authored May 13, 2026
    Configuration menu
    Copy the full SHA
    a9c763e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e3dc73 View commit details
    Browse the repository at this point in the history
Loading