v0.4.25 — Synced to Vercel Chat 4.25.0
·
122 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Synced to Vercel Chat 4.25.0. New versioning: 0.{upstream_major}.{upstream_minor} embeds the upstream version directly.
Upgrading
pip install chat-sdk==0.4.25Version scheme changed from 0.0.1aX to 0.{upstream_major}.{upstream_minor}[.patch]. Check chat_sdk.UPSTREAM_PARITY programmatically.
New features (from upstream 4.25.0)
- Plan blocks: Post structured task lists with live updates.
plan = Plan(title="Deploy steps") posted = await thread.post(plan) await plan.add_task("Build image") await plan.update_task(0, status="completed") await plan.complete()
- Streaming table option:
StreamingMarkdownRenderer(wrap_tables_for_append=False)for platforms with native table support. Slack uses this by default. - Teams Select/RadioSelect: Card elements render as Adaptive Card
Input.ChoiceSetwith auto-submit. - GitHub issue threads:
issue_commentwebhooks on plain issues create threads withgithub:owner/repo:issue:42. - Slack OAuth redirect fix:
handle_oauth_callbackcorrectly forwardsredirect_uri.
Python-only improvements (not in upstream)
- PostableObjects cached in message history with real message ID (upstream skips this)
- Teams
msteamstransport key stripped from action values (upstream leaks it) - End-to-end integration tests for Teams card inputs
- GitHub
fetch_threadround-trip test with channel APIs
Internals
- 3,421 tests, 0 warnings, 0 lint errors
- 535/535 TS fidelity (100%)
- Version mapping and sync procedure in UPSTREAM_SYNC.md