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

Published by pubkey over 2 years ago

Bugfixes:

  • RxDocument.toJSON() is leaking meta field _deleted. #3645 Thanks @Bessonov

Features:

  • Allow truthy values for the GraphQL replication deletedFlag field. #3644 Thanks @nirvdrum

Other:

  • .findOne(documentId) should use RxStorage().findDocumentsById() instead of RxStorage().query()
rxdb - 11.3.0

Published by pubkey almost 3 years ago

Bugfixes:

  • GraphQL replication: Unnecessary local document writes fill up the database #3627 Thanks @hdwatts
rxdb - 11.2.0

Published by pubkey almost 3 years ago

Bugfixes:

  • Replication Primitives: Local writes while running the pull must not be lost but send to the remote.
  • Replication Primitives: Should not stack up failed runs and then run many times.
  • Support composite indices in schema literal types #3609 Thanks @nirvdrum
rxdb - 11.1.0

Published by pubkey almost 3 years ago

Features:

  • Added toTypedRxJsonSchema and ExtractDocumentTypeFromTypedRxJsonSchema to generate the document types from the schema.
rxdb - 11.0.0

Published by pubkey almost 3 years ago

BREAKING:

  • RxStorage: The non async functions prepareQuery, getSortComparator and getQueryMatcher have been moved out of RxStorageInstance into RxStorage. This was needed to have better WebWorker support. This will not affect you do not use a custom RxStorage implementation.
  • LokiJS: Do not use the IdleQueue of the RxDatabase to handle calls to saveDatabase(), instead wait for CPU idleness of the JavaScript process.
  • RxStorageInterface:
    • Replaced all Map with plain json objects so that they can be JSON.stringify-ed
    • Replaced typings of event stream to use EventBulk and process events in bulks to save performance.
    • Move all static methods into the statics property so we can code-split when using the worker plugin.
    • digest and length of attachment data is now created by RxDB, not by the RxStorage. #3548
    • Added the statics hashKey property to identify the used hash function.
  • Internally all events are handles via bulks, this saves performance when events are transfered over a WebWorker or a BroadcastChannel.
  • Removed the deprecated recieved methods, use received instead. See #3392
  • Removed the no-validate plugin. To use RxDB without schema validation, just do not add a validation plugin to your custom build.

Bugfixes:

  • Do not throw an error when database is destroyed while a GraphQL replication is running.
  • Compound primary key migration throws "Value of primary key(s) cannot be changed" #3546 Thanks @nothingkid
  • Allow _id as primaryKey #3562 Thanks @SuperKirik
  • LokiJS: Remote operations do never resolve when remote instance was leader and died.

Other:

  • LokiJS: All documents are stored with a $lastWriteAt field, so we can implement an auto compaction later.
  • Transpile async/await to promises instead of generators. via babel-plugin-transform-async-to-promises
rxdb - 11.0.0-beta.11

Published by pubkey almost 3 years ago

11.0.0-beta.X BREAKING read the announcement

BREAKING:

  • RxStorage: The non async functions prepareQuery, getSortComparator and getQueryMatcher have been moved out of RxStorageInstance into RxStorage. This was needed to have better WebWorker support. This will not affect you do not use a custom RxStorage implementation.
  • LokiJS: Do not use the IdleQueue of the RxDatabase to handle calls to saveDatabase(), instead wait for CPU idleness of the JavaScript process.
  • RxStorageInterface:
    • Replaced all Map with plain json objects so that they can be JSON.stringify-ed
    • Replaced typings of event stream to use EventBulk and process events in bulks to save performance.
    • Move all static methods into the statics property so we can code-split when using the worker plugin.
    • digest and length of attachment data is now created by RxDB, not by the RxStorage. #3548
    • Added the statics hashKey property to identify the used hash function.
  • Internally all events are handles via bulks, this saves performance when events are transfered over a WebWorker or a BroadcastChannel.
  • Removed the deprecated recieved methods, use received instead. See #3392

Bugfixes:

  • Do not throw an error when database is destroyed while a GraphQL replication is running.
  • Compound primary key migration throws "Value of primary key(s) cannot be changed" #3546 Thanks @nothingkid
  • Allow _id as primaryKey #3562 Thanks @SuperKirik

Other:

  • LokiJS: All documents are stored with a $lastWriteAt field, so we can implement an auto compaction later.
  • Transpile async/await to promises instead of generators. via babel-plugin-transform-async-to-promises
rxdb - 10.5.4

Published by pubkey almost 3 years ago

Bugfixes:

  • LokiJS: Do not call saveDatabase() when no persistence adapter is given.
  • Query returns outdated result in second subscription #3498 Thanks @swnf
  • Spawning a server when full leveldown-module is used must not throw an error.
rxdb - 10.5.3

Published by pubkey almost 3 years ago

Bugfixes:

  • PouchDB: getSortComparator() broken on some complex $or query.
rxdb - 10.5.2

Published by pubkey almost 3 years ago

Other:

  • GraphQL replication must wait for requestIdlePromise to not slow down more important tasks.

Bugfixes:

  • LokiJS: Directly create local state when instance becomes leader.
  • LokiJS: mustUseLocalState() should not create multiple local states.
rxdb - 10.5.1

Published by pubkey almost 3 years ago

Bugfixes:

  • GraphQL replication should affect requestIdlePromise and while replication IO is running, the database must not be idle.
  • Creating a collection that has existed before must not cause a database write.
  • LokiJS: Fixed error log when reloading while having the database open in multiple browser tabs.
rxdb - 10.5.0

Published by pubkey almost 3 years ago

Other:

  • Removed useless runtime check of database name, only check in dev-mode.

Changes:

  • LokiJS: Use custom save handler instead of setting autosave: true
rxdb - 10.4.1

Published by pubkey almost 3 years ago

Other:

  • Decreased build size by not importing pouchdb-utils
  • Improve build size and performance by replacing deep-equal with fast-deep-equal
  • Remove module random-token and use the same random string generator everywhere.
rxdb - 10.4.0

Published by pubkey almost 3 years ago

Bugfixes:

  • LokiJS: Ensure events emit exact the same data as with PouchDB.
  • LokiJS: Queries with limit and skip where broken.
  • LokiJS: Fix all bugs and run the whole test suite with LokiJS Storage
  • Fix PouchDB RxStorage returned sometimes wrong sort comparison results.

Other:

  • Updated event-reduce for more optimizations.
  • Allow dash character - in collection and database names.
rxdb - 10.3.5

Published by pubkey almost 3 years ago

Bugfixes:

  • LokiJS findDocumentsById() returned additional $loki property.
  • LokiJS bulkAddRevisions() must not mutate the input.
  • LokiJS deletes on GraphQL replication must work.
rxdb - 10.3.3

Published by pubkey almost 3 years ago

Bugfixes:

  • LokiJS Storate must have a deterministic sort order.
rxdb - 10.3.2

Published by pubkey almost 3 years ago

Bugfixes:

  • Sort queries broken with LokiJS RxStorage.
rxdb - 10.3.1

Published by pubkey almost 3 years ago

Bugfixes:

  • Fix endless loop when using GrapQL-replication & LokiJS RxStorage.
rxdb - 10.3.0

Published by pubkey almost 3 years ago

Features:

Bugfixes:

  • Fixed missing closings of RxStorage instances when the database or collection is destroyed.

Other:

  • Improved performance of write operations.
  • Removed unnecessary abstraction layer of LeaderElector
rxdb - 10.2.2

Published by pubkey almost 3 years ago

Bugfixes:

  • Migration with attachments removes attachment mime types #3460 Thanks @swnf

Other:

  • Improved performance when many queries are created in a short timespan.
rxdb - 10.2.1

Published by pubkey about 3 years ago

Bugfixes:

  • GraphQL replication: push not working with keyCompression.
  • Buffer is not available in browsers #3454 Thanks @swnf