1.1. 3.1.x Branch

1.1.1. Version 3.1.1

1.1.1.1. Features and Enhancements

  • #3102, #1600, #2877, #2041: When a client disconnects unexpectedly, CouchDB will no longer log a “normal : unknown” error. Bring forth the rainbows.

The Gravity Falls gnome pukes some rainbows for us.

  • #3109: Drilldown parameters for text index searches may now be specified as a list of lists, to avoid having to define this redundantly in a single query. (Some languages don’t have this facility.)
  • #3132: The new [chttpd] buffer_response option can be enabled to delay the start of a response until the end has been calculated. This increases memory usage, but simplifies client error handling as it eliminates the possibility that a response may be deliberately terminated midway through, due to a timeout. This config value may be changed at runtime, without impacting any in-flight responses.

1.1.1.2. Performance

1.1.1.3. Bugfixes

  • #2935: The replicator now correctly picks jobs to restart during rescheduling, where previously with high load it may have failed to try to restart crashed jobs.
  • #2981: When handling extremely large documents (≥50MB), CouchDB can no longer time out on a gen_server:call if bypassing the IOQ.
  • #2941: CouchDB will no longer fail to compact databases if it finds files from a 2.x compaction process (prior to an upgrade) on disk.
  • #2955 CouchDB now sends the correct CSP header to ensure Fauxton operates correctly with newer browsers.
  • #3061, #3080: The couch_index server won’t crash and log errors if a design document is deleted while that index is building, or when a ddoc is added immediately after database creation.
  • #3078: CouchDB now checks for and complains correctly about invalid parameters on database creation.
  • #3090: CouchDB now correctly encodes URLs correctly when encoding the atts_since query string.
  • #2953: Some parameters not allowed for text-index queries on partitioned database are now properly validated and rejected.
  • #3118: Text-based search indexes may now be cleaned up correctly, even if the design document is now invalid.
  • #3121: fips is now only reported in the welcome message if FIPS mode was enabled at boot (such as in vm.args).
  • #3128: Using COPY to copy a document will no longer return a JSON result with two ok fields.
  • #3138: Malformed URLs in replication requests or documents will no longer throw an error.

1.1.1.4. Other

  • JS tests skip faster now.
  • More JS tests ported into elixir: reader_acl, reduce_builtin, reduce_false, rev_stemming, update_documents, view_collation_raw, view_compaction, all the view_multi_key tests, view_sandboxing, view_update_seq.

1.1.2. Version 3.1.0

1.1.2.1. Features and Enhancements

  • #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.”

  • A new Fauxton release is included, with updated dependencies, and a new optional

    CouchDB news page.

1.1.2.2. Performance

  • #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.

  • A big bowl of candy! OK, no, not really. If you got this far…thank you for reading.