couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <>
Subject [ANNOUNCE] Apache CouchDB 2.2.0 released
Date Wed, 08 Aug 2018 08:09:58 GMT
Dear community,

Apache CouchDB 2.2.0 has 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.

Download your copy here:

Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are available. Docker
images are in the publication process[1].

CouchDB 2.2.0 is a feature release, and was originally published on 2018-08-08.

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!

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

Release Notes highlights:

  - New pluggable storage engine framework. This internal refactor makes it possible for CouchDB
to use different backends for storing the base database file itself. The refactor included
a full migration of the existing “legacy” storage engine into the new framework

  - The minimum supported version of Erlang is now R17, not 16B03. Support for Erlang 21 is
still ongoing and will be provided in a future release.

  - The CouchDB replicator can now make use of the /_session endpoint rather than relying
entirely on HTTP basic authentication headers. This can greatly improve replication performance.

  - CouchDB no longer fails to complete replicating databases with large attachments. The
fix for this issue included several related changes (GitHub issue 745[2]

  - Multiple queries can now be made at the POST /{db}/_all_docs/queries, POST /{db}/_design_docs/queries
and POST /{db}/_local_docs/queries endpoints. Also, a new endpoint POST /{db}/_design/{ddoc}/_view/{view}/queries

  - The least recently used (LRU) cache of databases is now only updated on database write,
not read. This has lead to significant performance enhancements on very busy clusters.

  - The revision stemming algorithm was optimized down from O(N^2) to O(N) via a depth-first
search approach, and then further improved by calling the stemming operation only when necessary.

  - CouchDB now checks for request authorization only once per each database request, improving
the performance of any request that requires authorization.

  - If a user specifies a value for use_index that is not valid for the selector (does not
meet coverage requirements or proper sort fields), attempt to fall back to a valid index or
full DB scan rather than returning a 400.

  - CouchDB now includes a new builtin reduce function_approx_count_distinct, that uses a
HyperLogLog algorithm to estimate the number of distinct keys in the view index. The precision
is currently fixed to 2^11 observables, and therefore uses approximately 1.5KB of memory.

  - Much improved documentation. Highlights include:
    - A complete rewrite of the sharding documentation[3].
    - Developer installation notes (INSTALL.*.rst)
    - Much of the content of the original CouchDB Wiki has been imported into the official
docs. (The old CouchDB Wiki is in the process of being deprecated.)
  - Much improved Fauxton functionality. Highlights include:
    - Search support in the code editor
    - Support for relative Fauxton URLs (i.e., not always at /_utils)
    - Replication setup enhancements for various authentication mechanisms
    - Fixes for IE10, IE11, and Edge (we hope…)
    - Resolving conflicts of design documents is now allowed
- Many more smaller bug fixes and performance improvements, as well as more features and refinements.
See the release notes for a full list:

On behalf of the CouchDB PMC,
Jan Lehnardt

View raw message