Releases: rocicorp/replicache
v7.0.0
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
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 usingObject.freeze()
(#480)
Breaking Changes:
- Remove
scanAll
. It has been deprecated for a while. #511 - Use
ReadonlyJSONValue
in read transactions
v7.0.0-beta.2
Port to JavaScript
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.
Coalesce initial subscriptions
See #370 for more information.
v6.4.1
v6.4.0
Two important bug fixes to 6.3.0
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
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.