.. Licensed under the Apache License, Version 2.0 (the "License"); you may not .. use this file except in compliance with the License. You may obtain a copy of .. the License at .. .. http://www.apache.org/licenses/LICENSE-2.0 .. .. Unless required by applicable law or agreed to in writing, software .. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT .. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the .. License for the specific language governing permissions and limitations under .. the License. .. _release/3.1.x: ============ 3.1.x Branch ============ .. contents:: :depth: 1 :local: .. _release/3.1.2: 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. .. _release/3.1.1: Version 3.1.1 ============= Features and Enhancements ------------------------- .. rst-class:: open * :ghissue:`3102`, :ghissue:`1600`, :ghissue:`2877`, :ghissue:`2041`: When a client disconnects unexpectedly, CouchDB will no longer log a "``normal : unknown``" error. Bring forth the rainbows. .. figure:: ../../images/gf-gnome-rainbows.png :align: center :alt: The Gravity Falls gnome pukes some rainbows for us. * :ghissue:`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.) * :ghissue:`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. Performance ----------- Bugfixes -------- * :ghissue:`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. * :ghissue:`2981`: When handling extremely large documents (≥50MB), CouchDB can no longer time out on a ``gen_server:call`` if bypassing the IOQ. * :ghissue:`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. * :ghissue:`2955` CouchDB now sends the correct CSP header to ensure Fauxton operates correctly with newer browsers. * :ghissue:`3061`, :ghissue:`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. * :ghissue:`3078`: CouchDB now checks for and complains correctly about invalid parameters on database creation. * :ghissue:`3090`: CouchDB now correctly encodes URLs correctly when encoding the ``atts_since`` query string. * :ghissue:`2953`: Some parameters not allowed for text-index queries on partitioned database are now properly validated and rejected. * :ghissue:`3118`: Text-based search indexes may now be cleaned up correctly, even if the design document is now invalid. * :ghissue:`3121`: ``fips`` is now only reported in the welcome message if FIPS mode was enabled at boot (such as in ``vm.args``). * :ghissue:`3128`: Using :method:`COPY` to copy a document will no longer return a JSON result with two ``ok`` fields. * :ghissue:`3138`: Malformed URLs in replication requests or documents will no longer throw an error. 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``. .. _release/3.1.0: Version 3.1.0 ============= Features and Enhancements ------------------------- .. rst-class:: open * :ghissue:`2648`: Authentication via :ref:`JSON Web Token (JWT) `. Full documentation is at the friendly link. * :ghissue:`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. Performance ----------- .. rst-class:: open * :ghissue:`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:`/_active_tasks` endpoint. * A big bowl of candy! OK, no, not really. If you got this far...thank you for reading.