Week 19 v3.19.0
-
Add new
markdownToCommentBodyhelper to convert Markdown strings intoCommentBodyobjects. -
room.history.disable(fn)is now officially supported and no longer experimental. It allows running storage mutations without them appearing on the undo/redo stacks and it’s intended for background/async writes (e.g. writing back AI generation results) that should not be undoable. -
Fix keyboard shortcut in strikethrough tooltip. (Thanks @HellBoy-OP for the contribution!)
-
Fix Yjs undo/redo silently breaking after
editor.registerPlugin/unregisterPluginis called (e.g. when Tiptap'sBubbleMenu,DragHandle, orSlashCommandmount). The reattachrestore()is now installed unconditionally on view destroy, matching upstream@tiptap/extension-collaboration. (Thanks @lucasmotta for the contribution!)
Liveblocks dev server (v1.4.1)
- Fix:
client.getOrCreateRoom()no longer errors when the room already exists, matching production behavior. - Fix: Yjs document updates made via
PUT /v2/rooms/<roomId>/ydocnow get broadcast to connected WebSocket clients, matching production behavior.
-
Week 17 v3.18.5
- Support overlapping comment marks, they now all appear in the
AnchoredThreadsandFloatingThreadscomponents.
v3.18.4
- Mark
yjsandy-prosemirroras required peer dependencies.
Website
Infrastructure
- We're almost done migrating over all rooms to our new v2 realtime data storage engine–we're deep in the long tail! (For the benefits of this, read more here.)
Documentation
- New get started guide: Multiplayer Handsontable.
- New get started guide: Commenting in Handsontable.
- Support overlapping comment marks, they now all appear in the
Week 16 v3.18.3
- Third-party libraries like
yjs,@tiptap/*, and@blocknote/*are now declared as peer dependencies instead of bundled dependencies across all packages that use them.
v3.18.2
- New experimental
room.history.disable(fn)API that allows running storage mutations without them appearing on the undo/redo stacks. Intended for background/async writes (e.g. writing back AI generation results) that should not be undoable. - Fix
ToJsontype losing specific value types forRecord<string, T>fields in Storage
v3.18.1
- Mentions suggestions now appear in more cases after typing
@:- After punctuation like
!,.,(, etc. (e.g.Hello!@,cc: the other team (@) - After emojis (e.g.
Hello 👋@)
- After punctuation like
Infrastructure
- Moved the public monorepo from NPM to pnpm.
- Started the transparent internal migration of old rooms still on the v1 realtime data storage engine to the new v2 engine, learn more about the benefits.
Examples
- New example: Handsontable comments.
- New example: Multiplayer Handsontable.
Website
- New blog post: Unveil Week recap: Realtime collaboration for humans and agents.
- New blog post: Official n8n nodes for Liveblocks.
- Third-party libraries like
Week 15 v3.18.0
For full upgrade instructions, see the 3.18 upgrade guide.
-
Breaking:
useStoragenow returns plain objects forLiveMapvalues instead ofMapinstances. Legacy APIs have been removed:.toImmutable(),.toObject(),.toArray(). -
New
.toJSON()on all Live structures, returning a cached JSON-compatible snapshot.JSON.stringify(root)now just works. -
New
LiveObject.from(obj)to create a LiveObject from plain JSON, recursively converting nested objects/arrays to Live structures. -
New
.reconcile(obj)to efficiently reconcile a LiveObject tree to match a JSON snapshot, only mutating what changed. -
initialStorageacceptsLiveObject.from()result directly. -
New
mutateFlow()API for reading and mutating React Flow data from a Node.js backend. Install vianpm i @liveblocks/react-flow, import from@liveblocks/react-flow/node. -
Add standalone
Avatarcomponent to complementAvatarStackfor more fine-grained customization. -
Add
variantprop toAvatarStackto support outlined avatars. -
Fix: Initial storage seeding no longer creates an undo frame.
-
Fix: Presence updates are now batched with storage updates.
Liveblocks dev server (v1.4.0)
- Add support for
client.mutateStorage()(from@liveblocks/node)
Website
- New blog post: AI agents are becoming native users of software.
- New blog post: Introducing Feeds and APIs for Agent Workflows.
- New blog post: Multiplayer SDK for React Flow: Realtime collaboration between humans and agents.
- New blog post: Chat SDK adapter for Liveblocks.
- New blog post: Python SDK for Liveblocks.
- New blog post: Agent skills for Liveblocks.
Documentation
- Mention missing
updatedAtfield inupdateFeedMessagereference.
-
Week 14 v3.17.0
-
Introduce the package. Install with
npm install @liveblocks/react-flow. Provides hooks and components that add collaboration to any React Flow diagram using Liveblocks Storage:- Use the
useLiveblocksFlowhook to make React Flow synced and collaborative. - Use the
Cursorscomponent to show other users' cursors inside React Flow.
- Use the
-
Allow customizing cursors in the
Cursorscomponent by passing acomponents={{ Cursor: MyCursor }}prop.
v3.16.0
-
Introduce the package. Install with
npm install @liveblocks/chat-sdk-adapter. Provides achat-sdk-compatible backend adapter backed by Liveblocks Comments: webhooks, posting and editing messages, reactions, paginated fetches, thread and channel helpers, and optionalresolveUsers/resolveGroupsInfohooks. -
Add Feeds hooks:
useFeeds,useFeedMessages,useCreateFeed,useDeleteFeed,useUpdateFeedMetadata,useCreateFeedMessage,useDeleteFeedMessage, anduseUpdateFeedMessage. -
Add REST client methods for Feeds:
getFeeds,getFeed,createFeed,updateFeed,deleteFeed,getFeedMessages,createFeedMessage,updateFeedMessage, anddeleteFeedMessage. -
Add Feeds REST API support on the sync and async clients (
get_feeds,get_feed,create_feed,update_feed,delete_feed,get_feed_messages,create_feed_message,update_feed_message,delete_feed_message) with matching request/response models. -
Add Feeds: room-scoped feeds with metadata and messages and APIs to list, create, update, and delete feeds and messages (
fetchFeeds,fetchFeedMessages,addFeed,updateFeed,deleteFeed,addFeedMessage,updateFeedMessage,deleteFeedMessage). -
Add
bodyprop toCommentto allow overriding only the default rich-text comment body while still keeping attachments, reactions, andadditionalContentas is, unlike when using thechildrenprop. -
Fix
AvatarStacknegative margin breaking alignment.
Liveblocks dev server (v1.3.0)
- Add feeds support (feeds:write permission)
- Add verbose logging toggle
- Fix permission validation to accept all valid permission combinations
- Support passing extra arguments to
--cmddynamically
Website
- Liveblocks Unveil: April 6–10, 5 days of launches.
Documentation
- New page: n8n nodes.
- New page: AI Collaboration.
- New get started: Next.js + Realtime feeds.
- New get started: Next.js + React Flow.
- Add Feeds to API reference pages.
- New concepts and WebSocket images.
Examples
- New example: AI Comments.
- New example: Chat SDK Bot.
- New example: Chat SDK AI Bot.
-
Week 13 3.15.5
-
Improve clipboard handling when text nodes containing comments were copied or pasted.
-
Fix request body for certain endpoints, like
update_room_id,initialize_storage_documentincorrectly set as optional.
Liveblocks dev server (v1.2.0)
New dev server features:
- Live socket inspector view
- Maintenance mode toggle (to reject new WebSocket connections)
Documentation
- New page: Agent skills.
Showcase
- New item: Realtime design like Figma.
-
Week 12 v3.15.4
-
Add
Liveblocks.getAttachment()method to get an attachment's metadata and a presigned download URL. -
Add
get_attachment()method to get an attachment's metadata and a presigned download URL.
v3.15.3
-
Introduce the Python package. Install with
pip install liveblocks. Provides sync and async clients for the full Liveblocks API (rooms, storage, threads, comments, etc.) for backend use. -
Add
showSubscriptionprop toThreadto control whether to show the thread’s subscription status.
Liveblocks dev server (v1.1.0)
New dev server features:
- ID token authentication support
- Read-only rooms support
- Room permissions and room metadata
- Room filtering support
- Room Node.js methods and REST APIs are now fully supported
See dev server documentation for the updated feature matrix.
Dashboard
- We added support for setting description on projects for better documentation and organization
- Fixed a bug preventing inviting new members correctly
- Internal refactoring of dashboard components to improve performance and efficiency
Infrastructure
- Mangement API: We added support for setting description on projects for better documentation and organization.
Documentation
- New API reference: Python SDK.
Website
- New blog post: What's new in Liveblocks: February 2026.
- New blog post: New React components for adding realtime presence and contextual commenting to your app.
-
Week 11 v3.15.2
-
Deprecate the
engineoption onenterRoom(). This flag no longer has any effect. -
Deprecate the
engineprop onRoomProvider. This flag no longer has any effect. -
Deprecate the
engineoption oncreateRoom(). This flag no longer has any effect. -
Stop sending the
enginefield in the room creation request body.
v3.15.1
- Add
gapprop toAvatarStackto control the--lb-avatar-stack-gapCSS variable. - Add
paddingprop toCommentPinto control the--lb-comment-pin-paddingCSS variable. - Fix
sizeprops onAvatarStackandCommentPinnot working as expected when passing numbers. - Fix
autoFocusprop onFloatingComposer. - Improve avatars’ ordering and
maxlogic inAvatarStack. - Support
childrenprop onCommentPin.
Documentation
- Mention how token caching is never recommended.
Examples
- Improve canvas comments example to prevent a conflict after moving a comment pin twice in rapid succession.
-
Week 10 v3.15.0
-
Add various new ways to customize
ThreadandComment:- Comments in
Threadcan now be overridden or customized via thecomponentsprop. - New parts of
Comment(content, avatar, author, and date) can now be overridden or customized via thechildren,additionalContent,avatar,author, anddateprops.
- Comments in
-
Fix
commentDropdownItemsprop onThreadnot working as expected in some cases. -
Each
createRoomContext()invocation now creates its own isolated context to allow nesting independent room contexts and theirRoomProvidercomponents. -
Support newer BlockNote versions and bump the minimum required version to v0.43.0. (Thanks @nperez0111 for the contribution!)
-
Improve how inline components passed to
components={{ ... }}props are handled by keeping them stable instead of re-mounting them on every render. -
Move
@radix-ui/*dependencies to theradix-uimono package.
Examples
- New example: AG Grid Comments.
- Update old examples to use new presence and commenting components.
Documentation
- New quickstart: Draggable comments with Next.js.
- New quickstart: Commenting inside AG Grid with Next.js.
- New quickstart: Commenting inside a table with Next.js.
- New quickstart: Realtime avatar and cursor presence with Next.js.
- New guide: How to add users to Liveblocks presence components.
- Mention
sk_localdevandpk_localdevkeys more explicitly in dev server docs. - Mention
["comments:write"]permission under authentication.
-
Week 9 v3.14.1
- Fix paginated hooks (
useThreads,useInboxNotifications, anduseAiChats) stopping pagination after the firstfetchMore()call when auto-paginating in auseEffect.
Zen Router
- Zen Router was released, our open-source HTTP router.
- Documentation website for Zen Router was published.
- Repo for Zen Router was published.
Website
- New blog post: Introducing Zen Router: our open-source type-safe router compatible with Cloudflare Workers.
Examples
- Next.js Starter Kit was updated to
support new features.
- Organization switcher powered by tenants/organizations, with separate inboxes in each.
- New universal header built with
useIsInsideRoom. - New share menu with private/org/public permissions.
- Filters for private/org/public documents on dashboard.
- New Document shape with new permissions added.
- Better UX in various places and tidied project structure.
- Fix text size in Next.js Starter Kit on mobile devices. Thank you @chrrrs!
Showcase
- New item: Next.js Starter Kit for realtime collaboration.
- New item: An inbox for each workspace.
- New item: Share menu with live permissions.
- Fix paginated hooks (