read the announcement
Breaking:
- Upgraded to pouchdb 7.0.0
disableKeyCompressionis renamed tokeyCompressionwhich defaults tofalseRxDatabase.collection()now only accepts the json-schema as schema-attribute- It is no longer allowed to set required fields via
required: true, userequired: ['myfield']in compliance with the jsonschema standard - QueryChangeDetection is now enabled in the RxDatabase-options
queryChangeDetection: true - Setters and
save()are only callable on temporary documents - Removed
RxDocument.synced$andRxDocument.resync() - Middleware-Hooks now have
plainJsonas first parameter andRxDocument-instance as second - Typings have been modified, see
postCreateRxDocument-hooks will not be awaited if they are async
Features:
- Added
RxDocument.atomicSet() - Added
RxCollection.awaitPersistence()for in-memory-collections - Added
RxReplicationState.denied$#763 - Added option for CORS to server-plugin
this-scope of collection-hooks are bound to the collection itself #788- All methods of
RxDocumentare bound to the instance #791 - Added
RxReplicationState.alive$, see. Thanks @rafamel
Bugfixes:
- checkAdapter doesn't cleanup test databases #714
- inMemory collections don't implement static methods #744
- inMemory collections do not sync up removals #754
- Ensure
finalfields cannot be changed onRxDocument.atomicUpdate()andRxDocument.update() - Fixed a missing dependency on the server-plugin
Other:
- cross-instance communication is now done with https://github.com/pubkey/broadcast-channel (way better performance)
- Upgrade to eslint 5 (no more babel-eslint)
- Upgrade to babel7
- Refactored
plugins/replication/.watchForChanges()to fix sometimes-breaking-test withRxReplicationState.complete$ - Split
RxCollection.watchForChanges()into own plugin - Refactored
RxQuery