By: Nolan Lawson
Published: 01 June 2015
PouchDB 3.6.0 is a monthly release containing several bugfixes, most notably for "retry" replication and attachment replication. It also contains one minor new feature.
New features
getAttachment()
now supportsrev
(#3871)- Add
androidDatabaseImplementation
option for the SQLite Plugin in Cordova (#3835)
Performance improvements
- Avoid
application/json
whenGET
ing remote documents with attachments. This makes the replicator andget()
s on remote PouchDBs more efficient, by preferring to fetch the attachments directly in separate parallel requests. You may see a negative performance impact if you have many small attachments, in which case you should inline them instead of using attachments. However, "normal" attachment use cases should see a big improvement, because attachments are no longer sent over the wire as base64-encoded strings. This also improves support for syncing attachments in Couchbase Sync Gateway, which does not support theapplication/json
format. (#3870) - Similarly, for uploading of documents with attachments, use the
multipart/related
format rather thanapplication/json
, because it is more efficient. This also improves Couchbase Sync Gateway support. (#3876) - Avoid using
readAsBinaryString
whenreadAsArrayBuffer
is more direct (#3877) - Better bit-twiddling in the md5 checksum (#3878)
Bugfixes
- Fix EventEmitter memory leaks in retry replication (#3858 #3699)
- Fix retry replication when started offline (#3768)
- Fixes for
fetch()
in Service Workers on Chrome 41 (#3885) - Fix a race condition when retry replication is immediately canceled (#3894)
Test infrastructure
- Fuzzy replication tests (#3767)
- Test multiple versions of Node/io.js (#3843)
- BlackBerry Cordova tests (#3818 #3845)
Get in touch
Please file issues or tell us what you think. And as always, a big thanks to all of our new and existing contributors!