RxDB v9.0.0 Release Notes

Release Date: 2020-05-16 // about 4 years ago
  • ๐Ÿ”‹ Features:

    • Added RxQuery.exec(throwIfMissing: true)
    • Added helper functions to GraphQL replication to generate GraphQL Schemas from the RxJsonSchema

    ๐Ÿ›  Bugfixes:

    • GraphQL replication plugin fires exponentially #2048
    • When a default is set in the schema, the default values are also applied after atomicUpdate() and atomicSet()

    ๐Ÿ’ฅ Breaking:

    • Indexes are now specified at the top-level of the schema-definition. #1655
    • Encrypted fields are now specified at the top-level of the schema-definition
    • Removed all default exports. Please only import the stuff that you really need.
    • Renamed RxDB.create() to createRxDatabase()
    • Renamed removeDatabase() to removeRxDatabase()
    • Renamed plugin() to addRxPlugin()
    • Replaced plugins error-messages and schema-check with dev-mode
    • Moved data migration from core to migration plugin
    • Replaced key-compression implementation with jsonschema-key-compression
    • Renamed RxDatabase.queryChangeDetection to eventReduce and set default to true (no beta anymore)
    • Change .find() and .findOne() to acccept a full MangoQuery with sort and limit instead of just the selector
    • Chained queries like collection.find().where('x').eq('foo') moved out of the core module into the query-builder plugin
    • The internal hash() function does now use a RxDB specific salt
    • Change default of RxDocument().toJSON(withRevAndAttachments) to false
    • Refactored RxCollection
    • Creating a collection will no longer emit an RxChangeEvent
    • Removed RxCollection.docChanges$() because all events are from the docs
    • Renamed RxSchema.jsonID to RxSchema.jsonSchema
    • Moved remaining stuff of leader-election from core into the plugin
    • Merged multiple internal databases for metadata into one internalStore
    • In dev-mode, the GraphQL-replication will run a schema validation of each document that comes from the server

    Other:

    • Removed many runtime type checks that now should be covered by typescript in buildtime
    • The GraphQL replication is now out of beta mode

    ๐Ÿ“„ Docs:

    • Removed examples for require() CommonJS loading