Skip to content

v2.1.1

Latest

Choose a tag to compare

@lilyydu lilyydu released this 22 Sep 22:05
9ee8c94

Packages: Microsoft.Teams.Core, Microsoft.Teams.Apps, Microsoft.Teams.Apps.BotBuilder, Microsoft.Teams.Cards, Microsoft.Teams.M365Extensions

Highlights

New package: Microsoft.Teams.M365Extensions (#652) — bridges the Microsoft 365 Agents SDK and Microsoft.Teams.Apps in a single ASP.NET Core app. Teams-channel turns route to a TeamsBotApplication when a Teams route matches; everything else flows through the Agents SDK pipeline. Outbound Teams API calls authenticate via the Agents SDK connection manager, so no separate AzureAd section is required. Now depends on the stable Agents SDK.

Receive files in personal scope (#645) — context.Files.ListAsync() / FirstAsync() map inbound file.download.info attachments to IncomingFile, with lazy DownloadAsync(), StreamAsync(), TextAsync(), and SaveAsAsync(). Download URLs are tempauth and short-lived.

Targeted messages are now stable (#654) — the ExperimentalTeamsTargeted gate is removed from ChannelAccount.IsTargeted, MessageActivityInput, ActivityClient, ConversationApiClient, and TargetedMessageInfoEntity.

Features

  • Resolve Agentic User file bytes through Graph /shares (#669)
  • Teams route matching and API client registration (#644)
  • setCachePolicy card action type (#663)

Fixes

  • Reject null file download URLs (#673)
  • Stop emitting Adaptive Card schema defaults in serialized payloads (#671)
  • Allow targeted messages in personal chats (#667)
  • Preserve textFormat through TeamsStreamingWriter intermediate and final activities (#661)
  • Support installation upgrade activity (#666)
  • Don't require selectedChannel when deserializing channel data (#655)
  • Fix HTML widget black gap and MessageBack forced scroll (#646)
  • Omit sequence from final stream messages (#633)

API changes

  • IncomingFile.WebUrl renamed to ContentUrl (#662). Not a breaking change — the files feature landed after 2.1.0 was cut, so the property was never published.

Samples & docs

  • New AIFileAnalysisBot sample (#651)
  • Consolidated message interaction samples (#647)
  • Removed internal naming from comments and docs (#658)
  • Documented cross-platform filesystem requirements (#636)

Build & infrastructure

  • Core product tree moved to the repository root (#639, #643)
  • Azure pipelines onboarded to CFS NuGet (#637, #640); CFSClean network isolation removed so the Public stage can reach api.nuget.org (#679)
  • GitHub Actions pinned to full-length commit SHAs (#656), plus dependency bumps (#641, #657, #665, #668)

Full changelog: v2.1.0...v2.1.1