Mark reactions API as GA and fix sample remove flow#575
Merged
Conversation
2 tasks
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) <[email protected]>
heyitsaamir
approved these changes
May 14, 2026
5 tasks
corinagum
added a commit
that referenced
this pull request
May 14, 2026
## Summary Brings `main` into `release` for the 2.0.11 release, with quoted-replies (PR #482) excluded. Single squashed commit containing the diff between `release` (2.0.10) and `main`, minus the quoted-replies feature. ## What's in this release - All commits merged to main since 2.0.10 (the previous release), notably: - **Reactions GA** (PR #575) — `[Experimental]` removed; `ReactionClient.remove()` → `delete()` - User-agent fix (PR #573) - Prompt Preview Support (PR #536) - Various dependency bumps and bug fixes ## What's NOT in this release **Quoted-replies feature (PR #482) is excluded:** - `prependQuote()`, `addQuote()` builder methods — absent - `context.quote()` and quote-aware `reply()` behavior — reverted to legacy `replyToId` + blockquote - `examples/quoting` — removed - QR-related tests — removed **Kept intentionally:** - `QuotedReplyEntity` type stays in the `Entity` union so inbound activities carrying `quotedReply` entities still parse - `addTargetedMessageInfo` runtime strip-QR logic (filters `e.type === 'quotedReply'`) — preserves prompt-preview cleanup ## Version `version.json`: `2.0.10` → `2.0.11` ## Test plan - [x] `npm run lint` — 33/33 packages - [x] `npm run build` — 35/35 packages - [x] `npm run test` — 730/730 tests across 61 suites - [x] `npm pack --workspaces` — all tarballs produced; verified `quoted-reply-entity.d.ts` ships in `@microsoft/teams.api`; no `prependQuote`/`addQuote` symbols in bundled `dist/` - [ ] ADO Public publish pipeline (post-merge) 🤖 Generated with [Claude Code](https://claude.com/claude-code) ## CI note skip-test-verification — the `release` branch is out of sync with `main` for three template/example pairs (templates: `ai`; examples: `echo`, `graph`). This PR brings them along as part of the bulk main→release merge but doesn't try to re-pair them, since that's an orthogonal fix and would muddy this PR's "single squashed release diff" intent.
7 tasks
corinagum
added a commit
that referenced
this pull request
May 27, 2026
## Summary
Brings `origin/main` into `release` for the **2.0.12** release. **No
carve-outs this time** — Quoted Replies is included.
`version.json`: `2.0.12-preview.{height}` → `2.0.12`.
Aligns with teams.py 2.0.12 (PR #442 already on PyPI / pending publish).
## What's in this release (delta from 2.0.11)
**Features**
- Quoted Replies + new quotes features — previously held back via the
2.0.11 carve-out (#576)
- SuggestedActionSubmitActivity for `suggestedAction/submit` invoke
(#591)
- Default targeted replies for targeted inbound messages (#592)
- Filter colliding keys before `Object.assign` in `ActivityContext`
(#596)
- Prompt Preview support (#536)
- A2A sample (#584)
- AI/MCPClient (#572)
- Allow passing custom HTTP client via `AppOptions`-equivalent
- Reactions API marked GA (#575), Rename `ReactionClient.remove()` →
`delete()` (#567)
**Security & fixes**
- Security hardening: tighten cross-origin policies (#595)
- Lock JsonWebToken trust-boundary contract (#586)
- `fix(deps)`: npm audit fix — clears all high-severity advisories
(#599)
- `fix(apps)`: log inbound activities at info, warn on missing
Authorization (#568)
- `fix`: App user-agent merging (#573)
- `fix`: Add null checks in `local-memory.ts` to prevent role crash
(#438)
- `fix`: `@microsoft/teams.client` import error in webpack 5 (#566)
- Switch to named imports without subpaths (#561)
**Deprecations / package changes**
- Deprecate `DevtoolsPlugin` in favor of Microsoft 365 Agents Playground
(#593)
- Remove in-repo Teams CLI package (#580) — moved to
`teams-sdk/packages/cli`
- Deprecate AI Libraries (#588)
- Correct imports + return types in misc. packages (#589)
**Dependency bumps**
- turbo 2.8.11 → 2.9.14 (#587)
- qs 6.15.0 → 6.15.2 (#594)
- hono 4.12.14 → 4.12.16 (#562)
- npm audit fix bundle (#599): axios 1.13.5 → 1.16.1, fast-uri 3.1.0 →
3.1.2, ws 8.19.0 → 8.21.0, @azure/msal-node hoisted 5.2.2, uuid 11.1.0 →
11.1.1, @azure/identity 4.13.0 → 4.13.1, express-rate-limit, ip-address,
brace-expansion, etc.
## Quoted Replies inclusion notes
- Teams client rendering is in-sync with the wire format as of
2026-05-06.
- APX QR rollout completed: Public 2026-04-10, GCCH/DoD/Gallatin
2026-04-14.
- No SDK-side carve-outs needed; this matches the teams.py 2.0.12 (PR
#442) decision.
## Branch structure note
`prep-release/2.0.12` is reset to `origin/main` + a one-line
`version.json` bump. Diff against `release` (this PR) shows the full
delta from 2.0.11. We deliberately did not use a 2-parent merge commit —
the auto-merge tried to interleave non-overlapping hunks from main's QR
additions with release's QR carve-outs in `activity.ts`, producing a
semantically broken file. Reset-to-main + version bump is the clean way
to express "release should equal main."
## Test plan
- [x] `npm install` clean (post-audit-fix lockfile)
- [x] `npm run build` — 33/33 targets clean
- [x] `npm test` — 14/14 task targets, 279+ tests pass
- [x] E2E echo bot smoke test against `cg-test-bot-py` via canary ABS —
done on `cg/audit-deps-ts` (now merged); covers axios + msal-node code
paths
- [ ] Pipeline Build + Test stages green on `release` after merge
- [ ] Publish pipeline run with **Public** → ESRP → npm
`@microsoft/teams.*@2.0.12`
- [ ] Smoke install: `npm view @microsoft/teams[email protected]` after
publish
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
@experimentalJSDoc tags fromReactionClient,MessageReactionType,MessageReaction, and thereactionsproperty onApiClient. The reactions feature is in sync across all three SDKs and the Teams service — no longer preview.Also fixes the sample's
removecommand, which previously calledapi.reactions.delete()on an incoming message that had no reaction. It now adds the reaction first, waits 2 seconds, then deletes — so the demo visibly shows the full add/delete cycle.Cross-SDK coordination
Part of the cross-SDK Reactions-GA pass. Sibling PRs:
Test plan
npm run lint— 34/34 packages cleannpm run build— 35/35 packages succeednpm run test— 746/746 tests pass across 61 suites (api at 149/149)examples/reactionsshowing the cycle in TeamsVersioning
No
version.jsonchange in this PR. Bump happens as part of the release flow per RELEASE.md.🤖 Generated with Claude Code