• DocsDocs
  • PricingPricing
Sign in
Get started
Sign in
Get started
    • Realtime Infrastructure
      • Presence
        Presence

        Online users, cursors, selections

      • Broadcast
        Broadcast

        Temporary event signals

      • Storage
        Storage

        Synced conflict-free data

      • Feeds
        FeedsBeta

        Messages and activity logs

      • Threads
        Threads

        Contextual conversations

    • Collaboration features
      • Multiplayer
        Multiplayer

        Realtime collaboration

      • Comments
        Comments

        Contextual commenting

      • Notifications
        Notifications

        Smart alerts for your app

      • AI Copilots
        AI Copilots

        Individual AI assistants

    • Tools
      • Examples

        Gallery of open source examples

      • Showcase

        Gallery of collaborative experiences

      • Next.js Starter Kit

        Kickstart your Next.js collaborative app

      • DevTools

        Browser extension

      • Tutorial

        Step-by-step interactive tutorial

      • Guides

        How-to guides and tutorial

      • Figma UI Kit

        Liveblocks Collaboration Kit

    • 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
  • Realtime Infrastructure
    • Presence
    • Broadcast
    • Storage
    • FeedsBeta
    • Threads
    Collaborative features
    • Multiplayer
    • Comments
    • Notifications
    • AI Copilots
    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
    • Showcase
    • DevTools
    • React components
    • 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
    © 2026 Liveblocks Inc.
Blog/Updates

What's new in Liveblocks: October 2024

We've released pagination for Comments & Notifications, a way to revalidate user & room data, added further support for attachments, and are now offering new discounts for startups.

on November 5th, 2024
What's new in Liveblocks: October 2024
November 5th, 2024·3 min read
Share article
Product updates

Ready to get started?

Join thousands of companies using Liveblocks to build multiplayer experiences for people and agents.

Get started for free

Related blog posts

  • Agent skills for Liveblocks

    Agent skills for Liveblocks

    Picture of Chris Nicholas
    April 10th
    Updates
  • Python SDK for Liveblocks

    Python SDK for Liveblocks

    Picture of Chris Nicholas
    April 9th
    Updates
  • Chat SDK adapter for Liveblocks

    Chat SDK adapter for Liveblocks

    Picture of Chris Nicholas
    April 8th
    Updates

This October we’ve added much requested features, and offer new discounts.

  • Pagination for threads & notifications - Enabling “Load more” & a quicker start.
  • Revalidate user & room data - Update info, such as avatars, without refreshing.
  • Expanded attachments support - Now part of our dashboard & Figma kit.
  • Discounts for startups & nonprofits - We’ll help you grow your company.

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.8 or below, make sure to follow our upgrade guides before updating.

Pagination for threads & notifications

We’ve added pagination when fetching threads and inbox notifications in React, making it easy to add a “Load more” button when building your application. This is the new default behavior, and can make initial load times quicker, as only 50 threads/notifications are loaded at once.

Threads pagination example

In the code, this change applies to useThreads and useInboxNotifications, and pagination works in the same way for both.

function Threads() {  const {    threads,
// New pagination properties fetchMore, isFetchingMore, hasFetchedAll, } = useThreads();
return ( <div> {threads.map((thread) => ( <Thread key={thread.id} thread={thread} /> ))}
{hasFetchedAll ? ( <div>🎉 You're all caught up!</div> ) : ( <button disabled={isFetchingMore} onClick={fetchMore}> Load more </button> )} </div> );}

To learn more and upgrade your app, make sure to read our pagination upgrade guide.

Revalidate user & room data

In our React components, it’s now possible to revalidate user, mention, and room data without refreshing this page. This is helpful in a number of ways—for example if a user changes their avatar, you can tell Liveblocks to revalidate its user cache, and you’ll see the new avatar in Comments.

function SubmitAvatar() {  const client = useClient();
function handleClick() { __updateUserAvatar__();
// Refresh user cache and get new avatar client.resolvers.invalidateUsers(); }
return <button onClick={handleClick}>Submit avatar</button>;}

We’ve introduced three new functions for this, allowing you to:

  • Refresh user info, e.g. names and avatars in comments.
  • Refresh room info, e.g. room names and URLs in notifications.
  • Refresh mention suggestions, e.g. the list when typing @ in a comment.
// Refreshing user infoclient.resolvers.invalidateUsers(); // All usersclient.resolvers.invalidateUsers(["user-0", "user-1"]);
// Refreshing room infoclient.resolvers.invalidateRoomsInfo(); // All roomsclient.resolvers.invalidateRoomsInfo(["room-0", "room-1"]);
// Refreshing all mention suggestionsclient.resolvers.invalidateMentionSuggestions();

When using React, you can retrieve client with useClient. Learn more under resolver methods in our docs.

Expanded attachments support

Recently we introduced attachments for Comments, allowing you to upload media and files to individual comments. We’ve expanded support for this into other parts of our product, for example you can now see attachments in the dashboard and in our Figma collaboration kit

Attachments in the Figma kit

Discounts for startups & nonprofits

We now offer pre-negotiated discounts for startups and nonprofits, helping you to build and grow your company.

Apply for discounts

Apply and learn more on our new startups page.

Upgrade

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.8 or below, make sure to follow our upgrade guides before updating.

Contributors

Contributors include:marcbouchenoiresugardariuspierrelevaillantnvienimeshnayajuofoucherotstevenfabrekaf-lamed-beytctnicholas

9 authors