Skip to content

v0.4.27

Choose a tag to compare

@patrick-chinchill patrick-chinchill released this 28 May 22:15
Immutable release. Only release title and notes can be modified.
c43ea05

Synced to upstream vercel/chat@4.27.0 (release commit f55378a).

Highlights

Upstream parity ports

  • Chat.get_user(adapter, user_id) across all 8 adapters (#90)
  • Slack Socket Mode transport (#86) — closes #68
  • Slack dynamic bot_token resolver + custom webhook_verifier (#87)
  • Teams native DM streaming via emit (#88)
  • Telegram MarkdownV2 rendering (#89)
  • Discord card-text dedup (#89)
  • Slack streaming team_id fix + Teams DM Graph conversation IDs (#85)
  • ExternalSelect.initial_option + option_groups (#84)

Python-only improvements

  • Markdown parser: GFM task lists, escaped chars, inline math (#101)
  • Streaming markdown: list-marker awareness + table chunk-boundary (#99, issue #69)
  • Slack files_upload_v2 kwarg fix (#103, issue #102)
  • Dict-shaped StreamChunk support in slack/github/gchat (#105)
  • Google Chat card-text markdown rendering (#92)
  • Adapter init logs + registered-adapter list in not-found errors (#104)

Sync-process docs

  • New "Review-Loop Discipline" section in docs/UPSTREAM_SYNC.md
  • docs/SELF_REVIEW.md rewritten with explicit timing + economics

Validation

4,036 tests pass, 3 skipped, 0 failed. ruff/format/audit clean.

Upstream tagging note

Upstream did not publish a chat@4.27.0 tag (only @chat-adapter/shared@4.27.0 got one). The fidelity workflow stays pinned to chat@4.26.0 for this release; will move to a 4.27 SHA pin in the next sync.

See CHANGELOG.md for the full release notes.