read the announcement
Breaking:
- Upgraded to pouchdb 7.0.0
disableKeyCompression
is renamed tokeyCompression
which defaults tofalse
RxDatabase.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
plainJson
as 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
RxDocument
are 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
final
fields 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