Week 50 v2.14.0
- Add new functions
prepareTextMentionNotificationEmailAsHtmlandprepareTextMentionNotificationEmailAsReactto support text mention notification event for Lexical and Tiptap text editors and prepare data into email-ready formats.
v2.13.2
-
Fix report text editor function's call. Now we wait for the room's status to be
connectedto report the text editor instead of reporting directly after room creation / loading. -
Fix report text editor function's call. Now we wait for the room's status to be
connectedto report the text editor instead of reporting directly after room creation / loading.
Examples
- New example: Text Editor Emails (Tiptap).
- New example: Text Editor Emails (Lexical).
Documentation
- New guide: How to send email notifications for unread text editor mentions.
- Improved thread metadata page.
Website
- New blog post: What's new in Liveblocks: November 2024.
- Revamped the Liveblocks blog:
- Added the ability to switch between categories to find relevant posts.
- Added the ability to search posts and filter results using tags.
- Updated the layout with a table of contents, writer information, and featured posts.
- Add new functions
Week 49 v2.13.1
- Improve the spacing consequences of
--lb-line-height(introduced in 2.13.0) in some contexts.
Dashboard
- Multiple Tiptap editors are now supported in a room's Text Editor view.
Documentation
- Improved custom composer behavior code example.
- Improve the spacing consequences of
Week 48 v2.13.0
- Add a formatting toolbar to
Composerwhich appears when selecting text. It’s enabled by default in the default components and can also be custom built with new primitives (Composer.FloatingToolbarandComposer.MarkToggle) and new APIs (const { marks, toggleMark } = useComposer()). - Add new
--lb-line-heighttoken to control the line height of main elements (e.g. comment bodies in comments and composers). - Remove
Timestampexport mistakenly added to@liveblocks/react-ui, it should be imported from@liveblocks/react-ui/primitivesinstead.
Website
- New blog post: Easy collaborative text editing with Liveblocks Tiptap.
Examples
- New example: Novel AI editor.
Documentation
- Info on using multiple Tiptap editors.
- Info on offline support for Tiptap.
- Removed
betawarnings from Tiptap docs. - Improved
resolveUsersandresolveRoomsInfodocs. - Fix custom composer behavior code snippet.
- Add a formatting toolbar to
Week 47 v2.12.2
-
Add new options for
useLiveblocksExtensionto allow setting initial content, experimental offline support, and the field name. -
Update floating composer to support
onComposerSubmithandler and closing the composer with the escape key. -
Add support for Zustand v5.
v2.12.1
- Prevent unsupported attachment previews from loading infinitely.
- Refactored
ThreadandCommentcomponent to be used outside of theRoomProvidercomponent.
Documentation
- Better info on default permissions with access tokens.
- Updated API reference for
useLiveblocksExtension.
Examples
- Added offline support for Tiptap text documents in the Next.js Starter Kit.
-
Week 46 v2.12.0
This release adds support for tracking synchronization status of pending local changes for any part of Liveblocks. Whether you use Storage, Text Editors, Threads, or Notifications. If the client’s sync status is
synchronized, it means all local pending changes have been persisted by our servers. If there are pending local changes in any part of Liveblocks you’re using, then the client’s sync status will besynchronizing.Also, we’re introducing a way to prevent browser tabs from being closed while local changes are not yet synchronized. To opt-in to this protection, enable
preventUnsavedChangesoption on the client:-
In React:
<LiveblocksProvider preventUnsavedChanges /> -
Otherwise:
createClient({ preventUnsavedChanges: true }) -
Add new API
client.getSyncStatus()method. -
Add new client config option:
preventUnsavedChanges. -
Expose
ToImmutable<T>helper type. -
Add new hook
useSyncStatusthat can be used to tell whether Liveblocks is synchronizing local changes to the server. Useful to display a "Saving..." spinner in your application, when used withuseSyncStatus({ smooth: true }). -
Add new
LiveblocksProviderprop:preventUnsavedChanges. -
Deprecated APIs:
useStorageStatusis now deprecated in favor ofuseSyncStatus.
-
Take composers into account when the new
preventUnsavedChangesoption is set. -
Add new hook
useIsEditorReadywhich can be used to show a skeleton UI before the editor has received the initial text from the server. -
Deprecated APIs:
useEditorStatusis now deprecated in favor ofuseIsEditorReady(oruseSyncStatus).
Examples
- Added new canvas document type to Next.js Starter Kit, powered by tldraw.
- Added loading
useStatusSyncloading spinners to Linear-like Issue Tracker and Notion-like AI editor. - Added
useIsEditorReadyto Lexical examples.
Dashboard
- Redirect users to a specific error page on authentication failure.
-
Week 45 v2.11.0
-
Upgrade dependencies.
-
Fix minor appearance issues related to attachments.
-
Fix pasting issues introduced in 2.10.0.
-
Fix regression with
useThreadsthat caused the hook to return an error if its associated room did not exist. -
Initial release.
-
Initial release.
Documentation
@liveblocks/react-tiptapAPI reference.- New Tiptap overview page.
- Restructured getting started, adding new guides for using
@liveblocks/react-tiptapon Next.js and React. @liveblocks/emailsAPI reference.- Updated guide on sending emails when comments are created.
- Updated email notifications overview.
Examples
- New Next.js Comments + Resend example.
- New Next.js Comments + SendGrid example.
- Updated Next.js Starter Kit to use
@liveblocks/react-tiptap. - Updated
Next.js advanced Tiptap text editor example
to use
@liveblocks/react-tiptap. - Updated
Next.js Tiptap text editor example
to use
@liveblocks/react-tiptap.
-
Week 44 v2.10.2
-
Internal refactorings and code cleanup across various parts of the client's inner workings.
-
Implement automatic retry for initial load of inbox notifications, user threads, room threads, room versions, or room notification settings—except when encountering a 4xx error.
-
Background tabs will no longer poll threads, notification, room versions or room notification settings.
-
Fix incorrect suspense export for
useRoomNotificationSettingshook. -
Support for React 19 and Next.js 15.
-
Support for React 19 and Next.js 15.
-
Support for React 19 and Next.js 15.
Dashboard
- Icons indicating which rooms are public/private on room listing and detail pages.
- New warning message if all your rooms are publicly accessible.
Documentation
- Improved clarity on Notifications being project-based.
- Typo fixes.
-
Week 43 v2.10.0
-
Add new resolver methods under
client.resolvers.*to invalidate the cache ofresolveUsers,resolveRoomsInfo, andresolveMentionSuggestions. -
When subscribing to Storage update events using
room.subscribe(root, ..., { isDeep: true }), all LiveList deletion updates will now also include the item that was deleted. -
Improve and fix pasting rich text into the composer.
-
Improve mention suggestions click behavior.
Dashboard
- Removed
Show deleted threadscheckbox from the room detailCommentstab to ensure consistent behavior across dashboard and APIs.
Documentation
- Prevent truncated API keys being copied in code snippets.
- Typo fixes.
-
Week 42 v2.9.1
-
Fix regression with metadata filtering on explicitly-
undefinedvalues. -
Fix bug where client wasn't always using the newest delta update backend endpoint yet.
-
Fix type definition of
ThreadData:updatedAtis always set. -
When
Composeris disabled, its actions are now also disabled as expected. -
Various event propagation improvements in
Composer.
v2.9.0
We are introducing pagination support to allow apps using threads and inbox notifications to be built in a more user-friendly way, where the initial load is faster and more data can be fetched incrementally as users interact with the app.
-
Add pagination support to
useInboxNotifications. -
Add pagination support to
useThreadsanduseUserThreads_experimental.
Website
- New startups page highlighting discounts for startups and nonprofits.
-
Week 40 v2.8.2
- Send client version in HTTP request headers from the client, to ensure backward compatible responses from the server
v2.8.1
- Expose
onComposerSubmitonThreadto react to the inner composer of a thread.
Website
- Refresh pricing page design
Dashboard
- Add attachments support to the comments view on the room detail page
Figma Kit
- Add comments attachments to the Liveblocks Collaboration Kit in Figma