Skip to content

Commit 79e1bf2

Browse files
Add changelog for java/v1.0.4
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 6d0e78f commit 79e1bf2

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,62 @@ All notable changes to the Copilot SDK are documented in this file.
55
This changelog is automatically generated by an AI agent when stable releases are published.
66
See [GitHub Releases](https://github.com/github/copilot-sdk/releases) for the full list.
77

8+
## [java/v1.0.4](https://github.com/github/copilot-sdk/releases/tag/java/v1.0.4) (2026-06-25)
9+
10+
### Feature: HTTP request callback support
11+
12+
Register a `CopilotRequestHandler` on the client to intercept every outbound LLM inference HTTP or WebSocket request — for both BYOK and CAPI — and mutate, replace, or fully forward it. Useful for logging, header injection, model substitution, or custom routing. ([#1689](https://github.com/github/copilot-sdk/pull/1689), [#1775](https://github.com/github/copilot-sdk/pull/1775), [#1784](https://github.com/github/copilot-sdk/pull/1784))
13+
14+
```java
15+
final class MyHandler extends CopilotRequestHandler {
16+
@Override
17+
protected HttpResponse<InputStream> sendRequest(HttpRequest request, CopilotRequestContext ctx) throws Exception {
18+
HttpRequest mutated = HttpRequest.newBuilder(request, (n, v) -> true)
19+
.header("X-Debug-Session", ctx.sessionId() == null ? "none" : ctx.sessionId())
20+
.build();
21+
return super.sendRequest(mutated, ctx);
22+
}
23+
}
24+
25+
CopilotClient client = new CopilotClient(
26+
new CopilotClientOptions().setRequestHandler(new MyHandler()));
27+
```
28+
29+
### Feature: `getBearerToken` callback for BYOK providers (Managed Identity)
30+
31+
BYOK provider configs now accept a `getBearerToken` callback so the SDK consumer can resolve bearer tokens (e.g. Azure Managed Identity) on demand. The SDK takes zero Azure SDK dependency — the consumer supplies the callback using any identity library. ([#1748](https://github.com/github/copilot-sdk/pull/1748))
32+
33+
```java
34+
var provider = new ProviderConfig()
35+
.setType("openai")
36+
.setBaseUrl(baseUrl)
37+
.setGetBearerToken(args -> cred.getToken(ctx).map(AccessToken::getToken).toFuture());
38+
```
39+
40+
### Feature: experimental multi-provider BYOK registry
41+
42+
Register multiple named providers and models on a single session via `NamedProviderConfig` and `ProviderModelConfig`. Custom agents can reference provider-qualified model IDs such as `"alpha/sonnet"`. This feature is experimental. ([#1718](https://github.com/github/copilot-sdk/pull/1718))
43+
44+
### Feature: `preamble` system message section and `preserve` action
45+
46+
Two new customization options for system message sections. `SystemMessageSections.PREAMBLE` targets only the identity preamble without affecting its sibling sub-sections (`identity` and `tool_instructions` are now documented as section groups). The new `preserve` action protects an individually-addressable section from a group-level `remove`. ([#1713](https://github.com/github/copilot-sdk/pull/1713))
47+
48+
### Other changes
49+
50+
- feature: add optional `memory` configuration (`MemoryConfiguration`) to session create and resume ([#1617](https://github.com/github/copilot-sdk/pull/1617))
51+
- feature: `defer` parameter on tool definitions controls eager vs. lazy tool loading (`"auto"` or `"never"`) ([#1632](https://github.com/github/copilot-sdk/pull/1632))
52+
- feature: `otlpProtocol` telemetry option for configuring OTLP export transport (`"http/json"` or `"http/protobuf"`) ([#1648](https://github.com/github/copilot-sdk/pull/1648))
53+
- feature: `ModelBilling.tokenPrices` surfaced on public SDK types, exposing per-tier pricing and context window limits ([#1633](https://github.com/github/copilot-sdk/pull/1633))
54+
- feature: `CapiSessionOptions.enableWebSocketResponses` and `ProviderConfig.transport` for WebSocket transport control on session create/resume ([#1711](https://github.com/github/copilot-sdk/pull/1711))
55+
- improvement: call `runtime.shutdown` during client stop for deterministic OTEL telemetry flush before process cleanup ([#1667](https://github.com/github/copilot-sdk/pull/1667))
56+
- improvement: rename `SystemPromptSections``SystemMessageSections` for cross-SDK consistency; old class deprecated with `forRemoval=true` ([#1683](https://github.com/github/copilot-sdk/pull/1683))
57+
58+
### New contributors
59+
60+
- @almaleksia made their first contribution in [#1632](https://github.com/github/copilot-sdk/pull/1632)
61+
- @dereklegenzoff made their first contribution in [#1711](https://github.com/github/copilot-sdk/pull/1711)
62+
- @ellismg made their first contribution in [#1750](https://github.com/github/copilot-sdk/pull/1750)
63+
864
## [v1.0.2](https://github.com/github/copilot-sdk/releases/tag/v1.0.2) (2026-06-18)
965

1066
### Feature: opt-in memory for sessions

0 commit comments

Comments
 (0)