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
androidDatabaseImplementationoption for the SQLite Plugin in Cordova (#3835)
Performance improvements
- Avoid
application/jsonwhenGETing 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/jsonformat. (#3870) - Similarly, for uploading of documents with attachments, use the
multipart/relatedformat rather thanapplication/json, because it is more efficient. This also improves Couchbase Sync Gateway support. (#3876) - Avoid using
readAsBinaryStringwhenreadAsArrayBufferis 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!