Skip to content

v8.2.4

Compare
Choose a tag to compare
@sgwilym sgwilym released this 13 Mar 14:11
· 359 commits to main since this release

I've made a number of changes which specifically target Earthstar's performance in the context of dynamic UIs e.g. React apps.

Changes since 8.10:

New NPM API

  • Breaknig: moved modules with environmental assupmtions (e.g. ReplicaDriverSqlite, ReplicaDriverLocalStorage) into earthstar/browser and earthstar/node import subpaths.

Replica

  • Share addresses are now validated when a Replica is being instantiated.

Syncing

  • SyncCoordinator now only has one active pull from another peer at a time
  • The maxLocalIndex of other peers is now better preserved across async calls, preventing refetches

ReplicaDriverIndexedDB

  • ReplicaDriverIndexedDB now waits until the underlying DB is ready when querying docs
  • Fixed an issue where the driver's maxLocalIndex was not being correctly instantiated

ReplicaDriverLocalStorage

  • Fixed an issue where the driver's maxLocalIndex was not being correctly instantiated

ReplicaCache

  • Added a close method to ReplicaCache which closes all the QueryFollowers during its usage
  • Added a onCacheUpdatedWrapper arg to ReplicaCache's constructor, allowing all callbacks to be wrapped within a function call.
  • ReplicaCache now only fires cache updates when the results of a query do not match with the cache
  • ReplicaCache now reuses QueryFollowers more efficiently