Skip to content

fix(teams): cap microsoft-teams SDK below 2.1 - #251

Merged
patrick-chinchill merged 1 commit into
mainfrom
fix/teams-sdk-cap-2.1
Sep 30, 2026
Merged

patrick-chinchill merged 1 commit into
mainfrom
fix/teams-sdk-cap-2.1

Conversation

@patrick-chinchill

@patrick-chinchill patrick-chinchill commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Why

Every open 4.41-wave PR (#242–#249) has red CI on the same 3 Teams tests, and so does a fresh CI run on main. uv.lock is gitignored and the Teams SDK extras were unbounded (>=2.0.13), so installs now resolve microsoft-teams-apps 2.1.0 (2026-09-16), which:

  • removed App.activity_sender, used by native DM streaming at teams/adapter.py:943; and
  • changed the activities-client update signature used by edit_message service-URL retargeting.

This is a runtime break for fresh installs, not only a test failure.

Change

Caps microsoft-teams-{apps,api,cards} at >=2.0.13,<2.1 in all three dependency lists (the teams extra, the all extra and the dev group), which resolves to 2.0.16. Adds a CHANGELOG entry.

Validation

Fresh uv sync --group dev --all-extras → teams-apps/api/cards 2.0.16 (the transitive teams-common 2.1.0 works with it). Full pytest: 5147 passed, 13 skipped. Ruff is clean.

Real 2.1 support is tracked in #250. Merge this first, then the wave PRs rebase onto a green main.

Part of #184

Summary by CodeRabbit

  • Bug Fixes
    • Fresh installs now resolve Microsoft Teams packages to versions below 2.1, avoiding compatibility issues with the current adapter.

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: acf3f2f6-da60-4753-afb5-beb63eb90f69

📥 Commits

Reviewing files that changed from the base of the PR and between 5d2fc3e and bb75db6.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • pyproject.toml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The Teams SDK dependency bounds now exclude versions 2.1 and later in the Teams extra, the all extra, and the development dependency group. The changelog records the cap and states that fresh installs resolve to version 2.0.16.

Changes

Teams SDK version cap

Layer / File(s) Summary
Dependency constraints and changelog
pyproject.toml, CHANGELOG.md
The Teams extra, all extra, and development dependency group now cap the three Teams SDK dependencies below version 2.1. The changelog records the cap and its stated compatibility context.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to bb75d

The cap is applied consistently, and the inspected SDK releases retain the adapter APIs. No actionable merge-blocking issue is established.

Architecture Summary

Architecture risk: 🔵 Low · up to bb75d

The change affects 2 systems.

Changed systems: CHANGELOG.md, pyproject.toml

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — CHANGELOG.md (service) was modified; 1 changed file maps to changed impact.
  • observed — pyproject.toml (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in CHANGELOG.md: Added the Unreleased 4.41-wave entry documenting the Teams SDK version cap and the stated compatibility issues with 2.1.0.
  • observed — Modified behavior in pyproject.toml: The Teams extra now caps each Microsoft Teams SDK dependency below version 2.1; previously, each had only a >=2.0.13 lower bound.
  • observed — Modified behavior in pyproject.toml: The all extra now caps each Microsoft Teams SDK dependency below version 2.1; previously, each had only a >=2.0.13 lower bound.
  • observed — Modified behavior in pyproject.toml: The development dependency group now caps each Microsoft Teams SDK dependency below version 2.1; previously, each had only a >=2.0.13 lower bound.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: capping the Microsoft Teams SDK dependencies below version 2.1.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the version line,
And finds the cap set neat and fine.
The Teams packages pause at two,
While notes record the reason too.
I nibble carrots, pleased to see,
A tidy bound for dependency.

Comment @coderabbitai help to get the list of available commands.

@patrick-chinchill

Copy link
Copy Markdown
Collaborator Author

Merge gate: CI green (test 3.12/3.13, Lint & Type Check, CodeQL); CodeRabbit approved; local Codex review (gpt-6-astra, xhigh, --base origin/main): no actionable findings — "The dependency caps consistently cover the teams extra, all extra, and development dependencies… no actionable regressions were found." Merging with --admin (Protect Main requires a code-owner approval).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant