v1.0.15-preview.0
Pre-releaseFeature: typed structured outputs for all six SDKs
Provide a JSON Schema, or use an idiomatic typed helper, to have the model return typed, validated output instead of free-form text. (#2590)
const answerSchema = z.object({ value: z.number().int() });
const answer = await session.sendAndWait("What is 19 + 23?", answerSchema);class Answer(BaseModel):
value: int
answer = await session.send_and_wait_typed("What is 19 + 23?", Answer)var answer = await session.SendAndWaitAsync("What is 19 + 23?");
public sealed record Answer(int Value);Go, Java, and Rust get the same capability via copilot.SendAndWait[Answer], session.sendAndWait(prompt, Answer.class), and session.send_and_wait_typed(prompt) respectively.
Feature: structured JSON-RPC error data in Rust
copilot::Error now preserves the optional data payload from JSON-RPC errors so callers can inspect machine-readable error details instead of just the message. (#2664)
if let Some(data) = error.rpc_data() {
println!("{data}");
}Other changes
- feature: [Java] add native runtime support for
darwin-x64(#2701) - feature: [Java] add native runtime support for
linuxmusl-x64(Alpine) (#2715) - improvement: [Node/Python/Go/.NET/Java] coalesce intercepted HTTP response chunks with bounded read-ahead for better tool-call streaming throughput (#2734)
- improvement: [.NET] reduce allocations when processing inbound session events (#2733)
- improvement: [Node] pin production dependencies to exact versions and require a 7-day publish-age check across the resolved dependency graph (#2700)
New contributors
@roblourensmade their first contribution in #2700
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
github.com
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
network:
allowed:
- defaults
- "github.com"See Network Configuration for more information.
Generated by Release Changelog Generator · copilot · auto · 86.4 AIC · ⌖ 5.24 AIC · ⊞ 9.9K