2.15.2
-
Fix
useLayoutEffect
warnings when using React versions lower than 18.3.0 and SSR. -
Fix memory leak in some hooks.
-
Fix bug where querying metadata with
useThreads()
would not always reuse the cache correctly.
Website
- New blog post: What’s new in Liveblocks: December 2024.
-
2.15.1
- Fix rollup config to always ensure
"use client"
directives are on top of files after build.
- Fix rollup config to always ensure
v2.15.0
-
Breaking: Drop support for React 17 (and 16). If you’re unable to upgrade React to 18 or higher, you can still continue to use Liveblocks 2.14.0, which is the last version to support React versions lower than 18.
-
The published target for all Liveblocks packages is now ES2022 (up from ES2020). This should have a positive impact on your bundle size[*].
-
Various internal refactorings and code cleanup.
[*] If you bundle for the browser, this should not be a problem, as all major browsers support ES2022. If however you're specifically targeting very old browsers (mostly IE), then you may need to configure your bundler (Webpack, rollup, esbuild, etc) to also down-compile code from dependencies inside
node_modules
for you, if you aren't already.Website
- New blog post: A better way to email your users about unread content.
Examples
- Adjusted email templates to allow switching the logo more easily.
- Next.js Starter Kit improvements:
- Renaming a document updates it immediately for everyone else.
- Clicking outside of the rename input saves the new name.
- Added tldraw's dark mode.
- Added option to filter for canvas in the room listing.
- Upgraded Liveblocks.
- Fixed a z-index problem and added a hover style.
Documentation
- Upgrade guide for 2.15.
- Added links to email templates in guides and API reference.
-
v2.14.0
- Add new functions
prepareTextMentionNotificationEmailAsHtml
andprepareTextMentionNotificationEmailAsReact
to 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
connected
to 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
connected
to 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
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
v2.13.0
- Add a formatting toolbar to
Composer
which appears when selecting text. It’s enabled by default in the default components and can also be custom built with new primitives (Composer.FloatingToolbar
andComposer.MarkToggle
) and new APIs (const { marks, toggleMark } = useComposer()
). - Add new
--lb-line-height
token to control the line height of main elements (e.g. comment bodies in comments and composers). - Remove
Timestamp
export mistakenly added to@liveblocks/react-ui
, it should be imported from@liveblocks/react-ui/primitives
instead.
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
beta
warnings from Tiptap docs. - Improved
resolveUsers
andresolveRoomsInfo
docs. - Fix custom composer behavior code snippet.
- Add a formatting toolbar to
v2.12.2
-
Add new options for
useLiveblocksExtension
to allow setting initial content, experimental offline support, and the field name. -
Update floating composer to support
onComposerSubmit
handler and closing the composer with the escape key. -
Add support for Zustand v5.
v2.12.1
- Prevent unsupported attachment previews from loading infinitely.
- Refactored
Thread
andComment
component to be used outside of theRoomProvider
component.
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.
-
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
preventUnsavedChanges
option 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
useSyncStatus
that 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
LiveblocksProvider
prop:preventUnsavedChanges
. -
Deprecated APIs:
useStorageStatus
is now deprecated in favor ofuseSyncStatus
.
-
Take composers into account when the new
preventUnsavedChanges
option is set. -
Add new hook
useIsEditorReady
which can be used to show a skeleton UI before the editor has received the initial text from the server. -
Deprecated APIs:
useEditorStatus
is now deprecated in favor ofuseIsEditorReady
(oruseSyncStatus
).
Examples
- Added new canvas document type to Next.js Starter Kit, powered by tldraw.
- Added loading
useStatusSync
loading spinners to Linear-like Issue Tracker and Notion-like AI editor. - Added
useIsEditorReady
to Lexical examples.
Dashboard
- Redirect users to a specific error page on authentication failure.
-
v2.11.0
-
Upgrade dependencies.
-
Fix minor appearance issues related to attachments.
-
Fix pasting issues introduced in 2.10.0.
-
Fix regression with
useThreads
that caused the hook to return an error if its associated room did not exist. -
Initial release.
-
Initial release.
Documentation
@liveblocks/react-tiptap
API reference.- New Tiptap overview page.
- Restructured getting started, adding new guides for using
@liveblocks/react-tiptap
on Next.js and React. @liveblocks/emails
API 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
.
-
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
useRoomNotificationSettings
hook. -
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.
-