Releases: microsoft/Agents-for-net
1.2.41 Nuget release
POSSIBLE BREAKING CHANGE FOR SOME DEVELOPERS:
Update ChannelID to support the fully qualified channel when working with Channels that include subChannels.
- This update converts ChanneID to a class that contains the primary channel id and the subchannel id when sent.
- The updated channel id will be formatted as :
<channelid>:<subschannelid>
see spec change request: microsoft/Agents#77 - An example of this is M365 Copilot. Which will appear as
msteams:copilot
- The updated channel id will be formatted as :
- Existing code using string compare will continue to function, however the comparisons will need to be updated if you want to apply the same or differing treatment to the subchannel
- If your are using code such as this:
if (turnContext.Activity.ChannelId.Equals(Channels.Msteams))
{
/// do work for teams
}
you will need to update it as such:
if (turnContext.Activity.ChannelId.Equals(Channels.Msteams))
{
// do stuff only for Teams channel
}
if (turnContext.Activity.ChannelId.IsParentChannel(Channels.Msteams))
{
// do stuff for Teams channel and all sub-channels of teams
}
if (turnContext.Activity.ChannelId.Equals(Channels.M365Copilot))
{
// do stuff for M365 Copilot channel which will appear as "msteams:copilot"
}
Changes Summary:
Added: Support for generating an Azure.Core TokenCredential for ICredential Provider based authentication modules.
Added: Support for hosting multiple distinct agent endpoint in a single hosting process.
Added: Initial support for Copilot Studio Agent-to-Agent Connector authentication support.
Updated: Blob Storage provider to provide additional BlobContainerClient features.
Reorganized and optimized code around how we handle deliveryMode ExpectReplies.
Teams Extension: Added Support for Teams Shared Channels.
What's Changed
- Users/mbarbour/setup11 release by @MattB-msft in #368
- Agents SDK API reference documentation by @phecke in #302
- Provided AspNetExtensions code config option by @tracyboehrer in #371
- DictionaryOfObjectConverter was not handling start/end object for empty dictionaries by @tracyboehrer in #366
- StreamingResponse improvements by @tracyboehrer in #360
- Update README.md by @sarahcritchley in #376
- Sample updates by @tracyboehrer in #374
- ExpectReplies during OAuth not handled correctly by @tracyboehrer in #347
- Added support for multi agent by @tracyboehrer in #362
- Teams Shared Channel changes by @goldenwitch in #387
- Connector Conversations.SendToConversation not handling empty responese from Teams by @tracyboehrer in #382
- Missing graph info would cause exception in AutoSignIn by @tracyboehrer in #373
- Sync samples from umbrella by @tracyboehrer in #383
- Exposed BlobsStorage constructor that accepts BlobContainerClient by @tracyboehrer in #394
- Activity.ChannelId supports subchannels. by @tracyboehrer in #232
- Update MembershipSource.cs by @goldenwitch in #407
- Added Channels.Supports* for AP Cards by @tracyboehrer in #403
- Streaming Response was not activating for subchannels, modified stre… by @MattB-msft in #409
- Fix to allow using a Dialog conditionally in AgentApplication by @tracyboehrer in #406
- StreamingResponse: Handling nulls in ErrorResponseException by @tracyboehrer in #412
Full Changelog: v1.1.0...v1.2.0
v1.1.151 Nuget release
Significant Improvements / Bug fixes
- Fixed several bugs around managing user token expiration for user authorization tokens to reduce the frequency of communication with Entra ID
- Fixed issues relating to some Teams Auth Centric SSO behaviors that would cause the system fail to acquire an auth token for a user that the user should have otherwise been able to acquire.
- Fixed several behavior issues with Agent SDK Host operating as a Skill, and in Agent to Agent Mode for Copilot Studio, specifically dealing with the behavior of the system when operating in Expect Replies mode.
- Improved handling of InvokeReplies and hardened the behavior with relation to teams.
Teams client ported from Teams AI lib v1. - Added Net Standard 2.0 target for Non-Hosting libraries to support internal and external partner system dependencies on Agent SDK modules.
- Added support for Pre-Route user authorization handlers, this will allow a developer to request that 1 or more user authorization tokens be available to the turn operation at execution time.
- Added support for Workload Identity
- Microsoft Teams added Microsoft.Agents.Extensions.Teams.AI lib porting over Teams AI v1 and part of v2 AI lib support.
- Microsoft Teams improved teams operations support in Microsoft.Agents.Extensions.Teams to include additional features for
Dependency Updates:
- Updated several package versions in
Directory.Packages.props
, includingMicrosoft.SemanticKernel
packages,System.Runtime.Caching
, andMicrosoft.Bcl.AsyncInterfaces
. Added new dependencies such asPolySharp
andJsonSchema.Net
. [1] [2] [3] [4]
Workflow Adjustments:
- Added a new Linux-specific CI workflow (
ci-linux.yml
) for local build and test. - Modified the existing CI workflow (
ci.yml
) to target Windows instead of Linux.
Detailed What's Changed:
- Using IUserTokenClient.GetTokenOrSignInResourceAsync by @tracyboehrer in #214
- Updated Agent-to-Agent samples to use minimal Program.cs by @tracyboehrer in #229
- Update projects for multi-targeting and framework compatibility by @MattB-msft in #226
- Sync EmptyAgent by @tracyboehrer in #233
- Sync WeatherAgent by @tracyboehrer in #231
- Optional serializer 'object' as string by @tracyboehrer in #230
- Add AdaptiveCardInvokeResponseConverter for JSON handling by @MattB-msft in #237
- AgentApplication route selector changes by @tracyboehrer in #240
- Users/mbarbour/update teams extension for missingparts by @MattB-msft in #246
- Extension serialization init fix by @tracyboehrer in #243
- docs: add troubleshoot and finding schema name by @JasonTheDeveloper in #215
- Added Anonymous support and FullAuthentication sample by @tracyboehrer in #245
- Sync samples changes in umbrella back to repo by @tracyboehrer in #258
- fix netstandard typo by @goldenwitch in #261
- Moving old Teams samples to private repo by @tracyboehrer in #257
- Teams OAuth/SSO corrections by @tracyboehrer in #250
- Added AI Citations to StreamingResponses by @tracyboehrer in #264
- Update Message processor to not required ServiceURL when an activity request appears with Delivery mode equal to ExpectReplies by @MattB-msft in #268
- fix linux build by @rido-min in #269
- Add method to determine connector client necessity by @MattB-msft in #270
- ProtocolJsonSerializer.ApplyExtensionOptions(lamda) by @tracyboehrer in #271
- Users/jdaly/ai-code-comments by @JimDaly in #265
- Enhance ExceptionParser and update error handling by @MattB-msft in #273
- Added ConversationAccountConverter by @tracyboehrer in #277
- UserAuthentication Auto changes + Token caching by @tracyboehrer in #204
- Now serializing empty lists by @tracyboehrer in #280
- Restored original EnsureTrailingSlash by @tracyboehrer in #281
- Improve version retrieval in UserAgent.cs by @MattB-msft in #282
- Added HandlingAttachments by @tracyboehrer in #284
- UserAuth fixes by @tracyboehrer in #289
- AIEntityConverter fix, SerializationInit exception catch by @tracyboehrer in #285
- Inline /// comment documentation updates by @phecke in #292
- Handle "OBOScopes" as a string instead of an array by @tracyboehrer in #291
- Removed test-bots by @tracyboehrer in #286
- Minor AzureBotUserAuthorization internal cleanup by @tracyboehrer in #294
- AdaptiveCardInvokeResponseFactory fixes by @tracyboehrer in #296
- Refactor URL handling in PowerPlatformEnvironment.cs by @MattB-msft in #297
- Initial commit for AI by @goldenwitch in #290
- Fix Stream DeliveryMode by @sw-joelmut in #300
- Updated Teams AI Lib to comply with project specs and create a proper… by @MattB-msft in #306
- Update ConnectorConverter to honer JsonIgnore and JsonPropertyName by @msftshlomiyosef in #305
- Added autoSignInHandlers to RouteAttribute by @tracyboehrer in #309
- StreamingResponse fixes by @tracyboehrer in #313
- Streaming fix (again) for sending final even when no text buffered by @tracyboehrer in #315
- Update Microsoft.Agents.Extensions.Teams.AI.csproj by @MattB-msft in #321
- adds signout to OBO Sample by @rido-min in #327
- Add TeamsExtension sample by @rido-min in #219
- Enhance ADO token retrieval by adding JWT parsing functionality by @MattB-msft in #332
- Fix: TypingTimer was not stopping for streamingresponses by @tracyboehrer in #319
- Consistency and comment improvements for samples by @tracyboehrer in #333
- Handling non-JWT token during OAuth by not caching by @tracyboehrer in #328
- Fix for anonymous access in SkillDialog and responses by @tracyboehrer in #331
- Add workload identity as a MSAL option by @danielkoek in #228
- Fix for Streaming bug when working with a client that does not support streaming by @MattB-msft in #337
- Add conditional check for FinalMessage in activity.Text by @MattB-msft in #339
- Update README.md by @sarahcritchley in #340
- Fix Agent-To-Agent communication by retrieving claims from JWT token in ChannelApiController by @ceciliaavila in #335
- Corrected OBO echange failed message by @tracyboehrer in #345
- Workload Identity by @tracyboehrer in #320
- Update MCS Client to append more detailed user agent. by @MattB-msft in #348
- Added route rank and sign in handler arguments to Teams Extension by @tracyboehrer in #341
- Use WriteStringValue and GetString when UnpackObjectStrings is false to handle simple string values correctly by @msftshlomiyosef in #352
- Added ErrorResponseException.StatusCode by @tracyboehrer in #353
- Add header propagation functionality by @sw-joelmut in #143
- Add Dependabot co...
Nuget Release version 1.0.1
Initial v1 release of the Agents SDK.
https://www.nuget.org/packages/Microsoft.Agents.Core/1.0.1