11.0.0-beta.X BREAKING read the announcement
BREAKING:
- RxStorage: The non async functions
prepareQuery
,getSortComparator
andgetQueryMatcher
have been moved out ofRxStorageInstance
intoRxStorage
. This was needed to have better WebWorker support. This will not affect you do not use a customRxStorage
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 beJSON.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
andlength
of attachment data is now created by RxDB, not by the RxStorage. #3548- Added the statics
hashKey
property to identify the used hash function.
- Replaced all
- 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, usereceived
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. - Transpile
async
/await
to promises instead of generators. via babel-plugin-transform-async-to-promises