Skip to content

chore(release): version packages - #1121

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@chat-adapter/gchat@4.45.0

Minor Changes

  • e521714: Expose sender email addresses on Google Chat events. message.author.email is set on incoming webhook messages and event.user.email on card button clicks, both from the email field Google Chat sends in the event. Pub/Sub messages, reactions, and fetchMessages results come from the Chat API, whose user resource has no email, so the adapter fills the field from its user cache, which holds an email once the user has sent a webhook message that included one. Without a cached email the field is undefined.

    The user cache now keeps a stored email, avatar, and bot flag when a later event for the same user omits them, so getUser no longer loses the email after a Pub/Sub message or a fetchMessages call. An empty email is treated as missing. A display name seen only on a Pub/Sub or fetchMessages payload creates a cache entry when the user has none, and no longer replaces an existing one.

Patch Changes

  • 0f0d77f: Set message.isMention from USER_MENTION annotations on webhook, Pub/Sub, and fetched messages. It was left unset, so Chat fell back to matching @userName in the text, and a bot named Bot also handled mentions of a user named Bot Dev.

    When botUserId is configured, isMention is true only when an annotation names the bot, and a plain-text @bot without a mention annotation no longer counts as a mention. Without botUserId, a message that only mentions people reports isMention: false, and every other message still uses the text fallback.

    Messages read from the API (fetchMessages, fetchMessage, fetchChannelMessages, and listThreads) now have the bot's mention rewritten to @userName, as webhook and Pub/Sub messages already did. A message that mentions the bot more than once is now rewritten at the right positions. The adapter warns at startup when botUserId is not a users/... resource name, and once when a mentioned app's ID differs from botUserId.

  • Updated dependencies [50c1116]

  • Updated dependencies [d0ff1dc]

    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/shared@4.45.0

Minor Changes

  • 50c1116: Add helpers that Messenger, Instagram, and WhatsApp each implemented separately: Meta webhook verification (verifyMetaWebhookChallenge, verifyMetaSignature), Graph API error mapping (throwMetaGraphApiError), the chat:{json} callback data codec, findCardActions and truncateWithEllipsis for cards, in-memory message history (upsertMessage, paginateMessages), and parseRetryAfter for Retry-After headers given in seconds or as an HTTP date. Telegram and Twilio use the shared callback data codec too, and @chat-adapter/shared/callback-data exposes it as a dependency-free subpath.

Patch Changes

  • Updated dependencies [d0ff1dc]
    • chat@4.45.0

@chat-adapter/telegram@4.45.0

Minor Changes

  • 2def4d3: Keep replies in a regular supergroup on the chat's thread. Outside forums, Telegram also sets message_thread_id on replies to identify the reply thread, and the adapter turned that into a separate telegram:{chatId}:{messageThreadId} thread. A bot subscribed to the chat never saw the reply. The adapter now uses message_thread_id as a thread only when is_topic_message is true, so forum topics keep their own threads.

    Upgrading: in a regular supergroup, replies now arrive on telegram:{chatId}. Anything your bot keyed on a telegram:{chatId}:{n} thread ID from such a group, such as subscriptions and thread.setState values, stops matching. Unless the bot is also subscribed to the chat itself, follow-ups in those reply threads reach onNewMention or onNewMessage instead of onSubscribedMessage. Calling thread.subscribe() from a reply now subscribes the bot to the whole chat, and thread.post() from a reply's handler no longer sends message_thread_id. Use thread.reply() to answer a specific message. Reply chains in the chat share one thread lock, so the concurrency strategy applies across them: with the default drop, a message that arrives while a handler is running for the same chat is discarded.

    Stop posting to stored telegram:{chatId}:{n} IDs from a regular supergroup. The adapter still sends message_thread_id for them and returns the message on the stored ID, while replies to it arrive on telegram:{chatId}.

Patch Changes

  • 08fff39: Give each polling getUpdates request a deadline of the long polling timeout plus 30 seconds. When a connection drops without a reset, for example after a network switch or a suspend and resume, the request used to wait until the operating system closed the socket, which can take 15 minutes or more, and the bot received no updates in that time. It now fails at the deadline, and the polling loop logs a Telegram polling request failed warning with Telegram getUpdates request timed out in its error field, backs off, and polls again on a new connection. The getMe and deleteWebhook requests have a 30 second deadline. Stopping polling and media group collection work as before.
  • 7fd677e: Wrap an actions block with more than 8 buttons into evenly sized inline keyboard rows of at most 8. Telegram keeps only the first 8 buttons of a row and silently drops the rest, so cards with long button lists lost their last options.
  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/web@4.45.0

Minor Changes

  • d0ff1dc: feat: stream model reasoning with reasoning chunks

    StreamChunk has a new reasoning type, { type: "reasoning", text }, for deltas of the model's reasoning. Like task_update and plan_update, reasoning chunks don't count toward the posted message's text.

    The Web adapter streams them to useChat as reasoning parts, or as AG-UI REASONING_* events with protocol: "ag-ui". Consecutive reasoning chunks fill one part, and text, a new task, or the first plan chunk closes it. A reasoning chunk also closes the current text part, so message.parts keeps reasoning and text in the order the handler yielded them.

    thread.post() passes reasoning chunks only to adapters that set the new optional supportsReasoningChunks property on Adapter to true, which the Web adapter does. For every other adapter it removes them from the stream, so reasoning is never posted to a chat platform. The Slack adapter's stream() also skips them when called directly instead of forwarding them to Slack's streaming API, which has no reasoning chunk type. A rejected chunk would also turn off task and plan chunks for the rest of the stream.

    Reasoning events in an AI SDK fullStream or a TanStack AI stream are still skipped. Only reasoning chunks you yield are streamed.

  • d0ff1dc: feat(web): stream task and plan updates as data parts

    task_update and plan_update stream chunks, which the Web adapter used to drop, now reach useChat as data-task and data-plan UI message parts. A data-task part's id is the task's id, so each update replaces the task's earlier part in place, and its data is { id, title, status, details?, output? }. A data-plan part's id is the assistant message ID and its data is { title }.

    The first chunk for a task, or the first plan chunk, closes the current text part, and text yielded after it streams into a new text part with the ID {id}-{n}, where id is the ID of the message thread.post() returns. message.parts therefore lists text, tasks, and the plan in the order the handler first yielded them. A later update to the same task or plan replaces its part in place and leaves the current text part open. The first text part keeps that ID, and a stream that yields only text produces the same events as before. A stream that yields tasks or a plan but no text no longer adds an empty text part.

    The start chunk's messageId is now shared with the handler's streams, which is how data-plan parts get the assistant message ID. stream() returns a raw message that lists the streamed parts.

    The new WebUIMessage type, exported from @chat-adapter/web/react, /vue, and /svelte, types useChat<WebUIMessage>() so part.data narrows by part type. The server entry exports WebTaskData and WebPlanData, the data types of the two parts, and WebDataParts, which maps part names to them.

    With protocol: "ag-ui", task and plan updates stream as CUSTOM events named task and plan, with the chunk minus its type as value.

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

chat@4.45.0

Minor Changes

  • d0ff1dc: feat: stream model reasoning with reasoning chunks

    StreamChunk has a new reasoning type, { type: "reasoning", text }, for deltas of the model's reasoning. Like task_update and plan_update, reasoning chunks don't count toward the posted message's text.

    The Web adapter streams them to useChat as reasoning parts, or as AG-UI REASONING_* events with protocol: "ag-ui". Consecutive reasoning chunks fill one part, and text, a new task, or the first plan chunk closes it. A reasoning chunk also closes the current text part, so message.parts keeps reasoning and text in the order the handler yielded them.

    thread.post() passes reasoning chunks only to adapters that set the new optional supportsReasoningChunks property on Adapter to true, which the Web adapter does. For every other adapter it removes them from the stream, so reasoning is never posted to a chat platform. The Slack adapter's stream() also skips them when called directly instead of forwarding them to Slack's streaming API, which has no reasoning chunk type. A rejected chunk would also turn off task and plan chunks for the rest of the stream.

    Reasoning events in an AI SDK fullStream or a TanStack AI stream are still skipped. Only reasoning chunks you yield are streamed.

Patch Changes

  • Updated dependencies [09cb11e]
  • Updated dependencies [50c1116]
  • Updated dependencies [e5e5206]
  • Updated dependencies [a6ec788]
  • Updated dependencies [6e0bba3]
  • Updated dependencies [0471806]
    • @chat-adapter/catalog@4.45.0

@chat-adapter/discord@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/github@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/gitlab@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/gmail@4.45.0

Patch Changes

  • b81a4d9: prevent deeply nested HTML emails and conversion failures from blocking mailbox synchronization
  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/instagram@4.45.0

Patch Changes

  • 50c1116: Messenger, Instagram, and WhatsApp now verify webhooks with the same shared code. The X-Hub-Signature-256 header must be sha256= followed by exactly 64 hex digits, and any other shape is rejected before the comparison. WhatsApp's log entry for a failed subscription check no longer includes tokenMatch. If computing the signature throws, WhatsApp now logs a warning and responds with 401, as Messenger and Instagram respond with 403.

    Messenger rate-limit errors now carry retryAfter from the Retry-After header, as Instagram's already did. Both adapters accept the header as whole seconds or as an HTTP date, and ignore any other value, such as 1.5 or 30abc. When the Graph API returns an error status with a body that isn't JSON, Messenger and Instagram now map it by status, so a 429 becomes an AdapterRateLimitError where it used to be a NetworkError about parsing the response.

  • Updated dependencies [50c1116]

  • Updated dependencies [d0ff1dc]

    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/linear@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/messenger@4.45.0

Patch Changes

  • 50c1116: Messenger, Instagram, and WhatsApp now verify webhooks with the same shared code. The X-Hub-Signature-256 header must be sha256= followed by exactly 64 hex digits, and any other shape is rejected before the comparison. WhatsApp's log entry for a failed subscription check no longer includes tokenMatch. If computing the signature throws, WhatsApp now logs a warning and responds with 401, as Messenger and Instagram respond with 403.

    Messenger rate-limit errors now carry retryAfter from the Retry-After header, as Instagram's already did. Both adapters accept the header as whole seconds or as an HTTP date, and ignore any other value, such as 1.5 or 30abc. When the Graph API returns an error status with a body that isn't JSON, Messenger and Instagram now map it by status, so a 429 becomes an AdapterRateLimitError where it used to be a NetworkError about parsing the response.

  • Updated dependencies [50c1116]

  • Updated dependencies [d0ff1dc]

    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/notion@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/slack@4.45.0

Patch Changes

  • d0ff1dc: feat: stream model reasoning with reasoning chunks

    StreamChunk has a new reasoning type, { type: "reasoning", text }, for deltas of the model's reasoning. Like task_update and plan_update, reasoning chunks don't count toward the posted message's text.

    The Web adapter streams them to useChat as reasoning parts, or as AG-UI REASONING_* events with protocol: "ag-ui". Consecutive reasoning chunks fill one part, and text, a new task, or the first plan chunk closes it. A reasoning chunk also closes the current text part, so message.parts keeps reasoning and text in the order the handler yielded them.

    thread.post() passes reasoning chunks only to adapters that set the new optional supportsReasoningChunks property on Adapter to true, which the Web adapter does. For every other adapter it removes them from the stream, so reasoning is never posted to a chat platform. The Slack adapter's stream() also skips them when called directly instead of forwarding them to Slack's streaming API, which has no reasoning chunk type. A rejected chunk would also turn off task and plan chunks for the rest of the stream.

    Reasoning events in an AI SDK fullStream or a TanStack AI stream are still skipped. Only reasoning chunks you yield are streamed.

  • Updated dependencies [50c1116]

  • Updated dependencies [d0ff1dc]

    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/teams@4.45.0

Patch Changes

  • 7de6dd4: The Teams converter now quotes every line of a Markdown block quote. It used to add the > prefix only to the first line of each block and join blocks with a single newline. Teams then merged the paragraphs of the quote and folded every list item after the first into the first one. Now each line gets the prefix, and a lone > line separates the blocks.

  • 6e0bba3: The Teams adapter reports edited messages to onMessageUpdated. It used to drop Teams messageUpdate activities, so a bot never saw an edit. The updated message has isMention set from its mention entities, like a new message. Teams sends only the new version, so previousMessage is undefined. Undeletes are still ignored.

    Webhook options are now scoped to each request instead of the activity id, so an edit that reuses its message's id no longer loses its waitUntil while the original message is still being handled.

    In a DM, a stream posted from onMessageUpdated goes out as its own message instead of being written into the reply to the original message, which may still be streaming.

    The catalog lists Teams message edit events as partial, because channel edits haven't been checked against captured traffic.

  • Updated dependencies [50c1116]

  • Updated dependencies [d0ff1dc]

    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/twilio@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/twitch@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/whatsapp@4.45.0

Patch Changes

  • 50c1116: Messenger, Instagram, and WhatsApp now verify webhooks with the same shared code. The X-Hub-Signature-256 header must be sha256= followed by exactly 64 hex digits, and any other shape is rejected before the comparison. WhatsApp's log entry for a failed subscription check no longer includes tokenMatch. If computing the signature throws, WhatsApp now logs a warning and responds with 401, as Messenger and Instagram respond with 403.

    Messenger rate-limit errors now carry retryAfter from the Retry-After header, as Instagram's already did. Both adapters accept the header as whole seconds or as an HTTP date, and ignore any other value, such as 1.5 or 30abc. When the Graph API returns an error status with a body that isn't JSON, Messenger and Instagram now map it by status, so a 429 becomes an AdapterRateLimitError where it used to be a NetworkError about parsing the response.

  • Updated dependencies [50c1116]

  • Updated dependencies [d0ff1dc]

    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/x@4.45.0

Patch Changes

  • Updated dependencies [50c1116]
  • Updated dependencies [d0ff1dc]
    • @chat-adapter/shared@4.45.0
    • chat@4.45.0

@chat-adapter/catalog@4.45.0

Patch Changes

  • 09cb11e: Add Adeli as a vendor-official adapter (@adeli/chat-sdk-adapter) to the catalog, docs listing, and CLI scaffold spec.

  • 50c1116: Correct three Meta adapter entries. Messenger: fields render as plain text, message history comes from an in-memory cache of received and sent messages, there is no mention detection, and the adapter has no custom API endpoint option. Instagram: message history comes from an in-memory cache of received and sent messages. WhatsApp: message history comes from the thread history that Chat SDK persists in the state adapter.

  • e5e5206: Add the community Rocket.Chat adapter chat-adapter-rocketchat to the catalog.

  • a6ec788: Add the community Signal adapter @stibbons/chat-adapter-signal to the catalog.

  • 6e0bba3: The Teams adapter reports edited messages to onMessageUpdated. It used to drop Teams messageUpdate activities, so a bot never saw an edit. The updated message has isMention set from its mention entities, like a new message. Teams sends only the new version, so previousMessage is undefined. Undeletes are still ignored.

    Webhook options are now scoped to each request instead of the activity id, so an edit that reuses its message's id no longer loses its waitUntil while the original message is still being handled.

    In a DM, a stream posted from onMessageUpdated goes out as its own message instead of being written into the reply to the original message, which may still be streaming.

    The catalog lists Teams message edit events as partial, because channel edits haven't been checked against captured traffic.

  • 0471806: Zoom Team Chat community adapter

    • Lists the independently maintained zoom-chat-adapter package for Zoom Team Chat, including its source repository and capability matrix.
    • Adds setup and usage documentation for Zoom Marketplace credentials, HMAC-SHA256 webhook verification, channel and DM messaging, formatting, and thread IDs.
    • Documents the current capabilities and limits: post, edit, delete, post+edit streaming, direct-only threaded replies, no reactions or message history, no thread subscription, and no webhook for DM thread replies.

create-chat-sdk@0.7.1

Patch Changes

  • 09cb11e: Add Adeli as a vendor-official adapter (@adeli/chat-sdk-adapter) to the catalog, docs listing, and CLI scaffold spec.

@chat-adapter/state-ioredis@4.45.0

Patch Changes

  • Updated dependencies [d0ff1dc]
    • chat@4.45.0

@chat-adapter/state-memory@4.45.0

Patch Changes

  • Updated dependencies [d0ff1dc]
    • chat@4.45.0

@chat-adapter/state-pg@4.45.0

Patch Changes

  • Updated dependencies [d0ff1dc]
    • chat@4.45.0

@chat-adapter/state-redis@4.45.0

Patch Changes

  • Updated dependencies [d0ff1dc]
    • chat@4.45.0

@chat-adapter/tests@4.45.0

@github-actions
github-actions Bot requested a review from a team November 5, 2026 11:28
@vercel

vercel Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
chat Ready Ready Preview, v0 Nov 12, 2026 9:05am UTC

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from cc0261e to 4a0a85d Compare November 6, 2026 05:14
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 4a0a85d to a2c4d64 Compare November 6, 2026 13:17
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from a2c4d64 to 705db14 Compare November 6, 2026 23:52
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 705db14 to 1449a35 Compare November 10, 2026 09:23
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 1449a35 to b11a952 Compare November 11, 2026 03:40
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from b11a952 to eaa8518 Compare November 11, 2026 05:35
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from eaa8518 to bdca4f5 Compare November 11, 2026 08:09
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from bdca4f5 to 0c7f72a Compare November 11, 2026 12:45
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 0c7f72a to 9e52068 Compare November 11, 2026 23:47
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 9e52068 to 1d832d3 Compare November 12, 2026 08:02

This branch was successfully deployed

1 active deployment
Preview — 748ce52f Deployed Nov 12, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants