Skip to content

v1.0.7-preview.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jul 15:35
611d9bd

Feature: enableManagedSettings for enterprise policy enforcement (all SDKs)

Applications can now pass enableManagedSettings when creating or resuming a session to opt the runtime into enterprise managed-settings enforcement (bypass-permissions policy) using the session's gitHubToken. This is purely additive and opt-in — omitting it behaves exactly as before. (#1925)

const session = await client.createSession({
  gitHubToken: "...",
  enableManagedSettings: true,
});
var session = await client.CreateSessionAsync(new SessionConfig
{
    GitHubToken = "...",
    EnableManagedSettings = true,
});
  • Python: enable_managed_settings=True kwarg on create_session / resume_session
  • Go: EnableManagedSettings: boolPtr(true) on SessionConfig / ResumeSessionConfig
  • Rust: .with_enable_managed_settings(true) builder on SessionConfig
  • Java: sessionConfig.setEnableManagedSettings(true) on SessionConfig

Fix: deterministic tool schema serialization in Rust SDK ⚠️ Breaking change

The Rust SDK previously used HashMap for Tool.parameters and mcp_servers fields, causing random key ordering in serialized JSON each process startup. This busted the model provider's prompt cache on the system+tools prefix, increasing cost and latency. HashMap is now replaced with IndexMap for these model-visible maps. (#1931)

IndexMap mirrors HashMap's API and is re-exported as github_copilot_sdk::IndexMap — migration is mechanical:

// Before: use std::collections::HashMap;
// After:
use github_copilot_sdk::IndexMap; // same API, deterministic iteration order

Affected public types: Tool.parameters, mcp_servers on SessionConfig / ResumeSessionConfig / CustomAgentConfig, and the tool_parameters / try_tool_parameters return types.

New contributors

  • @agoncal made their first contribution in #1951

Generated by Release Changelog Generator · sonnet46 987.8K