Dale Harvey

By: Dale Harvey
Published: 10 November 2014

Today marks the dawn of a new PouchDB release, 3.1.0 is released today with a whole bunch of goodness. Here are some of the highlights:

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.

PouchDB Guides (#2766)

Nolan Lawson and Nick Colley worked together to produce some excellent guides to PouchDB which you can see @ /guides/. They cover a lot of the issues surrounding building PouchDB applications including conflicts and promises vs callbacks. As a bonus the guides as well as the rest of the website now work offline.

Compaction removes orphaned attachments (#2818)

If you have been using attachments in your PouchDB databases, you may have noticed that it was a bit bigger round the waist than it should have been. We now work harder to ensure there isnt any extra things lying around the database taking up space that you no longer need. This change came along with a lot of compaction and attachment related fixes: #2890, #2905, #2951

Test against CouchDB master (#2850)

There is a big change brewing in CouchDB world, https://issues.apache.org/jira/browse/COUCHDB-1843 is in progress to merge the clustered 'BigCouch' merge from Cloudant into CouchDB master. This will represent a big change towards CouchDB however there is no need to worry, we now run all of our tests against the current master CouchDB (and they are all green!) so when the big CouchDB 2.0 release comes, your PouchDB applications will continue to work as well as before.

In related news

We keep a list of plugins and related external projects to PouchDB, here are a few new ones we added during this month:

  • PouchDB Dump and Load are designed to help you load data into your newly started PouchDB app faster than replication will do currently.
  • If you want to use PouchDB with Angular, you are in luck, there are now 4! adapters to help you integrate them: angular-pouchdb, Factoryng, ngPouch, ng-pouchdb.
  • Ember users aren't left in the wild: ember-pouchdb should get you going with PouchDB and Ember.
  • If you are using Blobs with PouchDB, you probably want to take a look at blob-util.

Bug fixes Galore

Some of the other important fixes include:

  • (#2951) - fix concurrency in leveldb.js
  • (#2935) - new_edits=false works regardless of order
  • (#2867) - do not stack notify change listeners
  • (#2779) - fix undeletion with wrong rev
  • (#2794) - explain normal 404s in console.info
  • (#2841) - respect options when making dependent dbs
  • (#2844) - Encode attachment names
  • (#2807) - auto_compaction properly trims tree
  • (#2708) - implement attachment stub length

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