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 (
Week 8 Open source
This week we've open-sourced the Liveblocks sync engine and dev server.
v3.14 🥧
This release adds support for opting-in to the new storage engine on a per-room basis. The new storage engine can support larger documents, is more performant, is considered more stable, and will eventually become our default engine for all new rooms in the future. As of this release, the default storage engine still remains engine version 1.
To give it a try, simply pass
engine: 2when entering a new room. After a room is created, you cannot change the engine it was created with anymore.or:
-
Support for selecting the preferred engine when entering new rooms:
client.enterRoom("my-new-room", { engine: 2 }) -
Internal protocol optimizations to support larger storage documents
-
Add new config option
createClient({ baseUrl: "https://..." })to allow connecting to the Liveblocks dev server -
Improve
LiveListperformance when processing large batches of operations -
Improve
LiveList.push()efficiency to prevent unbounded position string growth over time -
Fix crash when clearing documents with a large number of keys
-
Remove the
largeMessageStrategyclient option. The WebSocket message limit has been increased from 1 MB to 32 MB, making this setting obsolete. -
Support for selecting the preferred engine when entering new rooms:
<RoomProvider id="my-new-room" engine={2}>...</RoomProvider> -
Add new config option
<LiveblocksProvider baseUrl="https://..." />to allow connecting to the Liveblocks dev server -
Exclude marking a thread or inbox notification as read from blocking navigation when
preventUnsavedChangesis enabled. -
Portaled elements now respect the
portalContaineroption from@liveblocks/react-ui’sLiveblocksUiConfiginstead of always usingdocument.body. -
Support for selecting the preferred engine when entering new rooms:
enterRoom("my-new-room", { engine: 2 }) -
Add new
.setPresence()method to set ephemeral presence for a user in a room via the REST API, without requiring a WebSocket connection -
Deprecated
tenantIdparameter in client methods, useorganizationIdinstead.
Website
- New blog post: Open sourcing the Liveblocks sync engine and dev server.
Documentation
- New page: Dev server.
- New page: Management API.
- New page: Multi-Factor Authentication.
- New guide: How to set up Continuous Integration (CI) testing.
- New guide: How to set up End-to-End (E2E) testing with Playwright.
- New guide: The new Storage engine and its benefits.
- Updated overview information on Storage.
- Updated overview inforamtion on Yjs.
Dashboard
- The Management API is now available in private beta for Enterprise customers.
- We added Multi-Factor Authentication (MFA) support. Users can now enable MFA in their account pesonal settings for enhanced security.
- New toggle to opt-in to use v2 Storage engine for all new rooms created going forward.
Showcase
- New item: [Develop locally with the dev server)[https://liveblocks.io/showcase/dev-server-tldraw].
Examples
- Add dev server guide to all fully-supported example READMEs.
-
Week 7 v3.13.5
- Replace
y-tiptapwithy-prosemirrorto prevent plugin key conflict, which was causing change source to be incorrectly set in BlockNote.
Documentation
- Add
.mdto the end of any docs page to view a markdown representation of it. - This
.mdis mentioned as analternatelink on each docs page. - Fetching any docs page with a priority
text/markdownheader will return markdown.
Showcase
- New item: Multiplayer table.
- Replace
Week 6 v3.13.4
- Fix an issue where
FloatingComposerwouldn’t auto-focus andFloatingToolbarwould conflict with it.
Examples
- Fixed BlockNote example.
- Updated Nuxt example.
Documentation
- Update Next.js authentication guides to use
.env.local.
- Fix an issue where
Week 5 Documentation
- New quickstart flow, prioritizing products, and use cases.
- New quickstart guides for Notifications in two different categories.
- New quickstart guide for Tldaw.
- New guide: How to notify users about unread custom notifications outside of your app.
- New guide: How to notify users about unread comments outside of your app.
- A number of updated dashboard screenshots.
Dashboard
- New quickstart flow to match the documentation update.
- Get your API key from the quickstart page.
Examples
- Updated all examples to use the latest versions of their major frameworks.
- Updated all packages in all examples.
Week 4 v3.13.3
-
Bump hardcoded client-side socket connection timeout from 10s to 20s.
-
Add more detailed timing info to
enableDebugLoggingto better debug connection issues. -
Fix an issue where
ComposerandAiComposerwould throw an error when mounted/unmounted.
-