Skip to content

Releases: composablesys/collabs

v0.13.4

06 Sep 19:14
ca761dd
Compare
Choose a tag to compare

Adds experimental (unstable) feature: sender-side message batching.

  • mergeMessages function
  • WebSocketNetwork batchSendMS option

v0.13.3

30 Aug 23:35
Compare
Choose a tag to compare
  • WebSocketNetwork: always deliver updates in causal order, so that it can be used with CRuntime's causalityGuaranteed option.

v0.13.2

29 Aug 20:09
Compare
Choose a tag to compare
  • Fix ws-server InMemoryDocStore bug that caused too many checkpoint requests
  • Add CRuntime.batchRemoteUpdates method that lets you avoid unnecessary renders (specifically, change events), and use it in the load/welcome step of network providers
  • Add ws-client batchRemoteMS option (in subscribe) that batches remote updates
  • Use above feature in rich-text demo to deliver Quill updates only once per 50 ms. This is important in large groups, where delivering updates to Quill becomes the bottleneck.
  • collabs-ws-server command: input HOST instead of HOSTNAME

v0.13.1

14 Aug 22:13
1c3dd49
Compare
Choose a tag to compare

This release adds network and storage providers and React hooks. It also removes containers.

New packages:

  • @collabs/indexeddb
  • @collabs/local-storage
  • @collabs/tab-sync
  • @collabs/react

Revamped packages:

  • @collabs/ws-client
  • @collabs/ws-server
    These are now more reasonable, e.g., storing doc states and allowing you to authenticate clients.

Deleted packages:

  • @collabs/container
  • @collabs/container-testing-server

Other breaking changes:

  • @collabs/collabs: Refactored CRuntime events, and renamed RuntimeEventsRecord -> DocEventsRecord, RuntimeOptions -> DocOptions.

Misc:

This is almost a 1.0 "beta" release; before that, I mainly intend to work on rich-text editor integrations.

v0.12.0

15 Jul 23:11
Compare
Choose a tag to compare

This release cleans up the project internals and some APIs. After this release, I have no more planned breaking API changes in @collabs/collabs except for small tweaks to CRichText and some list internals.

Breaking changes:

  • CVar and CBoolean now emit a "Set" event every time they receive an operation, even if it does not change the value.
  • Remove some list utility methods (e.g. CValueList.concat).
  • Change the order of list entries() methods' outputs: [index, value, position] instead of [index, position, value]. Likewise for CRichText.entries().
  • Change CRichText's default iterator to use formatted() instead of entries().
  • Remove CMap.getConflicts().
  • Remove runtime nextUID() and nextLocalCounter() utility methods.
  • Remove Bytes class. Instead, use base64-js.
  • Change some optional params to options objects (Collab.emit, TestingRuntimes.newRuntime).

Other API/behavior changes:

  • splice and indexOf now handle out-of-range indices like their Array analogs.
  • Make CValueSet.delete's return value match the built-in Set. Likewise for CValueMap.
  • CList now emits additional events concerning archived values. These should be sufficient to let you maintain a local view of the archived values and their positions.
  • Add AbstractDoc versions of CRuntime utility methods (fromID, idOf, replicaID).
  • MultiValueMap.get now defensively copies internal arrays before returning.

v0.11.1

24 Jun 19:41
Compare
Choose a tag to compare
  • Fix CRichText empty load bug

v0.11.0

22 Jun 00:13
Compare
Choose a tag to compare

New features:

  • Shared presence, including shared cursors in Quill demo
  • Cursor type and Cursors utils, for managing and sharing Cursors slightly more easily than with Position. See plaintext demo for example usage.

Misc changes:

Alpha software - API subject to change.

v0.10.2

22 Apr 22:54
Compare
Choose a tag to compare

Bug fix:

  • Add Position import in 2nd abstract_lists.d.ts (caused an error when compiling a Node project that imported @collabs/crdts)

Alpha software - API subject to change.

v0.10.1

22 Apr 22:30
Compare
Choose a tag to compare

Bug fixes:

  • Add Position import in abstract_lists.d.ts (caused an error when compiling a Node project that imported @collabs/core)
  • Add missing dependency to the rich-text demo's package.json.

Alpha software - API subject to change.

v0.10.0

19 Apr 14:40
Compare
Choose a tag to compare
  • Adds CRichText Collab implementing a rich-text string, based on the Peritext algorithm.
  • Changes the library used by StringSerializer. This (somehow) reduces memory usage by 50% on our text benchmarks.
  • Adds some CText utility methods.

Alpha software - API subject to change.