chore(release): cut 0.4.30 — Teams SDK migration + 4.30.0 parity (#93 PR 4/4)#146
Conversation
|
Warning Review limit reached
More reviews will be available in 55 minutes and 33 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. 📝 WalkthroughWalkthroughVersion bump from 0.4.29 to 0.4.30, re-pinning all upstream references from Changesv0.4.30 Release
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~4 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the chat-sdk package to version 0.4.30, syncing it with upstream vercel/chat@4.30.0. The changes include updating documentation, changelogs, test fidelity scripts, and configuration files to reflect the new version and upstream parity. Additionally, docstrings in the Teams adapter are updated to use the normalized @chat-adapter/teams@4.30.0 package label. The review feedback suggests adding a clarifying note in docs/UPSTREAM_SYNC.md regarding the versioning scheme to explicitly state that the local patch slot is reserved for Python-only fixes.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| | `0.4.27` | `4.27.0` | Synced to upstream 4.27.0 | | ||
| | `0.4.27.1` | `4.27.0` | Python-only fix on top of 4.27.0 (Slack upload confirmation backport) | | ||
| | `0.4.29` | `4.29.0` | Synced to upstream 4.29.0 (upstream never tagged `chat@4.27.0`/`chat@4.28.0`) | | ||
| | `0.4.30` | `4.30.0` | Synced to upstream 4.30.0 (Teams adapter migrated to the `microsoft-teams-apps` SDK, issue #93) | |
There was a problem hiding this comment.
When defining a versioning scheme that embeds an upstream version, it is important to clearly differentiate between upstream patch releases and local (Python-only) fixes to avoid ambiguity and potential collisions in version numbers. Since upstream patch releases are handled by bumping to the next minor version, we should explicitly document this here to clarify that the local patch slot is reserved for local fixes.
| | `0.4.30` | `4.30.0` | Synced to upstream 4.30.0 (Teams adapter migrated to the `microsoft-teams-apps` SDK, issue #93) | | |
| | 0.4.30 | 4.30.0 | Synced to upstream 4.30.0 (Teams adapter migrated to the microsoft-teams-apps SDK, issue #93) | | |
| Note: Upstream patch releases are handled by bumping to the next minor version (e.g., 4.30.0), meaning the local patch slot (the fourth digit, as in 0.4.27.1) is reserved exclusively for local, Python-only fixes. |
References
- When defining a versioning scheme that embeds an upstream version, ensure that the scheme clearly differentiates between upstream patch releases and local (Python-only) fixes to avoid ambiguity and potential collisions in version numbers. If upstream patch releases are handled by bumping to the next minor version, explicitly document this to clarify that the local patch slot is reserved for local fixes.
…PR 4/4) Final PR of the Teams SDK migration (issue #93). PRs 1-3 (inbound+auth, outbound, native streaming) are merged; this cuts the 0.4.30 release. - Version bump: pyproject 0.4.29 -> 0.4.30; UPSTREAM_PARITY "4.29.0" -> "4.30.0". - Fidelity re-pin chat@4.29.0 -> chat@4.30.0 in lint.yml + verify_test_fidelity.py (docstring, default parity fallback, clone hint). packages/chat/src is byte-for-byte identical between the two tags, so zero new test ports: strict fidelity stays 100% (732/732, 0 missing) against chat@4.30.0. Baseline regenerated (ts_parity -> chat@4.30.0; the recorded total_ts_tests literal 731 -> 732 corrects a stale count from the merged adapter waves, not the re-pin — the count is identical against both tags). - Docs: project-instructions version map + fidelity pin; README status line; CHANGELOG 0.4.30 entry (Twilio adapter, Telegram streaming, Slack subpaths, WhatsApp/Slack/gchat fixes, Teams #93 PRs 1-4); UPSTREAM_SYNC.md parity header + the Teams deferral row flipped to delivered. - Version-label normalization: malformed `adapter-teams@chat@4.30.0` and loose `adapter-teams@4.30.0` -> `@chat-adapter/teams@4.30.0` in adapter.py (5), bridge.py (1), UPSTREAM_SYNC.md (4). Comment/doc-only. Does NOT tag/publish — the release is a separate maintainer-gated step (live Teams 429 streaming check + PyPI authorization).
…alization Review fast-follow for PR 4. The CHANGELOG now states the mapped core is content-identical *between the chat@4.29.0 and chat@4.30.0 upstream tags* (verified: thread.ts/types.ts/thread.test.ts and the full packages/chat/src tree are byte-identical) — the prior 'unchanged from 4.29.0' phrasing was accurate but misread as a claim about our code. Also sweeps the two remaining old-style `adapter-teams@chat@4.30.0` labels in the Teams test docstrings to the canonical `@chat-adapter/teams@4.30.0` npm tag, completing the normalization the PR's scope called for. No logic change.
6666c91 to
0008f42
Compare
CHANGELOG: add 'Pre-existing parity gaps closed (4.30 audit)' subsection covering the 7 ported fixes (PRs #147-#150) and a documented-exceptions note (Linear agent-sessions #151 deferred to 4.31 / #152; adapter-web and the GitHub/Linear native-client + message.subject halves stay Known Non-Parity). UPSTREAM_SYNC: - file-mapping table: add state-ioredis -> redis.py (IoRedisStateAdapter) and state-pg -> postgres.py rows (both ported + tested, were missing). - Known Non-Parity (platform gaps): add Linear agent-sessions row (#151) and an adapter-web row that splits the portable server-side WebAdapter (deferred) from the genuinely browser-only client subpaths, correcting the earlier over-broad 'browser-only; no Python runtime' note. - Correct the Google Chat file-uploads row: inbound attachment parsing is fully implemented (_create_attachment), so the gap is outbound file delivery only (post_message still logs 'not yet supported').
CHANGELOG: - Drop false gchat file-delivery bullet (PR #112 never merged; upstream itself does not implement gchat outbound file delivery) - Fix Slack DM block-action citation to merged PR #137 (supersedes #133) - Re-point 0.4.27.1 vehicle from unmerged #120 to tag v0.4.27.1 + #117 - Drop numberless Twilio 'scaffolding PR' (only #142 exists) UPSTREAM_SYNC: - Reframe Google Chat outbound file delivery as parity (upstream also logs 'not yet supported' + media.upload TODO, index.ts:1282-1289) - Correct Teams cert-auth row: TS is not 'Supported' — config throws at startup in both SDKs (types.ts:31, config.ts:13); parity, issue #58 - Add Messenger get_user row: upstream has no getUser; raising stub is parity, Graph-API impl tracked as #132
What
Final PR (4/4) of the Teams SDK migration (issue #93) — cuts the 0.4.30 release. PRs 1 (inbound+auth, #143), 2 (outbound, #144), and 3 (native streaming, #145) are merged to
main; this PR bumps the version, re-pins fidelity tochat@4.30.0, refreshes the docs, and normalizes the Teams version label.Draft — does not tag or publish. The release itself is a separate maintainer-gated step (a live Teams 429 streaming check + explicit PyPI authorization).
Changes
Version bump
pyproject.toml:0.4.29→0.4.30src/chat_sdk/__init__.py:UPSTREAM_PARITY = "4.29.0"→"4.30.0"Fidelity re-pin
chat@4.29.0→chat@4.30.0.github/workflows/lint.yml: clone tagscripts/verify_test_fidelity.py: docstring, defaultts_parityfallback, clone hint (theMAPPINGdict, test-detection logic, and_current_parity_tagparse helper are untouched)scripts/fidelity_baseline.json: regenerated —ts_parity→chat@4.30.0packages/chat/srcis byte-for-byte identical betweenchat@4.29.0andchat@4.30.0, so this is a content-neutral re-pin with zero new test ports. Strict fidelity stays 732/732 matched, 0 missing (100%) againstchat@4.30.0, exit 0.Docs
CLAUDE.md: version map (0.4.30 = synced to 4.30.0), top-of-file parity note, fidelity pin + clone commandREADME.md: status line →0.4.30 / 4.30.0CHANGELOG.md:0.4.30entry derived from the actual merged commits inv0.4.29..origin/maindocs/UPSTREAM_SYNC.md: version-map row, fidelity header →4.30.0; the Teams "deferred to 0.4.30" gap row flipped to delivered (Teams divergence rows kept)Version-label normalization (deferred PR-3 nit, comment/doc-only)
adapter-teams@chat@4.30.0and looseadapter-teams@4.30.0→@chat-adapter/teams@4.30.0src/chat_sdk/adapters/teams/adapter.py(5 sites),src/chat_sdk/adapters/teams/bridge.py(1 site),docs/UPSTREAM_SYNC.md(4 sites)Gauntlet (run from the worktree)
ruff check src/ tests/ scripts/ruff format --check src/ tests/ scripts/audit_test_quality.pyverify_test_fidelity.py --strict(TS_ROOT=4.30)pyrefly checkpytest tests/🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes – Version 0.4.30
New Features
Bug Fixes
Documentation