Mark reactions API as GA across Libraries and core#509
Merged
Conversation
2 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Marks the Reactions API as GA by removing experimental annotations and related warning suppressions across both Libraries/ and core/.
Changes:
- Removed
[Experimental("ExperimentalTeamsReactions")]attributes from reactions-related clients/types. - Removed
#pragma warning disable/restore ExperimentalTeamsReactionsblocks around reactions usages. - Removed
ExperimentalTeamsReactionsfromNoWarnlists in affected test/sample projects.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| core/test/IntegrationTests/IntegrationTests.csproj | Drops ExperimentalTeamsReactions from NoWarn now that reactions are GA. |
| core/src/Microsoft.Teams.Apps/Api/Clients/ReactionClient.cs | Removes experimental attribute (and related import) from core ReactionClient. |
| core/src/Microsoft.Teams.Apps/Api/Clients/ConversationApiClient.cs | Removes experimental attribute and pragma suppression around Reactions property initialization. |
| core/samples/TeamsBot/TeamsBot.csproj | Drops ExperimentalTeamsReactions from NoWarn. |
| Tests/Microsoft.Teams.Apps.Tests/Microsoft.Teams.Apps.Tests.csproj | Drops ExperimentalTeamsReactions from NoWarn. |
| Tests/Microsoft.Teams.Api.Tests/Microsoft.Teams.Api.Tests.csproj | Drops ExperimentalTeamsReactions from NoWarn. |
| Samples/Samples.Reactions/Samples.Reactions.csproj | Removes reactions experimental suppression from the sample project. |
| Libraries/Microsoft.Teams.Api/Messages/Reaction.cs | Removes experimental attributes (and related import) from ReactionType and Reaction. |
| Libraries/Microsoft.Teams.Api/Messages/Message.cs | Removes pragma suppression around Message.Reactions property. |
| Libraries/Microsoft.Teams.Api/Clients/ReactionClient.cs | Removes experimental attribute (and related import) from library ReactionClient. |
| Libraries/Microsoft.Teams.Api/Clients/ConversationClient.cs | Removes pragma suppressions around Reactions field and initialization in constructors. |
| Libraries/Microsoft.Teams.Api/Activities/Message/MessageReactionActivity.cs | Removes file-level experimental warning suppression for message reaction activity APIs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
corinagum
added a commit
to microsoft/teams-sdk
that referenced
this pull request
May 14, 2026
## Summary Removes the `:::tip[.NET]` callout block from the reactions in-depth guide's C# include. The block instructed readers to suppress `ExperimentalTeamsReactions` via `#pragma` or `<NoWarn>` — that's no longer applicable now that the `[Experimental]` attribute is being removed from teams.net (sibling PR). ## Cross-SDK coordination Part of the cross-SDK Reactions-GA pass. Sibling PRs: - microsoft/teams.ts#575 — Mark reactions API as GA - microsoft/teams.py#427 — Mark reactions API as GA - microsoft/teams.net#509 — Mark reactions API as GA (Libraries + core) ## Test plan - [x] `npm start` regenerates docs cleanly with no content gaps - [x] C# in-depth guide renders without the opt-in callout (verified in local dev server) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
rido-min
approved these changes
May 14, 2026
4 tasks
corinagum
added a commit
that referenced
this pull request
May 15, 2026
## Summary Brings `main` into `releases/v2` for the 2.0.7 Libraries release, with quoted-replies (PR #389) excluded. Scope is **Legacy / Libraries only** — `core/` is not in scope for this release. Single squashed commit. ## What's in this release - All commits merged to main since 2.0.6 (the previous Libraries release), notably: - **Reactions GA** (PR #509) — `[Experimental("ExperimentalTeamsReactions")]` removed across Libraries - Prompt Preview Support (PR #433) - MCP server auth security hardening (PR #448) - Various dependency bumps and bug fixes ## What's NOT in this release **Quoted-replies feature (PR #389) is excluded:** - `MessageActivity.AddQuote()`, `PrependQuote()` builder methods — absent - `Context.Reply()` quote-aware behavior — reverted to legacy `replyToId` + blockquote - `Samples/Samples.Quoting` — removed - QR-related tests — removed **Kept intentionally:** - `QuotedReplyEntity` and `QuotedReplyData` types stay in `Microsoft.Teams.Api.Entities` (still annotated `[Experimental("ExperimentalTeamsQuotedReplies")]`) so inbound activities carrying `quotedReply` entities still parse - `MessageActivity.AddTargetedMessageInfo` runtime strip-QR logic — preserves prompt-preview cleanup - Entity.cs serializer cases for `quotedReply` (with existing `#pragma warning disable ExperimentalTeamsQuotedReplies`) ## Version `version.json`: `2.0.6` → `2.0.7` ## Scope **Libraries only.** `core/` (the `releases/core` track) is not affected by this PR — when this prep merges to `releases/v2`, the `core/` tree may appear in the branch as part of the merge, but the Legacy publish pipeline only builds and ships from `Libraries/`, `Samples/`, and `Tests/`. ## Test plan - [x] `dotnet build Microsoft.Teams.sln --configuration Release` — 0 errors, 5 pre-existing warnings - [x] `dotnet test Microsoft.Teams.sln --configuration Release` — all suites pass across net8.0 and net10.0 (Api 407+407, Apps 136+136, Common 63+63, AI 17+17, McpClient 9+9, Graph 3+3, AspNetCore 25+25 with 1 pre-existing skip) - [x] `dotnet pack` — nupkgs produced; consumer install verified (fresh console project, `dotnet add package Microsoft.Teams.Apps --prerelease`, `dotnet run` confirms `QuotedReplyEntity` ships, `AddQuote`/`PrependQuote` absent, `AddTargetedMessageInfo` present, `ReactionClient.AddAsync`/`DeleteAsync` present) - [ ] Teams.NET-ESRP pipeline with `packageSet=Legacy`, `publishType=Public` (post-merge) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the
[Experimental("ExperimentalTeamsReactions")]attributes fromReactionClient,ReactionType,Reaction, and theReactionsproperty onConversationApiClient/ConversationClient, across bothLibraries/andcore/. Also removes the corresponding#pragma warning disable/restoreblocks andNoWarnentries in test and sample.csprojfiles.The reactions feature is in sync across all three SDKs and the Teams service — no longer preview.
Scope
Attributes removed (5):
Libraries/Microsoft.Teams.Api/Clients/ReactionClient.csLibraries/Microsoft.Teams.Api/Messages/Reaction.cs(ReactionTypeandReaction)core/src/Microsoft.Teams.Apps/Api/Clients/ReactionClient.cscore/src/Microsoft.Teams.Apps/Api/Clients/ConversationApiClient.cs(Reactionsproperty)Suppressions removed (8 inline pragma locations + 5 NoWarn entries in .csproj files):
Libraries/Microsoft.Teams.Api/Clients/ConversationClient.cs(5 sites)Libraries/Microsoft.Teams.Api/Messages/Message.csLibraries/Microsoft.Teams.Api/Activities/Message/MessageReactionActivity.cs(file-level)core/src/Microsoft.Teams.Apps/Api/Clients/ConversationApiClient.cs.csprojNoWarn:Samples/Samples.Reactions,core/test/IntegrationTests,core/samples/TeamsBot,Tests/Microsoft.Teams.Api.Tests,Tests/Microsoft.Teams.Apps.TestsThe
Samples.Reactions/Program.csalready demonstrates add → wait → delete cycle, so no sample change is needed here.Cross-SDK coordination
Part of the cross-SDK Reactions-GA pass. Sibling PRs:
Test plan
dotnet build Microsoft.Teams.sln --configuration Release— 0 errorsdotnet build core.slnx --configuration Release— 0 errorsdotnet test Microsoft.Teams.sln— all suites pass (Apps 146+146, Api 422, Common 63, AI 17, Graph 3, McpClient 9, AspNetCore 25+25 net8/net10)dotnet test core.slnx— all suites pass (Apps.UnitTests 213+213, Core.UnitTests 101+101, BotBuilder.UnitTests 41)Versioning
No
version.jsonchange in this PR. Bump happens as part of the release flow per RELEASE.md.🤖 Generated with Claude Code