We’ve introduced first-party support for BlockNote text editor, new APIs for mutating realtime Storage and rooms on the server, new configuration options for external user notifications, and we’re now SOC2 Type 2 and HIPAA compliant.
It’s now easier than ever to add a collaborative block-based text editor to your
app, filled with features out-of-the-box. Liveblocks BlockNote is our new
fully-hosted customizable editor, which integrates into our existing products,
such as Comments and Notifications.
Our Sync Datastore product provides you with two sync
engines that enable storing real-time document state, ideal for building
collaborative apps. One of these engines is called Storage, and is particularly
well suited for creating custom tools similar to Figma, Pitch, and Spline.
This is particularly exciting in the AI era, as you can request AI to make
changes to your document for your user. Below is how you may implement this with
Vercel AI SDK,
generating a title from an article’s content.
await liveblocks.mutateStorage("my-room-id", async({ root })=>{const article = root.get("article"); const{ text }=awaitgenerateText({ model: yourModel, prompt:`Generate a title for the following article: ${article}`,}); root.set("title", text);});
We’ve also added another method, that allows you to modify Storage in multiple
rooms at once. This is particularly useful for migrating rooms to a new schema,
or for resetting a number of rooms at once. Below we’re setting a default title
property in every room.
Liveblocks Notifications already allows you to create an in-app notifications
inbox inside your product. When users miss any in-app notifications, Liveblocks
enables sending notifications on alternate channels, such as email, Slack,
Microsoft Teams, Web Push.
As of this month, we’ve introduced new configuration options that enable
building notification settings panels, allowing each of your end users to
individually choose which channels they should receive notifications on.
We’ve added a number of new methods to the Liveblocks Node.js SDK, simplifying
regular use cases. For example,
getOrCreateRoom
combines getRoom and createRoom into a single method.
// Gets a room, or creates it if it doesn't existconst room =await liveblocks.getOrCreateRoom("my-room-id",{ defaultAccesses:["room:write"],});
Learn more about each new method in our API reference:
At Liveblocks, security and privacy have always been top priorities. We
understand that as companies integrate collaboration and AI-powered features
into their products, they need to trust that their data remains secure and
compliant with industry standards. In March, we announced that Liveblocks is now
SOC 2 Type 2 and HIPAA compliant, reinforcing our commitment in this area.
Allow passing optional AbortSignal to all Node.js methods.
Updated method
deleteRoom to no
longer throw when the room already does not exist.
Improve mentions behavior around whitespace, fixing a regression introduced in
v2.18.3 when we added support for whitespace within mentions.
Prevent mention suggestions from scrolling instead of flipping when there's
enough space on the other side (e.g. moving from top to bottom).
Improve event propagation in the formatting toolbar of Composer.
Add optional useRoom({ allowOutsideRoom: true }) option. When this option is
set, the hook will return null when used outside of a room, whereas the
default behavior of the hook is be to throw.
Implement a proxy factory for UserNotificationSettings object to return
null to prevent any errors when accessing a disabled notification channel.
Ship all Liveblocks packages as ESM by default (but CJS builds are still
included).