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 visible (Hide)

rxdb - 10.2.0

Published by pubkey about 3 years ago

Bugfixes:

Other:

  • We now have set sideEffects: false to the default in the package.json so tree shaking can work.
  • Optimized memory usage in the query cache.

Features:

rxdb - 10.1.0

Published by pubkey about 3 years ago

Other:

  • Refactored the migration plugin for better performance by writing the documents in bulk requests
  • Added svelte example #3287 Thanks @bkeating
  • Improved error messages

Bugfixes:

  • #3319 Graphql replication checkpoint was not deleted after running RxDatabase.remove()
  • Fixed spelling of recieved -> received everywhere. The old getters are still useable but deprecated #3392. Thanks chrisdrackett
rxdb - 10.0.3

Published by pubkey about 3 years ago

Bugfixes:

  • Calling bulk-methods with an empty array must not throw an error.
  • RxCollection.remove() does not delete local documents #3319
rxdb - 10.0.0

Published by pubkey over 3 years ago

Read the release announcement here

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 - 9.21.0

Published by pubkey over 3 years ago

Features:

  • Added dataPath property to GraphQL replication pull options to allow the document JSON lookup path to configured instead of assuming the document data is always the first child of the response #2606 Thanks @joshmcarthur

Types:

  • getLocal() can return undefined. Thanks @chrisdrackett
  • Fixed typings in the dependencies so you can use noUncheckedIndexedAccess. Thanks @seanwu1105

ANNNNOUNCEMENT: Please test the beta version of 10.0.0

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