• Week 22

    Week 22
    WEEK22
    • Fix an issue with subpath imports (e.g. @liveblocks/react/suspense) and CommonJS which could happen with certain bundlers.

    Contributors

    Contributors include:marcbouchenoire

    1 authors

  • Week 19

    Week 19
    WEEK19
    • Disable or hide actions in Thread and Comment components for users without permission to perform them, such as adding reactions or (un)resolving threads.

    Contributors

    Contributors include:marcbouchenoire

    1 authors

  • Week 18

    Week 18
    WEEK18

    v2.24.1

    • Fix for occasional desync issue.

    v2.24.0

    We are introducing thread subscriptions to add more granularity to thread notifications, allowing users to subscribe to threads without participating or unsubscribing from specific ones.

    We are also using this opportunity to rename some of the concepts around notifications and notification settings to improve clarity. None of these changes are breaking but you can learn more about them, their rationale, and how to automatically apply them with a codemod in our Upgrade Guide for 2.24.

    • Add "Subscribe to thread" and "Unsubscribe from thread" actions to Thread and thread InboxNotification out of the box.

    • Add useSubscribeToThread and useUnsubscribeFromThread hooks.

    • Add subscribe and unsubscribe methods to the existing useThreadSubscription hook.

    • Add support for textMentions in room subscription settings.

    • Rename useRoomNotificationSettings and useUpdateRoomNotificationSettings to useRoomSubscriptionSettings and useUpdateRoomSubscriptionSettings.

    • Add subscribeToThread, unsubscribeFromThread, getThreadSubscriptions and getUserRoomSubscriptionSettings methods.

    • Add support for textMentions in room subscription settings.

    • Rename getRoomNotificationSettings, updateRoomNotificationSettings, and deleteRoomNotificationSettings to getRoomSubscriptionSettings, updateRoomSubscriptionSettings, and deleteRoomSubscriptionSettings.

    • Add Room.subscribeToThread and Room.unsubscribeFromThread methods.

    • Methods which return threads and their associated inbox notifications now also return the thread’s associated subscriptions.

    • Add support for textMentions in room subscription settings.

    • Rename Room.getNotificationSettings and Room.updateNotificationSettings to Room.getSubscriptionSettings and Room.updateSubscriptionSettings.

    MCP server

    • New MCP server has been created for Liveblocks.
    • Create and modify rooms, threads, comments, notifications, more.
    • Read realtime Storage and Yjs values.
    • Broadcast custom events to connected clients.
    • Mark threads and notifications as read/unread.

    Documentation

    Website

    • New trust center has been created, and links added to our website.

    Contributors

    Contributors include:ctnicholasmarcbouchenoireofoucherotflowflorent

    4 authors

  • Week 17

    Week 17
    WEEK17

    v2.23.2

    • Add closeAi Tiptap command to manually close the AI toolbar.

    • Fix AiToolbar focus behavior in Safari.

    • Fix FloatingToolbar focus behavior in Safari.

    • Fix FloatingToolbar focus behavior in Safari.

    v2.23.1

    • Fix potential runtime error in browsers that do not support Symbol.dispose yet.

    • Fix a bug in .mutateStorage() and .massMutateStorage() where mutating storage could potentially corrupt the storage tree.

    v2.23.0

    • Expose new property triggeredAt for notification webhook events.

    • The prepareThreadNotificationEmailAsHtml and prepareThreadNotificationEmailAsReact functions are now avoiding duplicated comments between two emails data.

    • Improve event propagation from Composer and the emoji pickers in Comment/Thread.

    • Fix crash when unmounting. Thank you @nperez0111!

    • Fix withLiveblocksEditorOptions not passing all options to BlockNote. Thank you @chadnorvell!

    Documentation

    • New AI Copilots features page, highlighting all upcoming features.
    • Mention first day free policy.
    • Small updates to docs homepage

    Dashboard

    • Refined billing and usage settings page, now displaying billed and non-billed users for monthly active users (MAUs) metric.

    Website

    Contributors

    Contributors include:marcbouchenoireflowflorentsugardariusnperez0111chadnorvellnviectnicholaspierrelevaillant

    8 authors

  • Week 14

    Week 14
    WEEK14

    v2.22.3

    • The InboxNotification component now uses resolveRoomsInfo for textMention notifications to make them link to the mentions’ room automatically if href isn’t set.

    • Fix names capitalization in lists. (e.g. the list of who reacted in reactions’ tooltips)

    • Add emojibaseUrl advanced option on LiveblocksUIConfig to allow choosing where Emojibase’s data used by the Liveblocks emoji picker is fetched from: another CDN, self-hosted files, etc.

    • Fix: Update dependencies resolution.

    • Fix: Avoid <AnchoredThreads /> threads rendering if the editor's view is null.

    Contributors

    Contributors include:marcbouchenoirejrowny

    2 authors

  • Week 13

    Week 13
    WEEK13

    v2.22.2

    • Optimize .getOrCreateRoom() to only make a single round-trip to the server.
    • Optimize .upsertRoom() to only make a single round-trip to the server.
    • Also expose LiveObject, LiveMap, and LiveList in @liveblocks/node.

    v2.22.1

    • Fix report text editor function's call. Now we report correctly blocknote as text editor type.

    • Internal refactoring.

    • Fix: improve stack traces of REST API errors to include the original error location.

    Dashboard

    • BlockNote editors are now supported in a room's Text Editor view.

    Documentation

    Examples

    Contributors

    Contributors include:nviesugardariusctnicholasmarcbouchenoire

    4 authors

  • Week 12

    Week 12
    WEEK12

    v2.22.0

    • Added pagination support to .getInboxNotifications(). See docs.

    • New method .getOrCreate() which combines .getRoom() and .createRoom(). See docs.

    • New method .upsertRoom() which combines .updateRoom() and .createRoom(). See docs.

    • New method .iterRooms() which is like .getRooms() except pagination happens automatically. See docs.

    • New method .iterInboxNotifications() which is like .getInboxNotifications() except pagination happens automatically. See docs.

    • New method .mutateStorage() which can be used to make changes to Storage from your backend. See docs.

    • New method .massMutateStorage() which can be used to make changes to Storage for multiple rooms simultaneously. See docs.

    • Updated method .deleteRoom() to no longer throw when the room already does not exist. See docs.

    • Add new icons to <Icon.* />.

    • Implement a new core logic for thread notification event.

    • Mark htmlBody from prepareThreadNotificationEmailAsHtml and reactBody from prepareThreadNotificationEmailAsReact as deprecated. Use body property instead.

    v2.21.0

    • New package to support using BlockNote with Liveblock’s comments, mentions, and realtime collaboration out of the box.

    • Fix markThreadAsResolved and markThreadAsUnresolved methods not passing user ID correctly to the corresponding backend endpoints.

    • Improve emoji picker’s performance, bundle size, and add a preview of the currently selected emoji.

      • This is the result of us moving the emoji picker to its own package and improving it in the process. You can also combine this package with the primitives to build your own reaction picker for example.
    • Improve and fix pasting HTML into the composer.

    REST API

    • The Delete Room endpoint will no longer return a 404 when a room already did not exist before.

    Examples

    Documentation

    Website

    Contributors

    Contributors include:jrownynimeshnayajumarcbouchenoirepierrelevaillantctnicholasnviesugardarius

    7 authors

  • Week 11

    Week 11
    WEEK11

    Documentation

    Website

    Contributors

    Contributors include:ctnicholasmarcbouchenoirepierrelevaillant

    3 authors

  • Week 10

    Week 10
    WEEK10

    v2.20.0

    • Implement a proxy factory for UserNotificationSettings object to return null to prevent any errors when accessing a disabled notification channel.

    • Implement a proxy factory for UserNotificationSettings object to return null to prevent any errors when accessing a disabled notification channel.

    • 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.

    • 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.

    v2.19.0

    • Output ES modules by default (but CJS builds are still included)

    • Modernize internal build tool settings

    • Allow passing optional AbortSignal to all client methods

    • Fix bug in encoding of error information in the LiveblocksError when an API call fails (thanks for reporting, @robcresswell!)

    • Fix getStorageDocument("my-room", "json") typing in its output LiveMap instances as ReadonlyMap instead of serialized plain objects.

    Documentation

    • New guide: How to create a notification settings panel.
    • Improved Notifications overview pages, adding info on user notification settings.
    • Improved existing webhooks guides, adding more context about notification channels, and how to create a settings panel.
    • More info about how Text Editor permanently stores documents, and how it's different to Yjs.

    Examples

    Website

    Upkeep

    • Ship all Liveblocks packages as ESM by default (but CJS builds are still included)
    • Modernized internal build tool settings

    Contributors

    Contributors include:ctnicholasnviemarcbouchenoirenimeshnayajusugardariusstevenfabrepierrelevaillant

    7 authors

  • Week 8

    Week 8
    WEEK8

    v2.18.3

    • Fix HTML escaping in stringifyCommentBody utility.

    • Log more details in specific error cases to help debugging

    • Fix HTML escaping in stringifyCommentBody utility.

    • Increases the allowed stale time for polled user threads data. Only affects the useUserThreads_experimental hook.

    • Allow spaces and more non-alphanumeric characters when creating mentions in Comments composers.

    • Fix HTML escaping in prepare as HTML functions. Thank you @huy-cove!

    • Revert deduplication logic introduced in v2.18.0 as it provided no measurable benefits while increasing complexity.

    v2.18.2

    • Improve performance of undo/redo operations on large documents. Thank you @rudi-c!

    • Fix a performance regression introduced in 2.18.1.

    Documentation

    • Added info on how data storage is calculated.
    • Fixed a number of broken links on various pages.

    Dashboard

    • Internal refactoring and code clean up.

    Website

    Contributors

    Contributors include:ctnicholasnviemarcbouchenoirenimeshnayajusugardariushuy-coverudi-c

    7 authors

Previous
Next