You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by wo...@apache.org on 2018/07/24 00:04:11 UTC

[couchdb-documentation] branch 2.2.0-release-notes updated (2ab4aa9 -> f628731)

This is an automated email from the ASF dual-hosted git repository.

wohali pushed a change to branch 2.2.0-release-notes
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git.


    omit 2ab4aa9  [WIP] Partial 2.2 release notes
     new f628731  [WIP] Partial 2.2 release notes

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (2ab4aa9)
            \
             N -- N -- N   refs/heads/2.2.0-release-notes (f628731)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/whatsnew/2.2.rst | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)


[couchdb-documentation] 01/01: [WIP] Partial 2.2 release notes

Posted by wo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

wohali pushed a commit to branch 2.2.0-release-notes
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git

commit f6287319df681d039e5bf296ecbab4424b316026
Author: Joan Touzet <wo...@atypical.net>
AuthorDate: Mon Jul 23 19:56:57 2018 -0400

    [WIP] Partial 2.2 release notes
---
 src/whatsnew/2.2.rst | 152 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 147 insertions(+), 5 deletions(-)

diff --git a/src/whatsnew/2.2.rst b/src/whatsnew/2.2.rst
index 8b19c67..9b8931c 100644
--- a/src/whatsnew/2.2.rst
+++ b/src/whatsnew/2.2.rst
@@ -32,28 +32,170 @@ Upgrade Notes
   version of CouchDB is replicating TO this instance/cluster. Replicating FROM older 
   versions is fine. A future version will make this a default.
 
-* Item 2
+* :ghissue:`820`, :ghissue:`1032`: 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`` has been introduced to replace
+  the ``?queries`` parameter formerly provided for making multiple queries to a view.
+  The old ``?queries`` parameter *is now deprecated and will be removed in a future release
+  of CouchDB.*
+
+* The maximum http request limit, which had been lowered in 2.1.0, has been re-raised
+  to a 4GB limit for now. (:ghissue:`1446`). Ongoing discussion about the path forward
+  for future releases is available in :ghissue:`1200` and :ghissue:`1253`.
+
+* :ghissue:`1153`: 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. We encourage you to upgrade any nodes or clusters that
+  regularly act as replication clients to use this new feature, which is enabled by
+  default (:ghissue:`1462`).
 
-* Item 3
 
 Version 2.2.0
 =============
 
-Security
+Features
+--------
+
+.. rst-class:: open
+
+* Much improved documentation. Highlights include:
+
+  * TODO: LINK Database sharding/clustering: complete rewrite
+  * Developer installation notes (``INSTALL.*.rst``)
+
+* Much improved Fauxton functionality. Highlights include:
+
+  *
+
+* :ghissue:`496`, :issue:`3287`: New pluggable storage engine framework has landed in
+  CouchDB. 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.
+* :ghissue:`603`: When creating a new database on a cluster without quorum, CouchDB will
+  now return a ``202 Accepted`` code if possible, indicating that at least one node
+  has written the database record to disk, and that other nodes will be updated as they
+  return to an online state. This replaces the former ``500`` internal error.
+* :ghissue:`745`: CouchDB no longer fails to complete replicating databases with
+  large attachments. The fix for this issue included several related changes:
+
+  * The maximum http request limit, which had been lowered in 2.1.0, has been re-raised
+    to a 4GB limit for now. (:ghissue:`1446`). Ongoing discussion about the path forward
+    for future releases is available in :ghissue:`1200` and :ghissue:`1253`.
+  * An update to the replicator http client that improves active socket accounting,
+    without which CouchDB can cease to be responsive over the main http interface
+    (:ghissue:`1117`)
+  * The replicator's http client no longer performs unconditional retries on failure
+    (:ghissue:`1177`)
+  * A path by which CouchDB could lose track of their RPC workers during multipart
+    attachment processing was removed. (:ghissue:`1178`)
+  * When CouchDB transmits a ``413 Payload Too Large`` response on attachment upload,
+    it now correctly flushes the receive socket before closing the connection to avoid
+    a TCP reset, and to give the client a better chance of parsing the 413 response. In
+    tandem, the replicator http client correctly closes its own socket after processing
+    any 413 response. (:ghissue:`1234`)
+
+* TODO LINK :ghissue:`822`: A new ``POST /_dbs_info`` endpoint has been added to return
+  information about a list of specified databases. This endpoint can take the place of
+  multiple queries to ``/{db}``.
+* :ghissue:`875`, :ghissue:`1030`: ``couch_peruser`` installations can now specify a
+  default ``q`` value for each peruser-created database that is different from the
+  cluster's ``q`` value. Set this in your local ini file, under ``[couch_peruser] q``.
+* :ghissue:`876`, :ghissue:`1068`: The ``couch_peruser`` database prefix is now
+  configurable through your local ini file, under ``[couch_peruser] database_prefix``.
+* :ghissue:`887`: Replicator documents can now include parameters for target database
+  creation, such as ``"create_target_params": {"q": "1"}``. This can assist in
+  database resharding or placement.
+* :ghissue:`977`: When using ``COPY`` to copy a document, CouchDB no longer fails if
+  the new ID includes Unicode characters.
+* :ghissue:`1095`: Recognize the environment variables ``ARGS_FILE``, ``SYSCONFIG_FILE``,
+  ``COUCHDB_ARGS_FILE`` and ``COUCHDB_SYSCONFIG_FILE`` to overrride where CouchDB looks
+  for the ``vm.args`` and ``sys.config`` files at startup.
+* :ghissue:`1126`: When queried back after saving, replication documents no longer
+  contain sensitive credential information (such as basic authenticataion headers).
+* :ghissue:`1203`: The compaction daemon now has a snooze period, during which it waits
+  to start the next compaction after finishing the previous one. This value is useful
+  in ``couch_peruser`` setups, which can cause a CPU spike every ``check_interval``
+  seconds. The setting can be adjusted in your local ini file via
+  ``[compaction_daemon] snooze_period``. The current default is a 3 second pause.
+
+Bugfixes
 --------
 
-General
--------
+.. rst-class:: open
+
+* :ghissue:`832`, :ghissue:`1064`: Tracking of Couch logging stats has been added back
+  into the per-node ``/_node/<node-name>/_stats`` endpoint.
+* :ghissue:`955`: The ``/{db}/_bulk_docs`` endpoint now correctly responds with a
+  ``400 Bad Request`` error if the ``new_edits`` parameter is not a boolean.
+* :ghissue:`953`, :ghissue:`973`: Return ``404 Not Found`` on ``GET /_scheduler``,
+  not ``405 Method Not Allowed``.
+* :ghissue:`969`: CouchDB now returns ``offset`` and ``update_seq`` values when ``keys``
+  are provided to the ``GET`` or ``POST`` ``/{db}/_all_docs?update_seq=true`` endpoints.
+  This was affecting PouchDB compatibility.
+* :ghissue:`1012`: Address a theoretical race condition the replication scheduler could
+  encounter when trying to determine if the cluster is "stable" enough to resume
+  handling replication-introduced document updates.
+* :ghissue:`1051`: Return a user-friendly error message when attempting to create a
+  CouchDB user with an invalid password field (non-string).
 
 Performance
 -----------
 
+.. rst-class:: open
+
 Mango
 -----
 
+.. rst-class:: open
+
+* :ghissue:`816`, :ghissue:`962`, :ghissue:`1038`: 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``.  If we fall back, populate a ``warning`` field in the
+  response. Mango also tries to use indexes where ``$or`` may select a field only when
+  certain values are present.
+* :ghissue:`849`: When ``{"seq_indexed": true}`` is specified, a badmatch error was
+  returned. This is now fixed.
+* :ghissue:`951`: When using ``GET /{db}/_index``, only use a partial filter selector for
+  an index if it is set to something other than the default.
+* :ghissue:`961`: Do not prefix ``_design/`` to a Mango index name whose user-specified
+  name already starts with ``_design/``.
+* :ghissue:`988`, :ghissue:`989`: When specifying a ``use_index`` value with an invalid
+  index, correctly return a ``400 Bad Request`` showing that the requested index is
+  invalid for the request specified.
+* :ghissue:`998`: The fix for :ref:`CVE 2017-12635 <cve/2017-12635>` presented a breaking
+  change to Mango's ``/{db}/_find``, which would evaluate all instances of all JSON
+  fields in a selector. Mango is now tested to ensure it only considers the last instance
+  of a field, silently ignoring those that appear before it.
+* :ghissue:`1014`: Correctly deduce list of indexed fields in a selector when nested
+  ``$and`` operators are specified.
+* :ghissue:`1023`: Fix an unexpected ``500`` error if ``startkey`` and ``endkey`` in a
+  Mango selector were reversed.
+* :ghissue:`1067`: Prevent an ``invalid_cast`` crash when the ``couch_proc_manager`` soft
+  limit for processes is reached and mango idle processes are stopped.
+* Multiple fixes related to using Mango as a front-end for full text indexing (a feature
+  not shipped with couch, but for which support is in place as a compile-time addon).
+
+
 Other
 -----
 
 The 2.2.0 release also includes the following minor improvements:
 
+.. rst-class:: open
+
+* Developers can, at build time, enable curl libraries & disable Fauxton and documentation
+  builds by specifying the new ``--dev`` option to the ``configure`` script.
+* The ``mochiweb`` dependency was bumped to version 2.17.0, in part to address the
+  difficult :ghissue:`745` issue.
+* Improved compatibility with newer versions of Erlang (20.x)
+* Multiple test suite improvements, focused on increased coverage, speed, and
+  reliability.
+* Improvements to the Travis CI and Jenkins CI setups, focused on improved long-term
+  project maintenance and automatability.
+* Related improvements to the CouchDB deb/rpm packaging and Docker repositories to
+  make deployment even easier.
+* :ghissue:`1007`: Move ``etc/default.ini`` entries back into ``[replicator]`` section
+  (incorrectly moved to ``[couch_peruser]`` section)
 * A pony! OK, no, not really. If you got this far, thank you for reading.