Microsoft 365 Agents SDK for .NET - Release Notes v1.3.0
Release Date: November 15, 2025
Previous Version: 1.2.0 (Released August 18, 2025)
🎉 What's New in 1.3.0
This release introduces first-class A2A hosting (preview), and Copilot Studio Connector (preview). It also brings extensible serialization, richer feedback orchestration, and bug fixes to help you build production-grade agent experiences.
🚀 Major Features & Enhancements
A2A Hosting (Preview)
- Introduced the
Microsoft.Agents.Hosting.AspNetCore.A2A.Previewlibrary for support in exposting your SDK agent to A2A clients. (#391) - Added A2A sample agent (
samples/A2AAgent,samples/A2ATCKAgent) that demonstrate basic A2A multi-turn tasks, and alignment with the A2A TCK. (#391)
Copilot Studio Agent Connector
- Added the Copilot Studio Power Apps Connector implementation, including and a ready-to-run sample. This is in preview in Copilot Studio and not generally available for everyone. (#450)
- Samples now default to requiring authentication and respect configured scopes when calling Copilot Studio services. (#472, #450)
Citation-Aware Responses
- Improved streaming responses with citation management APIs, deduplication safeguards, and richer metadata on AI entities. (#427)
- Added helper methods to
MessageFactoryand entity models so experiences can surface citations without hand-coding payloads. (#427)
Feedback Loop
- Enabled feedback loop handling in AgentApplication, making it easier to capture user evaluations during conversations. This existed in the Teams Extension, but is now part of AgentApplication. Not all channels support this, but expanded support is coming. (#480)
📚 Documentation & Developer Experience
Expanded API Surface Descriptions
- Added missing XML documentation for
AgentApplicationBuilder,IAgentClient,IAgentHost, and quick view responses to improve IntelliSense and API discovery. (#417) - Clarified Teams channel support semantics in
Channelsto avoid confusion when routing agent traffic. (#430)
🔧 Developer Tools & Quality
Serialization Performance & Extensibility
- Generated assembly-level serialization attributes to eliminate runtime scans and lowered cold-start costs. (#449, #441)
- Introduced dynamic entity discovery via
EntityNameAttributeand public registration hooks, enabling custom entity types without forking the serializer. (#465) - Refined entity cleanup and removal logic to prevent stale data from leaking between turns. (#463)
Analyzer & Build Infrastructure
- Bundled analyzers inside
Microsoft.Agents.Coreand unified their target framework for consistent diagnostics. (37deeaf7, 5fa356d3) - Moved the repository to .NET SDK 8.0.414 to align with the latest LTS servicing updates. (#439, #481)
🔐 Authentication & Security Enhancements
- Add support for Entra Agent ID Preview
- Improved Multi-tenant detction for authenticaiton token support this will attempt to create a tenant specifice token for User Autheitcation and AgentID scenarios when the authority associated with current Agent identity is using the /common authority.5
🐛 Bug Fixes & Maintenance
- Resolved failures when registering
IAgentimplementations via factories in multi-agent hosts. (#418) - Ensured Cosmos DB storage can reuse existing
CosmosClientinstances for dependency injection scenarios. (#446) - Improved route handlers to understand sub-channel identifiers and alternate blueprint connection names. (#458, #445)
- Removed obsolete helper extensions and tightened activity validation to match the latest Teams schemas. (#461)
📦 New Package Information
- Microsoft.Agents.Hosting.AspNetCore.A2A.Preview – new preview package delivering A2A hosting (preview). (#391)
🚀 Getting Started
Upgrade your projects to the new release with:
dotnet add package Microsoft.Agents.Hosting.AspNetCore --version 1.3.0
dotnet add package Microsoft.Agents.Authentication.Msal --version 1.3.0🙏 Acknowledgments
Thank you to the Microsoft 365 Agents team and the open-source community for the ideas, code reviews, and contributions that shaped this release.
📞 Support & Resources
- Documentation: Microsoft 365 Agents SDK
- Issues: GitHub Issues
- Samples: Agent Samples Repository
- Community: Join the discussions and share feedback through GitHub.
Details - What's Changed
- Users/mbarbour/update version for release by @MattB-msft in #416
- [#413] HeaderPropagation: User-Agent by @ceciliaavila in #419
- Moved TranscriptLoggerMiddleware out of Compat by @tracyboehrer in #408
- Added missing API descriptions by @phecke in #417
- IAgent registered with a factory would fail during a request by @tracyboehrer in #418
- Adds a fallback mechanic to support falling back to standard messaging when streaming fails for a not supported reason. by @MattB-msft in #424
- Update Agent1 sample for receiving responses from Agent2 by @Santhosh0505 in #426
- Added clarification comments around the Channels.Supports* Teams handling by @tracyboehrer in #430
- Agent-to-agent samples fixes by @tracyboehrer in #429
- Enhance serialization initialization with performance logging and ass… by @MattB-msft in #441
- Agentic core by @tracyboehrer in #443
- Exposed CosmosDb constructor that accepts CosmosClient by @tracyboehrer in #446
- Users/tracyboehrer/agentic v2 by @tracyboehrer in #445
- Add citation management methods and update AIEntity and fixes by @MattB-msft in #427
- Rename AskQuestionAsync(IActivity, [CancellationToken]) to SendActivi… by @coatsy in #422
- Generate assembly-level serialization attribute for faster initialization times by @olstakh in #449
- Annotate ChannelId class with nullables by @olstakh in #452
- Refactor transcript logging and enforce filename length by @MattB-msft in #454
- A2A by @tracyboehrer in #391
- Bump dotnet-sdk from 8.0.308 to 8.0.414 by @dependabot[bot] in #439
- Added Agentic flag to AgentApplication routes by @tracyboehrer in #456
- Update Extension Route handler to support sub channels. by @MattB-msft in #458
- Include analyzer in the package when packing without a build step by @olstakh in #460
- Agentic ACF responses by @tracyboehrer in #461
- Copilot Studio Agent to Agent Connector by @tracyboehrer in #450
- Refactor entity removal logic in EntityExtension.cs by @MattB-msft in #463
- Truncating conversationId to 325 in ConnectorClient.Conversations by @tracyboehrer in #471
- Agentic: Use AgenticUserId instead of Id by @tracyboehrer in #474
- AgenticAI sample using Agentic Route flag by @tracyboehrer in #476
- Bump dotnet-sdk by @tracyboehrer in #481
- CopilotStudioAgentConnector defaults to auth required by @tracyboehrer in #472
- ChannelId properly split string with multiple delimeters by @tracyboehrer in #469
- Added FeedbackLoop to AgentApplication by @tracyboehrer in #480
- Dynamic Entity Type Handling in Serialization by @MattB-msft in #465
- Adding OTelAgent Sample by @mertozturk80 in #477
- Add MaxApxConversationIdLength configuration support by @MattB-msft in #484
- Reverse of inadvertent change of AgentClaims.GetTokenAudience by @tracyboehrer in #485
- Add release notes for version 1.3.0 by @cleemullins in #482
- Optionally log outgoing SendActivity by @tracyboehrer in #483
- Relax Recipient.Id requirement for MCS by @tracyboehrer in #489
- Fix security: prevent arbitrary file access in TranscriptUtilities test helper by @cleemullins in #490
- Create CODEOWNERS for automatic review requests by @cleemullins in #488
- Minor refactoring of Adapter.ContinueConversation methods by @tracyboehrer in #487
- Simplify error handling in ChannelAdapter.cs by @MattB-msft in #498
- Add analyzers and remove manual assembly attribute by @olstakh in #451
- Removed unused/not-set AgentApplication.AgentAuthorization property by @tracyboehrer in #499
- Logging incoming Activity for debug by @tracyboehrer in #495
- No longer validating client related CosmosDbPartitionedStorageOptions for custom CosmosClient by @tracyboehrer in #494
- StreamingResponse.EndStream returns result by @tracyboehrer in #478
- Make error codes explicit and durable across ErrorHelper classes by @Copilot in #506
- Update contributing guidelines in README.md by @MattB-msft in #508
- Agentic handling of "common" in multi-tenant by @tracyboehrer in #500
- Update error links to use M365AgentsErrorCodes with hashtag anchors by @Copilot in #510
- Update error code ranges for Connector Library by @Copilot in #512
- Disable Streaming Response when channel = teams and request type is agentic. by @MattB-msft in #517
- Bump dotnet-sdk from 8.0.415 to 8.0.416 by @dependabot[bot] in #515
- Users/mbarbour/run release by @MattB-msft in #524
New Contributors
- @Santhosh0505 made their first contribution in #426
- @coatsy made their first contribution in #422
- @olstakh made their first contribution in #449
- @mertozturk80 made their first contribution in #477
- @cleemullins made their first contribution in #482
- @Copilot made their first contribution in #506
Full Changelog: v1.2.0...v1.3.0