• v1.1.3
    v1.1.3

    Ship all of our packages as both ESM and CJS modules. By upgrading, your project’s bundler can now perform (better) tree-shaking on the Liveblocks code.

    You can expect (at least) the following bundle size reductions:

    • @liveblocks/client from 80kB → 70kB
    • @liveblocks/react from 129kB → 80kB
    • @liveblocks/redux from 84kB → 38kB
    • @liveblocks/zustand from 83kB → 37kB
    • @liveblocks/yjs from 129kB → 74kB
  • v1.1.2
    v1.1.2

    @liveblocks/yjs

    Added Yjs support to open beta through the new @liveblocks/yjs package (not stable yet).

    • Fixes a missing internal export.
  • v1.1.1
    v1.1.1
    • Fixes a bug where under certain circumstances the Liveblocks client could incorrectly throw a Not started yet error message.
  • v1.1.0
    v1.1.0

    This release improves the client’s internals to ensure a more reliable connection with Liveblocks servers.

    @liveblocks/client

    • New APIs:
      • room.getStatus(): returns the current status of the WebSocket connection: "initial", "connecting", "connected", "reconnecting", or "disconnected"
      • room.subscribe("status"): subscribe to changes of the connection status.
      • room.subscribe("lost-connection"): high-level API to get informed when Liveblocks’ automatic reconnection process is taking longer than usual, so you can show a toast message on screen. (See this example for an illustration.)
    • New behavior:
      • The client will stop retrying to establish a connection in cases where retrying would not help. For example an explicit 403 forbidden response from your backend, or a configuration error.
      • The client will more quickly reconnect even after long periods of sleep.

    @liveblocks/react

    • New APIs:

      • useStatus() - React hook version of room.getStatus()
      • useLostConnectionListener() - React hook version of room.subscribe("lost-connection") (See this example for an illustration.)
    • Reconnection would sometimes not work after long periods of sleep. Waking up is now instant.

    • React clients using Suspense could sometimes incorrectly bounce back to the Suspense boundary after a successful load. No longer!

    • Client could sometimes not load storage after reconnecting. Not anymore!

    • Others array will no longer flash during an internal reconnect.

    • DevTools now keeps working even when the client goes offline.

    These APIs still work, but are replaced by newer APIs. The old APIs will be removed in a future release of Liveblocks.

    Old connection status codes are replaced by the new ones:

    ❌ Old statuses✅ New statuses
    closedinitial
    authenticatingconnecting
    connectingconnecting
    openconnected
    unavailablereconnecting
    faileddisconnected

    Recommended steps to upgrade:

    • room.getConnectionState() → ✅ room.getStatus()
    • room.subscribe('connection') → ✅ room.subscribe('status')
    • Old client options:
      • clientOptions.fetchPolyfill
      • clientOptions.WebSocketPolyfill → ✅ clientOptions.polyfills: { fetch, WebSocket }
  • v1.0.12
    v1.0.12

    create-liveblocks-app

    • Added export type TypedRoom = Room<...> to init command for non-React apps.
  • v1.0.11
    v1.0.11

    @liveblocks/client

    • Fix a bug where undo/redo on LiveObject creates exponentially larger deltas.
  • v1.0.10
    v1.0.10

    @liveblocks/client

    • Fix a bug related to proactive token expiration detection.
    • Internal refactorings.
    • Add unstable_fallbackToHTTP option to the core client to support messages over 1MB.

    @liveblocks/node

    • Fix incorrect status code when Liveblocks server cannot be reached temporarily.
  • v1.0.9
    v1.0.9

    @liveblocks/client

    • Export LiveListUpdate, LiveMapUpdate, and LiveObjectUpdate types used by the storage update callback.
    • Export new utility, toPlainLson, to assist in calling the initialize storage API.
    • Internal refactorings.
  • v1.0.8
    v1.0.8

    @liveblocks/client

    • Internal refactorings.

    create-liveblocks-app

    • Added flags for creating config files with --init. (e.g. --framework react)
    • Added an error if an incorrect flag is used.
    • Slightly changed the format of the default config file.

    @liveblocks/client

    • Internal refactorings.
  • v1.0.7
    v1.0.7
    • Private API changes only.
Previous
Next