• DocsDocs
  • PricingPricing
Book a demo
Sign in
Sign in
Book a demo
    • Ready-made features
      • AI Copilots
        AI Copilots

        In-app AI agents that feel human

      • Comments
        Comments

        Contextual commenting

      • Multiplayer Editing
        Multiplayer Editing

        Realtime collaboration

      • Notifications
        Notifications

        Smart alerts for your app

      • Presence
        Presence

        Realtime presence indicators

    • Platform
      • Monitoring Dashboard
        Monitoring Dashboard

        Monitor your product

      • Realtime Infrastructure
        Realtime Infrastructure

        Hosted WebSocket infrastructure

    • Tools
      • Examples

        Gallery of open source examples

      • Next.js Starter Kit

        Kickstart your Next.js collaborative app

      • DevTools

        Browser extension for debugging

      • Tutorial

        Step-by-step interactive tutorial

      • Guides

        How-to guides and tutorial

    • Company
      • Blog

        The latest from Liveblocks

      • Customers

        The teams Liveblocks empowers

      • Changelog

        Weekly product updates

      • Security

        Our approach to security

      • About

        The story and team behind Liveblocks

  • Docs
  • Pricing
  • Ready-made features
    • AI Copilots
    • Comments
    • Multiplayer Editing
    • Notifications
    • Presence
    Platform
    • Monitoring Dashboard
    • Realtime Infrastructure
    Solutions
    • People platforms
    • Sales tools
    • Startups
    Use cases
    • Multiplayer forms
    • Multiplayer text editor
    • Multiplayer creative tools
    • Multiplayer whiteboard
    • Comments
    • Sharing and permissions
    • Document browsing
  • Resources
    • Documentation
    • Examples
    • React components
    • DevTools
    • Next.js Starter Kit
    • Tutorial
    • Guides
    • Release notes
    Technologies
    • Next.js
    • React
    • JavaScript
    • Redux
    • Zustand
    • Yjs
    • Tiptap
    • BlockNote
    • Slate
    • Lexical
    • Quill
    • Monaco
    • CodeMirror
  • Company
    • Pricing
    • Blog
    • Customers
    • Changelog
    • About
    • Contact us
    • Careers
    • Terms of service
    • Privacy policy
    • DPA
    • Security
    • Trust center
    • Subprocessors
  • HomepageSystem status
    • Github
    • Discord
    • X
    • LinkedIn
    • YouTube
    © 2025 Liveblocks Inc.
Blog/Updates

What’s new in Liveblocks: February 2025

We’ve introduced APIs for end users to configure their notifications, server-side text editing for Tiptap, improved Yjs & WebSocket stability, and written lots of new content.

on March 13th
What’s new in Liveblocks: February 2025
March 13th·6 min read
Share article

This February we’ve released new APIs for notifications, text editing, and stability.

  • User notification settings: Allow end users to configure their notifications.
  • Modify Tiptap from the server - Read & edit text documents from Node.js.
  • Various API improvements - Providing better stability to Yjs and WebSockets.
  • New content from our engineers - Valuable blog posts from our experts.

Upgrade now

To use the latest features, update your packages with the following command.

$npx create-liveblocks-app@latest --upgrade

If you were previously on Liveblocks 2.15 or below, make sure to follow our upgrade guides before updating.

User notification settings

When using Liveblocks Notifications, your end users can now individually configure which notifications should be sent outside your application, and on which channel, for example via email, Slack, Microsoft Teams, and Web Push. We’ve also released new React hooks that make it easy to create a user notifications panel in your application.

Notification settings example in an application

Users will be able to choose which notifications to receive, and on which channel—for example, one user may wish to receive new comment notifications via email, but not via Slack. This works by changing which webhook events are sent by which user, allowing you to handle each separately. Both custom and Liveblocks notifications are supported.

Dashboard

We’ve also created a new dashboard page that allows you to configure notifications webhooks for your users, including setting a default value.

Learn more in our blog post

To learn more, and to find our new examples and guides, make sure to read our focused blog post: Configure each user’s notification settings for email, Slack, and more.

Liveblocks Emails blog post

Modify Tiptap from the server

You can now edit your Tiptap, ProseMirror, and BlockNote state from the server. Our latest text editor package has methods for initializing content, fetching state, and more. For example, here’s how to insert a line of text into a document.

import { Liveblocks } from "@liveblocks/node";import { withProsemirrorDocument } from "@liveblocks/node-prosemirror";
const liveblocks = new Liveblocks({ secret: "sk_prod_xxxxxxxxxxxxxxxxxxxxxxxx",});
await withProsemirrorDocument( { roomId: "your-room-id", client: liveblocks }, async (api) => { await api.update((doc, tr) => { return tr.insertText("Hello world"); }); });

You may notice that this package is called @liveblocks/prosemirror, but can be used for Tiptap and BlockNote. This is because these editors extend ProseMirror, and in terms of APIs, a ProseMirror extension makes the most sense for server-side editing.

Here’s another snippet, showing how to fetch your editor content as markdown.

const markdown = await withProsemirrorDocument(  { roomId: "my-room-id", client: liveblocks },  async (api) => {    return api.toMarkdown();  });
// # Hello world//// _This_ is a **paragraph**console.log(markdown);

Make sure to read our @liveblocks/node-prosemirror to learn more. We’ve also spent time improving our @liveblocks/node-lexical documentation, if you’d like to edit your Lexical documents from the server instead.

Which text editor framework?

If you’re curious about different text editor frameworks, we’ve written a new guide that compares the features of a number of editors, highlighting the important parts. Read it now— Which rich text editor framework should you choose in 2025?

Various API improvements

We’ve made some API improvements recently, solving a couple of tricky bugs.

Improved Yjs integration

In some applications, Yjs documents would desynchronize at times, particularly when dynamically switching between rooms. We’ve added a new function that solves these issues, cleaning up Yjs correctly on page transitions. We now recommend using this method to connect to our Yjs server in all frameworks.

import { getYjsProviderForRoom } from "@liveblocks/yjs";
// Recommended way to set up Yjsconst yProvider = getYjsProviderForRoom(client, room);const yDoc = provider.doc;

If you’ve been having any problems with Yjs, we recommend you upgrade and start using getYjsProviderForRoom now. You can learn more in the Setup section of our API reference.

Handling large WebSocket messages

Internally, Liveblocks uses WebSockets, and there’s always been a technical limit on how large WebSocket messages can be, which meant especially large updates were not synced correctly. We’ve had an experimental feature for a while that will send large messages over HTTP, but we now have another more reliable option.

The new strategy is called split, and it’ll split large messages into smaller chunks. We’ve added a new largeMessageStrategy option to LiveblocksProvider and createClient that can enable this feature.

// Configure how to handle large messages<LiveblocksProvider  largeMessageStrategy="split"  // .../>

New content from our engineers

We’ve been putting a lot of effort into the Liveblocks blog recently, working on writing valuable content for you, straight from our engineers.

In February, we released three of these posts, alongside our regular updates:

  • Which rich text editor framework should you choose in 2025?
  • Why collaborative features will define your product’s success
  • How to build an engaging in-app commenting experience

Stay tuned—we have lots more to come!

Minor improvements

Here’s a list of other improvements in our changelog this month:

  • Fixed HTML escaping in email notification utilities.
  • Added better error logging to help with debugging.
  • Improved handling of user thread data.
  • Allowed more flexible character usage when creating mentions in comment composers.
  • Fixed several small bugs in React UI components.
  • Added llms.txt and llms-full.txt files to our website to help AI tools better understand our product.
  • Improved infrastructure for more efficient storage in the future.

Upgrade

To use these latest features, update your packages with:

$npx create-liveblocks-app@latest --upgrade

Contributors

Contributors include:ctnicholaspierrelevaillantflowflorentsugardariusjrownymarcbouchenoirenviehuy-coverudi-cadam-subframe

10 authors

Product updatesNotificationsAI

Ready to get started?

Join thousands of companies using Liveblocks ready‑made collaborative features to drive growth in their products.

Book a demo

Related blog posts

  • What's new in Liveblocks: August 2025

    What's new in Liveblocks: August 2025

    Picture of Chris Nicholas
    September 17th
    Updates
  • What’s new in Liveblocks: July 2025

    What’s new in Liveblocks: July 2025

    Picture of Chris Nicholas
    August 5th
    Updates
  • What’s new in Liveblocks: June 2025

    What’s new in Liveblocks: June 2025

    Picture of Chris Nicholas
    July 15th
    Updates