Packages

chat

4.43.0 · 19 Oct 2026MIT2.1M / weekRepositoryHomepagenpmAtom feed

Latest releases

All 88 releases
  1. 4.43.0

    19 Oct 2026
    • 115cd39: Add @chat-adapter/gitlab for merge request and issue comment threads on GitLab.com, GitLab Self-Managed, and GitLab Dedicated. It verifies webhooks with a signing token or secret token, replies inside each comment's discussion, handles emoji reactions, uploads files, and resolves message.subject to the parent merge request or issue. Registers the adapter in @chat-adapter/catalog and the create-chat-sdk CLI scaffold, and adds GitLab emoji platform support.

    • a32470e: Keep literal tildes, asterisks, underscores, and backslashes as written in outgoing WhatsApp messages. A backslash escape is kept only where the text would otherwise turn into WhatsApp formatting, such as \_word\_ or a line starting with \>. Render bold, italic, and strikethrough from their AST nodes so formatting markers inside inline and fenced code stay unchanged, and send hard breaks as plain newlines. Add a handlers option to stringifyMarkdown for platform-specific serialization.

    • 228b30d: Pass the current message ID to Adapter.startTyping as TypingOptions.messageId.

  2. 4.42.0

    14 Oct 2026
    • daaa0ac: Add @chat-adapter/catalog, a zero-dependency catalog of every adapter on chat-sdk.dev. It lists official, vendor-official, and community adapters with their npm package, maintainer, README, and capability support, plus the factory export, peer dependencies, and environment variables for official and vendor-official adapters. New helpers include listAdapters(), getCatalogEntry(), and getFeatureSupport().

      The chat/adapters subpath is now deprecated. It re-exports the original API from @chat-adapter/catalog, so existing imports keep working. Its ADAPTERS keeps alphabetical key order, and its CatalogAdapter type accepts objects without the new features and readme fields. In @chat-adapter/catalog, ADAPTERS follows chat-sdk.dev listing order and CatalogAdapter requires both fields. create-chat-sdk reads adapter metadata from @chat-adapter/catalog.

      getAdapter() and listEnvVars() now return undefined and `` for inherited object keys such as "toString", instead of returning Object.prototype members.

    • fd291b8: feat(teams): let a card carry a text input

      TextInput, which modals already use, is now also a CardChild, so a user can type a reply on the card instead of opening a dialog. Teams renders it as an Adaptive Card Input.Text with the same mapping the modal converter uses, and the @chat-adapter/teams/cards subpath emits the same element. Slack, Google Chat, Discord, GitHub, and Linear show its label as text. WhatsApp, Messenger, Twilio, and X omit it, so don't make an input the only content on a card that reaches them.

      ActionEvent gains values?: Record<string, string>, the card's own input values keyed by input ID. It has the same shape as ModalSubmitEvent.values. The Teams adapter fills it from the Action.Submit payload, and it is absent on platforms with no card inputs. A button's callbackUrl POST now carries values too, so a webhook-driven flow with no onAction handler still receives what was typed.

      An input is required unless optional is set, and Teams validates every input on the card before it lets a button through, so mark it optional unless the buttons beside it should be blocked until it is filled. That validation is client-side, so treat values as user input and validate it in the handler. A Teams button with actionType: "modal" now renders with associatedInputs: "none", so it opens its dialog without waiting on the card's inputs and doesn't send them.

      Teams merges card inputs into the button's own submit data, so a card TextInput with the ID actionId, value, or msteams throws a ValidationError when the card is rendered, and the @chat-adapter/teams/cards subpath throws an Error. Modal inputs can still use actionId and value.

      CardChild gained a member, so an adapter outside this repo that exhausts the union with a never check needs a text_input case. Every in-repo converter reaches it through a default: branch instead, so none needed changing.

    • 19c7aa2: Add a handler-only onNewMessage(handler) overload for messages that reach pattern routing, including attachment-only messages without text. Invalid onNewMessage arguments now throw a ChatError at registration.

  3. 4.41.1

    28 Sep 2026
    • 6f17495: preserve streaming settings and runtime ownership when restoring threads and channels

  4. 4.41.0

    18 Sep 2026
    • ad90432: Add opt-in selection change events for Select and RadioSelect inputs in Slack modals

    • dc2a777: Add TanStack AI support. thread.post(), thread.reply(), and channel.post() accept the stream returned by TanStack's chat(), and the new chat/ai/tanstack subpath provides toTanStackMessages for thread history and createTanStackTools for the Chat SDK toolset. Neither adds a runtime dependency on @tanstack/ai; the tools require zod 4.2 or newer.

    • 139d337: Support Vercel Connect in the Teams adapter with lazy app identity resolution and custom webhook verification. Ensure custom Bot Framework and Graph token factories take precedence over client-secret environment variables.

      Add Teams to create-chat-sdk --connect and interactive Connect scaffolding, including the helper, connector environment variable, and setup documentation.

  5. 4.40.0

    5 Sep 2026
    • 4a0b5c0: Add tooltip to Button and LinkButton, and a width hint to Card. The Teams adapter and the @chat-adapter/teams/cards subpath render them as the Adaptive Card action tooltip and the msteams full-width card property; other adapters ignore them. Emitted Adaptive Cards now declare schema version 1.5, which is the version that introduced action tooltips. Buttons with a callbackUrl keep their tooltip and other fields when the URL is swapped for a callback token.

    • f485255: Harden webhook tenant isolation, require explicit Google Chat bot identity for reliable mention handling, use native Google Chat pagination, isolate Slack caches, and bound recording storage.

    • b7c9316: Tighten AI tool and queued-message scoping, isolate direct-message conversations, preserve ephemeral follow-ups, consume callback tokens once, and mark external link metadata as untrusted.

Dependency tracking · free for 3 projects

Know when your own dependencies move

chat shipped a new major in the last 12 months, among 60 releases. Inlinr shows which of your projects are behind, and what the upgrade breaks.

  • Advisories reach you

    An email when a critical or high advisory affects a project, before the next install.

  • Upgrades checked first

    Peer ranges, Node, ESM-only and types changes read before you bump.

  • Only what matters

    Majors and breaking notes stay; patches and sibling bumps fold into one line.

How dependency tracking works

Registry facts last checked 22 Oct 2026. Releases and advisories last read 22 Oct 2026.