You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2021/09/14 05:16:28 UTC

[GitHub] [couchdb-documentation] jaydoane commented on a change in pull request #682: CouchDB 3.2 release notes

jaydoane commented on a change in pull request #682:
URL: https://github.com/apache/couchdb-documentation/pull/682#discussion_r707909676



##########
File path: src/whatsnew/3.2.rst
##########
@@ -28,6 +28,62 @@ Version 3.2.0
 Features and Enhancements
 -------------------------
 
+* :ghissue:`3364`: CouchDB's replicator now implements a Fair Share replication
+  scheduler. Rather than using a round-robin scheduling mechanism, this update allows to
+  specify the relative priority of jobs from different ``_replicator`` databases.
+  More information is available in the :ref:`_replicator DB docs <replicator>`.
+
+.. figure:: ../../images/fair-enough.png
+  :align: center
+  :alt: Robert Downey, Jr., thinks that's fair enough for him.
+
+* :ghissue:`3166`: Allow custom JWT claims for roles, via the ``[jwt_auth]
+  roles_claim_name`` config setting.
+
+* :ghissue:`3296`, :ghissue:`3312`: CouchDB now includes ``weatherreport`` and its
+  dependency ``custodian``, a diagnostic app forked from Basho's ``riaknostic`` tool.
+  More documentation is available in the :ref:`Cluster Troubleshooting
+  <cluster/troubleshooting>` section.
+
+* :ghissue:`2911`, :ghissue:`3298`, :ghissue:`3425`: CouchDB now returns the version of
+  SpiderMonkey to administrators in the ``GET /_node/{node-name}/_versions`` response.
+
+* :ghissue:`3303`: CouchDB now treates a ``408`` response received by the replicator
+  similar to any ``5xx`` error (by retrying, as opposed to a permanent error). CouchDB
+  will never return a ``408``, but some reverse proxies in front of CouchDB may return
+  this code.
+
+* :ghissue:`3322`: ``_session`` now accepts gzip encoding.
+
+* :ghissue:`3254`: The new ``$keyMapMatch`` operator allows Mango to query on the keys
+  of a map. It is similar to the ``$elemMatch`` operator, but instead of operating on
+  the elements of array, it operates on the keys of a map.
+
+* :ghissue:`3336`: Developers now have acess to a ``.devcontainer`` configuration for
+  the 3.x version of CouchDB, right in the source code repository..
+
+* :ghissue:`3347`: The default maximum attachment size has been reduced from
+  ``infinity`` to 1 GiB.
+
+* :ghissue:`3361`: Compaction process suspension now appears in the ``active_tasks``
+  output, allowing administrators to verify that the ``strict_window`` value is being
+  respected.
+
+* :ghissue:`3378`: The ``[admins]`` section and the ``[replicator] password`` are now
+  censored from all logs. In addition, :ghissue:`3380` removes user credentials,

Review comment:
       maybe "redacted" instead?

##########
File path: src/whatsnew/3.2.rst
##########
@@ -57,4 +113,140 @@ Features and Enhancements
   which can include various characters previously not allowed to be included
   in the url info part of endpoint urls.
 
+* :ghissue:`3506`, :ghissue:`3416`, :ghissue:`3377`: CouchDB now provides a Prometheus
+  compatible endpoint at ``GET /_node/{node-name}/_prometheus``. A configuration option
+  allows for scraping via a different port (17986) that does not require authentication,
+  if desired. More information is available at the :ref:`Prometheus API endpoint
+  <api/server/prometheus>` summary.
+
+* :ghissue:`3697`, :issue:`883` (JIRA): As an opt-in policy, CouchDB can now stop
+  encoding the plus sign ``+`` in non-query parts of URLs, in compliance with the
+  original CouchDB standards. The opt-in is via the ``[chttpd] decode_plus_to_space =
+  true`` setting. *In CouchDB 4.x, this is an opt-out policy.*
+
+* :ghissue:`3724`: CouchDB now has new CSP settings for attachments and show/list
+  functions. This deprecates the old ``[csp] enable`` and ``[csp] header_value``
+  settings, replacing them with the new ``[csp] utils_enable`` and ``[csp]
+  utils_header_value`` settings respectively. In addition, new settings for
+  ``attachments_enable``, ``attachments_header_value``, ``showlist_enable`` and
+  ``showlist_header_value`` now are avialable. Documentation is in the ``default.ini``
+  file.
+
+* :ghissue:`3734`, :ghissue:`3733`: Users with databases that have low ``q`` and ``n``
+  values would often receive the ``No DB shards could be opened`` error when the cluster
+  is overloaded, due to a hard-coded 100ms timeout. CouchDB now calculates a more
+  reasonable timeout, based on the number of shards and the overall maximum fabric
+  request timeout limit, using a geometric series.
+
+Performance
+-----------
+
+* :ghissue:`3337`: Developer nodes startup faster now when using the ``dev/run`` script.
+
+* :ghissue:`3366`: The monolithinc ``couch_server`` process has been sharded for
+  performance considerations. Previously, as a single ``gen_server``, the process would
+  have a finite throughput that, in busy clusters, is easily breached -- causing a
+  sizeable backlog in the message queue, ultimately leading to failure and errors. No
+  more! The aggregate message queue info is still available in the ``_system`` output.
+  ( :ghissue:`3370` )
+
+* :ghissue:`3208`: CouchDB now uses the latest ibrowse 4.4.2 client for the replicator.
+
+* :ghissue:`3600`, :ghissue:`3047`, :ghissue:`3019`: The default ``slack`` channel for
+  smoosh auto-compaction has been increased to a more reasonable value, reducing load
+  on systems that would have normally been idle in CouchDB 2.x (where no auto-compaction
+  daemon exists).
+
+* :ghissue:`3711`: Changes feeds may no longer rewind after shard moves, assumimg the
+  node and range specified by the changes feed nonce can still match an existing node's
+  shard.
+
+Bugfixes
+--------
+
+* Complete retirement of the JavaScript test suite - replaced by Elixir. Hooray!
+* :ghissue:`3165`: Allow configurability of JWT claims that require a value. Also fixes
+  :ghissue:`3232`. Further, :ghissue:`3392` no longer validates claims provided that
+  CouchDB does not require.
+* :ghissue:`3160`, :ghissue:`3161`: The ``run_queue`` statistic now returns valid
+  information even when using Erlang BEAM dirty CPU and IO queues.
+* :ghissue:`3162`: Makefiles updated to include local configs & clean configs when
+  running ``make devclean``.
+* :ghissue:`3195`: The ``max_document_size`` parameter now has a clearer explanation in
+  ``default.ini``.
+* :ghissue:`3207`, :ghissue:`2536`: Improve the ``INSTALL.Unix.md`` file.
+* :ghissue:`3212`: Base and extra headers are properly combined when making replicator
+  requests that contain duplicate headers.
+* :ghissue:`3201`: When using a POST with request body to pass parameters to a view-like
+  request, the boolean parameters are accepting only JSON strings, but not booleans.
+  Now, CouchDB accepts ``true`` and ``false`` for the ``stable`` parameter, in addition
+  to ``"true"`` and ``"false"``.
+  comment in
+* :ghissue:`1988`: Attachment operations ``PUT /db/doc`` and ``POST /db`` now perform
+  consistent attachment name validation.
+* :ghissue:`3249`: Documents with lots of conflicts no longer blow up couchjs if the

Review comment:
       s/couchjs/couch_js/?

##########
File path: src/whatsnew/3.2.rst
##########
@@ -57,4 +113,140 @@ Features and Enhancements
   which can include various characters previously not allowed to be included
   in the url info part of endpoint urls.
 
+* :ghissue:`3506`, :ghissue:`3416`, :ghissue:`3377`: CouchDB now provides a Prometheus
+  compatible endpoint at ``GET /_node/{node-name}/_prometheus``. A configuration option
+  allows for scraping via a different port (17986) that does not require authentication,
+  if desired. More information is available at the :ref:`Prometheus API endpoint
+  <api/server/prometheus>` summary.
+
+* :ghissue:`3697`, :issue:`883` (JIRA): As an opt-in policy, CouchDB can now stop
+  encoding the plus sign ``+`` in non-query parts of URLs, in compliance with the
+  original CouchDB standards. The opt-in is via the ``[chttpd] decode_plus_to_space =
+  true`` setting. *In CouchDB 4.x, this is an opt-out policy.*
+
+* :ghissue:`3724`: CouchDB now has new CSP settings for attachments and show/list
+  functions. This deprecates the old ``[csp] enable`` and ``[csp] header_value``
+  settings, replacing them with the new ``[csp] utils_enable`` and ``[csp]
+  utils_header_value`` settings respectively. In addition, new settings for
+  ``attachments_enable``, ``attachments_header_value``, ``showlist_enable`` and
+  ``showlist_header_value`` now are avialable. Documentation is in the ``default.ini``
+  file.
+
+* :ghissue:`3734`, :ghissue:`3733`: Users with databases that have low ``q`` and ``n``
+  values would often receive the ``No DB shards could be opened`` error when the cluster
+  is overloaded, due to a hard-coded 100ms timeout. CouchDB now calculates a more
+  reasonable timeout, based on the number of shards and the overall maximum fabric
+  request timeout limit, using a geometric series.
+
+Performance
+-----------
+
+* :ghissue:`3337`: Developer nodes startup faster now when using the ``dev/run`` script.
+
+* :ghissue:`3366`: The monolithinc ``couch_server`` process has been sharded for
+  performance considerations. Previously, as a single ``gen_server``, the process would
+  have a finite throughput that, in busy clusters, is easily breached -- causing a
+  sizeable backlog in the message queue, ultimately leading to failure and errors. No
+  more! The aggregate message queue info is still available in the ``_system`` output.
+  ( :ghissue:`3370` )
+
+* :ghissue:`3208`: CouchDB now uses the latest ibrowse 4.4.2 client for the replicator.
+
+* :ghissue:`3600`, :ghissue:`3047`, :ghissue:`3019`: The default ``slack`` channel for
+  smoosh auto-compaction has been increased to a more reasonable value, reducing load
+  on systems that would have normally been idle in CouchDB 2.x (where no auto-compaction
+  daemon exists).
+
+* :ghissue:`3711`: Changes feeds may no longer rewind after shard moves, assumimg the
+  node and range specified by the changes feed nonce can still match an existing node's
+  shard.
+
+Bugfixes
+--------
+
+* Complete retirement of the JavaScript test suite - replaced by Elixir. Hooray!
+* :ghissue:`3165`: Allow configurability of JWT claims that require a value. Also fixes
+  :ghissue:`3232`. Further, :ghissue:`3392` no longer validates claims provided that
+  CouchDB does not require.
+* :ghissue:`3160`, :ghissue:`3161`: The ``run_queue`` statistic now returns valid
+  information even when using Erlang BEAM dirty CPU and IO queues.
+* :ghissue:`3162`: Makefiles updated to include local configs & clean configs when
+  running ``make devclean``.
+* :ghissue:`3195`: The ``max_document_size`` parameter now has a clearer explanation in
+  ``default.ini``.
+* :ghissue:`3207`, :ghissue:`2536`: Improve the ``INSTALL.Unix.md`` file.
+* :ghissue:`3212`: Base and extra headers are properly combined when making replicator
+  requests that contain duplicate headers.
+* :ghissue:`3201`: When using a POST with request body to pass parameters to a view-like
+  request, the boolean parameters are accepting only JSON strings, but not booleans.
+  Now, CouchDB accepts ``true`` and ``false`` for the ``stable`` parameter, in addition
+  to ``"true"`` and ``"false"``.
+  comment in
+* :ghissue:`1988`: Attachment operations ``PUT /db/doc`` and ``POST /db`` now perform
+  consistent attachment name validation.
+* :ghissue:`3249`: Documents with lots of conflicts no longer blow up couchjs if the
+  user calls ``_changes`` with a JS filter and with ``style=all_docs``.
+* :ghissue:`3144`: Respawning compaction jobs to catch up with intervening changes are
+  now handled correctly by the smoosh monitor.
+* :ghissue:`3252`: CouchDB now exports the ``couch_util:json_decode/2`` function to
+  support maps instead of the default data structure.
+* :ghissue:`3255`, :ghissue:`2558`: View files that have incorrect ``db_headers``
+  now reset the index forcing a rebuild.
+* :ghissue:`3271`: Attachments that are stored uncompressed but later replicated to
+  nodes that compress the attachment no longer fail an internal md5 check that would
+  break eventual consistency between nodes.
+* :ghissue:`3277`: ``req_body`` requests that have ``req_body`` set already now
+  properly return the field without parsing.
+* :ghissue:`3279`: Some default headers were missing from some responses in replication,
+  including ``X-CouchDB-Body-Time`` and ``X-Couch-Request-ID``.
+* :ghissue:`3329`, :ghissue:`2962`: CouchDB no longer returns broken couchjs processes

Review comment:
       couch_js?

##########
File path: src/whatsnew/3.2.rst
##########
@@ -57,4 +113,140 @@ Features and Enhancements
   which can include various characters previously not allowed to be included
   in the url info part of endpoint urls.
 
+* :ghissue:`3506`, :ghissue:`3416`, :ghissue:`3377`: CouchDB now provides a Prometheus
+  compatible endpoint at ``GET /_node/{node-name}/_prometheus``. A configuration option
+  allows for scraping via a different port (17986) that does not require authentication,
+  if desired. More information is available at the :ref:`Prometheus API endpoint
+  <api/server/prometheus>` summary.
+
+* :ghissue:`3697`, :issue:`883` (JIRA): As an opt-in policy, CouchDB can now stop
+  encoding the plus sign ``+`` in non-query parts of URLs, in compliance with the
+  original CouchDB standards. The opt-in is via the ``[chttpd] decode_plus_to_space =
+  true`` setting. *In CouchDB 4.x, this is an opt-out policy.*
+
+* :ghissue:`3724`: CouchDB now has new CSP settings for attachments and show/list
+  functions. This deprecates the old ``[csp] enable`` and ``[csp] header_value``
+  settings, replacing them with the new ``[csp] utils_enable`` and ``[csp]
+  utils_header_value`` settings respectively. In addition, new settings for
+  ``attachments_enable``, ``attachments_header_value``, ``showlist_enable`` and
+  ``showlist_header_value`` now are avialable. Documentation is in the ``default.ini``
+  file.
+
+* :ghissue:`3734`, :ghissue:`3733`: Users with databases that have low ``q`` and ``n``
+  values would often receive the ``No DB shards could be opened`` error when the cluster
+  is overloaded, due to a hard-coded 100ms timeout. CouchDB now calculates a more
+  reasonable timeout, based on the number of shards and the overall maximum fabric
+  request timeout limit, using a geometric series.
+
+Performance
+-----------
+
+* :ghissue:`3337`: Developer nodes startup faster now when using the ``dev/run`` script.

Review comment:
       "start up" two words?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org