Skip to content

GitHub Copilot SDK for Java 1.0.10-preview.0

Pre-release
Pre-release

Choose a tag to compare

Installation

⚠️ Artifact versioning plan: Releases of this implementation track releases of the reference implementation. For each release of the reference implementation, there may follow a corresponding release of this implementation with the same number as the reference implementation. Release identifiers of the reference implementation are in the form vMaj.Min.Micro. For example v0.1.32. The corresponding maven version for the release will be Maj.Min.Micro-java.N, where Maj, Min and Micro are the corresponding numbers for the reference implementation release, and N is a monotonically increasing sequence number starting with 0 for each release. See the corresponding architectural decision record for more information in the docs/adr directory of the source code.

📦 [View on Maven Central]((central.sonatype.com/redacted)

📖 [Documentation]((github.github.io/redacted) · [Javadoc]((github.github.io/redacted)

Maven

<dependency>
    <groupId>com.github</groupId>
    <artifactId>copilot-sdk-java</artifactId>
    <version>1.0.10-preview.0</version>
</dependency>

Gradle (Kotlin DSL)

implementation("com.github:copilot-sdk-java:1.0.10-preview.0")

Gradle (Groovy DSL)

implementation 'com.github:copilot-sdk-java:1.0.10-preview.0'

Feature: managed permission settings at session startup

Applications can now supply host-managed permission settings at session startup via SessionConfig.setManagedSettings(). The runtime validates and composes this policy with self-fetched and device policy. Re-supply on resume as it is not persisted. (#2139)

SessionConfig config = new SessionConfig()
    .setManagedSettings(new ManagedSettings()
        .setPermissions(new ManagedSettingsPermissions()
            .setFilesystem(PermissionLevel.READ_WRITE)));

Feature: userPromptTransformed hook

A new onUserPromptTransformed hook on SessionHooks lets applications observe (and optionally modify) the prompt text after the runtime transforms it. (#2254)

session.getHooks().setOnUserPromptTransformed((input, ctx) -> {
    System.out.println("Transformed prompt: " + input.getPrompt());
    return CompletableFuture.completedFuture(null);
});

Feature: disable specific MCP servers per session

SessionConfig.setDisabledMcpServers() accepts a list of exact MCP server names to disable for the session. Disabled servers are not started or authenticated on create or cold resume. (#2260)

SessionConfig config = new SessionConfig()
    .setDisabledMcpServers(List.of("my-mcp-server"));

Feature: Tool.isTerminal and history.clearContext

The @CopilotTool annotation gains an isTerminal flag — when true, a successful call to that tool ends the agent turn immediately. The session also gains clearContext() to reset the conversation history. (#2129)

`@CopilotTool`(name = "done", description = "Signal task complete", isTerminal = true)
public void done() { }

Other changes

  • feature: support reasoningEffort: "max" in SessionConfig and ResumeSessionConfig (#2228)
  • bugfix: preserve MCP permission extension data in PermissionRequest serialization (#2276)

Generated by Release Changelog Generator · sonnet46 52.6 AIC · ⌖ 7.17 AIC · ⊞ 8.6K