Week 29 v3.1.4
- Fix copilot id not being passed to 'set-tool-call-result' command that is dispatched when a tool call is responded to. Previously, we were using the default copilot to generate messages from the tool call result.
v3.1.3
- Fix
AiChatcomponent not scrolling instantly to the bottom on render when messages are already loaded.
Dashboard
- Added the ability to use website crawls and sitemaps as knowledge sources for your AI copilot.
Website
- New blog post: What’s new in Liveblocks: June 2025.
Week 28 v3.1.2
- Improve URL sanitization in comments.
v3.1.1
- Adds experimental setting
LiveObject.detectLargeObjects, which can be enabled globally usingLiveObject.detectLargeObjects = true(default is false). With this setting enabled, calls toLiveObject.set()orLiveObject.update()will throw as soon as you add a value that would make the total size of the LiveObject exceed the platform limit of 128 kB. The benefit is that you get an early error instead of a silent failure, but the downside is that this adds significant runtime overhead if your application makes many LiveObject mutations. - Fix: also display errors in production builds when they happen in
rendermethods defined withdefineAiTool(). Previously, these errors would only be shown during development. - Fix an issue with the render component of tool calls not being displayed correctly when the tool call signal was read before it was registered.
Examples
- New example: AI Support Chat.
Week 27 v3.1.0
-
defineAiTool()()now takes an optionalenabledproperty. When set tofalse, the tool will not be made available to the AI copilot for new/future chat messages, but still allow existing tool invocations to be rendered that are part of the historic chat record. -
RegisterAiToolnow also takes an optionalenabledprop. This is a convenience prop that can be used to override the tool’senabledstatus directly in React. -
Reasoning parts in
AiChatare now automatically collapsed when the reasoning is done. -
Add
collapsibleprop toAiToolto control whether its content can be collapsed/expanded. -
Add
InboxNotification.Inspectorcomponent to help debugging custom inbox notifications. -
Add support for Redux v5.
-
Fix default
z-indexof collaboration cursors, and make them inherit their font family instead of always using Arial. -
Add
lb-lexical-cursorsclass to the collaboration cursors’ container. -
Improve mentions’ serialization.
-
Improve mentions’ serialization.
-
Week 26 Week 25 v3.0.0
Liveblocks 3.0 is our third major release, focusing on our newest product, AI Copilots. We’ve used this as an opportunity to tidy up some of our existing APIs, ensuring consistency throughout our offering.
For full upgrade instructions and codemods, see the 3.0 upgrade guide.
-
TypeScript 5.0 is now the minimum supported version.
-
Remove deprecated APIs, see the deprecated section in the upgrade guide to learn more.
-
Introduce hooks and APIs for AI Copilots:
useAiChats,useAiChat,useDeleteAiChat,useSendAiMessage,RegisterAiTool,RegisterAiKnowledge, etc. -
Rename
UPDATE_USER_NOTIFICATION_SETTINGS_ERRORtoUPDATE_NOTIFICATION_SETTINGS_ERRORwhen usinguseNotificationSettingsoruseUpdateNotificationSettings. -
Introduce pre-built components for AI Copilots:
AiChat,AiTool, etc. -
The
onMentionClickprop onThreadandCommentnow receives aMentionDataobject instead of auserIdstring. -
The
Mentioncomponent on theComment.BodyandComposer.Editorprimitives now receives amentionprop instead of auserIdone. -
The
MentionSuggestionscomponent on theComposer.Editorprimitive now receives amentionsprop instead of auserIdsone, and theselectedUserIdprop has been renamed toselectedMentionId. -
Rename
LiveblocksUIConfigtoLiveblocksUiConfigfor consistency with other Liveblocks APIs. -
Remove deprecated
htmlBody/reactBodyproperties fromprepareThreadNotificationEmailAsHtml/prepareThreadNotificationEmailAsReact, usebodyinstead. -
Remove
htmlContent/reactContentproperties fromprepareTextMentionNotificationEmailAsHtml/prepareTextMentionNotificationEmailAsReact, usecontentinstead. -
The
prepareTextMentionNotificationEmailAsReactandprepareTextMentionNotificationEmailAsHtmlfunctions’ returned data changed slightly:- The
idproperty is now namedtextMentionId, it refers to the mention’s Text Mention ID, not the user ID used for the mention - The
idproperty now refers to the mention’s ID, as in the user ID used for the mention
- The
-
The
elementprop received by theMentioncomponent inprepareTextMentionNotificationEmailAsReactnow contains anidproperty instead ofuserId, and a newkindproperty to indicate the mention’s kind. -
The
getMentionedIdsFromCommentBodyutility has been replaced bygetMentionsFromCommentBody.
Dashboard
- Introduce an AI Copilots view to manage copilots and their knowledge.
Examples
- New example: AI Popup Chat.
- New example: AI Chats.
- New example: AI Reports Dashboard.
Website
-
Week 22 - Fix an issue with subpath imports (e.g.
@liveblocks/react/suspense) and CommonJS which could happen with certain bundlers.
- Fix an issue with subpath imports (e.g.
Week 19 - Disable or hide actions in
ThreadandCommentcomponents for users without permission to perform them, such as adding reactions or (un)resolving threads.
- Disable or hide actions in
Week 18 v2.24.1
- Fix for occasional desync issue.
v2.24.0
We are introducing thread subscriptions to add more granularity to thread notifications, allowing users to subscribe to threads without participating or unsubscribing from specific ones.
We are also using this opportunity to rename some of the concepts around notifications and notification settings to improve clarity. None of these changes are breaking but you can learn more about them, their rationale, and how to automatically apply them with a codemod in our Upgrade Guide for 2.24.
-
Add "Subscribe to thread" and "Unsubscribe from thread" actions to
Threadand threadInboxNotificationout of the box. -
Add
useSubscribeToThreadanduseUnsubscribeFromThreadhooks. -
Add
subscribeandunsubscribemethods to the existinguseThreadSubscriptionhook. -
Add support for
textMentionsin room subscription settings. -
Rename
useRoomNotificationSettingsanduseUpdateRoomNotificationSettingstouseRoomSubscriptionSettingsanduseUpdateRoomSubscriptionSettings. -
Add
subscribeToThread,unsubscribeFromThread,getThreadSubscriptionsandgetUserRoomSubscriptionSettingsmethods. -
Add support for
textMentionsin room subscription settings. -
Rename
getRoomNotificationSettings,updateRoomNotificationSettings, anddeleteRoomNotificationSettingstogetRoomSubscriptionSettings,updateRoomSubscriptionSettings, anddeleteRoomSubscriptionSettings. -
Add
Room.subscribeToThreadandRoom.unsubscribeFromThreadmethods. -
Methods which return threads and their associated inbox notifications now also return the thread’s associated subscriptions.
-
Add support for
textMentionsin room subscription settings. -
Rename
Room.getNotificationSettingsandRoom.updateNotificationSettingstoRoom.getSubscriptionSettingsandRoom.updateSubscriptionSettings.
MCP server
- New MCP server has been created for Liveblocks.
- Create and modify rooms, threads, comments, notifications, more.
- Read realtime Storage and Yjs values.
- Broadcast custom events to connected clients.
- Mark threads and notifications as read/unread.
Documentation
- New page detailing how to use the Liveblocks MCP server.
Website
- New trust center has been created, and links added to our website.
Week 17 v2.23.2
-
Add
closeAiTiptap command to manually close the AI toolbar. -
Fix
AiToolbarfocus behavior in Safari. -
Fix
FloatingToolbarfocus behavior in Safari. -
Fix
FloatingToolbarfocus behavior in Safari.
v2.23.1
-
Fix potential runtime error in browsers that do not support
Symbol.disposeyet. -
Fix a bug in
.mutateStorage()and.massMutateStorage()where mutating storage could potentially corrupt the storage tree.
v2.23.0
-
Expose new property
triggeredAtfor notification webhook events. -
The
prepareThreadNotificationEmailAsHtmlandprepareThreadNotificationEmailAsReactfunctions are now avoiding duplicated comments between two emails data. -
Improve event propagation from
Composerand the emoji pickers inComment/Thread. -
Fix crash when unmounting. Thank you @nperez0111!
-
Fix
withLiveblocksEditorOptionsnot passing all options to BlockNote. Thank you @chadnorvell!
Documentation
- New AI Copilots features page, highlighting all upcoming features.
- Mention first day free policy.
- Small updates to docs homepage
Dashboard
- Refined billing and usage settings page, now displaying billed and non-billed users for monthly active users (MAUs) metric.
Website
- New blog post: Add Notion-style collaborative text editing to your app with Liveblocks BlockNote.
- New blog post: Introducing fairer billing with first day free.
- New blog post: Rethinking product strategy in the age of AI with Melissa Perri.
- New blog post: What’s new in Liveblocks: March 2025.
- New blog post: How Artefect reinvented collaborative workspaces for technical teams.
-
Week 14 v2.22.3
-
The
InboxNotificationcomponent now usesresolveRoomsInfofortextMentionnotifications to make them link to the mentions’ room automatically ifhrefisn’t set. -
Fix names capitalization in lists. (e.g. the list of who reacted in reactions’ tooltips)
-
Add
emojibaseUrladvanced option onLiveblocksUIConfigto allow choosing where Emojibase’s data used by the Liveblocks emoji picker is fetched from: another CDN, self-hosted files, etc. -
Fix: Update dependencies resolution.
-
Fix: Avoid
<AnchoredThreads />threads rendering if the editor's view isnull.
-