Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
154913 stories
·
33 followers

What’s New in Hosted Agents in Foundry Agent Service

1 Share

A few weeks ago, we announced the public preview refresh of hosted agents in Foundry Agent Service — a fundamentally re-imagined agent runtime built for operationalizing production-grade AI agents in enterprise systems. Today at Microsoft Build, we are excited to share several updates that make hosted agents easier to deploy, more capable across modalities, and seamless to optimize through the agent loop. This article covers what’s new, and what’s coming.

The Problems We Set Out to Solve

Developers who want to take agents to production find themselves managing a list of things that have nothing to do with the agent’s actual intelligence:

  • Containerization and infrastructure — building images, pushing to registries, managing versions
  • Security and identity — provisioning managed identities, scoping access, preventing cross-session data leakage
  • State persistence — storing files, memory, and context across turns without building your own persistence layer
  • Scaling — right-sizing compute for variable concurrency without paying for idle capacity
  • Observability — knowing what your agent is doing, when it fails, and why
  • Evaluation – measuring the quality, safety, and reliability of your agent continuously

Hosted agents in Foundry Agent Service were designed to take all of this off your plate. Each agent session runs in its own hypervisor-isolated sandbox with a dedicated persistent file system, an automatically provisioned Microsoft Entra ID (agent identity), and built-in OpenTelemetry tracing. You bring your code and your framework; the platform handles the rest.

Since the preview launched, we’ve shipped four additional capabilities that expand what you can do with hosted agents. 

What’s New

1. Deploy Directly from Source Code — No Container Required

Previously, deploying a hosted agent required packaging your application into a container image, pushing that image to Azure Container Registry, and configuring the agent to run it. This container-based approach gives you full control over the runtime environment, including OS dependencies, system libraries, startup behavior, and how your code is packaged and executed — it continues to be fully supported. However, for many teams, especially during early development, building and managing containers can introduce unnecessary friction. Direct code deployment removes that friction. You zip your Python or .NET project, upload it to the Foundry Agent Service, and the platform either installs your dependencies at provision time (remote_build mode) or runs your pre-bundled output directly (bundled mode).

The result is a significantly shorter path from local development to deployed agent. For developers using the Azure Developer CLI (azd) or the Foundry Toolkit for VS Code, source code deployment is even simpler — the tooling handles packaging, uploading, polling for active status, and configuring role-based access control automatically.

With azd, the agent deployment takes just two commands:

# Initialize — configure your agent project for source code deployment
azd ai agent init \
  --src ./src/my-agent \
  --agent-name my-unique-agent \
  --deploy-mode code \
  --runtime python_3_13 \
  --entry-point main.py \
  --dep-resolution remote_build

# Deploy — package, upload, and wait for Active state
azd deploy

# Invoke Agent
azd ai agent invoke “message”

# Inspect recent agent logs for the failure
azd ai agent monitor --tail 100

The init command generates the azure.yaml and agent.yaml configuration needed for deployment. The deploy command handles zip packaging, SHA verification, upload, and polls until the agent reaches active state — no manual curl, token management and container registry required.

Key flags for azd ai agent init:

Flag Description
–src, -s Path to your agent source code directory
–agent-name Unique agent name (reusing a name creates a new version)
–deploy-mode code (source upload) or container (Docker image)
–runtime python_3_13, python_3_14, or dotnet_10
–entry-point Application entry point (e.g., main.py, MyAgent.dll)
–dep-resolution remote_build (default) or bundled
–project-id, -p Existing Foundry Project resource ID (skips interactive selection)
–model AI model to use (defaults to gpt-4.1-mini)
–protocol invocations or responses

For CI/CD pipelines, add –no-prompt for fully non-interactive execution:

azd ai agent init --no-prompt \
  --project-id "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.CognitiveServices/accounts/<account>/projects/<project>" \
  --src ./my-agent \
  --agent-name my-unique-agent \
  --deploy-mode code \
  --runtime python_3_13 \
  --entry-point main.py

azd deploy

Supported runtimes: python_3_13, python_3_14, and dotnet_10. Runtime support follows each language’s upstream end-of-life schedule.

Full guide: Deploy a hosted agent from source code (preview)

2. Built-In Guardrails for Responsible Agentic AI

Production agents interact with real users, and real users sometimes send harmful content. Whether it’s a customer service agent being probed with violent instructions or a coding assistant receiving inappropriate prompts, agents need a safety layer that blocks harmful inputs before they reach agent logic and filters unsafe outputs before they reach end users.

Previously, teams building responsible AI agents had to integrate content filtering themselves: standing up a separate Content Safety in Foundry Control Plane endpoint, writing middleware to intercept requests and responses, handling streaming edge cases, and managing policy configurations across environments. That’s table-stakes safety work that every production agent needs, but no team wants to build from scratch.

Hosted agents now include built-in content safety guardrails powered by Content Safety, integrated directly into the agent runtime. When enabled, every user prompt is evaluated in real time before it reaches your agent code, and every response is also evaluated before it reaches your users.

Here is how you can create guardrail policies, which you can later on pass in the hosted agent definition: How to configure guardrails and controls in Microsoft Foundry – Microsoft Foundry | Microsoft Learn

 

Hosted Agents guardrails image

Content safety guardrails are available today in public preview across all hosted agents regions.

3. Voice Live Integration and WebSocket Support

Agents that reason and act are valuable. Agents that can also speak and listen in real time open an entirely different class of applications — customer service, accessibility tooling, voice-first interfaces, and more.

For developers building text-based hosted agents, Voice Live integration with hosted text agent is now in public preview, enabling real-time voice experiences through both the Responses and Invocations protocols with one click to turn on.

For developers building native speech-to-speech hosted agents, hosted agents now support WebSocket and WebRTC for real-time voice scenarios. By combining the Invocations (WebSocket) protocol with frameworks such as Voice Live (as a speech-to-speech model API), Pipecat, or LiveKit within your container, you can deliver fully real-time voice agents — from microphone input to natural speech output, on the same secure and scalable platform that powers your text-based agents.

Leading telephony providers are already leveraging this capability to enable seamless phone-call interactions with hosted agents using speech.

The WebSocket endpoint exposes a persistent bidirectional connection:

wss://{account}.services.ai.azure.com/api/projects/agents/endpoint/protocols/invocations_ws?project_name={project}&agent_name={name}

This is distinct from the Responses and Invocations (HTTP) protocols. A single persistent connection handles both inbound audio and outbound speech synthesis without the overhead of repeated HTTP handshakes.

The Invocations (WebSocket) protocol is currently only available in North Central US. Support in additional regions is coming soon.

The addition of the Invocations (WebSocket) protocol completes the protocol triad for hosted agents, each relevant for different real-world scenarios:

Protocol Use-cases Key Characteristics
Responses Conversational agents, RAG, Publish to Teams / M365 Platform manages history, streaming, and session lifecycle; any OpenAI-compatible SDK works as the client
Invocations (HTTP) Webhooks, structured data, custom streaming (AG-UI, etc.) Arbitrary JSON in/out; you control the schema and SSE stream
Invocations (WebSocket) Real-time voice, bidirectional streaming Persistent connection; pair with Pipecat, LiveKit, or Voice Live

A single hosted agent can expose multiple protocols simultaneously. The platform automatically bridges the Responses protocol to the Activity protocol for Teams and Microsoft 365 channel delivery — no additional configuration required. Agent2Agent (A2A) has also been added to allow for agent delegation.

4. Agent Optimizer: A Closed-Loop Improvement Engine

“Live” and “production-ready” aren’t the same thing, and the gap shows up quickly.

Your customer support agent handles requests — but it forgets to ask for an order number before looking up status. It answers warranty questions without checking the purchase date. It gives electrical wiring advice when it should decline and recommend a professional. Each fix means rewriting your system prompt, testing by hand, and hoping you didn’t break something else.

For one agent, that’s manageable. For a team running ten agents across different domains, it’s a bottleneck that doesn’t scale.

Agent optimizer in Foundry Agent Service solves this by automating the agent improvement loop. It evaluates your hosted agent against defined criteria, generates better configurations, and ranks the results so you can deploy the best one — all in a few minutes, with no additional infrastructure to provision.

How It Works

The optimizer runs a closed-loop cycle:

  1. Evaluate the baseline — your agent processes tasks with pass/fail criteria, producing a composite score from 0.0 to 1.0
  2. Generate candidates — guided by what failed, the optimizer produces new configurations for your chosen target
  3. Evaluate candidates — each candidate runs against the same task set
  4. Rank and recommend — results sorted by score, with per-task breakdowns and token costs visible before you commit
  5. Deploy the winner — one command promotes the winning configuration as a new versioned deployment

No model retraining. No code changes. The optimizer uses evaluation signals to identify where the agent fell short, then rewrites its instructions to strengthen return policies, escalation procedures, troubleshooting frameworks, and safety boundaries.

Optimization Targets

  • Instruction — rewrites your agent’s system prompt to address observed gaps. This is where most teams start.
  • Skill — generates reusable, named procedures (escalation steps, troubleshooting sequences) appended to your instructions.
  • Model — evaluates your agent across multiple model deployments in a single run, scoring quality/cost trade-offs.
  • Tool Descriptions — refines how your agent understands and invokes external tools: when to call each, parameter requirements, fallback behavior.

Solving the Cold-Start Problem

Most teams don’t have evaluation datasets on day one. The eval init command solves this by generating both a dataset and evaluation criteria from your agent’s existing instructions and no manual test-writing is required.

$ azd ai agent eval init

Eval suite created
  Dataset:    customer-support (2.0), 15 tasks
  Evaluator:  customer-support (1)

  Evaluator dimensions (6):
    Weight  Dimension
    ──────  ─────────
        10  policy_compliance
         6  resolution_accuracy
         5  troubleshooting_structure
         4  communication_clarity
         3  safety_boundaries
         5  general_quality

The Full Workflow

azd ai agent init               # scaffold your agent
azd deploy                      # ship to Foundry
azd ai agent eval init          # generate evaluation criteria
azd ai agent eval run           # score your agent
azd ai agent optimize           # improve it
azd ai agent optimize apply --candidate <id>
azd deploy                      # deploy the optimized agent as a new version

Each promoted candidate becomes a new versioned hosted agent deployment — auditable, rollback-ready, and captured in tracing.

Agent optimizer is currently in private preview, with public preview rolling out in 30 days. Sign up for early access →

The Road to General Availability

Hosted agents are in public preview today, available across 20 Azure regions globally. As we approach General Availability by end of June 2026, our focus areas will include:

  • Agent optimizer in Foundry Agent Service public preview — rolling out to all hosted agents regions
  • Private ACR in BYO virtual network— enabling container images in private Azure Container Registries to be deployed to Hosted Agents
  • Managed virtual network — extending support of Microsoft managed virtual network for Hosted agents
  • Expanding Voice Live / WebSocket coverage beyond North Central US to additional regions
  • Durable, long running agents — enabling hosted agents to survive container crashes, redeployments, and periods of inactivity with automatic recovery, state persistence across turns, and multi-session context accumulation

Get Started

Developers can get started in minutes by following the QuickStart or with code samples (Python  ·  C#) which walk through setting up, testing, and deploying a production-ready hosted agent end to end.

Check out AI Agents for Beginners for a 12-lesson curriculum, then go deeper with guided labs: Develop AI Agents in Azure, Hosted Agents Workshop (.NET), and the ZavaShop Supply Chain Workshop.

📺 Watch: Foundry Agent Service + Microsoft Agent Framework Explained — Jeff Hollan walks through how to operationalize AI agents from deployment to real-world impact.

If you’re attending Microsoft Build 2026, or watching on-demand content later, be sure to check out these sessions:

 

 

 

 

 

The post What’s New in Hosted Agents in Foundry Agent Service appeared first on Microsoft Foundry Blog.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Holo3.1: Fast & Local Computer Use Agents

1 Share
Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Codex for every role, tool, and workflow

1 Share
Discover new Codex plugins, sites, and annotations that help analysts, marketers, designers, investors, and other teams get more done with AI.
Read the whole story
alvinashcraft
5 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

1.0.58

1 Share

2026-06-02

  • Actionable error message shown when GitHub API rate limit is hit during copilot update
  • Add /rubber-duck command for adversarial feedback on code and designs
  • Plugin slash commands (/plugin install, uninstall, update, marketplace add/remove/browse) now show immediate feedback while the operation is in progress
  • Canceling a running shell command (Ctrl+C on a !command, or aborting an agent command — including in sandboxed and background-promoted shells) now terminates the whole process tree instead of leaving orphaned processes running
  • Canvas providers can return file:// URLs in open results for local file previews
  • Symlinked directories appear in /cwd completion suggestions
  • In Azure DevOps-only repositories, the built-in GitHub MCP server now exposes only the web_search tool instead of being fully disabled
  • Quota footer shows remaining requests as a rounded percentage
  • /lsp show, /lsp test, and /lsp reload correctly discover project LSP config when the CLI is launched from a subdirectory
  • MCP server timeout configuration is preserved after tools list changes
  • /skills add and /skills remove correctly handle paths wrapped in quotes (e.g., from Windows Explorer "Copy as path")
  • Running copilot with an unquoted multi-word prompt now shows a helpful "quote your prompt" hint instead of a raw commander error
  • Default networking transport is now HTTP/1.1, improving reliability on some network paths. Opt into HTTP/2 with COPILOT_ENABLE_HTTP2=1.
  • Plugins auto-installed from repository settings no longer leak into user global config
  • Grep tool correctly handles tsx and jsx as file type filters
  • COPILOT_HOME is honored for the server discovery registry directory
  • Click a diff line with the mouse to select it in diff mode
  • Ctrl+C and other modified keys work correctly inside tmux
  • @-mention file search matches files regardless of query letter casing
  • copilot plugin marketplace list now honors repo-level extraKnownMarketplaces settings from .github/copilot/settings.json
  • Queued prompts in the footer are capped to a single line, preventing them from pushing session messages off screen
  • MCP servers configured with npx --registry are no longer incorrectly blocked by policy
  • Session no longer hangs indefinitely after an error occurs during internal event processing
  • Installed plugins no longer include the .git directory from the plugin source repository
  • New reasoning after tool calls appears at the bottom of the timeline instead of above earlier output
  • Pasting text copied from a browser, editor, or terminal no longer leaves a stray empty line, broken box-drawing lines, or a misplaced cursor in the prompt
  • preToolUse hook errors now deny the tool call instead of silently allowing execution
  • Session resume works correctly after a crash that left partial data in the session log
  • High-contrast diff backgrounds use darker colors to improve text readability
  • Add showTipsOnStartup setting to control whether startup tips are shown
  • Surface the underlying reason (e.g. GitHub API rate limit) when SDK auth-token validation fails, instead of the misleading "Session was not created with authentication info or custom provider" message.
  • /diff defaults to branch diff when there are no unstaged changes
Read the whole story
alvinashcraft
6 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

v1.0.0

1 Share

What's Changed

  • fix(dotnet): Add AOT-safe SetForegroundSessionRequest for SetForegroundSessionIdAsync() by @Encryptoid in #1144
  • Update @github/copilot to 1.0.39-0 by @github-actions[bot] in #1157
  • Update @github/copilot to 1.0.39 by @github-actions[bot] in #1167
  • Update @github/copilot to 1.0.40-0 by @github-actions[bot] in #1171
  • Document --host for non-loopback headless connections by @SteveSandersonMS in #1174
  • Replace StreamJsonRpc with a custom JSON-RPC implementation in the .NET SDK by @stephentoub in #1170
  • Update @github/copilot to 1.0.40-1 by @github-actions[bot] in #1177
  • Update @github/copilot to 1.0.40-3 by @github-actions[bot] in #1182
  • Update @github/copilot to 1.0.40 by @github-actions[bot] in #1183
  • Derive session event envelopes from schema by @stephentoub in #1184
  • Expand E2E test coverage across all 4 SDKs by @stephentoub in #1186
  • docs: replace non-existent Docker image with build instructions by @patniko in #1189
  • docs(python): clarify available_tools/excluded_tools filter all tools, not just built-ins by @loganrosen in #1180
  • Add instructionDirectories session config support by @stephentoub in #1190
  • Support optional connection token for TCP servers by @SteveSandersonMS in #1176
  • feat: add copilotHome option for configurable data directory by @patniko in #1191
  • Refine version update logic to allow arbitrary identifiers (e.g., "beta", not just "preview") by @SteveSandersonMS in #1193
  • Update @github/copilot to 1.0.41-0 by @github-actions[bot] in #1195
  • Stabilize unknown session delete E2E assertions by @stephentoub in #1198
  • Expand SDK E2E runtime coverage by @stephentoub in #1197
  • Ignore C# Dev Kit *.csproj.lscache files by @MackinnonBuck in #1196
  • Update byok.md by @patniko in #1203
  • Make agent reload test runtime-compatible by @stephentoub in #1201
  • Add offline GitHub proxy for E2E tests by @stephentoub in #1199
  • Update @github/copilot to 1.0.41-1 by @github-actions[bot] in #1202
  • Harden Extension E2E Tests With --yolo For Permission Gate Compatibility by @MRayermannMSFT in #1204
  • Fix .NET client startup cleanup race by @stephentoub in #1206
  • Avoid shell kill cwd cleanup flakes by @stephentoub in #1207
  • Add provider model and token limit overrides to ProviderConfig by @MackinnonBuck in #966
  • Add Rust SDK (technical preview) by @tclem in #1164
  • Update @github/copilot to 1.0.42 by @github-actions[bot] in #1211
  • Align Rust SDK public surface by @stephentoub in #1212
  • Internalize env_value_mode (cross-SDK parity) by @tclem in #1215
  • feat: add remote session support across all SDKs by @patniko in #1192
  • Fix .NET E2E event capture race by @stephentoub in #1221
  • Update @github/copilot to 1.0.43 by @github-actions[bot] in #1218
  • Add SDK tracing diagnostics by @stephentoub in #1217
  • Add enableSessionTelemetry session option across SDKs by @stephentoub in #1224
  • Update @github/copilot to 1.0.44-2 by @github-actions[bot] in #1225
  • Docs normalization for the SDK -> Docs pipeline by @sunbrye in #1208
  • Use string enums for .NET session events by @stephentoub in #1226
  • Restore mode handler APIs across SDKs by @stephentoub in #1228
  • feat(rust): support binary tool results by @cschleiden in #1222
  • Disable CI workflows on forked repositories by @IeuanWalker in #1232
  • Default release publishing to prerelease by @Copilot in #1233
  • Fix SDK documentation typos by @stephentoub in #1235
  • Unify Rust SDK release with publish.yml workflow by @tclem in #1237
  • Update @github/copilot to 1.0.44-3 by @github-actions[bot] in #1239
  • Replace Go RPC quicktype generation by @qmuntal in #1234
  • fix(go): capture CLI stderr and fix SetProcessDone race by @claudiogodoy99 in #863
  • Handle empty session fork behavior in E2E tests by @stephentoub in #1247
  • Add Go reference badge to README by @qmuntal in #1253
  • Expand Rust E2E coverage by @stephentoub in #1250
  • Add Maven Central badge to README by @brunoborges in #1254
  • Update README and guide for Rust SDK by @stephentoub in #1259
  • Fix C# listFiles E2E ordering assumption by @stephentoub in #1261
  • Update @github/copilot to 1.0.45 by @github-actions[bot] in #1263
  • Generate typed Go union interfaces by @qmuntal in #1252
  • Use z-prefixed Go generated files by @qmuntal in #1268
  • Support experimental schema types in codegen by @stephentoub in #1267
  • Normalize skill context replay snapshots by @stephentoub in #1269
  • Update @github/copilot to 1.0.46 by @github-actions[bot] in #1270
  • Temporarily use beta versions for "latest" dist-tag by @SteveSandersonMS in #1283
  • Fix codegen identifier sanitization by @stephentoub in #1285
  • Update @github/copilot to 1.0.47 by @github-actions[bot] in #1286
  • Derive Default on generated Rust types by @tclem in #1272
  • Generate Go bool discriminated unions by @qmuntal in #1284
  • Update @github/copilot to 1.0.48-1 by @github-actions[bot] in #1288
  • Share generated schema definitions across SDKs by @stephentoub in #1289
  • Hide deprecated APIs where supported by @stephentoub in #1293
  • Use schema descriptions in generated SDK docs by @stephentoub in #1291
  • Update @github/copilot to 1.0.48 by @github-actions[bot] in #1292
  • Add remote_session field to all SDK SessionConfig types by @devm33 in #1295
  • Fix shared schema comparison for Go codegen by @stephentoub in #1304
  • Update @github/copilot to 1.0.49-0 by @github-actions[bot] in #1305
  • Update @github/copilot to 1.0.49-1 by @github-actions[bot] in #1307
  • feat: add model field to CustomAgentConfig across all SDKs by @patniko in #1309
  • Fix Python Quick Start example to compile with current SDK by @stephentoub in #1310
  • Fix Python session.send docs examples by @stephentoub in #1312
  • Consolidate ask_user E2E snapshots into single canonical folder by @stephentoub in #1311
  • Stabilize compaction E2E tests by @stephentoub in #1314
  • Harden permission-reject E2E tests across all SDKs (#1194) by @stephentoub in #1317
  • Honor preinstalled CLI path in .NET MSBuild targets (#921) by @stephentoub in #1318
  • Add netstandard and net10 targets to C# SDK by @stephentoub in #1320
  • Fix some argument validation in C# by @stephentoub in #1322
  • Add .NET CopilotTool helper by @stephentoub in #1321
  • Add cloud session config support by @tiagonbotelho in #1306
  • Fix sub-agent hook propagation: expose sessionId on hook inputs by @SteveSandersonMS in #1290
  • Make tool callbacks optional across SDKs by @stephentoub in #1308
  • Fix permission handler kinds in SDK docs and samples (#1133) by @stephentoub in #1315
  • Use 32-bit types for bounded schema integers by @stephentoub in #1329
  • Seal generated session event types by @stephentoub in #1330
  • Propagate experimental RPC markers through generated types by @stephentoub in #1331
  • Clean up more argument validation by @stephentoub in #1328
  • Update @github/copilot to 1.0.49-6 by @github-actions[bot] in #1327
  • Update @github/copilot to 1.0.49 by @github-actions[bot] in #1333
  • Export generated session event types by @stephentoub in #1316
  • Fix .NET E2E auth setup by @stephentoub in #1334
  • Add enum value descriptions to generated docs by @stephentoub in #1336
  • Add SessionFs sqlite support for runtime sqlite routing by @SteveSandersonMS in #1299
  • Fix Python from_dict() round-trip for optional fields with schema defaults by @stephentoub in #1313
  • Fix hook snapshot for runtime replay by @stephentoub in #1337
  • Emit regex attributes from C# codegen by @stephentoub in #1338
  • Strip Ms suffix for duration properties by @stephentoub in #1339
  • Update @github/copilot to 1.0.51-1 by @github-actions[bot] in #1340
  • Update @github/copilot to 1.0.51-2 by @github-actions[bot] in #1342
  • Fix flaky Should_Accept_Both_MCP_Servers_And_Custom_Agents test by @stephentoub in #1346
  • Add Rust (and C#) to SDK language lists across docs by @stephentoub in #1349
  • Make MCPStdioServerConfig.args optional across all SDKs by @stephentoub in #1347
  • Publish .snupkg symbols package to NuGet.org by @stephentoub in #1345
  • Update @github/copilot to 1.0.51-3 by @github-actions[bot] in #1351
  • Update @github/copilot to 1.0.51 by @github-actions[bot] in #1353
  • C# API review fixes by @SteveSandersonMS in #1343
  • Enable .NET E2E tests to run on .NET Framework (net472) by @stephentoub in #1358
  • TypeScript SDK API review fixes by @SteveSandersonMS in #1357
  • Fix flaky pending-messages-modified E2E test across SDKs by @stephentoub in #1362
  • Go SDK API review fixes by @SteveSandersonMS in #1360
  • Add java to monorepo: Phase 02: code and test CI. by @edburns in #1348
  • Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.6.2 to 3.6.3 in /java in the java-maven-deps group by @dependabot[bot] in #1365
  • Update @github/copilot to 1.0.52-0 by @github-actions[bot] in #1370
  • Update @github/copilot to 1.0.52-1 by @github-actions[bot] in #1371
  • Add preMcpToolCall hook support to all SDKs by @stephentoub in #1366
  • Rust SDK API review fixes by @SteveSandersonMS in #1367
  • Python SDK API review fixes by @SteveSandersonMS in #1376
  • Add runtime_instructions system message section to all SDKs by @stephentoub in #1377
  • Cross-SDK cleanup follow-ups from PR #1376 by @SteveSandersonMS in #1378
  • Rust SDK: PR #1367 review follow-ups by @SteveSandersonMS in #1382
  • Fix flaky SDK E2E tests by @stephentoub in #1379
  • C# SDK: re-land x-opaque-json → JsonElement mapping with object boundary at RPC params by @SteveSandersonMS in #1359
  • Implement phase 03 of merge to monorepo plan by @edburns in #1369
  • Fix .NET package version props generation by @stephentoub in #1387
  • Rust SDK: bundle Copilot CLI by default by @SteveSandersonMS in #1385
  • Add Java-specific content to monorepo copilot-instructions.md by @edburns in #1391
  • Java SDK: sync reference implementation to ^1.0.52-1, add preMcpToolCall hook, fix PingResponse timestamp type by @edburns in #1389
  • Update @github/copilot to 1.0.52-4 by @github-actions[bot] in #1393
  • Update @github/copilot to 1.0.52 by @github-actions[bot] in #1405
  • Update @github/copilot to 1.0.53-2 by @github-actions[bot] in #1408
  • Add SDK canvas runtime support by @jmoseley in #1401
  • Update @github/copilot to 1.0.53 by @github-actions[bot] in #1410
  • Update @github/copilot to 1.0.54 by @github-actions[bot] in #1411
  • Update @github/copilot to 1.0.55-0 by @github-actions[bot] in #1412
  • Bump brace-expansion from 5.0.5 to 5.0.6 in /scripts/docs-validation in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1325
  • C# codegen: add isOpaqueJson guard to resolveRpcType by @SteveSandersonMS in #1414
  • Update vulnerable npm lockfile dependencies by @stephentoub in #1415
  • Fix flaky SDK E2E tests by @stephentoub in #1418
  • Change title from 'GitHub Copilot SDK documentation' to 'Copilot SDK' by @sunbrye in #1386
  • Add cross-SDK RPC E2E coverage by @stephentoub in #1424
  • SDK: Align canvas with codegen pipeline, add e2e tests by @SteveSandersonMS in #1413
  • Preserve JSON-RPC error data in .NET by @stephentoub in #1425
  • Add post-tool-use failure hooks by @stephentoub in #1421
  • Fixes #1434 Repackaging. by @edburns in #1437
  • Update @github/copilot to 1.0.55-1 by @github-actions[bot] in #1432
  • Add MessageOptions.agentMode and fix per-message mode misuse by @MRayermannMSFT in #1438
  • Update @github/copilot to 1.0.55-4 by @github-actions[bot] in #1453
  • Remove test/scenarios and scenario-builds CI by @patniko in #1448
  • Add extract-to-cache build mode for the Copilot CLI by @tclem in #1450
  • Move java to monorepo. Phase 05: Cross-Cutting Updates by @edburns in #1441
  • Update @github/copilot to 1.0.55-5 by @github-actions[bot] in #1456
  • Multitenancy hardening: Client Mode by @SteveSandersonMS in #1428
  • Refactor Rust SDK errors to use structs with a kind() method by @heaths in #1400
  • Use jsoncreator for AgentMode ctor, per review comments. by @edburns in #1465
  • Update @github/copilot to 1.0.55-6 by @github-actions[bot] in #1471
  • Port copilot-sdk-java PR #232: reference-impl-sync with EMPTY mode fixes by @edburns in #1473
  • Move Java to monorepo: Phase 06: Cutover and Cleanup by @edburns in #1472
  • Add from github/copilot-sdk-java#233 by @edburns in #1475
  • Add displayPrompt support to session.send across all SDKs by @devm33 in #1470
  • Update @github/copilot to 1.0.55-7 by @github-actions[bot] in #1476
  • Defer sessionId to server for cloud sessions by @stephentoub in #1479
  • Re-invalidate build.rs when extracted CLI cache is removed by @tclem in #1480
  • Canvas SDK: post-merge review followups (PR #1401) by @jmoseley in #1420
  • feat: add MCP Apps (SEP-1865) support by @mattdholloway in #1335
  • Config parity across SDKs: add largeOutput, pluginDirectories, spell out Directory by @stephentoub in #1482
  • feat: add mcpOAuthTokenStorage support across all SDKs by @MackinnonBuck in #1326
  • Integrate Bruno's PR 1478 with Ed's desired CI/CD changes by @edburns in #1483
  • Update @github/copilot to 1.0.55 by @github-actions[bot] in #1484
  • Track live open canvas snapshots by @jmoseley in #1447
  • Update @github/copilot to 1.0.56-0 by @github-actions[bot] in #1485
  • feat: add granular per-session flags for multitenancy hardening by @MackinnonBuck in #1474
  • Apply review comments from standalone backport. by @edburns in #1486
  • Update @github/copilot to 1.0.56-1 by @github-actions[bot] in #1488
  • Coordinate Copilot CLI stderr pump cleanup by @xoofx in #1136
  • Skip JaCoCo (always fails on main) by @SteveSandersonMS in #1492
  • Expose install_bundled_cli and HAS_BUNDLED_CLI in the Rust SDK by @tclem in #1489
  • Expose enableOnDemandInstructionDiscovery across all SDK SessionConfig types by @examon in #1323
  • Edburns/fix jacoco failure on main by @edburns in #1497
  • Update to use correct package name for generated by @edburns in #1499
  • Plumb Extension SDK Path Through Session Create And Resume by @MRayermannMSFT in #1494
  • Update Java JaCoCo coverage badge by @github-actions[bot] in #1500
  • Update @github/copilot to 1.0.56-2 by @github-actions[bot] in #1495
  • Add typed context tier support by @stephentoub in #1503
  • Add path-filtered CodeQL workflow for content-specific analysis by @Copilot in #1444
  • Fixes #1443: per-language CodeQL targeting by @edburns in #1510
  • Add reflection-based Jackson round-trip test for all generated types by @edburns in #1509
  • On branch edburns/ghcp-sp-122-java-release-improvements by @edburns in #1512
  • Edburns/ghcp sp 122 java release improvements by @edburns in #1514
  • Update @github/copilot to 1.0.56 by @github-actions[bot] in #1504
  • Fix Go session event attachment aliases by @dmytrostruk in #1515
  • Bump tar from 0.4.45 to 0.4.46 in /rust in the cargo group across 1 directory by @dependabot[bot] in #1505
  • Update @github/copilot to 1.0.57-2 by @github-actions[bot] in #1517
  • Update @github/copilot to 1.0.57-3 by @github-actions[bot] in #1519
  • docs: refresh for GA; add cloud sessions, fleet mode, multi-tenancy guides by @patniko in #1481
  • Java: Make it so slash command responses are accessible via RPC by @edburns in #1520
  • fix(python): derive version from package metadata; align Node version sentinel by @stephentoub in #1521
  • Update @github/copilot to 1.0.57-4 by @github-actions[bot] in #1522
  • Map session.mcp.apps.callTool result to JsonNode and harden mvn clean by @edburns in #1523
  • Add documentation site generation for Java SDK by @edburns in #1524
  • Use JAVA_RELEASE_GITHUB_TOKEN for site deploy trigger by @edburns in #1525
  • Consolidate Go initialism casing by @qmuntal in #1527
  • Preserve empty Go slices and maps in JSON by @qmuntal in #1528
  • Fix GitHub brand casing in SDK public surface by @stephentoub in #1531
  • Update @github/copilot to 1.0.57 by @github-actions[bot] in #1534
  • fix(nodejs): Map suppressResumeEvent to disableResume on the wire by @willglas in #1529
  • Remove 'generated' from public API in Python and Rust by @SteveSandersonMS in #1535
  • Bump vitest from 3.2.4 to 4.1.0 in /scripts/corrections in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1537
  • go: preserve tri-state session flags by @qmuntal in #1536
  • De-flake builtin_tools E2E tests with a longer send timeout by @stephentoub in #1538
  • Update java README with accurate validation steps by @edburns in #1541
  • Java SDK: Update @github/copilot dependency to ^1.0.57 by @edburns in #1546
  • Edburns/remove pr 1524 test java publish update notes to point to docs by @edburns in #1543
  • java: disable ModeHandlersTest pending snapshot re-recording (#1547) by @edburns in #1548
  • Refine Go SDK pre-GA API surfaces by @qmuntal in #1549

New Contributors

Full Changelog: v0.3.0...v1.0.0

Read the whole story
alvinashcraft
6 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

2.8.11

1 Share

Pipelines: fix nuget stage CodeSign failure on in-repo .ps1 scripts (…

Read the whole story
alvinashcraft
6 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories