Week 25 v3.20.0
-
Add support for new resource-specific permissions. You can now start from a
*:reador*:writebase, then grant or deny access per resource (storage, comments, feeds) using new permission strings likestorage:noneorcomments:read. -
Deprecate
session.FULL_ACCESSandsession.READ_ACCESSin favor of["*:write"]and["*:read"]respectively. -
Deprecate
room.getStorageSnapshot()in favor ofroom.getStorageOrNull().
Examples
- New example: AI Spreadsheet.
- New example: Realtime AI Elements Chats.
- Added “?” button to various examples, featuring a pop-up that explains how to use them.
-
Week 24 v3.19.5
- Fix a
LiveListdivergence after reconnects: a pendingpushcould under specific timing conditions during a reconnect still cause a divergence between clients, despite the fix from 3.19.4.
Liveblocks dev server (v1.6.1)
- Fix a
LiveListdivergence after reconnects: when a client re-sends a pendingpushop whose node the server had already stored (the original ack got lost in the disconnect)
- Fix a
Week 23 v3.19.4
- Fix
LiveList.push()so concurrent pushes from multiple clients no longer settle out of order. - Fix a bug where a
LiveObjectkey deleted while a client was offline would reappear on reconnect, preventing the two clients from reconverging. - Fix a bug where reconnecting would emit too many update notifications for
LiveObjectkeys whose values had not actually changed. - Fix a bug where deleting a nested live value from a
LiveObjectomitted the removed value (deletedItem) from the change notification.
Examples
- New example: Collaborative SuperDoc editor.
Documentation
- New guide: Get started with SuperDoc and Next.js.
- New guide: Get started with SuperDoc and JavaScript.
- New guide: Get started with SuperDoc and React.
- New guide: Get started with SuperDoc and Svelte.
- New guide: Get started with SuperDoc and Vue.js.
- Updated get started guides for Liveblocks Storage, featuring more hook examples.
Website
- New blog post: How humans and AI will work together in the next generation of apps.
- New blog post: What's new in Liveblocks: May 2026.
Liveblocks dev server (v1.6.0)
- Update internal storage format of dev server. Note that your local dev rooms are not automatically migrated and will appear as empty rooms after the upgrade.
- Fix
Week 22 Documentation
- New guide: Get started with AI Presence.
- New guide: Get started with AI agents in React Flow.
- New guide: Get started with AI agent notifications.
- Updated Notifications get started guide to use secret key.
Showcase
- New item: AI slideshow editor.
- New item: AI replies in comment threads.
- New item: Multiplayer AI comment feeds.
- New item: AI generates slides with presence.
- New item: AI suggestions dropdown.
- New item: Conflict-free multiplayer editing.
- New item: AI comments bot with Chat SDK.
- New item: One AI bot for Slack and comments.
- New item: AI and humans editing together.
- New item: Multiplayer sync for custom UIs.
- New item: Agents work simultaneously.
- New item: Multiplayer React Flow at 60fps.
- New item: AI builds a flowchart with presence.
- New item: React Flow comment pins.
- New item: Multiplayer undo in React Flow.
- New item: Handsontable realtime editing.
- New item: AI presence highlighting changes.
- New item: AI comments like Linear.
- New item: Inline AI comments.
- New item: Liveblocks n8n nodes.
- New item: Mention notifications inbox.
- New item: AG Grid comment pins.
Liveblocks dev server (v1.5.0)
- Add
--random-port(-P) flag toliveblocks dev: bind a random free port instead of an explicit port number. With--cmd(-c), the chosen port is exposed to the command viaLIVEBLOCKS_DEV_SERVER_PORT. Ideal for CI (no port collisions ever). - Fix
LiveList.push()so concurrent pushes from multiple clients no longer settle out of order.
Week 21 v3.19.3
- Fix unexpected disconnects that could happen while receiving large or long-running streaming responses from the server (e.g. when loading a large initial storage state).
v3.19.2
- Fix: clients that have
backgroundKeepAliveTimeoutenabled will no longer disconnect before any pending Yjs updates have been synced to the server.
Examples
- Added AI comments, buttons, and presence to Linear-like Issue Tracker. It can read and edit issue content and properties.
- Added AI comment pins to Collaborative Flowchart AI. It can read and edit flow state.
- Added AI comments to AI Dashboard Reports. It can answer questions on the app's data.
- Added markdown AI replies to AI Comments and improved how the final comment is shown.
Liveblocks backend
- Storage chunking has been improved for slightly faster initial load times.
Documentation
- All get started guides now have a "Copy prompt" button for use in Cursor, Claude Code, more.
- New guide: Get started with AI replies in Comments using Liveblocks and Next.js.
Website
- New AI button and prompt on liveblocks.io homepage, allowing you to get started with one click.
Week 20 v3.19.1
- Update providers to support newer models up to GPT-5.5 variants, Sonnet 4.6, Opus 4.7, and Gemini 3/3.1 variants.
Infrastructure
- We have fully completed the internal migration of all rooms to our new v2 realtime data storage engine! Learn about the benefits.
Documentation
- New integrations section, featuring info on how to integrate Liveblocks into a number of new products.
- Integrations pages include Bolt, Claude, Codex, Cursor, Lovable, Neon, PlanetScale, Reply, Supabase, v0.
- Updated old guides and pages related to n8n, PlanetScale, Supabase.
- New copy page dropdown for copying markdown into various AI tools.
- Get started markdown homepage for AI.
- New breadcrumb UI on docs pages.
Examples
- Add AI features to Linear-like Issue Tracker example. Tag AI in comments and it can edit the document, links, properties, and show AI presence as it makes changes.
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.
-