rxdb

A fast, local first, reactive Database for JavaScript Applications https://rxdb.info/

APACHE-2.0 License

Downloads
69.4K
Stars
20.7K
Committers
235

Bot releases are hidden (Show)

rxdb - 10.0.0-beta.4

Published by pubkey over 3 years ago

Read the release announcement

Breaking:

  • Setting a primaryKey for a schema is now required.

  • When using the type RxJsonSchema<DocType> the DocType is now required.

  • A JsonSchema must have the required array at the top level and it must contain the primary key.

  • Outgoing data is now Readonly typed and deep-frozen in dev mode

  • RxDocument.putAttachment() no longer supports string as data, only Blob or Buffer.

  • Changed the default of putAttachment to skipIfSame=true.

  • Removed the deprecated atomicSet(), use atomicPatch() instead.

  • Removed the deprecated RxDatabase.collection() use RxDatabase().addCollections() instead.

  • Moved everything pouchdb related to the pouchdb plugin.

  • Pouchdb plugins are not longer added via addRxPlugin() but addPouchPlugin(). (RxDB plugins are still added via addRxPlugin).

  • Removed plugin hook preCreatePouchDb.

  • Removed the watch-for-changes plugin, this is now directly integrated into the pouchdb RxStorage.

  • Removed the adapter-check plugin. (The function adapterCheck is move to the pouchdb plugin).

  • Calling RxDatabase.server() now returns a promise that resolves when the server is started up.

  • Changed the defaults of PouchDBExpressServerOptions from the server() method, by default we now store logs in the tmp folder and the config is in memory.

  • Renamed replication-plugin to replication-couchdb to be more consistend in naming like with replication-graphql

    • Renamed RxCollection().sync() to RxCollection().syncCouchDB()
  • Renamed the functions of the json import/export plugin to be less confusing

    • dump() is now exportJSON()
    • importDump() is now importJSON()
  • RxCollection uses a separate pouchdb instance for local documents, so that they can persist during migrations.

Features:

  • Added support for composite primary keys.

Other:

  • Moved all should never happen errors into own error code.

Typings:

  • Improved typings of error codes.
rxdb - 10.0.0-beta.2

Published by pubkey over 3 years ago

Read the release announcement

Breaking:

  • Setting a primaryKey for a schema is now required.

  • When using the type RxJsonSchema<DocType> the DocType is now required.

  • A JsonSchema must have the required array at the top level and it must contain the primary key.

  • Outgoing data is now Readonly typed and deep-frozen in dev mode

  • RxDocument.putAttachment() no longer supports string as data, only Blob or Buffer.

  • Changed the default of putAttachment to skipIfSame=true.

  • Removed the deprecated atomicSet(), use atomicPatch() instead.

  • Removed the deprecated RxDatabase.collection() use RxDatabase().addCollections() instead.

  • Moved everything pouchdb related to the pouchdb plugin.

  • Pouchdb plugins are not longer added via addRxPlugin() but addPouchPlugin(). (RxDB plugins are still added via addRxPlugin).

  • Removed plugin hook preCreatePouchDb.

  • Removed the watch-for-changes plugin, this is now directly integrated into the pouchdb RxStorage.

  • Removed the adapter-check plugin. (The function adapterCheck is move to the pouchdb plugin).

  • Calling RxDatabase.server() now returns a promise that resolves when the server is started up.

  • Changed the defaults of PouchDBExpressServerOptions from the server() method, by default we now store logs in the tmp folder and the config is in memory.

  • Renamed replication-plugin to replication-couchdb to be more consistend in naming like with replication-graphql

    • Renamed RxCollection().sync() to RxCollection().syncCouchDB()
  • Renamed the functions of the json import/export plugin to be less confusing

    • dump() is now exportJSON()
    • importDump() is now importJSON()
  • RxCollection uses a separate pouchdb instance for local documents, so that they can persist during migrations.

Features:

  • Added support for composite primary keys.

Other:

  • Moved all should never happen errors into own error code.

Typings:

  • Improved typings of error codes.
rxdb - 10.0.0-beta.1

Published by pubkey over 3 years ago

Read the full release article

Breaking:

  • Setting a primaryKey for a schema is now required.

  • When using the type RxJsonSchema<DocType> the DocType is now required.

  • Outgoing data is now Readonly typed and deep-frozen in dev mode

  • RxDocument.putAttachment() no longer supports string as data, only Blob or Buffer.

  • Changed the default of putAttachment to skipIfSame=true.

  • Removed the deprecated atomicSet(), use atomicPatch() instead.

  • Removed the deprecated RxDatabase.collection() use RxDatabase().addCollections() instead.

  • Moved everything pouchdb related to the pouchdb plugin.

  • Pouchdb plugins are not longer added via addRxPlugin() but addPouchPlugin(). (RxDB plugins are still added via addRxPlugin).

  • Removed plugin hook preCreatePouchDb.

  • Removed the watch-for-changes plugin, this is now directly integrated into the pouchdb RxStorage.

  • Removed the adapter-check plugin. (The function adapterCheck is move to the pouchdb plugin).

  • Calling RxDatabase.server() now returns a promise that resolves when the server is started up.

  • Changed the defaults of PouchDBExpressServerOptions from the server() method, by default we now store logs in the tmp folder and the config is in memory.

  • Renamed replication-plugin to replication-couchdb to be more consistend in naming like with replication-graphql

    • Renamed RxCollection().sync() to RxCollection().syncCouchDB()
  • Renamed the functions of the json import/export plugin to be less confusing

    • dump() is now exportJSON()
    • importDump() is now importJSON()
  • RxCollection uses a separate pouchdb instance for local documents, so that they can persist during migrations.

rxdb - 9.20.0

Published by pubkey over 3 years ago

Bugfixes:

  • Auto-cancel one time couchdb replications to not cause a memory leak
  • Fixed another memory leak when calling the couchdb replication many times.

Features:

  • Added the backup-plugin

Other:

  • Updated rxjs to version 7.0.1
rxdb - 9.18.0

Published by pubkey over 3 years ago

Bugfixes:

  • Fixed memory leak in RxCollection().findByIds$()

Other:

  • Added collection name when throwing errors in RxQuery
rxdb - 9.17.0

Published by pubkey over 3 years ago

Features:

  • Added possibility to change, update, remove and add RxAttachments inside of a migration strategy.
rxdb - 9.16.0

Published by pubkey over 3 years ago

Features:

  • Added RxDatabase.migrationStates() which returns an observable to observe the state of all ongoing migrations.
  • Added startupPromise to the returned object of RxDatabase().server()

Bugfixes:

  • Ensure every background task is done when RxDatabase.destroy() resolves. #2938

Other:

  • Added analytics to docs page
rxdb - 9.15.0

Published by pubkey over 3 years ago

Bugfixes:

Other:

  • Determinstic handling of revision keys during data migration
  • Added more information to RxError when data migration fails
rxdb - 9.14.0

Published by pubkey over 3 years ago

Features:

  • Added RxReplicationState.awaitInitialReplication()

Bugfixes:

  • Using the replication plugins must not required to also use leader-election
  • Refactor QueryCache.triggerCacheReplacement() to not spawn setTimeout regulary. This is needed for server side rendering with angular universal.

Other:

rxdb - 9.13.0

Published by pubkey over 3 years ago

Features:

Other:

  • Improved typings of insertLocal() #2850 Thanks @openscript
  • Improved typings of bulkInsert()
rxdb - 9.12.1

Published by pubkey over 3 years ago

Bugfixes:

  • #2785 postInsert hook not working when use bulkInsert to insert doc. Thanks @qinyang912
  • Setted sideEffects: true for main module #2798

Other:

  • (docs) added warning about indexeddb adapter
  • Upgraded typescript to 4.1.3
rxdb - 9.12.0

Published by pubkey almost 4 years ago

Features:

  • Allow primary and ref at the same time in a schema. #2747

Bugfixes:

  • #2705 when use bulkInsert to insert doc, the rxDocument property on changeEvent is an object, not a RxDocument instance. Thanks @qinyang912
  • When the mutation function of atomicUpdate() has thrown once, it was not possible to use it again.
rxdb - 9.11.0

Published by pubkey almost 4 years ago

Features:

  • Added putAttachment(skipIfSame), if set to true a write will be skipped if the attachment already exists with the same data.

Bugfixes:

  • awaitInitialReplication() resolves on failed replication #2745. Thanks @dome4
  • insertLocal() not emitted the state change across tabs

Other:

  • Added name identifier to RxPlugin
  • Throw error when dev-mode plugin is added multiple times because there is no way that this was done intentional likely the developer has mixed core and default usage of RxDB.
  • Fix reported security problem with the query builders mquery api.
rxdb - 9.10.1

Published by pubkey almost 4 years ago

Other:

  • Additional refactorings to improve collection creation speed
rxdb - 9.10.0

Published by pubkey almost 4 years ago

Features:

  • Added RxCollection.getLocal$() and RxDatabase.getLocal$() to observe local documents.
  • Added RxDatabase.addCollections() to create multiple collections at once. Is faster and better typed than the now deprecated RxDatabase.collection()

Other:

  • Improved typings for pouchdb.changes()
  • Moved from travisci to github actions
rxdb - 9.9.0

Published by pubkey almost 4 years ago

Other:

  • Improved startup performance by doing a index-exist check
  • Added check for properties to dev-mode schema check
  • Add better checks for query input in dev-mode
rxdb - 9.8.0

Published by pubkey almost 4 years ago

Features:

Bugfixes:

  • (types) Returned values of syncGraphQL() did not type-match with RxGraphQLReplicationState
  • RxDocument.atomicUpdate() now does a retry on 409 write conflicts

Other:

  • Added authentication to graphql example
  • Deprecated RxDocument.atomicSet(). Used atomicPatch instead, it works better with typescript
  • (docs) added workarounds for 6-connection limit at couchdb replication #2659. Thanks @MuresanSergiu
rxdb - 9.7.1

Published by pubkey almost 4 years ago

Bugfixes:

  • Server-Plugin: Replication did not work until there is at least one document.
  • Fix skipping docs in graphql push replication #2627 Thanks @DDoerner
rxdb - 9.7.0

Published by pubkey almost 4 years ago

Bugfixes:

  • RxLocalDocument.$ emitted to often on changes #2471
  • Fix typings of RxReplicationState.collection

Features:

  • Allow to skip docs in push/pull modifiers with the graphql-replication. #2552 Thanks @DDoerner
  • Allow to type the data of RxLocalDocument like myDatabase.getLocal<{foo: string}>('bar')

Other:

  • Refactored GraphQL replication to run faster #2524 Thanks @corinv
rxdb - 9.6.0

Published by pubkey about 4 years ago

Features:

  • Add RxReplicationState.setHeaders() #2399 Thanks @DDoerner
  • Added RxCollection.findByIds$() see

Bugfixes:

  • wrong key handling on compound indexes #2456 Thanks @dome4
  • Nested $or queries where broken when they used the primaryKey in the selector