3.0.1 & 3.1.0

Dear community,

Apache CouchDB 3.0.1 & 3.1.0 have been released and is available for download.

Apache CouchDB™ lets you access your data where you need it. The Couch Replication Protocol is implemented in a variety of projects and products that span every imaginable computing environment from globally distributed server-clusters, over mobile phones to web browsers.

Store your data safely, on your own servers, or with any leading cloud provider. Your web- and native applications love CouchDB, because it speaks JSON natively and supports binary data for all your data storage needs.

The Couch Replication Protocol lets your data flow seamlessly between server clusters to mobile phones and web browsers, enabling a compelling offline-first user-experience while maintaining high performance and strong reliability. CouchDB comes with a developer-friendly query language, and optionally MapReduce for simple, efficient, and comprehensive data retrieval.


Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are available for the 3.1.0 version and Debian/Ubuntu and RHEL/CentOS package are available for the 3.0.1 version; Windows and macOS will be added shortly.

* * *

CouchDB 3.0.1 is a bugfix release, and was originally published on 2020-05-05.

See the official release notes document for an exhaustive list of all changes:


CouchDB 3.1.0 is a feature release, and was originally published on 2020-05-05.

See the official release notes document for an exhaustive list of all changes:


The community would like to thank all contributors for their part in making this release, from the smallest bug report or patch to major contributions in code, design, or marketing, we couldn’t have done it without you!

The CouchDB team recommends that everyone who runs version 3.0.0 upgrades to version 3.1.0. However we understand that there are certain users with stricter upgrade policies in place, which is why we also provide 3.0.1 as a pure bugfix release.

Release highlights (3.0.1 & 3.1.0):

  • #2441: A memory leak when encoding large binary content was patched. This should resolve a long-standing gradual memory increase bug in CouchDB.
  • #2654: Filtered changes feeds that need to rewind partially should no longer rewind all the way to the beginning of the feed.
  • #2690: Nodes that re-enter a cluster after a database was created (while the node was offline or in maintenance mode) should more correctly handle creating local replicas of that database.
  • #2716, #2738: The remsh utility will now try and guess the node name and Erlang cookie of the local installation. It will also respect the COUCHDB_ARGS_FILE environment variable.
  • #2756: SpiderMonkey 60+ will no longer corrupt UTF-8 strings when various JS functions are applied to them.
  • Multiple test case improvements, including more ports of JS tests to Elixir.

Release highlights (3.1.0 only):

  • #2648: Authentication via JSON Web Token (JWT). Full documentation is at the friendly link.

  • #2770: CouchDB now supports linking against SpiderMonkey 68, the current Mozilla SpiderMonkey ESR release. This provides direct support for packaging on the latest operating system variants, including Ubuntu 20.04 “Focal Fossa.”

  • #2754: Optimized compactor performance, resulting in a 40% speed improvement when document revisions approach the revs_limit. The fixes also include additional metrics on size tracking during the sort and copy phases, accessible via the :get:`GET /_active_tasks </active_tasks>` endpoint.

On behalf of the CouchDB PMC,
Joan Touzet & Jan Lehnardt