• v0.19.8
    v0.19.8
    • Fixes a bug where history didn't reliably undo LiveObject key set changes if any pending local changes existed on that key.
    • Fixes a bug where changes performed inside room.batch were incorrectly ordered inside the history resulting in unexpected undo behavior in some cases.
    • Fixes a bug where under some circumstances the Liveblocks client could get stuck in a "synchronizing" state indefinitely
    • Expose JsonArray and JsonScalar types publicly
  • v0.19.7
    v0.19.7

    Fix nested storage event handling issue.

  • v0.19.6
    v0.19.6

    Support authentication with cookies.

  • v0.19.5
    v0.19.5

    Export the StorageStatus type (introduced with 0.19.3).

  • v0.19.4
    v0.19.4

    Fix CORS issue.

  • v0.19.3
    v0.19.3

    In @liveblocks/client:

    Room.getStorageStatus

    Get the storage status.

    • not-loaded: Initial state when entering the room.
    • loading: Once the storage has been requested via room.getStorage().
    • synchronizing: When some local updates have not been acknowledged by Liveblocks servers.
    • synchronized: Storage is in sync with Liveblocks servers.

    Room.subscribe("storage-status", status => )

    Subscribe to storage status changes.

    Returns an unsubscribe function.

    room.subscribe("storage-status", (status) => {  switch (status) {    case "not-loaded":      break;    case "loading":      break;    case "synchronizing":      break;    case "synchronized":      break;    default:      break;  }});

    Room.reconnect

    Close the room connection and try to reconnect.

    Internal changes

    • Add support for the upcoming Liveblocks browser extension
  • v0.19.2
    v0.19.2

    Fixes some internal type definitions.

  • v0.19.1
    v0.19.1

    Fixes an issue where imports from Liveblocks packages could not be resolved correctly in certain build environments.

  • v0.19.0
    v0.19.0

    This release brings Zustand v4 support. This is a breaking change only if you’re using @liveblocks/zustand.

    In @liveblocks/zustand:

    • Support Zustand v4 (actually v4.1.3 or higher)
    • Drop support for Zustand v3 (also v4.1.2 or lower are not supported)
    • Fix bug where some usage pattern could cause the Zustand store to stop synching (#491)

    To migrate, make the following code changes:

    • npm install zustand@latest
    • npm install @liveblocks/zustand@latest
    • Change these imports, if applicable:
      -import { middleware } from "@liveblocks/zustand";+import { liveblocks } from "@liveblocks/zustand";
      and
      -import type { LiveblocksState } from "@liveblocks/zustand";+import type { WithLiveblocks } from "@liveblocks/zustand";
      and rename accordingly.
    • Change the pattern:
      create(liveblocks<MyState, ...>(...))
      to the Zustand v4 recommended pattern:
      create<WithLiveblocks<MyState, ...>>()(liveblocks(...))
      To be clear:
      1. First, move the type annotation away from the liveblocks middleware call, and onto the create call.
      2. Next, wrap your MyState type in a WithLiveblocks<...> wrapper. This will make sure the injected liveblocks property on your Zustand state will be correctly typed.
      3. Finally, make sure to add the extra call () wrapper, needed by Zustand v4 now:
        create<WithLiveblocks<MyState, ...>>()(liveblocks(...))//                                  ^^ Not a typo
    • Remove the second argument to state.liveblocks.enterRoom(): it no longer takes an explicit initial state. Instead, it's automatically be populated from your Zustand state.

    In @liveblocks/redux:

    • The main export has been renamed:
      -import { enhancer } from "@liveblocks/redux";+import { liveblocksEnhancer } from "@liveblocks/redux";
    • The second argument to state.liveblocks.enterRoom() to send in an explicit initial state is no longer supported. It will use the state in your Redux store, for consistency and ease of use.
  • v0.18.5
    v0.18.5

    Bug fix:

    • Fixes a small bug in a type definition, scopes was removed from BaseUserMeta.

    Internal updates:

    • Switch the monorepo over to Turborepo.
Previous
Next