RxDB v11.0.0-beta.X Release Notes

Release Date: 2021-12-13 // over 2 years ago
  • 💥 BREAKING:

    • RxStorage: The non async functions prepareQuery, getSortComparator and getQueryMatcher have been moved out of RxStorageInstance into RxStorage. This was needed to have better WebWorker support. This will not affect you do not use a custom RxStorage implementation.
    • LokiJS: Do not use the IdleQueue of the RxDatabase to handle calls to saveDatabase(), instead wait for CPU idleness of the JavaScript process.
    • RxStorageInterface:
      • Replaced all Map with plain json objects so that they can be JSON.stringify-ed
      • Replaced typings of event stream to use EventBulk and process events in bulks to save performance.
      • Move all static methods into the statics property so we can code-split when using the worker plugin.
      • digest and length of attachment data is now created by RxDB, not by the RxStorage. #3548
    • Internally all events are handles via bulks, this saves performance when events are transfered over a WebWorker or a BroadcastChannel.
    • Removed the deprecated recieved methods, use received instead. See #3392

    🛠 Bugfixes:

    • Do not throw an error when database is destroyed while a GraphQL replication is running.
    • Compound primary key migration throws "Value of primary key(s) cannot be changed" #3546 Thanks @nothingkid
    • Allow _id as primaryKey #3562 Thanks @SuperKirik

    Other:

    • LokiJS: All documents are stored with a $lastWriteAt field, so we can implement an auto compaction later.