• v0.17.5
    v0.17.5
    • In @liveblocks/react:

      • Fix bug where changing the key argument of useMap(), useList(), useObject() did not resubscribe to updates correctly
      • Ignore changes to the RoomProvider's initial presence/storage props on subsequent renders. This makes it behave closer to useState(initialState)
  • v0.17.4
    v0.17.4

    Fix missing documentation for hooks created via createRoomContext().

  • v0.17.1
    v0.17.1

    Fix @liveblocks/nodes packaging.

  • v0.17.0
    v0.17.0

    For information, please read our Upgrade Guide.

    TypeScript improvements ✨

    This release contains major TypeScript improvements. The recommended setup now is that you define your own Presence and Storage types at the highest level (i.e. where you set up the room). After that initial one-time setup, you will no longer need to provide any extra type annotations anywhere for your Liveblocks code! 🙌

    To learn how to set that up, follow the instructions in our Upgrade Guide.

    • No more any types used (in @liveblocks/client and @liveblocks/react)
    • All APIs that work with Presence data will now require it to be JSON-serializable
    • All APIs that work with Storage data will now require it to be LSON (= JSON + Live structures)
    • All Live structures now take mandatory type params for their payloads, just like the built-in array, object, and map types do:
      • LiveMap<K, V> (like Map<K, V>)
      • LiveObject<{ a: number, b: string }> (like, for example, { a: number, b: string })
      • LiveList<T> (like Array<T>)

    React Native support ✨

    We now support React Native! To learn how to use Liveblocks in your React Native projects, see our API reference. It's surprisingly simple!

    New APIs ✨

    Bug fixes 🐛

    • Improved conflict resolution on LiveList
    • Various minor internal bug fixes

    Breaking changes

    • In @liveblocks/client:

      • Removed old Room.unsubscribe() API

    New deprecations

    • In @liveblocks/client:

      • The defaultPresence option to client.enter() will get renamed to initialPresence
      • The defaultStorageRoot option to client.enter() will get renamed to initialStorage
      • Calling new LiveMap(null) will stop working. Please use new LiveMap(), or new LiveMap([])
    • In @liveblocks/react:

      • Importing the React hooks directly is deprecated, instead use the new createRoomContext() helper. For help, read the Recommended Upgrade Steps section within our Upgrade Guide
      • The second argument to useList(), useObject(), and useMap() is deprecated
      • The RoomProvider's defaultPresence is renamed to initialPresence
      • The RoomProvider's defaultStorageRoot is renamed to initialStorage
  • v0.16.17
    v0.16.17

    Fix bug in internal code where some legal authentication tokens would be considered invalid.

  • v0.16.16
    v0.16.16

    Internals only.

  • v0.16.15
    v0.16.15

    Internals only.

  • v0.16.14
    v0.16.14

    Fix an issue where the current user's info would not properly display accented characters.

  • v0.16.13
    v0.16.13

    (Unpublished.)

  • v0.16.12
    v0.16.12

    Internals only.

Previous
Next