Skip to content

Releases: rocicorp/replicache

v7.0.0

16 Sep 22:17
@arv arv
Compare
Choose a tag to compare

Features:

  • Port the Rust code to JS. This means that there is no more wasmModule option and no need to copy any wasm files around. It also means that the code size is smaller and the js code is faster than the wasm code. #458

Fixes:

  • Compare to current main commit when computing changes from pull. #466
  • Add workaround for Safari IDB issue #486

Breaking Changes:

  • scanAll is gone. It was deprecated in early 6.x releases. #511
  • We tightened the type annotations for ReadTransaction methods to return readonly JSON values ,ReadonlyJSONValue, since you must not mutate these. If you mutate these bad things may happen.

v7.0.0-beta.3

14 Sep 23:33
@arv arv
Compare
Choose a tag to compare

Features:

  • Add migration code (#510)
  • Use JS values directly in the KV Store instead of Flatbuffers.

Fixes:

  • Add workaround for Safari IDB issue
  • Stop deep cloning in ReadTransaction and also using Object.freeze() (#480)

Breaking Changes:

  • Remove scanAll. It has been deprecated for a while. #511
  • Use ReadonlyJSONValue in read transactions

v7.0.0-beta.2

06 Sep 04:37
Compare
Choose a tag to compare
  • memstore wasn't working in the previous beta: 7caa62b
  • Target es2018 instead of 2020 like 6.x used to
  • Include the debug symbols in the build (#476)

Port to JavaScript

03 Sep 01:47
Compare
Choose a tag to compare

This release ports the internals of Replicache from Rust to pure JavaScript.

This release reduces the replicache package size by over 83% (brotli compressed, Replicache is now just 32kb) and improves performance on most of our benchmarks.

However, this is just the beginning because there are many further opportunities being in JS opens up to both improve performance and further reduce package size.

In the below images, the red line is the last Rust commit.

Screen Shot 2021-09-02 at 3 42 30 PM

Screen Shot 2021-09-02 at 3 35 56 PM

Screen Shot 2021-09-02 at 3 41 40 PM

Screen Shot 2021-09-02 at 3 43 39 PM

Screen Shot 2021-09-02 at 3 44 42 PM

Screen Shot 2021-09-02 at 3 45 16 PM

Coalesce initial subscriptions

30 Aug 23:49
Compare
Choose a tag to compare

See #370 for more information.

v6.4.1

10 Aug 18:02
@arv arv
Compare
Choose a tag to compare

Bug Fixes

  • Actually use the passed in experimentalKVStore

v6.4.0

09 Aug 23:28
@arv arv
Compare
Choose a tag to compare

Features

  • Add experimental KV store (#427)
  • Make more Replicache options public (#443)

Fixes

  • Remove unused type Mutation (#426)
  • Rename ScanOptions keyPrefix to prefix (#442)

Two important bug fixes to 6.3.0

02 Jul 03:30
Compare
Choose a tag to compare

Fixes #422: This caused mutations executed during the rebase phase of sync to get passed undefined as their argument. The user-visible result depends on what the application does in those mutations, but whatever the result, it should only last until the mutation is confirmed server-side.

Fixes #421: If the very first push or pull failed, exponential backoff would not happen and Replicache would enter a tight loop fetching forever.

v6.3.0

25 Jun 22:15
@arv arv
Compare
Choose a tag to compare

Features

  • Expose requestOptions. This allows externally tweaking the min and max time between pull and push requests.
  • Add JS backed Puller/Pusher implementation. See ReplicacheOptions puller/pusher.
  • Add onOnlineChange callback.

Bug fixes

  • Make sure online is reported correctly.
  • Wait for close in open. This was mostly causing problems with Hot Module Replacement (HMR) because it ends up opening the Replicache instance while it was being closed.

v6.2.2

18 May 16:01
@arv arv
Compare
Choose a tag to compare
Bump version to 6.2.2.