Skip to content

v0.4.25 — Synced to Vercel Chat 4.25.0

Choose a tag to compare

@patrick-chinchill patrick-chinchill released this 11 Apr 05:24
· 122 commits to main since this release
Immutable release. Only release title and notes can be modified.
68520d6

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.25

Version 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.ChoiceSet with auto-submit.
  • GitHub issue threads: issue_comment webhooks on plain issues create threads with github:owner/repo:issue:42.
  • Slack OAuth redirect fix: handle_oauth_callback correctly forwards redirect_uri.

Python-only improvements (not in upstream)

  • PostableObjects cached in message history with real message ID (upstream skips this)
  • Teams msteams transport key stripped from action values (upstream leaks it)
  • End-to-end integration tests for Teams card inputs
  • GitHub fetch_thread round-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