1.2. 3.1.x Branch
1.2.1. Version 3.1.2
This is a security release for a low severity vulnerability. Details of the issue will be published one week after this release. See the CVE database for details at a later time.
1.2.2. Version 3.1.1
1.2.2.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.
- #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.2.2.2. Performance
1.2.2.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 invm.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.2.2.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 theview_multi_key
tests,view_sandboxing
,view_update_seq
.
1.2.3. Version 3.1.0
1.2.3.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.2.3.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.