• Week 8

    Week 8
    WEEK8

    Open source

    This week we've open-sourced the Liveblocks sync engine and dev server.

    v3.14 🥧

    This release adds support for opting-in to the new storage engine on a per-room basis. The new storage engine can support larger documents, is more performant, is considered more stable, and will eventually become our default engine for all new rooms in the future. As of this release, the default storage engine still remains engine version 1.

    To give it a try, simply pass engine: 2 when entering a new room. After a room is created, you cannot change the engine it was created with anymore.

    // Vanilla JSclient.enterRoom("my-new-room", { engine: 2 });

    or:

    // In React<RoomProvider id="my-new-room" engine={2}>  ...</RoomProvider>
    • Support for selecting the preferred engine when entering new rooms: client.enterRoom("my-new-room", { engine: 2 })

    • Internal protocol optimizations to support larger storage documents

    • Add new config option createClient({ baseUrl: "https://..." }) to allow connecting to the Liveblocks dev server

    • Improve LiveList performance when processing large batches of operations

    • Improve LiveList.push() efficiency to prevent unbounded position string growth over time

    • Fix crash when clearing documents with a large number of keys

    • Remove the largeMessageStrategy client option. The WebSocket message limit has been increased from 1 MB to 32 MB, making this setting obsolete.

    • Support for selecting the preferred engine when entering new rooms: <RoomProvider id="my-new-room" engine={2}>...</RoomProvider>

    • Add new config option <LiveblocksProvider baseUrl="https://..." /> to allow connecting to the Liveblocks dev server

    • Exclude marking a thread or inbox notification as read from blocking navigation when preventUnsavedChanges is enabled.

    • Portaled elements now respect the portalContainer option from @liveblocks/react-ui’s LiveblocksUiConfig instead of always using document.body.

    • Support for selecting the preferred engine when entering new rooms: enterRoom("my-new-room", { engine: 2 })

    • Add new .setPresence() method to set ephemeral presence for a user in a room via the REST API, without requiring a WebSocket connection

    • Deprecated tenantId parameter in client methods, use organizationId instead.

    Website

    Documentation

    Dashboard

    • The Management API is now available in private beta for Enterprise customers.
    • We added Multi-Factor Authentication (MFA) support. Users can now enable MFA in their account pesonal settings for enhanced security.
    • New toggle to opt-in to use v2 Storage engine for all new rooms created going forward.

    Showcase

    Examples

    • Add dev server guide to all fully-supported example READMEs.

    Contributors

    Contributors include:nviemarcbouchenoireflowflorentjrownyctnicholassugardariuspierrelevaillantnimeshnayaju

    8 authors

  • Week 7

    Week 7
    WEEK7

    v3.13.5

    • Replace y-tiptap with y-prosemirror to prevent plugin key conflict, which was causing change source to be incorrectly set in BlockNote.

    Documentation

    • Add .md to the end of any docs page to view a markdown representation of it.
    • This .md is mentioned as an alternate link on each docs page.
    • Fetching any docs page with a priority text/markdown header will return markdown.

    Showcase

    Contributors

    Contributors include:ctnicholasnimeshnayaju

    2 authors

  • Week 6

    Week 6
    WEEK6

    v3.13.4

    • Fix an issue where FloatingComposer wouldn’t auto-focus and FloatingToolbar would conflict with it.

    Examples

    • Fixed BlockNote example.
    • Updated Nuxt example.

    Documentation

    • Update Next.js authentication guides to use .env.local.

    Contributors

    Contributors include:bxffmarcbouchenoirectnicholas

    3 authors

  • Week 5

    Week 5
    WEEK5

    Documentation

    Dashboard

    • New quickstart flow to match the documentation update.
    • Get your API key from the quickstart page.

    Examples

    • Updated all examples to use the latest versions of their major frameworks.
    • Updated all packages in all examples.

    Contributors

    Contributors include:ctnicholasstevenfabrepierrelevaillant

    3 authors

  • Week 4

    Week 4
    WEEK4

    v3.13.3

    • Bump hardcoded client-side socket connection timeout from 10s to 20s.

    • Add more detailed timing info to enableDebugLogging to better debug connection issues.

    • Fix an issue where Composer and AiComposer would throw an error when mounted/unmounted.

    Contributors

    Contributors include:nviemarcbouchenoire

    2 authors

  • Week 3

    Week 3
    WEEK3

    v3.13.2

    • Add a new alwaysUseKnowledge option when creating or updating copilots. When this option is enabled, the copilot retrieves and uses the uploaded knowledge sources on each user query. When disabled, the copilot will retrieve the uploaded knowledge sources only when the user query relates to the knowledge prompt set on the copilot.

    v3.13.1

    • Fix issue where storage subscriptions wouldn't fire after concurrent move and set operations, causing stale LiveList state in UI.

    v3.13.0

    This release adds support for comment metadata, allowing you to attach custom metadata to individual comments in the same way as thread metadata.

    • Support typing comment metadata globally via the Liveblocks interface.

    • Improve CommentBody types.

    • Internal refactorings to prepare for upcoming protocol updates.

    • Add new parameters to createThread, createComment, and editComment to attach and update comment metadata.

    • Add editCommentMetadata method to update only a commentʼs metadata.

    • Add new parameters to useCreateThread, useCreateComment, and useEditComment to attach and update comment metadata.

    • Add useEditCommentMetadata hook to update only a commentʼs metadata.

    • Add commentMetadata prop to Composer to attach and update comment metadata.

    • Add commentMetadata prop to FloatingComposer to attach and update comment metadata.

    • Fix Toolbar not reflecting the editorʼs current state.

    • Add new parameters to createThread, createComment, and editComment to attach and update comment metadata.

    • Add editCommentMetadata method to update only a commentʼs metadata.

    • Add commentMetadataUpdated webhook event.

    Contributors

    Contributors include:nimeshnayajumarcbouchenoirenvie

    3 authors

  • Week 2

    Week 2
    WEEK2

    Dashboard

    • Data refreshes much more quickly when viewing rooms.
    • Added floating avatar on pricing page.
    • Fixed bug with linking integrations to create-liveblocks-app CLI.

    Contributors

    Contributors include:ctnicholas

    1 authors

  • Week 51

    Week 51
    WEEK51

    v3.12.1

    • Improve some internal type definitions

    v3.12.0

    • Liveblocks branding will appear for free plans.

    • Added badgeLocation option for the client library to control the branding location for free plans.

    • Added badgeLocation option to LiveblocksProvider to control the branding location for free plans.

    Infrastructure

    • We've been doing lots of prep work to enable a new opt-in storage engine for Liveblocks rooms that will bring performance benefits like faster room connection speed and larger document sizes to everyone—stay tuned!

    Documentation

    • Fix useThreads API reference, it returns oldest threads first, not newest threads.

    Contributors

    Contributors include:jrownynvieflowflorent

    3 authors

  • Week 50

    Week 50
    WEEK50

    v3.11.1

    • Log full error details when WebSocket connections to Liveblocks are getting blocked

    • Fix an issue where a document incorrectly reported its sync state.

    Contributors

    Contributors include:jrowny

    1 authors

  • Week 49

    Week 49
    WEEK49

    Examples

    Showcase

    Contributors

    Contributors include:ctnicholas

    1 authors

Next