This year we've been busy adding features that make collaboration smoother, introduced some cool AI tools, and made our pricing way more fair for everyone.
Thread subscriptions: Now users can follow conversations even if they haven't commented yet.
AI development helper: Our new MCP server lets you use AI to build faster.
Better billing: First-time visitors don't count toward your monthly user limit anymore.
Upgrade now
Want to try out these new features? Just run this command to get the latest version:
npx create-liveblocks-app@latest --upgrade
If you're still on version 2.23 or older, make sure you check our upgrade guides first before updating.
Subscribe to threads
Here's something users have been asking for - you can now follow threads without having to comment in them first. When someone adds a new comment to a thread you're subscribed to, you'll get notified in your inbox.
It works both ways too. If you're getting too many notifications from a thread you commented in, you can easily unsubscribe. You'll see the new subscribe/unsubscribe option right in the thread menu and in your notifications.
Corresponding hooks
We've also added some new hooks so you can build this functionality into your own components. Here's how you can add a subscribe button:
import { useSubscribeToThread } from "@liveblocks/react/suspense";
function SubscribeButton({ threadId }) {
const subscribeToThread = useSubscribeToThread();
return (
<button onClick={() => subscribeToThread(threadId)}>
🔔 Subscribe to thread
</button>
);
}
We've also made the existing hooks simpler to use. Check out this updated example:
import { useThreadSubscription } from "@liveblocks/react/suspense";
function SubscribeButton({ threadId }) {
const { status, subscribe, unsubscribe } = useThreadSubscription(threadId);
if (status === "subscribed") {
return <button onClick={unsubscribe}>🔕 Unsubscribe</button>;
}
return <button onClick={subscribe}>🔔 Subscribe</button>;
}
Updated API names
We've renamed some things to make them clearer. Anything that used to be called roomNotifications
is now called roomSubscriptions
- it just makes more sense. You can find all the details in our upgrade guide.
MCP server
This one's pretty exciting. We built an MCP server that lets you chat with AI tools like Cursor and Claude while you're building your app. The AI can actually help you create rooms, write comments, send notifications, read your real-time data - basically 39 different things.
Setting it up is super easy - just one command. Check out our MCP server documentation to get started.
Fairer billing with first day free
We've completely changed how we count users, and it's going to save you money. Now you only pay for people who come back after their first visit. So if someone just checks out your app once and never returns, they won't count toward your monthly active users.
This makes it way easier to predict your costs as you grow, especially if you get a lot of one-time visitors.
First day free
Want to know more about how this works? We wrote a whole blog post explaining the new fairer billing system.
Minor improvements
Here are some other things we've improved this month:
When you fetch threads, you now also get subscription info with them
Added support for text mentions in room subscription settings
New command to manually close the AI toolbar in Tiptap
Webhook events now include a
triggeredAt
timestampEmail notifications won't show duplicate comments anymore
Better event handling for the comment composer and emoji picker
Inbox notifications for mentions now automatically link to the right room
You can now choose where emoji data comes from (different CDN, self-hosted, etc.)
We also fixed a bunch of bugs:
Occasional sync issues with Yjs and text editors
App crashes when closing BlockNote
BlockNote options not being passed through correctly
Name capitalization in reaction tooltips
Focus problems with AI toolbar in Safari
Focus problems with floating toolbar in Safari
Runtime errors in older browsers
Storage corruption issues with mutations
Dependency conflicts
Thread rendering issues when editor view is null
Upgrade
Ready to try all this new stuff? Update your packages with:
npx create-liveblocks-app@latest --upgrade