Summary
microsoft-teams-apps 2.1.0 (2026-09-16) broke the Teams adapter, so the SDK is now capped at <2.1 (see the linked PR). This issue covers adapting to 2.1 and lifting the cap.
What broke on 2.1.0
App.activity_sender no longer exists. src/chat_sdk/adapters/teams/adapter.py:943 (self._app.activity_sender.create_stream(ref)) builds native DM streams through it. Failing tests: tests/test_teams_native_streaming.py::TestCreateStreamer::test_creates_streamer_for_valid_dm_activity and ::test_returns_none_when_create_stream_raises.
- The activities client's
update signature changed (unexpected keyword argument), which breaks the service-URL retargeting in edit_message (_point_app_api_at, adapter.py:1413-1433). Failing test: tests/test_teams_adapter.py::TestOutboundServiceUrlRouting::test_edit_message_retargets_real_activities_client.
Scope
Notes
Part of #184.
Summary
microsoft-teams-apps2.1.0 (2026-09-16) broke the Teams adapter, so the SDK is now capped at<2.1(see the linked PR). This issue covers adapting to 2.1 and lifting the cap.What broke on 2.1.0
App.activity_senderno longer exists.src/chat_sdk/adapters/teams/adapter.py:943(self._app.activity_sender.create_stream(ref)) builds native DM streams through it. Failing tests:tests/test_teams_native_streaming.py::TestCreateStreamer::test_creates_streamer_for_valid_dm_activityand::test_returns_none_when_create_stream_raises.updatesignature changed (unexpected keyword argument), which breaks the service-URL retargeting inedit_message(_point_app_api_at,adapter.py:1413-1433). Failing test:tests/test_teams_adapter.py::TestOutboundServiceUrlRouting::test_edit_message_retargets_real_activities_client.Scope
updatesignature.<2.1cap in all three dependency lists inpyproject.toml.Notes
uv.lockis gitignored, so dependency drift reaches CI and fresh installs directly. This has happened before (test(teams): make the skip-auth fixture survive the SDK's flag rename #180). Consider tighter upper bounds for fast-moving SDKs.Part of #184.