Bugfixes:
- Unhandled promise rejection with DOMException #644
- Prevent bug with replication of internal pouchdb's #641
- LocalDocument observe on field not working #661
- Skip defining getter and setter when property not defined in schema #646
- (typings) Fix
type: 'object'
not correctly recognized (via gitter at 2018 Mai 22 19:20)
Bugfixes:
- Query cache is not being invalidated by replication #630
Other:
- Updated to rxjs 6.0.0
- Added integration tests for couchdb
Bugfixes:
Other:
- Fixed typings for
additionalProperties
in schemas - Added performance-tests
- Removed workarround for pouchdb#6733
Typings:
- Added optional type for ORM-Methods
Features:
- Added
RxCollection.insert$
,RxCollection.update$
,RxCollection.remove$
read the docs
Other:
- Added
dangerousRemoveCollectionInfo()
for migrations over rxdb-versions. - Improved typings for
RxChangeEvent
Bugfixes:
- Wrong index used when no sort specified #609
Other:
- Improved typings of
RxChangeEvent
thx @hubgit
Bugfixes:
- Sort by sub object is not working #585
- Encrypted attachments not working inside of electron-renderer #587
- Schema fails with sub-sub-index #590
- Default value not applied when the stored value is
undefined
#596
Bugfixes:
- Wrong typings with custom build #576
Features:
Bugfixes:
- Remove preinstall-script #558 thx @adam-lebon
Features:
- Added
RxDatabase.server()
to quickly spawn couchdb-compatibe endpoint out of RxDB. Read this - Use
CustomIdleQueue
for atomic updates to enable #494
Bugfixes:
Other:
- Update to pouchdb version 6.4.3
- Improve performance by using the profiler
- Added typings for internal
pouchdb
-instance
Features:
- Upgraded to pouchdb 6.4.2. Read this
Typings:
- Fix
RxCollection.findOne()
can returnnull
Other:
- Improved react-native-example thx @Darkbladecr
Bugfixes:
Features:
- Added ajv-validate-plugin. Thx @rybaczewa
Bugfixes:
- inMemory() throws error when using primary-key #401
Other:
- Update to pouchdb 6.4.0
- Optimize socket-pull by comparing internal last-change-time
- do not hide fields with
value: undefined
in error-message #403
Warning:
- Removed automatic import of
pouchdb-adapter-memory
for in-memory-collections. Read this
Features:
- Added options-parameter
- Added
postCreateRxDocument
plugin-hook - Added no-validate-plugin
- Added typings for
RxPlugin
Bugfixes:
- Query-Cache not used when declaring queries without mango-chain
Other:
- Do not throw errors if the same plugin is added multiple times
- Allow getting the collection via
RxDatabase().collection(name: string)
- Allow recreating the collection with different schema, if it has no documents
- Split out error-messages into separate own plugin
Bugfixes:
- Error on key-compression when nested value is null
- Fix typings of
RxDocument.putAttachment()
Other:
- Reduced build-size by using rxjs-lettable-operators. Read this if you have problems.
- Improved typings #368 thx @FlorianKoerner
Bugfixes:
- Include
pouchdb-adapter-memory
as dependency #365
Breaking:
Features:
- Added attachments
- Added final fields
- Added inMemory-collections
- Added local documents
Bugfixes:
- Added error-message when you json-import on a non-existing collection #319
- Allow windows-foldernames (with backslash) as collection-name 343
Other:
- Split out idle-queue into own npm-module
- Enfore usage of strict-equality via eslint
- Fix
core is not defined
#296
Breaking:
- Filenames are now kebab-case
pouchdb-replication
-plugin is now imported by default, do not import it by your own.RxDB.create()
throws if you create the same database twice. (You can use ignoreDuplicate)
Features:
- Added RxDatabase.requestIdlePromise()
- Added RxDB.checkAdapter()
- Added ignoreDuplicate-parameter to
RxDB.create()
Custom-Build:
- Custom-build is now out of beta
- If you use a custom-build, you have to change the import-paths. See custom-build
- Replication is now its own module see
- Json import/exportis now its own module see
Bugfixes:
- Allow null-selector #267
RxQuery.exec()
throws when out of change-event-buffer-bounds #278- Fix deprecated warning that sometimes occurs with indexeddb-adapter
db.type()
- Add fallback to leader-election when unload not works (mostly when you use RxDB inside of an iFrame)
Other:
- Use
RxError
-class to throw Custom errors with theparameters
-attribute - Optimize leader-election to not waste resources when many tabs open
- Optimize schema-parsing when multiple collections have the same schema
- Reduced build-size by only using async/await if it makes sense
- Pre-Parse schema to validator when requestIdleCallback available
- Optimize socket-cleanup by using
requestIdlePromise
- Added plugin-hook for
preCreatePouchDb
Features:
- Added custom builds
- Added plugin-support
- Added default exports. Use
import RxDB from 'rxdb'
instead ofimport * as RxDB from 'rxdb'
Bugfixes:
RxQuery.or()
did not work with KeyCompression #252
Quickfix because of new pouchdb-import
Features:
- Added RxCollection.atomicUpsert
- Added defaul values
- Added generic typings so it's easier to be extended see
Other:
- Split out test-util into its own npm-module async-test-util
- Upgrade to pouchdb version 6.3.4
Bugfixes:
- Settings values to
null
did not work on temporaryDocuments #215 RxDocument.atomicUpdate()
did not run when reusing after a whileRxQuery.toString()
was sometimes not predictable
WARNING: If you use RxDB with angular2||zone.js, you might have the error _global is not defined. Wait for the next zone.js release before updating RxDB.
Features:
- Added instanceOf-checks
Bugfixes:
- AutoMigrated caused infinity-loop #212
- Minor bugs on the typings
Other:
- Use requestIdleCallback on non-prio-tasks for better performance on browsers
- Optimise socket-pull-intervall to not waste resources on slow devices
- split out test-util from util to optimize build-size
- remove lodash completely
Features:
- Added
RxDocument.atomicUpdate()
docs - Added
RxCollection.remove()
docs - Added
RxDatabase.remove()
docs - Added options for
RxCollection.sync()
: direction and pouchdb-replication-settings docs - Added query-param for
RxCollection.sync()
to allow selector-based replication docs - Added TemporaryDocuments
RxCollection.newDocument()
docs
Breaking:
postCreate
-hooks can no longer be asyncRxCollection.sync()
completely changed docs
Other:
- Added .babelrc to .npmignore
- Added build-tests to travis
Features:
- Added
postCreate
-hook #165 - Added
RxQuery.update()
andRxDocument.update()
#143 Thanks @lgandecki
Bugfixes:
Other:
- Throw error if
RxQuery.sort()
runs on field which is not in the schema #146 - extract
watchForChanges
to allow custom sync-operations #197 - Added travis-ci
Bugfixes:
- Ensure es6-build does not contain es7-features
- Ensure everything works after using UglifyJs
Bugfixes:
jsnext:main
andmodule
now point to es6 instead of es7-stage-0 commit issue- Sort on primary fails without non-id primary commit
- QueryChangeDetection breaks on no-resort-optimisation commit
Breaking:
- RxQuery's are now immutable
- RxQuery.$ does not emit
null
when running - RxQuery will sort by primary (ASC) as default
Features:
- Added QueryChangeDetection (in beta, disabled by default)
Other:
- upgraded to pouchdb v6.2.0
- re-executing queries while nothing happend to the collection, is now fetched
Bugfixes:
findOne().$
did not havelimit:1
findOne(string).$
streams all documents when_id
as primary
Bugfixes:
- Fixed es6-imports for webpack-builds
Features:
- Population can now be done on arrays
Other:
- improved typings
Bugfixes:
- overwrites default selector on
RxQuery.sort()
Other:
- Refactor RxQuery for better performance
- Refactor mquery for smaller build
- More tests for RxQuery
Bugfixes:
- Vuejs runs populate-getter on changedetection #75
isDeepEqual
does not work correctly for Arrays #76- wrong
storageEngine
in the typings
Features:
- Added RxDocument.deleted
- Added RxDocument.synced
- moved from jsonschema to is-my-json-valid
Bugfixes:
- No error on sync when remote document is deleted 680f75bfcbda3f71b6ba0a95ceecdc6b6f30ba58
Bugfixes:
- compound-index not being created #68
Bugfixes:
- new document does not get new state on remove-reinsert #66
Features:
- added DataMigration
- added ORM/DRM-capabilities
- added RxQuery.remove()
- added Population
- added RxDocument.deleted$
- added RxDocument.synced$
- added RxDocument.resnyc()
- added RxCollection.upsert()
- non-top-level-indexes are now allowed
RxQuery.sort()
now works on non-top-level-indexes
Bugfixes:
- running
RxDocument().save()
twice did not work
Breaking:
- Collection-names must match
^[a-z][a-z0-9]*$
Fixes #45 - RxDB.create has new api with destructuring see
- RxDatabase.collection() has new api with destructuring see
- schema-fieldnames must match the regex:
^[a-zA-Z][[a-zA-Z0-9_]*]?[a-zA-Z0-9]$
RxDatabase.collection()
only to create collection, usemyDatabase.heroes
to get existing oneRxDB.create()
multiInstance is now true by defaultrxjs
andbabel-polyfill
are now peerDependencies
Features:
- possibility to add
pouchSettings
when creating a collection - typings compatible with
noImplicitAny
Typescript projects
Bugfixes:
- top-level array of document not working #50
- event on document.remove() not fired at query-obserable #52
Features:
- save full schema in internal database once
Bugfixes:
- Throw when .findOne() is called with number or array
- ADD babel-polyfill to dependencies #40
Bugfixes:
- Throw when .regex() is used on primary
Refactor:
- Because IE11 does not support the Proxy-Object, defineGetter/Setter is now used
- Tests now run in all installed browsers
Bugfixes:
- Fixed tests for IE11
Features:
- key-compression for better space-usage
Breaking:
- schema-objects are now normalized (order alphabetic) before hashing
- RxQuery.select() is removed since it has no better performance than getting the whole document
- RxChangeEvent on sockets do no longer contain the documents-data for performance-reason
- RxQuery.$ only emits when the result actually changes #31
Bugfixes:
- console.dir on RxDocument now works
Features:
Features:
- add middleware-hooks
Bugfixes:
- direct import 'url'-module for react native
Features:
- refactor socket to save db-io
- wrap BroadcastChannel-API
- added leader-election
- sync() will only start if db is leader
Bugfixes:
- cleanup all databases after tests
- remove broken builds from dist-folder