Apache CouchDB is supporting the Google Summer of Code

The Apache Software Foundation is participating in GSoC again this
year, and CouchDB is on the project list of course!

By the end of the summer, we hope you’ve above all, had fun, and we’ve
enabled you to make a valued contribution, and ideally help you
continue in your involvement with the CouchDB project.

I’m a student, how do I start?

Check out some of the ideas or suggest your own ones.
Please subscribe to our developer mailing list and join us on IRC
at #couchdb-dev on irc.freenode.net to talk about what you’re interested
in. Don’t forget to read the ASF GsOC guide.

You’ll need to pick your projects and submit proposals from 22nd April
to 3rd May.

I’m interested in being a mentor for the CouchDB project!

Thanks! Please read up on being a mentor and contact
dev@couchdb.apache.org for more details. Previous mentors suggest the effort is around
5h per week on average. Please review the topics list and feel free to
make any adjustments.

Please pass this on to your local user groups, universities, etc. Thanks!

For more information on Google Summer of Code itself, timelines and
proposals, visit the Melange website.

For more information on the Apache Software Foundation, visit our ASF site.

Apache CouchDB 1.3.0 Released

Apache CouchDB 1.3.0 has been released and is available for download.

CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents with your web browser, via HTTP. Query, combine, and transform your documents with JavaScript. CouchDB works well with modern web and mobile apps. You can even serve web apps directly out of CouchDB. And you can distribute your data, or your apps, efficiently using CouchDB’s incremental replication. CouchDB supports master-master setups with automatic conflict detection.

Grab your copy here:


Pre-built packages for Windows and OS X are available.

This release comes with a CouchDB manual, hosted directly out of Futon. A PDF version of the manual is also distributed.

This is a feature release.

These release notes are based on the CHANGES file.

HTTP Interface

  • No longer rewrites the X-CouchDB-Requested-Path during recursive calls to the rewriter.
  • Limit recursion depth in the URL rewriter.

    Defaults to a maximum of 100 invocations but is configurable.

  • Fix _session for IE7.
  • Added Server-Sent Events protocol to db changes API.

    See http://www.w3.org/TR/eventsource/ for details.

  • Make password hashing synchronous when using the /_config/admins API.
  • Include user name in show/list ETags.
  • Experimental support for Cross-Origin Resource Sharing (CORS).

    See http://www.w3.org/TR/cors/ for details.


  • The replicator will use a new server-wide UUID in checkpoint IDs to improve the chances of an efficient resume.

Storage System

  • Fixed unnecessary conflict when deleting and creating a document in the same batch.

View Server

  • Additional response headers may be varied prior to send().
  • GetRow() is now side-effect free.


  • Disabled the link to the Futon test suite.

    These tests were causing problems when run from a browser, and are now available via the CLI instead.

  • Added view request duration to Futon.
  • Disable buttons for actions that the user doesn’t have permissions to.


  • Passwords are now hashed using the PBKDF2 algorithm with a configurable work factor.

Test Suite

  • Moved the JS test suite to the CLI.
  • Improved tracebacks printed by the JS CLI tests.
  • Improved the reliability of a number of tests.

UUID Algorithms

  • Added the utc_id algorithm.

URL Rewriter & Vhosts

  • Database name is encoded during rewriting (allowing embedded /‘s, etc).
  • Reset rewrite counter on new request, avoiding unnecessary request failures due to bogus rewrite limit reports.

Build System

  • C/C++ compiler detection has been improved.
  • Autoconf v2.63 is now required if building from Git checkout directly.

    See DEVELOPERS file for more details.

  • Fixed issue in couchdb script where stopped status returns before process exits.