• Week 25

    Week 25
    WEEK25

    v2.0.4

    • Improve TS error messages and error locations if custom UserMeta or ActivitiesData types do not match their requirements.

    • Add missing type export for CommentReaction

    • Don’t attempt to write missing initialStorage keys if the current user has no write access to storage. This will no longer throw, but issue a warning message in the console.

    • Add useDeleteThread hook to delete a thread and its associated comments.

    v2.0.3

    • In client.enterRoom(), the options initialPresence and initialStorage are now only mandatory if your custom type requires them to be.

    • In <RoomProvider>, the props initialPresence and initialStorage are now only mandatory if your custom type requires them to be.

    • Nesting <LiveblocksProvider>s will now throw to prevent incorrect usage

    • Prevent the composer from splitting text being composed.

    • Handle parentheses around and within auto links.

    • Count whitespace as empty to prevent posting empty comments.

    • Prevent clearing the composer if it's not handled. (via onComposerSubmit)

    • Add missing type exports

    v2.0.2

    • Add deleteThread method to the client to delete a room's thread.
    • Add the threadDeleted webhook event to notify when a thread is deleted.
    • Fix type signatures of client.identifyUser() and client.prepareSession() to require userInfo if it's mandatory according to your global UserMeta type definition.

    Examples

    Documentation

    Website

    Contributors

    Contributors include:ctnicholasstevenfabrematthewlipskiflowflorentnvie

    5 authors

  • Week 24

    Week 24
    WEEK24

    v2.0.0

    This major release marks the maturity of Liveblocks. It contains new products (@liveblocks/react-lexical) and clarifications (e.g. @liveblocks/react-comments is now called @liveblocks/react-ui). t Also, we bring major DX improvements by allowing you to specify your types globally now. These types will be typed once and shared across all Liveblocks APIs, which includes your Node backend.

    // ❌ Beforeexport const {  suspense: {    RoomProvider,    useRoom,    // etc  },} = createRoomContext<Presence, Storage>(client);
    // ✅ Afterdeclare global { interface Liveblocks { Presence: Presence; Storage: Storage; }}

    In @liveblocks/react, you can now import hooks directly:

    // ❌ Before: get hooks exported from your Liveblocks configimport { RoomProvider, useRoom, ... } from "./liveblocks.config";
    // ✅ After: import hooks directlyimport { RoomProvider, useRoom, ... } from "@liveblocks/react";import { RoomProvider, useRoom, ... } from "@liveblocks/react/suspense";
    // ❌ Beforeconst client = createClient(/* options */);
    // ✅ After<LiveblocksProvider /* options */> <App /></LiveblocksProvider>;

    For full upgrade instructions and codemods, see the 2.0 upgrade guide.

    • Update config generation for Liveblocks 2.0.

    • Add --upgrade flag to automatically update all Liveblocks package to their latest version.

    • DX improvements: type once, globally, benefit everywhere

    • DX improvement: import hooks directly

    • DX improvement: <ClientSideSuspense> no longer needs a function as its children

    • New provider: LiveblocksProvider (replaces the need for createClient)

    • New hook: useClient

    • Tweak useMutation error message to be less confusing.

    • Allow thread and activity metadata types to contain undefined values.

    • Rename from @liveblocks/react-comments.

    • Rename <CommentsConfig /> to <LiveblocksUIConfig />.

    • Improve InboxNotification props types.

    • Initial release.

    • Initial release.

    • LiveblocksProvider is no longer a default export, it’s now import { LiveblocksYjsProvider } from "@liveblocks/yjs".

    • DX improvements: all Node client methods will pick up the same global types you’re using in your frontend

    • Rename RoomInfo to RoomData.

    • The webhook event NotificationEvent’s type can represent multiple kinds of notifications. ("thread", "textMention", and custom ones (e.g. "$myNotification"))

    • Initial release.

    Documentation

    Website

    Examples

    • Added new example: nextjs-lexical
    • Upgraded and adjusted all examples to 2.0

    Infrastructure

    • Webhooks are now available to everyone.

    Dashboard

    • Show Lexical information in rooms that use the new Lexical plugin.

    Contributors

    Contributors include:adigauctnicholasflowflorentguillaumesallesjrownymarcbouchenoirenimeshnayajunvieofoucherotpierrelevaillantstevenfabre

    11 authors

  • Week 21

    Week 21

    Dashboard

    • Added a brand new project analytics page with graphs that gives you better insights into active users, active rooms, comments, notifications, and data stored.
    • Improved the billing and usage view.
    • Moved Webhooks notification throttle interval setting to the project settings page
    • Fixed a number formatting issue by enforcing US number formatting for all locations

    Misc

    • Ongoing internal refactorings to enable simpler setup for @liveblocks/react in the future.

    Contributors

    Contributors include:ofoucherotflowflorentstevenfabreguillaumesallesnvie

    5 authors

  • Week 20

    Week 20
    WEEK20

    Dashboard

    • Liveblocks events are now visible in the dashboard.
      • New "Events" tab within a project.
      • Filter room events by type (e.g. userEntered, userLeft), exact roomId, and exact userId.
      • Select a date range (with available presets).
      • Click on an event to open the event details modal.
      • Navigate between events using the previous/next buttons without leaving the modal.
    • On the room's detail page, click "View room events" at the top right to access the room events.
    • Added a new date picker to the "Overview" and "Events" pages.
    • Improved onboarding.
      • Making sure the default team name isn't too long and can be submitted.
      • Improved form submission performance by only calling the required API endpoints.

    Misc

    • Fixed broken link in one onboarding email.
    • Internal refactorings to enable simpler setup for @liveblocks/react in the future.

    Contributors

    Contributors include:pierrelevaillantofoucherotstevenfabrenvie

    4 authors

  • Week 19

    Week 19
    WEEK19

    Website

    Documentation

    • Completely rewritten API reference for @liveblocks/client.
    • New components for showing arguments, returns, properties.
    • Refreshed banner components.
    • Add webhooks source IP addresses for receiving endpoints behind NAT or firewalls.
    • Fixed a typo in query language rooms guide.

    Dashboard

    • The project quickstart connection status can now be dismissed.
    • Improved copy to clarify the difference between production and development projects.
    • Improved project overview banner copy for when Liveblocks hasn't yet been set up.

    Infrastructure

    • Made batch processing of webhook and other events more efficient at scale.

    Contributors

    Contributors include:ctnicholasstevenfabrepierrelevaillantofoucherotflowflorent

    5 authors

  • v1.12.0
    v1.12.0

    @liveblocks/react

    • Add support for custom notification kinds.
    • Add new useInboxNotificationThread hook to createLiveblocksContext, which can be used to retrieve threads within thread notifications for more flexibility.
    • Add support for startsWith operator to useThreads when filtering based on metadata.

    @liveblocks/react-comments

    • Add support for custom notification kinds to the InboxNotification component via the kinds prop and the InboxNotification.Custom component.
    • Add destructive color tokens. (--lb-destructive, --lb-destructive-foreground, and --lb-destructive-contrast)

    @liveblocks/node

    • Add triggerInboxNotification method that lets you trigger custom notification kinds.
    • Enable filtering rooms by room ID in the getRooms method. This works via query.roomId, metadata is deprecated and is now query.metadata.
    • Add support for our query language when filtering with the getRooms and getThreads methods.
    • Add support for an alternative object-based query notation to the getRooms and getThreads methods, which supports exact matches and the startsWith operator.
  • v1.11.3
    v1.11.3

    @liveblocks/client

    • Fixes a potential RangeError: Maximum call stack size exceeded in applications that produce many operations

    @liveblocks/node

    • Add missing updatedAt property to YDocUpdatedEvent type. (@alexlande)
  • v1.11.2
    v1.11.2

    create-liveblocks-app

    • Add support for the updated Starter Kit.
  • v1.11.1
    v1.11.1

    @liveblocks/react-comments

    • Fix the composer’s placeholder to appear instantly instead of being initially invisible.
    • Fix the default composer’s actions not being disabled when the composer is.

    @liveblocks/node

    • Fix "process is undefined" issue in Vite builds. This issue was already fixed for @liveblocks/core, but not for @liveblocks/node yet.

    DevTools

    • Improve tree view to visualize Y.js documents and inspect Y.js awareness.
  • v1.11.0
    v1.11.0

    @liveblocks/node

    • Add updateRoomId method that lets you update the room ID of the specified room.
    • Add an optional guid parameter to sendYjsBinaryUpdate and getYjsDocumentAsBinaryUpdate to point to a Yjs subdocument with the specified guid.

    @liveblocks/react

    • Add scrollOnLoad option to useThreads: enabled by default, this option controls whether to scroll to a comment on load based on the URL hash.
    • useUser and useRoomInfo no longer support returning nothing. Returning undefined will now be treated as an error.
    • Fix bug where useUser and useRoomInfo returned an extra data superfluous property.
    • Fix bug where customizing types on createLiveblocksContext would conflict with the provided Client.

    @liveblocks/react-comments

    • Add actions to InboxNotification with a single action for now: marking as read.
    • Improve actions hover behavior in Comment/Thread.
    • Change Comment background color when it’s linked to or being edited.
Previous
Next