<commit_before>.. 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/2.0.x:

============
2.0.x Branch
============

.. contents::
    :depth: 1
    :local:

.. _release/2.0.x/upgrade:

Upgrade Notes
=============

* Temporary views are no longer supported.
* It is possible to have multiple replicator databases.
  ``replicator/db`` config option has been removed.
  Instead ``_replicator`` and any database names ending
  with the ``/_replicator`` suffix will be recognized as
  replicator databases by the system.
* Note that the semantics of some API calls have changed due to the introduction
  of the clustering feature. Specifically, make note of the difference between
  receiving a ``201`` and a ``202`` when storing a document.
* ``all_or_nothing`` is no longer supported by the :ref:`bulk_docs
  <api/db/bulk_docs>` API

.. _release/2.0.0:

Version 2.0.0
=============

* Native clustering is now supported. Rather than use CouchDB replication
  between multiple, distinct CouchDB servers, configure a cluster of CouchDB
  nodes. These nodes will use an optimized Erlang-driven 'internal replication'
  to ensure data durability and accessibility. Combine a clustered CouchDB with
  a load balancer (such as ``haproxy``) to scale CouchDB out horizontally. More
  details of the clustering feature are available in the :ref:`cluster`.
* `Futon` replaced by brand-new, completely re-engineered `Fauxton` interface.
  URL remains the same.
* The new Mango Query Server provides a simple JSON-based way to perform CouchDB
  queries without JavaScript or MapReduce. Further details are available in the
  :ref:`_find, _index and _explain API <api/db/_find>`.
* Mango :ref:`selectors <changes/filter/selector>` can be used in _changes
  feeds instead of JavaScript MapReduce filters. Mango has been tested to be
  up to an order of magnitude (10x) faster than JavaScript in this application.
* :ref:`Rewrite rules <api/ddoc/rewrite>` for URLs can be performed using
  JavaScript functions.
* :ref:`Multiple queries <api/ddoc/view/multiple_queries>` can be made of a
  view with a single HTTP request.
* Views can be queried with sorting turned off ( ``sorted=false``) for a
  performance boost.
* The update sequences returned by the :ref:`api/db/changes` feed are no longer
  just integers. They can be any JSON value.
* The global changes feed has been enhanced. It is now resumable and persistent.
* New endpoints added (documentation forthcoming for some):

  * :ref:`api/server/membership`
  * ``/_bulk_get``
  * ``/_node/``
  * ``/_cluster_setup``
  * ``/_up``
  * ``/db/_local_docs`` and ``/db/_design_docs`` (similar to ``/db/_all_docs``)

* "Backend" interface on port 5986 used for specific cluster admin tasks. Of
  interest are the ``_nodes`` and ``_dbs`` databases visible only through this
  interface.
* Support added for Erlang/OTP 17.x, 18.x and 19
* New streamlined build system written for Microsoft Windows

.. _release/2.0.x/knownissues:

Known Issues
============

All `known issues`_ filed against the 2.0 release are contained within the<commit_msg>features before upgrade notes<commit_after>.. 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/2.0.x:

============
2.0.x Branch
============

.. contents::
    :depth: 1
    :local:

.. _release/2.0.0:

Version 2.0.0
=============

* Native clustering is now supported. Rather than use CouchDB replication
  between multiple, distinct CouchDB servers, configure a cluster of CouchDB
  nodes. These nodes will use an optimized Erlang-driven 'internal replication'
  to ensure data durability and accessibility. Combine a clustered CouchDB with
  a load balancer (such as ``haproxy``) to scale CouchDB out horizontally. More
  details of the clustering feature are available in the :ref:`cluster`.
* `Futon` replaced by brand-new, completely re-engineered `Fauxton` interface.
  URL remains the same.
* The new Mango Query Server provides a simple JSON-based way to perform CouchDB
  queries without JavaScript or MapReduce. Further details are available in the
  :ref:`_find, _index and _explain API <api/db/_find>`.
* Mango :ref:`selectors <changes/filter/selector>` can be used in _changes
  feeds instead of JavaScript MapReduce filters. Mango has been tested to be
  up to an order of magnitude (10x) faster than JavaScript in this application.
* :ref:`Rewrite rules <api/ddoc/rewrite>` for URLs can be performed using
  JavaScript functions.
* :ref:`Multiple queries <api/ddoc/view/multiple_queries>` can be made of a
  view with a single HTTP request.
* Views can be queried with sorting turned off ( ``sorted=false``) for a
  performance boost.
* The update sequences returned by the :ref:`api/db/changes` feed are no longer
  just integers. They can be any JSON value.
* The global changes feed has been enhanced. It is now resumable and persistent.
* New endpoints added (documentation forthcoming for some):

  * :ref:`api/server/membership`
  * ``/_bulk_get``
  * ``/_node/``
  * ``/_cluster_setup``
  * ``/_up``
  * ``/db/_local_docs`` and ``/db/_design_docs`` (similar to ``/db/_all_docs``)

* "Backend" interface on port 5986 used for specific cluster admin tasks. Of
  interest are the ``_nodes`` and ``_dbs`` databases visible only through this
  interface.
* Support added for Erlang/OTP 17.x, 18.x and 19
* New streamlined build system written for Microsoft Windows

.. _release/2.0.x/upgrade:

Upgrade Notes
=============

* Temporary views are no longer supported.
* It is possible to have multiple replicator databases.
  ``replicator/db`` config option has been removed.
  Instead ``_replicator`` and any database names ending
  with the ``/_replicator`` suffix will be recognized as
  replicator databases by the system.
* Note that the semantics of some API calls have changed due to the introduction
  of the clustering feature. Specifically, make note of the difference between
  receiving a ``201`` and a ``202`` when storing a document.
* ``all_or_nothing`` is no longer supported by the :ref:`bulk_docs
  <api/db/bulk_docs>` API

.. _release/2.0.x/knownissues:

Known Issues
============

All `known issues`_ filed against the 2.0 release are contained within the
{'fraction_non_alphanumeric': 0.10339077265147303, 'fraction_numerical': 0.01083935519733185, 'mean_word_length': 4.0754583921015515, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2185000', 'n_tokens_mistral': 2094, 'n_tokens_neox': 1971, 'n_words': 918}