By: Calvin Metcalf

Published: 12 August 2014



PouchDB 3.0.0 is finally released! It's faster, it's more stable, it's easier to debug, it doesn't freeze the DOM and it spontaneously generates kittens.

Please file issues or tell us what you think. We would also like to give a huge thanks to our new and existing contributors.

This release includes a migration. Your existing database will be updated automatically, but you cannot downgrade to a previous version of PouchDB once you've upgraded.

Breaking Changes:

The browser build pouchdb-nightly.js has been renamed to pouchdb.js . It was never really a nightly anyway. (#2146)

has been renamed to . It was never really a nightly anyway. (#2146) opts.server has been deprecated from the replicate() and sync() APIs. You can still replicate from one HTTP server to another, but the data will flow through PouchDB rather than being server-initiated. (#2313)

has been deprecated from the and APIs. You can still replicate from one HTTP server to another, but the data will flow through PouchDB rather than being server-initiated. (#2313) You can no longer rely on errors to have an identifying name. Instead, rely on CouchDB-centric errors to have a status (i.e. err.status instead of err.name ). There are some that still have an identifying name, but these could be removed at any time. The upside of this is that stack traces should be more consistently helpful. (#2545)

Major Changes:

Constructor option opts.size to work around Safari/iOS storage quotas (#2347)

to work around Safari/iOS storage quotas (#2347) PouchDB.defaults() for default constructor options, which permits many new features in pouchdb-server. (#2054)

for default constructor options, which permits many new features in pouchdb-server. (#2054) _local documents are now unversioned in the underlying backend for better map/reduce performance and to better align the update_seq with CouchDB (#2023). Also fixes an issue with replication and changes() . (#2342)

documents are now unversioned in the underlying backend for better map/reduce performance and to better align the with CouchDB (#2023). Also fixes an issue with replication and . (#2342) Performance improvements. (#2391, #2392, #2393)

MD5 hashes are now calculated incrementally in a way that won't freeze the DOM. (#445, #2497)

More efficient replication. (#2466, #2475)

Bugfixes: