diff --git a/src/docs/src/api/basics.rst b/src/docs/src/api/basics.rst
index bce96cc..8f9df6f 100644
--- a/src/docs/src/api/basics.rst
+++ b/src/docs/src/api/basics.rst
@@ -597,9 +597,3 @@
 
   The request was invalid, either because the supplied JSON was invalid, or
   invalid information was supplied as part of the request.
-
-- ``503 - Service Unavailable``
-
-  The request can't be serviced at this time, either because the cluster is overloaded,
-  maintenance is underway, or some other reason.
-  The request may be retried without changes, perhaps in a couple of minutes.
diff --git a/src/docs/src/api/database/find.rst b/src/docs/src/api/database/find.rst
index b5a0bd4..2ec5cc6 100644
--- a/src/docs/src/api/database/find.rst
+++ b/src/docs/src/api/database/find.rst
@@ -20,10 +20,9 @@
     :synopsis: Find documents within a given database
 
     Find documents using a declarative JSON querying syntax.
-    Queries will use custom indexes, specified using the :ref:`_index <api/db/find/index>`
-    endpoint, if available.
-    Otherwise, they use the built-in :ref:`_all_docs <api/db/all_docs>` index, which
-    can be arbitrarily slow.
+    Queries can use the built-in :ref:`_all_docs <api/db/all_docs>` index or
+    custom indexes, specified using the :ref:`_index <api/db/find/index>`
+    endpoint.
 
     :param db: Database name
 
diff --git a/src/docs/src/api/server/authn.rst b/src/docs/src/api/server/authn.rst
index c5e2b7b..45e4d45 100644
--- a/src/docs/src/api/server/authn.rst
+++ b/src/docs/src/api/server/authn.rst
@@ -73,7 +73,7 @@
 client can use for the next few requests to CouchDB. Tokens are valid until
 a timeout. When CouchDB sees a valid token in a subsequent request, it will
 authenticate the user by this token without requesting the password again. By
-default, cookies are valid for 10 minutes, but it's adjustable via :config:option:`timeout
+default, cookies are valid for 10 minutes, but it's :config:option:`adjustable
 <chttpd_auth/timeout>`. Also it's possible to make cookies
 :config:option:`persistent <chttpd_auth/allow_persistent_cookies>`.
 
@@ -385,8 +385,8 @@
 
 The :config:option:`required_claims <jwt_auth/required_claims>` config
 setting is a comma-separated list of additional mandatory JWT claims
-that must be present in any presented JWT token. A :statuscode:`400`
-is sent if any are missing.
+that must be present in any presented JWT token. A `:code 400:Bad
+Request` is sent if any are missing.
 
 The ``alg`` claim is mandatory as it used to lookup the correct key for verifying the
 signature.
@@ -407,8 +407,8 @@
     ; Examples
     ; hmac:_default = aGVsbG8=
     ; hmac:foo = aGVsbG8=
-    ; The config values can represent symmetric and asymmetric keys.
-    ; For symmetric keys, the value is base64 encoded;
+    ; The config values can represent symmetric and asymmetrics keys.
+    ; For symmetrics keys, the value is base64 encoded;
     ; hmac:_default = aGVsbG8= # base64-encoded form of "hello"
     ; For asymmetric keys, the value is the PEM encoding of the public
     ; key with newlines replaced with the escape sequence \n.
diff --git a/src/docs/src/api/server/common.rst b/src/docs/src/api/server/common.rst
index fa1c1be..222b896 100644
--- a/src/docs/src/api/server/common.rst
+++ b/src/docs/src/api/server/common.rst
@@ -66,8 +66,6 @@
 
 .. versionchanged:: 2.1.0 Because of how the scheduling replicator works, continuous replication jobs could be periodically stopped and then started later. When they are not running they will not appear in the ``_active_tasks`` endpoint
 
-.. versionchanged:: 3.3 Added `"bulk_get_attempts"` and `"bulk_get_docs"` fields for replication jobs.
-
 .. http:get:: /_active_tasks
     :synopsis: Obtains a list of the tasks running in the server
 
@@ -150,8 +148,6 @@
                 "continuous": false,
                 "doc_id": null,
                 "doc_write_failures": 0,
-                "bulk_get_attempts": 4524,
-                "bulk_get_docs": 4524,
                 "docs_read": 4524,
                 "docs_written": 4524,
                 "missing_revisions_found": 4524,
@@ -544,8 +540,8 @@
                         - **eventsource**: Like, ``continuous``, but sends
                           the events in `EventSource
                           <http://dev.w3.org/html5/eventsource/>`_ format.
-    :query number timeout: Number of *milliseconds* until CouchDB closes the
-      connection. Default is ``60000``.
+    :query number timeout: Number of seconds until CouchDB closes the
+      connection. Default is ``60``.
     :query number heartbeat: Period in *milliseconds* after which an empty
         line is sent in the results. Only applicable for ``longpoll``,
         ``continuous``, and ``eventsource`` feeds. Overrides any timeout to
@@ -661,8 +657,6 @@
 ``/_replicate``
 ===============
 
-.. versionchanged:: 3.3 Added `"bulk_get_attempts"` and `"bulk_get_docs"`  fields to the replication history response object.
-
 .. http:post:: /_replicate
     :synopsis: Starts or cancels the replication
 
@@ -678,7 +672,6 @@
     :<json object create_target_params: An object that contains parameters
       to be used when creating the target database. Can include the
       standard ``q`` and ``n`` parameters.
-    :<json boolean winning_revs_only: Replicate winning revisions only.
     :<json array doc_ids: Array of document IDs to be synchronized.
       ``doc_ids``, ``filter``, and ``selector`` are mutually exclusive.
     :<json string filter: The name of a :ref:`filter function <filterfun>`.
@@ -734,10 +727,6 @@
     :json number doc_write_failures: Number of document write failures
     :json number docs_read:  Number of documents read
     :json number docs_written:  Number of documents written to target
-    :json number bulk_get_attempts: The total count of attempted doc revisions
-        fetched with ``_bulk_get``.
-    :json number bulk_get_docs: The total count of successful docs fetched with
-        ``_bulk_get``.
     :json number end_last_seq:  Last sequence number in changes stream
     :json string end_time:  Date/Time replication operation completed in
       :rfc:`2822` format
@@ -784,8 +773,6 @@
                 {
                     "doc_write_failures": 0,
                     "docs_read": 10,
-                    "bulk_get_attempts": 10,
-                    "bulk_get_docs": 10,
                     "docs_written": 10,
                     "end_last_seq": 28,
                     "end_time": "Sun, 11 Aug 2013 20:38:50 GMT",
@@ -799,8 +786,6 @@
                 {
                     "doc_write_failures": 0,
                     "docs_read": 1,
-                    "bulk_get_attempts": 1,
-                    "bulk_get_docs": 1,
                     "docs_written": 1,
                     "end_last_seq": 1,
                     "end_time": "Sat, 10 Aug 2013 15:41:54 GMT",
@@ -927,8 +912,6 @@
         "history" : [
             {
                 "docs_read" : 1000,
-                "bulk_get_attempts": 1000,
-                "bulk_get_docs": 1000,
                 "session_id" : "52c2370f5027043d286daca4de247db0",
                 "recorded_seq" : 1000,
                 "end_last_seq" : 1000,
@@ -1096,8 +1079,6 @@
                         "doc_write_failures": 0,
                         "docs_read": 113,
                         "docs_written": 113,
-                        "bulk_get_attempts": 113,
-                        "bulk_get_docs": 113,
                         "missing_revisions_found": 113,
                         "revisions_checked": 113,
                         "source_seq": "113-g1AAAACTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQiQ1L9____szKYE01ygQLsZsYGqcamiZjKcRqRxwIkGRqA1H-oSbZgk1KMLCzTDE0wdWUBAF6HJIQ",
@@ -1130,8 +1111,6 @@
                         "doc_write_failures": 0,
                         "docs_read": 12,
                         "docs_written": 12,
-                        "bulk_get_attempts": 12,
-                        "bulk_get_docs": 12,
                         "missing_revisions_found": 12,
                         "revisions_checked": 12,
                         "source_seq": "12-g1AAAACTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQiQ1L9____szKYE1lzgQLsBsZm5pZJJpjKcRqRxwIkGRqA1H-oSexgk4yMkhITjS0wdWUBADfEJBg",
@@ -1163,9 +1142,6 @@
 .. versionchanged:: 3.0.0 In error states the `"info"` field switched
                     from being a string to being an object
 
-.. versionchanged:: 3.3 Added `"bulk_get_attempts"` and `"bulk_get_docs"` the
-                    `"info"` object.
-
 .. http:get:: /_scheduler/docs
     :synopsis: Retrieve information about replication documents from the
                ``_replicator`` database.
@@ -1219,10 +1195,6 @@
         source.
     :json number docs_written: The count of docs which have been written to the
         target.
-    :json number bulk_get_attempts: The total count of attempted doc revisions
-        fetched with ``_bulk_get``.
-    :json number bulk_get_docs: The total count of successful docs fetched with
-        ``_bulk_get``.
     :json number changes_pending: The count of changes not yet replicated.
     :json number doc_write_failures: The count of docs which failed to be
         written to the target.
@@ -1259,8 +1231,6 @@
                         "checkpointed_source_seq": "60-g1AAAACTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQiQ1L9____szKYEyVygQLsBsZm5pZJJpjKcRqRxwIkGRqA1H-oSSpgk4yMkhITjS0wdWUBAENCJEg",
                         "doc_write_failures": 0,
                         "docs_read": 67,
-                        "bulk_get_attempts": 67,
-                        "bulk_get_docs": 67,
                         "docs_written": 67,
                         "missing_revisions_found": 67,
                         "revisions_checked": 67,
@@ -1285,8 +1255,6 @@
                         "changes_pending": null,
                         "checkpointed_source_seq": 0,
                         "doc_write_failures": 0,
-                        "bulk_get_attempts": 12,
-                        "bulk_get_docs": 12,
                         "docs_read": 12,
                         "docs_written": 12,
                         "missing_revisions_found": 12,
@@ -1364,10 +1332,6 @@
         source.
     :json number docs_written: The count of docs which have been written to the
         target.
-    :json number bulk_get_attempts: The total count of attempted doc revisions
-        fetched with ``_bulk_get``.
-    :json number bulk_get_docs: The total count of successful docs fetched with
-        ``_bulk_get``.
     :json number changes_pending: The count of changes not yet replicated.
     :json number doc_write_failures: The count of docs which failed to be
         written to the target.
@@ -1404,8 +1368,6 @@
                         "checkpointed_source_seq": "60-g1AAAACTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQiQ1L9____szKYEyVygQLsBsZm5pZJJpjKcRqRxwIkGRqA1H-oSSpgk4yMkhITjS0wdWUBAENCJEg",
                         "doc_write_failures": 0,
                         "docs_read": 67,
-                        "bulk_get_attempts": 67,
-                        "bulk_get_docs": 67,
                         "docs_written": 67,
                         "missing_revisions_found": 67,
                         "revisions_checked": 67,
@@ -1472,10 +1434,6 @@
         source.
     :json number docs_written: The count of docs which have been written to the
         target.
-    :json number bulk_get_attempts: The total count of attempted doc revisions
-        fetched with ``_bulk_get``.
-    :json number bulk_get_docs: The total count of successful docs fetched with
-        ``_bulk_get``.
     :json number changes_pending: The count of changes not yet replicated.
     :json number doc_write_failures: The count of docs which failed to be
         written to the target.
@@ -1510,8 +1468,6 @@
                 "checkpointed_source_seq": "60-g1AAAACTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQiQ1L9____szKYEyVygQLsBsZm5pZJJpjKcRqRxwIkGRqA1H-oSSpgk4yMkhITjS0wdWUBAENCJEg",
                 "doc_write_failures": 0,
                 "docs_read": 67,
-                "bulk_get_attempts": 67,
-                "bulk_get_docs": 67,
                 "docs_written": 67,
                 "missing_revisions_found": 67,
                 "revisions_checked": 67,
@@ -1891,9 +1847,9 @@
         ...remaining couchdb metrics from _stats and _system
 
 If an additional port config option is specified, then a client can call this API using
-that port which does not require authentication. This option is ``false`` (OFF)
-by default. When the option is ``true`` (ON), the default ports for a 3 node cluster
-are ``17986``, ``27986``, ``37986``.
+that port which does not require authentication. This option is ``false``(OFF) by default.
+When the option ``true``(ON), the default ports for a 3 node cluster are ``17986``,
+``27986``, ``37986``.
 See :ref:`Configuration of Prometheus Endpoint <config/prometheus>` for details.
 
 .. code-block:: http
diff --git a/src/docs/src/best-practices/reverse-proxies.rst b/src/docs/src/best-practices/reverse-proxies.rst
index a04fc76..46102ac 100644
--- a/src/docs/src/best-practices/reverse-proxies.rst
+++ b/src/docs/src/best-practices/reverse-proxies.rst
@@ -104,9 +104,8 @@
 .. code-block:: text
 
     location /couchdb {
-        rewrite ^ $request_uri;
-        rewrite ^/couchdb/(.*) /$1 break;
-        proxy_pass http://localhost:5984$uri;
+        rewrite /couchdb/(.*) /$1 break;
+        proxy_pass http://localhost:5984;
         proxy_redirect off;
         proxy_buffering off;
         proxy_set_header Host $host;
diff --git a/src/docs/src/best-practices/views.rst b/src/docs/src/best-practices/views.rst
index ffc8399..335e795 100644
--- a/src/docs/src/best-practices/views.rst
+++ b/src/docs/src/best-practices/views.rst
@@ -29,7 +29,7 @@
 means that two design documents with identical view code will share the same
 on-disk view index files.
 
-Here is a worked example, assuming your ``/db/_design/ddoc`` needs to be updated.
+Here is a worked example, assuming your ``/db/_design/ddoc`` needs tobe updated.
 
 1. Upload the old design doc to ``/db/_design/ddoc-old`` (or copy the document)
    if you want an easy way to rollback in case of problems. The ``ddoc-old``
diff --git a/src/docs/src/cluster/sharding.rst b/src/docs/src/cluster/sharding.rst
index d7bc3e2..01408d4 100644
--- a/src/docs/src/cluster/sharding.rst
+++ b/src/docs/src/cluster/sharding.rst
@@ -64,12 +64,9 @@
 
 These settings specify the default sharding parameters for newly created
 databases. These can be overridden in the ``etc/local.ini`` file by copying the
-text above, and replacing the values with your new defaults.
-If ``[couch_peruser]`` ``q`` is set, that value is used for per-user databases.
-(By default, it is set to 1, on the assumption that per-user dbs will be quite
-small and there will be many of them.)  The values can also be set on a
-per-database basis by specifying the ``q`` and ``n`` query parameters when the
-database is created. For example:
+text above, and replacing the values with your new defaults.  The values can
+also be set on a per-database basis by specifying the ``q`` and ``n`` query
+parameters when the database is created. For example:
 
 .. code-block:: bash
 
@@ -103,13 +100,10 @@
     request. There are no special roles for nodes inside the cluster.
 
 The size of the required quorum can be configured at request time by
-setting the ``r`` parameter for document reads, and the ``w``
-parameter for document writes. The ``_view``, ``_find``, and
-``_search`` endpoints read only one copy no matter what quorum is
-configured, effectively making a quorum of 1 for these requests.
-
-For example, here is a request that directs the coordinating node to
-send a response once at least two nodes have responded:
+setting the ``r`` parameter for document and view reads, and the ``w``
+parameter for document writes. For example, here is a request that
+directs the coordinating node to send a response once at least two nodes
+have responded:
 
 .. code-block:: bash
 
diff --git a/src/docs/src/cluster/theory.rst b/src/docs/src/cluster/theory.rst
index fd0ab36..0ea50e8 100644
--- a/src/docs/src/cluster/theory.rst
+++ b/src/docs/src/cluster/theory.rst
@@ -44,6 +44,7 @@
 A shard is a part of a database. It can be replicated multiple times. The more
 copies of a shard, the more you can scale out. If you have 4 replicas, that
 means that all 4 copies of this specific shard will live on at most 4 nodes.
+With one replica you can have only one node, just as with CouchDB 1.x.
 No node can have more than one copy of each shard replica. The default for
 CouchDB since 3.0.0 is ``q=2`` and ``n=3``, meaning each database (and secondary
 index) is split into 2 shards, with 3 replicas per shard, for a total of 6
diff --git a/src/docs/src/config/auth.rst b/src/docs/src/config/auth.rst
index cb92f31..70ec276 100644
--- a/src/docs/src/config/auth.rst
+++ b/src/docs/src/config/auth.rst
@@ -116,8 +116,6 @@
 
     .. config:option:: require_valid_user :: Force user authentication
 
-        .. versionchanged:: 3.2 moved from [couch_httpd_auth] to [chttpd] section
-
         When this option is set to ``true``, no requests are allowed from
         anonymous users. Everyone must be authenticated. ::
 
@@ -136,7 +134,7 @@
 .. config:section:: chttpd_auth :: Authentication Configuration
 
     .. versionchanged:: 3.2 These options were moved to [chttpd_auth] section:
-                        `authentication_redirect`, `timeout`,
+                        `authentication_redirect`, `require_valid_user`, `timeout`,
                         `auth_cache_size`, `allow_persistent_cookies`, `iterations`,
                         `min_iterations`, `max_iterations`, `secret`, `users_db_public`,
                         `x_auth_roles`, `x_auth_token`, `x_auth_username`,
@@ -196,33 +194,6 @@
             [chttpd_auth]
             authentication_redirect = /_utils/session.html
 
-    .. config:option:: hash_algorithms :: Supported hash algorithms for cookie auth
-
-        .. versionadded:: 3.3
-
-        Sets the HMAC hash algorithm used for cookie authentication. You can provide a
-        comma-separated list of hash algorithms. New cookie sessions or
-        session updates are calculated with the first hash algorithm. All values in the
-        list can be used to decode the cookie session. ::
-
-            [chttpd_auth]
-            hash_algorithms = sha256, sha
-
-        .. note::
-            You can select any hash algorithm the version of erlang used in your CouchDB
-            install supports. The common list of available hashes might be: ::
-
-                sha, sha224, sha256, sha384, sha512
-
-            To retrieve a complete list of supported hash algorithms you can use our
-            ``bin/remsh`` script and retrieve a full list of available hash algorithms
-            with ``crypto:supports(hashs).``.
-
-        .. warning::
-            We do not recommend using the following hash algorithms: ::
-
-                md4, md5
-
     .. config:option:: iterations :: PBKDF2 iterations count
 
         .. versionadded:: 1.3
@@ -230,9 +201,7 @@
 
         The number of iterations for password hashing by the PBKDF2 algorithm.
         A higher  number provides better hash durability, but comes at a cost
-        in performance for each request that requires authentication.
-        When using hundreds of thousands of iterations, use session cookies, or the performance hit will be huge.
-        (The internal hashing algorithm is SHA1, which affects the recommended number of iterations.) ::
+        in performance for each request that requires authentication. ::
 
             [chttpd_auth]
             iterations = 10000
@@ -310,6 +279,16 @@
                 [chttpd_auth]
                 users_db_public = true
 
+    .. config:option:: require_valid_user :: Force user authentication
+
+        .. versionchanged:: 3.2 moved from [couch_httpd_auth] to [chttpd_auth] section
+
+        When this option is set to ``true``, no requests are allowed from
+        anonymous users. Everyone must be authenticated. ::
+
+            [chttpd_auth]
+            require_valid_user = false
+
     .. config:option:: secret :: Authentication secret token
 
         .. versionchanged:: 3.2 moved from [couch_httpd_auth] to [chttpd_auth] section
@@ -382,8 +361,8 @@
     .. config:option:: required_claims :: Mandatory claims in JWT tokens
 
         This parameter is a comma-separated list of additional mandatory JWT claims
-        that must be present in any presented JWT token. A :http:statuscode:`404`
-        is sent if any are missing. ::
+        that must be present in any presented JWT token. A
+        `:code 400:Bad Request` is sent if any are missing. ::
 
             [jwt_auth]
                 required_claims = exp,iat
diff --git a/src/docs/src/config/cluster.rst b/src/docs/src/config/cluster.rst
index 8801b9c..e0772b3 100644
--- a/src/docs/src/config/cluster.rst
+++ b/src/docs/src/config/cluster.rst
@@ -22,9 +22,9 @@
 Cluster Options
 ===============
 
-.. config:section:: cluster :: Cluster Options
+.. config:section:: cluster :: cluster Options
 
-    .. config:option:: q :: Default number of shards for newly created database
+    .. config:option:: q
 
     Sets the default number of shards for newly created databases. The
     default value, ``2``, splits a database into 2 separate partitions. ::
@@ -42,7 +42,7 @@
     .. seealso::
         :http:put:`PUT /{db} </{db}>`
 
-    .. config:option:: n :: Number of replicas of each document
+    .. config:option:: n
 
     Sets the number of replicas of each document in a cluster. CouchDB will
     only place one replica per node in a cluster. When set up through the
@@ -54,7 +54,7 @@
         [cluster]
         n = 3
 
-    .. config:option:: placement :: Sets the cluster-wide replica placement policy
+    .. config:option:: placement
 
     .. warning::
 
@@ -75,8 +75,7 @@
     .. seealso::
         :ref:`cluster/databases/placement`
 
-    .. config:option:: seedlist:: Optional, comma-delimited list of nodes that should \
-        be contacted to join cluster
+    .. config:option:: seedlist
 
     An optional, comma-delimited list of node names that this node should
     contact in order to join a cluster. If a seedlist is configured the ``_up``
@@ -97,22 +96,20 @@
     communication channel. There are a few configuration knobs for this system,
     although in general the defaults work well.
 
-    .. config:option:: buffer_count :: Number of buffered messages before dropping
+    .. config:option:: buffer_count
 
     The local RPC server will buffer messages if a remote node goes unavailable.
     This flag determines how many messages will be buffered before the local
     server starts dropping messages. Default value is ``2000``.
 
-    .. config:option:: server_per_node :: Enable or disable one local `gen_server` \
-        process per node
+    .. config:option:: server_per_node
 
     By default, rexi will spawn one local gen_server process for each node in
     the cluster. Disabling this flag will cause CouchDB to use a single process
     for all RPC communication, which is not recommended in high throughput
     deployments.
 
-    .. config:option:: stream_limit :: Number of send messages without waiting \
-        for acknowledgement from the coordinator
+    .. config:option:: stream_limit
 
         .. versionadded:: 3.0
 
diff --git a/src/docs/src/config/compaction.rst b/src/docs/src/config/compaction.rst
index 620c2b9..86113ed 100644
--- a/src/docs/src/config/compaction.rst
+++ b/src/docs/src/config/compaction.rst
@@ -104,19 +104,19 @@
 The following settings control the resource allocation for a given compaction
 channel.
 
-    .. config:option:: capacity :: Maximum number of items
+    .. config:option:: capacity
 
         The maximum number of items the channel can hold (lowest priority item
         is removed to make room for new items). Defaults to 9999.
 
-    .. config:option:: concurrency :: Maximum number of concurrent jobs
+    .. config:option:: concurrency
 
         The maximum number of jobs that can run concurrently in this channel.
         Defaults to 1.
 
-    .. config:option:: from :: Time window start
+    .. config: option:: from
 
-    .. config:option:: to :: Time window end
+    .. config: option:: to
 
         The time period during which this channel is allowed to execute
         compactions. The value for each of these parameters must obey the format
@@ -125,7 +125,7 @@
         regardless of the period defined here. The default is to allow the
         channel to execute compactions all the time.
 
-    .. config:option:: strict_window :: Run compaction only within the time window
+    .. config: option:: strict_window
 
         If set to ``true``, any compaction that is still running after the end of
         the allowed perio will be suspended, and then resumed during the next
@@ -135,32 +135,32 @@
 There are also several settings that collectively control whether a channel will
 enqueue a file for compaction and how it prioritizes files within its queue:
 
-    .. config:option:: max_priority :: Maximum priority of item to be enqueued
+    .. config:option:: max_priority
 
         Each item must have a priority lower than this to be enqueued. Defaults
         to infinity.
 
-    .. config:option:: max_size :: Maximum size of item to be enqueued
+    .. config:option:: max_size
 
         The item must be no larger than this many bytes in length to be
         enqueued. Defaults to infinity.
 
-    .. config:option:: min_priority :: Minimum priority of item to be enqueued
+    .. config:option:: min_priority
 
         The item must have a priority at least this high to be enqueued.
         Defaults to 5.0 for ratio and 16 MB for slack.
 
-    .. config:option:: min_changes :: Minimum number of changes of item to be enqueued
+    .. config:option:: min_changes
 
         The minimum number of changes since last compaction before the item will
         be enqueued. Defaults to 0. Currently only works for databases.
 
-    .. config:option:: min_size :: Minimum size of item to be enqueued
+    .. config:option:: min_size
 
         The item must be at least this many bytes in length to be enqueued.
         Defaults to 1mb (1048576 bytes).
 
-    .. config:option:: priority :: Method for priority calculation
+    .. config:option:: priority
 
         The method used to calculate priority. Can be ratio (calculated as
         ``sizes.file/sizes.active``) or slack (calculated as ``sizes.file -
diff --git a/src/docs/src/config/couch-peruser.rst b/src/docs/src/config/couch-peruser.rst
index 1517c04..dc5e7a3 100644
--- a/src/docs/src/config/couch-peruser.rst
+++ b/src/docs/src/config/couch-peruser.rst
@@ -13,23 +13,23 @@
 .. default-domain:: config
 .. highlight:: ini
 
-=================
-Database Per User
-=================
+=============
+couch_peruser
+=============
 
 .. _config/couch_peruser:
 
-Database Per User Options
-=========================
+couch_peruser Options
+=====================
 
-.. config:section:: couch_peruser :: Database Per User Options
+.. config:section:: couch_peruser :: couch_peruser Options
 
-    .. config:option:: enable :: Enable private per-user database pattern
+    .. config:option:: enable
 
     If set to ``true``, couch_peruser ensures that a private per-user
     database exists for each document in ``_users``. These databases are
-    writable only by the corresponding user. Database names are in the following
-    form: ``userdb-{UTF-8 hex encoded username}``. ::
+    writable only by the corresponding user. Databases are in the following
+    form: ``userdb-{hex encoded username}``. ::
 
         [couch_peruser]
         enable = false
@@ -37,20 +37,7 @@
     .. note::
         The ``_users`` database must exist before couch_peruser can be enabled.
 
-    .. tip::
-        Under NodeJS, user names can be converted to and from database names thusly:
-
-    .. code:: javascript
-
-        function dbNameToUsername(prefixedHexName) {
-          return Buffer.from(prefixedHexName.replace('userdb-', ''), 'hex').toString('utf8');
-        }
-
-        function usernameToDbName(name) {
-          return 'userdb-' + Buffer.from(name).toString('hex');
-        }
-
-    .. config:option:: delete_dbs :: Enable deleting user-db after user delete
+    .. config:option:: delete_dbs
 
     If set to ``true`` and a user is deleted, the respective database gets
     deleted as well. ::
@@ -62,7 +49,7 @@
     ``_couchdb.roles=['_admin']`` claim to for the peruser database to be properly
     created and accessible for the user provided in the ``sub=`` claim.
 
-    .. config:option:: q :: Sharding value for per-user databases
+    .. config:option:: q
 
     If set, specify the sharding value for per-user databases. If unset, the
     cluster default value will be used.
diff --git a/src/docs/src/config/http.rst b/src/docs/src/config/http.rst
index 19f4341..4bda36b 100644
--- a/src/docs/src/config/http.rst
+++ b/src/docs/src/config/http.rst
@@ -129,7 +129,7 @@
             [chttpd]
             changes_timeout = 60000 ; 60 seconds
 
-    .. config:option:: config_whitelist :: Config options whitelist
+    .. config:option:: config_whitelist :: Config options while list
 
         .. versionchanged:: 3.2 moved from [httpd] to [chttpd] section
 
@@ -490,7 +490,7 @@
         [chttpd]
         enable_cors = true
 
-    .. config:option:: credentials :: Enable credentials support in CouchDB
+    .. config:option:: credentials
 
         By default, neither authentication headers nor cookies are included in
         requests and responses. To do so requires both setting
@@ -503,7 +503,7 @@
         CouchDB will respond to a credentials-enabled CORS request with an
         additional header, ``Access-Control-Allow-Credentials=true``.
 
-    .. config:option:: origins :: List of allowed origins
+    .. config:option:: origins
 
         List of origins separated by a comma, ``*`` means accept all. You can’t
         set ``origins = *`` and ``credentials = true`` option at the same
@@ -521,21 +521,21 @@
         Note that by default, no origins are accepted. You must define them
         explicitly.
 
-    .. config:option:: headers :: List of accepted headers
+    .. config:option:: headers
 
         List of accepted headers separated by a comma::
 
             [cors]
             headers = X-Couch-Id, X-Couch-Rev
 
-    .. config:option:: methods :: List of accepted methods
+    .. config:option:: methods
 
         List of accepted methods::
 
             [cors]
             methods = GET,POST
 
-    .. config:option:: max_age :: Set Access-Control-Max-Age header
+    .. config:option:: max_age
 
         Sets the ``Access-Control-Max-Age`` header in seconds. Use it to
         avoid repeated ``OPTIONS`` requests.
diff --git a/src/docs/src/config/ioq.rst b/src/docs/src/config/ioq.rst
index ef931b3..bcf902b 100644
--- a/src/docs/src/config/ioq.rst
+++ b/src/docs/src/config/ioq.rst
@@ -42,7 +42,7 @@
             [ioq]
             ratio = 0.01
 
-.. config:section:: ioq.bypass :: Bypass Selected IO Classes
+.. config:section:: ioq.bypass :: Bypass selected IO classes by setting these to true
 
     System administrators can choose to submit specific classes of IO directly
     to the underlying file descriptor or OS process, bypassing the queues
@@ -50,28 +50,28 @@
     latency, but relinquishes some control over prioritization. The following
     classes are recognized:
 
-    .. config:option:: os_process :: Bypass IO messages to external processes
+    .. config:option:: os_process
 
         Messages on their way to an external process (e.g., ``couchjs``).
 
-    .. config:option:: read :: Bypass Disk IO read requests
+    .. config:option:: read
 
         Disk IO fulfilling interactive read requests.
 
-    .. config:option:: write :: Bypass Disk IO write requests
+    .. config:option:: write
 
         Disk IO required to update a database.
 
-    .. config:option:: view_update :: Bypass Disk IO view update requests
+    .. config:option:: view_update
 
         Disk IO required to update views and other secondary indexes.
 
-    .. config:option:: shard_sync :: Bypass Disk IO for shard syncing requests
+    .. config:option:: shard_sync
 
         Disk IO issued by the background replication processes that fix any
         inconsistencies between shard copies.
 
-    .. config:option:: compaction :: Bypass Disk IO for compaction job requests
+    .. config:option:: compaction
 
         Disk IO issued by compaction jobs.
 
diff --git a/src/docs/src/config/logging.rst b/src/docs/src/config/logging.rst
index 26422f6..d9aae6a 100644
--- a/src/docs/src/config/logging.rst
+++ b/src/docs/src/config/logging.rst
@@ -22,7 +22,7 @@
 Logging options
 ================
 
-.. config:section:: log :: Logging Options
+.. config:section:: log :: Logging options
 
     CouchDB logging configuration.
 
@@ -54,7 +54,7 @@
         This path should be readable and writable for user that runs CouchDB
         service (`couchdb` by default).
 
-    .. config:option:: write_buffer :: File log write buffer size
+    .. config:option:: write_buffer
 
        Specifies the size of the file log write buffer in bytes, to enable
        delayed log writes. Only used by the ``file``
@@ -63,7 +63,7 @@
             [log]
             write_buffer = 0
 
-    .. config:option:: write_delay :: Wait delay before commiting logs to disk
+    .. config:option:: write_delay
 
         Specifies the wait in milliseconds before committing logs to disk, to
         enable delayed log writes. Only used by the ``file``
@@ -97,7 +97,7 @@
         - ``emergency`` or ``emerg``
         - ``none``: Disables logging any messages.
 
-    .. config:option:: include_sasl :: Include SASL information in logs
+    .. config:option:: include_sasl
 
         Includes `SASL`_ information in logs::
 
@@ -106,11 +106,7 @@
 
         .. _SASL: http://www.erlang.org/doc/apps/sasl/
 
-    .. config:option:: syslog_host :: Syslog host
-
-        .. note::
-
-            Setting `syslog_host` is mandatory for ``syslog`` to work!
+    .. config:option:: syslog_host
 
         Specifies the syslog host to send logs to. Only used by the
         ``syslog`` :option:`writer <log/writer>`::
@@ -118,7 +114,7 @@
             [log]
             syslog_host = localhost
 
-    .. config:option:: syslog_port :: Syslog port
+    .. config:option:: syslog_port
 
         Specifies the syslog port to connect to when sending logs. Only used by
         the ``syslog`` :option:`writer <log/writer>`::
@@ -126,7 +122,7 @@
             [log]
             syslog_port = 514
 
-    .. config:option:: syslog_appid :: Application name for syslog
+    .. config:option:: syslog_appid
 
         Specifies application name to the ``syslog``
         :option:`writer <log/writer>`::
@@ -134,20 +130,10 @@
             [log]
             syslog_appid = couchdb
 
-    .. config:option:: syslog_facility :: Syslog designations for message sources
+    .. config:option:: syslog_facility
 
         Specifies the syslog facility to use with the ``syslog``
         :option:`writer <log/writer>`::
 
             [log]
             syslog_facility = local2
-
-    .. note::
-        CouchDB's ``syslog`` only knows how to use UDP logging. Please ensure that your
-        ``syslog`` server has UDP logging enabled.
-
-        For ``rsyslog`` you can enable the UDP module `imudp` in ``/etc/rsyslog.conf``::
-
-            # provides UDP syslog reception
-            module(load="imudp")
-            input(type="imudp" port="514")
diff --git a/src/docs/src/config/misc.rst b/src/docs/src/config/misc.rst
index 5c76d2a..719ca14 100644
--- a/src/docs/src/config/misc.rst
+++ b/src/docs/src/config/misc.rst
@@ -24,7 +24,7 @@
 
 .. config:section:: attachments :: Configuration of Attachment Storage
 
-    .. config:option:: compression_level :: Set zlib compression level
+    .. config:option:: compression_level
 
         Defines zlib compression level for the attachments from ``1`` (lowest,
         fastest) to ``9`` (highest, slowest). A value of ``0`` disables
@@ -33,7 +33,7 @@
             [attachments]
             compression_level = 8
 
-    .. config:option:: compressible_types :: List of attachment types for compression
+    .. config:option:: compressible_types
 
         Since compression is ineffective for some types of files, it is
         possible to let CouchDB compress only some types of attachments,
@@ -49,7 +49,7 @@
 
 .. config:section:: stats :: Statistic Calculation
 
-    .. config:option:: interval :: Statistics gathering interval
+    .. config:option:: interval
 
         Interval between gathering statistics in seconds::
 
@@ -218,11 +218,11 @@
 
 .. config:section:: csp :: Content-Security-Policy
 
-    You can configure ``Content-Security-Policy`` header for Fauxton, attachments and
-    show/list functions separately. See `MDN Content-Security-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy>`_
-    for more details on CSP.
+  You can configure ``Content-Security-Policy`` header for Fauxton, attachments and
+  show/list functions separately. See `MDN Content-Security-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy>`_
+  for more details on CSP.
 
-    .. config:option:: utils_enable :: Enable Content-Security-Policy header (Fauxton)
+    .. config:option:: utils_enable
 
         Enable the sending of the header ``Content-Security-Policy`` for ``/_utils``.
         Defaults to ``true``::
@@ -230,35 +230,35 @@
             [csp]
             utils_enable = true
 
-    .. config:option:: utils_header_value :: Set CSP-Header value (Fauxton)
+    .. config:option:: utils_header_value
 
         Specifies the exact header value to send. Defaults to::
 
             [csp]
             utils_header_value = default-src 'self'; img-src 'self'; font-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';
 
-    .. config:option:: attachments_enable :: Enable CSP-Header (attachments)
+    .. config:option:: attachments_enable
 
         Enable sending the ``Content-Security-Policy`` header for attachments::
 
             [csp]
             attachments_enable = true
 
-    .. config:option:: attachments_header_value :: Set CSP-Header value (attachments)
+    .. config:option:: attachments_header_value
 
         Specifies the exact header value to send. Defaults to::
 
             [csp]
             attachments_header_value = sandbox
 
-    .. config:option:: showlist_enable :: Enable CSP-Header (Show/List-Functions)
+    .. config:option:: showlist_enable
 
         Enable sending the ``Content-Security-Policy`` header for show and list functions::
 
             [csp]
             showlist_enable = true
 
-    .. config:option:: showlist_header_value :: Set CSP-Header value (Show/List-Functions)
+    .. config:option:: showlist_header_value
 
         Specifies the exact header value to send. Defaults to::
 
@@ -270,14 +270,14 @@
 
     Experimental support of CSP headers for ``/_utils`` (Fauxton).
 
-    .. config:option:: enable :: Enable CSP-Header (deprecated)
+    .. config:option:: enable
 
         Enable the sending of the Header ``Content-Security-Policy``::
 
             [csp]
             enable = true
 
-    .. config:option:: header_value :: Set CSP-Header value (deprecated)
+    .. config:option:: header_value
 
         You can change the default value for the Header which is sent::
 
@@ -291,8 +291,7 @@
 
 .. config:section:: purge :: Configuration of Database Purge
 
-    .. config:option:: max_document_id_number :: Allowed number of documents \
-        per Delete-Request
+    .. config:option:: max_document_id_number
 
         .. versionadded:: 3.0
 
@@ -301,8 +300,7 @@
             [purge]
             max_document_id_number = 100
 
-    .. config:option:: max_revisions_number :: Allowed number of accumulated \
-        revisions per Purge-Request
+    .. config:option:: max_revisions_number
 
         .. versionadded:: 3.0
 
@@ -312,8 +310,7 @@
             [purge]
             max_revisions_number = 1000
 
-    .. config:option:: index_lag_warn_seconds :: Allowed duration for purge \
-        checkpoint document
+    .. config:option:: index_lag_warn_seconds
 
         .. versionadded:: 3.0
 
@@ -330,8 +327,7 @@
 
 .. config:section:: prometheus :: Configuration of Prometheus Options
 
-    .. config:option:: additional_port :: Enable a separate, non-authenticated port \
-        for prometheus data
+    .. config:option:: additional_port
 
         .. versionadded:: 3.2
 
@@ -340,7 +336,7 @@
             [prometheus]
             additional_port = true
 
-    .. config:option:: bind_address :: IP address binding
+    .. config:option:: bind_address
 
         .. versionadded:: 3.2
 
@@ -349,11 +345,11 @@
             [prometheus]
             bind_address = 127.0.0.1
 
-    .. config:option:: port :: Port for querying Prometheus data without authentication
+    .. config:option:: port
 
         .. versionadded:: 3.2
 
-        The port on which clients can query prometheus endpoint data without authentication::
+        The port on which clients can query prometheus endpoint data without authentication
 
             [prometheus]
             port = 17986
diff --git a/src/docs/src/config/query-servers.rst b/src/docs/src/config/query-servers.rst
index 1d81665..cba7646 100644
--- a/src/docs/src/config/query-servers.rst
+++ b/src/docs/src/config/query-servers.rst
@@ -65,7 +65,7 @@
 
 For more info about the available options, please consult ``couchjs -h``.
 
-.. _Mozilla SpiderMonkey: https://spidermonkey.dev/
+.. _Mozilla SpiderMonkey: https://developer.mozilla.org/en/docs/SpiderMonkey
 
 .. seealso::
     The :ref:`Mango Query Server <api/db/_find>` is a declarative language
@@ -92,7 +92,8 @@
             [query_server_config]
             commit_freq = 5
 
-    .. config:option:: os_process_limit :: Query Server process hard limit
+    .. config:option:: os_process_limit :: Query Server process hard
+                       limit
 
         Hard limit on the number of OS processes usable by Query
         Servers. The default value is ``100``::
@@ -106,7 +107,8 @@
         resources. Production settings are typically 10-20 times the
         default value.
 
-    .. config:option:: os_process_soft_limit :: Query Server process soft limit
+    .. config:option:: os_process_soft_limit :: Query Server process
+                       soft limit
 
         Soft limit on the number of OS processes usable by Query
         Servers. The default value is ``100``::
@@ -241,7 +243,7 @@
 
         Set to ``true`` to disable the "index all fields" text index. This can lead
         to out of memory issues when there are documents with nested array fields.
-        Defaults to ``false``.::
+        Defaults to ``false``.
 
             [mango]
             index_all_disabled = false
@@ -251,20 +253,20 @@
         Sets the default number of results that will be returned in a
         :ref:`_find <api/db/_find>` response. Individual requests can override this
         by setting ``limit`` directly in the query parameters.
-        Defaults to ``25``.::
+        Defaults to ``25``.
 
             [mango]
             default_limit = 25
 
-    .. config:option:: index_scan_warning_threshold :: Ratio threshold that generates \
-        an index scan warning
+    .. config:option:: index_scan_warning_threshold :: Ratio threshold that generates an
+       index scan warning
 
         This sets the ratio between documents scanned and results matched that
         will generate a warning in the _find response. For example, if a query
         requires reading 100 documents to return 10 rows, a warning will be
         generated if this value is ``10``.
 
-        Defaults to ``10``. Setting the value to ``0`` disables the warning.::
+        Defaults to ``10``. Setting the value to ``0`` disables the warning.
 
             [mango]
             index_scan_warning_threshold = 10
diff --git a/src/docs/src/config/replicator.rst b/src/docs/src/config/replicator.rst
index 1f94efe..d76e908 100644
--- a/src/docs/src/config/replicator.rst
+++ b/src/docs/src/config/replicator.rst
@@ -23,7 +23,7 @@
 
 .. config:section:: replicator :: Replicator Database Configuration
 
-    .. config:option:: max_jobs :: Maximum replications jobs
+    .. config:option:: max_jobs
 
         .. versionadded:: 2.1
 
@@ -43,7 +43,7 @@
              [replicator]
              max_jobs = 500
 
-    .. config:option:: interval :: Checking interval of replication jobs
+    .. config:option:: interval
 
         .. versionadded:: 2.1
 
@@ -54,7 +54,7 @@
              [replicator]
              interval = 60000
 
-    .. config:option:: max_churn :: Maximum number of jobs to start and stop
+    .. config:option:: max_churn
 
         .. versionadded:: 2.1
 
@@ -66,7 +66,7 @@
              [replicator]
              max_churn = 20
 
-    .. config:option:: max_history :: Maximum number of events recorded for each job
+    .. config:option:: max_history
 
         Maximum number of events recorded for each job. This parameter defines
         an upper bound on the consecutive failure count for a job, and in turn
@@ -77,8 +77,7 @@
              [replicator]
              max_history = 20
 
-    .. config:option:: update_docs :: Update replication document with error and \
-        triggered states
+    .. config:option:: update_docs
 
         .. versionadded:: 2.1
 
@@ -89,7 +88,7 @@
              [replicator]
              update_docs = false
 
-    .. config:option:: worker_batch_size :: Batch size of workers
+    .. config:option:: worker_batch_size
 
         With lower batch sizes checkpoints are done more frequently. Lower
         batch sizes also reduce the total amount of used RAM memory::
@@ -97,7 +96,7 @@
             [replicator]
             worker_batch_size = 500
 
-    .. config:option:: worker_processes :: Number of worker processes
+    .. config:option:: worker_processes
 
         More worker processes can give higher network throughput but can also
         imply more disk and network IO::
@@ -105,14 +104,14 @@
             [replicator]
             worker_processes = 4
 
-    .. config:option:: http_connections :: Maximum number of HTTP connections
+    .. config:option:: http_connections
 
         Maximum number of HTTP connections per replication::
 
             [replicator]
             http_connections = 20
 
-    .. config:option:: connection_timeout :: Per replication connection timeout
+    .. config:option:: connection_timeout
 
         HTTP connection timeout per replication.
         This is divided by three (3) when the replicator makes changes feed requests.
@@ -122,7 +121,7 @@
             [replicator]
             connection_timeout = 30000
 
-    .. config:option:: retries_per_request :: Number of retries per request
+    .. config:option:: retries_per_request
 
         .. versionchanged:: 2.1.1
 
@@ -136,7 +135,7 @@
             [replicator]
             retries_per_request = 5
 
-    .. config:option:: socket_options :: Erlang socket options
+    .. config:option:: socket_options
 
         Some socket options that might boost performance in some scenarios:
 
@@ -152,7 +151,7 @@
 
         .. _inet: http://www.erlang.org/doc/man/inet.html#setopts-2
 
-    .. config:option:: checkpoint_interval :: Replication checkpoint interval
+    .. config:option:: checkpoint_interval
 
         .. versionadded:: 1.6
 
@@ -167,7 +166,7 @@
         higher values will lower bandwidth and make fewer requests for
         infrequently updated databases.
 
-    .. config:option:: use_checkpoints :: Use checkpoints during replication
+    .. config:option:: use_checkpoints
 
         .. versionadded:: 1.6
 
@@ -188,21 +187,21 @@
             Disabling checkpoints is **not recommended** as CouchDB will scan
             the Source database's changes feed from the beginning.
 
-    .. config:option:: cert_file :: Path to user PEM certificate file
+    .. config:option:: cert_file
 
         Path to a file containing the user's certificate::
 
             [replicator]
             cert_file = /full/path/to/server_cert.pem
 
-    .. config:option:: key_file :: Path to private user PEM file
+    .. config:option:: key_file
 
         Path to file containing user's private PEM encoded key::
 
             [replicator]
             key_file = /full/path/to/server_key.pem
 
-    .. config:option:: password :: Optional password for protected key file
+    .. config:option:: password
 
         String containing the user's password. Only used if the private key file
         is password protected::
@@ -210,14 +209,14 @@
             [replicator]
             password = somepassword
 
-    .. config:option:: verify_ssl_certificates :: Check peer certificates
+    .. config:option:: verify_ssl_certificates
 
         Set to true to validate peer certificates::
 
             [replicator]
             verify_ssl_certificates = false
 
-    .. config:option:: ssl_trusted_certificates_file :: Trusted peer certificates
+    .. config:option:: ssl_trusted_certificates_file
 
         File containing a list of peer trusted certificates (in the PEM
         format)::
@@ -225,8 +224,7 @@
             [replicator]
             ssl_trusted_certificates_file = /etc/ssl/certs/ca-certificates.crt
 
-    .. config:option:: ssl_certificate_max_depth :: Maximum peer certificate \
-        depth checking size
+    .. config:option:: ssl_certificate_max_depth
 
         Maximum peer certificate depth (must be set even if certificate
         validation is off)::
@@ -234,7 +232,7 @@
             [replicator]
             ssl_certificate_max_depth = 3
 
-    .. config:option:: auth_plugins :: List of replicator client authentication plugins
+    .. config:option:: auth_plugins
 
         .. versionadded:: 2.2
 
@@ -249,7 +247,7 @@
           [replicator]
           auth_plugins = couch_replicator_auth_session,couch_replicator_auth_noop
 
-    .. config:option:: usage_coeff :: Usage coefficient decay
+    .. config:option:: usage_coeff
 
         .. versionadded:: 3.2.0
 
@@ -261,7 +259,7 @@
             [replicator]
             usage_coeff = 0.5
 
-    .. config:option:: priority_coeff :: Priority coefficient decays
+    .. config:option:: priority_coeff
 
         .. versionadded:: 3.2.0
 
@@ -285,25 +283,15 @@
 
 .. config:section:: replicator.shares :: Per-Database Fair Share Allocation
 
-    .. config:option:: $replicator_db :: Value for a replicator database
+    .. config:option:: $replicator_db
 
         .. versionadded:: 3.2.0
 
-        Fair share configuration section. Higher share values results in a
+        Fair share configuration section. More shares result in a
         higher chance that jobs from that db get to run. The default
         value is 100, minimum is 1 and maximum is 1000. The
-        configuration may be set even if the database does not exist.
-
-        In this context the option ``$replicator_db`` acts as a placeholder
-        for your replicator database name. The default replicator database is
-        ``_replicator``. Additional replicator databases can be created. To be
-        recognized as such by the system, their database names should end with
-        ``/_replicator``. See the :ref:`Replicator Database <replicator>`
-        section for more info.
-
-        ::
+        configuration may be set even if the database does not exist::
 
             [replicator.shares]
-            _replicator = 50
-            foo/_replicator = 25
-            bar/_replicator = 25
+            _replicator_db = 100
+            $another/_replicator_db = 100
diff --git a/src/docs/src/config/resharding.rst b/src/docs/src/config/resharding.rst
index 91531aa..b20e85f 100644
--- a/src/docs/src/config/resharding.rst
+++ b/src/docs/src/config/resharding.rst
@@ -23,7 +23,7 @@
 
 .. config:section:: resharding :: Resharding Configuration
 
-    .. config:option:: max_jobs :: Maximum resharding jobs per node
+    .. config:option:: max_jobs
 
         Maximum number of resharding jobs per cluster node. This includes
         completed, failed, and running jobs. If the job appears in the
@@ -34,7 +34,7 @@
              [reshard]
              max_jobs = 48
 
-    .. config:option:: max_history :: Maximum size of the event log
+    .. config:option:: max_history
 
         Each resharding job maintains a timestamped event log. This setting
         limits the maximum size of that log::
@@ -42,8 +42,7 @@
              [reshard]
              max_history = 20
 
-    .. config:option:: max_retries :: Maximum number of retries before failing \
-        resharding job
+    .. config:option:: max_retries
 
         How many times to retry shard splitting steps if they fail. For
         example, if indexing or topping off fails, it will be retried up to
@@ -52,14 +51,14 @@
              [reshard]
              max_retries = 1
 
-    .. config:option:: retry_interval_sec :: Wait time between resharding retries
+    .. config:option:: retry_interval_sec
 
         How long to wait between subsequent retries::
 
              [reshard]
              retry_interval_sec = 10
 
-    .. config:option:: delete_source :: Delete source after resharding
+    .. config:option:: delete_source
 
         Indicates if the source shard should be deleted after resharding has
         finished. By default, it is ``true`` as that would recover the space
@@ -69,7 +68,7 @@
              [reshard]
              delete_source = true
 
-    .. config:option:: update_shard_map_timeout_sec :: Shard map update waiting time
+    .. config:option:: update_shard_map_timeout_sec
 
         How many seconds to wait for the shard map update operation to
         complete. If there is a large number of shard db changes waiting to
@@ -78,7 +77,7 @@
             [reshard]
             update_shard_map_timeout_sec = 60
 
-    .. config:option:: source_close_timeout_sec :: Source shard wait time before close
+    .. config:option:: source_close_timeout_sec
 
         How many seconds to wait for the source shard to close. "Close" in this
         context means that client requests which keep the database open have
@@ -87,8 +86,7 @@
             [reshard]
             source_close_timeout_sec = 600
 
-    .. config:option:: require_node_param :: Require node parameter when creating \
-        resharding job
+    .. config:option:: require_node_param
 
         Require users to specify a ``node`` parameter when creating resharding
         jobs. This can be used as a safety check to avoid inadvertently
@@ -97,8 +95,7 @@
             [reshard]
             require_node_param = false
 
-    .. config:option:: require_range_param :: Require range parameter when creating \
-        resharding job
+    .. config:option:: require_range_param
 
         Require users to specify a ``range`` parameter when creating resharding
         jobs. This can be used as a safety check to avoid inadvertently
diff --git a/src/docs/src/contributing.rst b/src/docs/src/contributing.rst
index 17f66d5..31df6c9 100644
--- a/src/docs/src/contributing.rst
+++ b/src/docs/src/contributing.rst
@@ -192,7 +192,7 @@
 
 #. Line length
 
-   * The maximum line length is ``90`` characters.
+   * The maximum line length is ``80`` characters.
 
 #. Links
 
diff --git a/src/docs/src/docs.app.src b/src/docs/src/docs.app.src
index 737b9c0..35e262a 100644
--- a/src/docs/src/docs.app.src
+++ b/src/docs/src/docs.app.src
@@ -14,5 +14,5 @@
     {description, "CouchDB Documentation"},
     {vsn, git},
     {registered, []},
-    {applications, [kernel, stdlib]}
+    {applications, [kernel]}
 ]}.
diff --git a/src/docs/src/install/unix.rst b/src/docs/src/install/unix.rst
index 2623d96..17539c9 100644
--- a/src/docs/src/install/unix.rst
+++ b/src/docs/src/install/unix.rst
@@ -193,33 +193,6 @@
 
     sudo yum install erlang-reltool
 
-Fedora 36
----------
-
-On Fedora 36, you may need these packages in addition to the ones listed above:
-
-* `mozjs91-devel`
-* `erlang-rebar`
-
-If the system contains dangling links to Erlang chunk files, the compiler will
-abort. They can be deleted with the following command::
-
-    find -L /usr/lib64/erlang/lib/ -type l -name chunks | xargs rm -f
-
-Fauxton is not built on the Node.js version (v16) shipped by the system. The
-installation of v12.22.12 can be done via::
-
-    wget https://nodejs.org/download/release/v12.22.12/node-v12.22.12-linux-x64.tar.gz
-    mkdir -p /usr/local/lib/nodejs
-    tar -xvf node-v12.22.12-linux-x64.tar.gz -C /usr/local/lib/nodejs
-    export PATH=/usr/local/lib/nodejs/node-v12.22.12-linux-x64/bin:$PATH
-
-Note that due to a problem with the Python package sphinx-build, it is not
-possible to compile the documentation on Fedora 36. You can skip compiling the
-documentation via::
-
-    ./configure --disable-docs --spidermonkey-version 91
-
 Mac OS X
 --------
 
diff --git a/src/docs/src/install/upgrading.rst b/src/docs/src/install/upgrading.rst
index 97364a7..eff3dca 100644
--- a/src/docs/src/install/upgrading.rst
+++ b/src/docs/src/install/upgrading.rst
@@ -69,8 +69,8 @@
 #. Upgrade that CouchDB install in place.
 #. Start CouchDB.
 #. Double-check that the node has re-joined the cluster through the
-   :ref:`/_membership<api/server/membership>` endpoint. If your load balancer has
-   health check functionality driven by the :ref:`/_up<api/server/up>` endpoint,
+   `/_membership <api/server/membership>` endpoint. If your load balancer has
+   health check functionality driven by the `/_up <api/server/up>` endpoint,
    check whether it thinks the node is healthy as well.
 #. Repeat the last 4 steps on the remaining nodes in the cluster.
 #. Relax! You're done.
diff --git a/src/docs/src/intro/security.rst b/src/docs/src/intro/security.rst
index 0a4aebb..30c2da8 100644
--- a/src/docs/src/intro/security.rst
+++ b/src/docs/src/intro/security.rst
@@ -307,7 +307,7 @@
 - **salt** (*string*): Hash salt. Used for both ``simple`` and ``pbkdf2``
   ``password_scheme`` options.
 - **iterations** (*integer*): Number of iterations to derive key, used for ``pbkdf2``
-  ``password_scheme`` See the :ref:`configuration API <config/chttpd_auth>`:: for details.
+  ``password_scheme``
 - **type** (*string*): Document type. Constantly has the value ``user``
 
 Additionally, you may specify any custom fields that relate to the target
diff --git a/src/docs/src/json-structure.rst b/src/docs/src/json-structure.rst
index 2220244..d3d0f0a 100644
--- a/src/docs/src/json-structure.rst
+++ b/src/docs/src/json-structure.rst
@@ -282,8 +282,6 @@
 | use_checkpoints (optional)     | Whether to use replication checkpoints      |
 |                                | or not.                                     |
 +--------------------------------+---------------------------------------------+
-| winning_revs_only (optional)   | Replicate only the winning revisions.       |
-+--------------------------------+---------------------------------------------+
 
 .. _replication-status:
 
@@ -324,10 +322,6 @@
 +--------------------+-------------------------------------------+
 | missing_found      | Number of missing documents found         |
 +--------------------+-------------------------------------------+
-| bulk_get_attempts  | Number of attempted _bulk_get fetches     |
-+--------------------+-------------------------------------------+
-| bulk_get_docs      | Number of documents read with _bulk_get   |
-+--------------------+-------------------------------------------+
 
 .. _request_object:
 
diff --git a/src/docs/src/maintenance/compaction.rst b/src/docs/src/maintenance/compaction.rst
index c15344f..d022f55 100644
--- a/src/docs/src/maintenance/compaction.rst
+++ b/src/docs/src/maintenance/compaction.rst
@@ -141,24 +141,6 @@
 re-entering. If ``strict_window`` is left at its default of false, the active
 compactions will be allowed to complete but no new compactions will be started.
 
-.. note::
-    When a channel is created, a 60s timer is started to check if the channel
-    should be processing any compactions based on the time window defined in your config.
-
-    The channel is set to pending and after 60s it checks if it should be running
-    at all and is set to paused if not.
-    At the end of the check another 60s timer is started to schedule another check.
-
-    Eventually, when in the time window, it starts processing compactions.
-    But since it will continue running a check every 60s running compaction
-    processes will be suspended when exiting the time window and resume them when
-    re-entering the window.
-
-    This means that for the first 60s after exiting the time window,
-    or when a channel is created and you are outside the time window,
-    compactions are run for up to 60s.This is different to the behavior of the
-    old compaction daemon which would cancel the compactions outright.
-
 Migration Guide
 ---------------
 
diff --git a/src/docs/src/query-server/index.rst b/src/docs/src/query-server/index.rst
index 5673655..02be469 100644
--- a/src/docs/src/query-server/index.rst
+++ b/src/docs/src/query-server/index.rst
@@ -27,7 +27,7 @@
 `Content-Type` header of a `temporary view`. Design documents that do not
 specify a ``language`` property are assumed to be of type `javascript`.
 
-.. _Mozilla SpiderMonkey: https://spidermonkey.dev/
+.. _Mozilla SpiderMonkey: https://developer.mozilla.org/en/docs/SpiderMonkey
 
 .. toctree::
     :maxdepth: 2
diff --git a/src/docs/src/replication/conflicts.rst b/src/docs/src/replication/conflicts.rst
index f876400..67675dd 100644
--- a/src/docs/src/replication/conflicts.rst
+++ b/src/docs/src/replication/conflicts.rst
@@ -112,7 +112,7 @@
 by returning a :statuscode:`409` error. This is because, when you
 PUT a new version of a document, you must give the ``_rev`` of the previous
 version. If that ``_rev`` has already been superseded, the update is rejected
-with a :statuscode:`409` response.
+with a  :statuscode:`409` response.
 
 So imagine two users on the same node are fetching Bob's business card, updating
 it concurrently, and writing it back:
diff --git a/src/docs/src/replication/replicator.rst b/src/docs/src/replication/replicator.rst
index 8f02587..4786786 100644
--- a/src/docs/src/replication/replicator.rst
+++ b/src/docs/src/replication/replicator.rst
@@ -26,9 +26,6 @@
    their jobs. Previously replication jobs were scheduled without any regard of
    their originating database.
 
-.. versionchanged:: 3.3.0 ``winning_revs_only: true`` replicator option to
-   replicate the winning document revisions.
-
 The ``_replicator`` database works like any other in CouchDB, but
 documents added to it will trigger replications. Create (``PUT`` or
 ``POST``) a document to start replication. ``DELETE`` a replication
@@ -804,34 +801,3 @@
 they are used. If they are not, then URL userinfo is checked. If credentials
 are found there, then those credentials are used, otherwise basic auth header
 is used.
-
-Replicate Winning Revisions Only
-================================
-
-Use the ``winning_revs_only: true`` option to replicate "winning" document
-revisions only. These are the revisions that would be returned by the ``GET
-db/doc`` API endpoint by default, or appear in the ``_changes`` feed with the
-default parameters.
-
-.. code-block:: http
-
-    POST http://couchdb:5984/_replicate HTTP/1.1
-    Accept: application/json
-    Content-Type: application/json
-
-    {
-        "winning_revs_only" : true
-        "source" : "http://source:5984/recipes",
-        "target" : "http://target:5984/recipes",
-    }
-
-Replication with this mode discards conflicting revisions, so it could be one
-way to remove conflicts through replication.
-
-Replication IDs and checkpoint IDs, generated by ``winning_revs_only: true``
-replications will be different than those generated by default, so it is
-possible to first replicate the winning revisions, then later, to
-"backfill" the rest of the revisions with a regular replication job.
-
-``winning_revs_only: true`` option can be combined with filters or other
-options like ``continuous: true`` or ``create_target: true``.
diff --git a/src/docs/src/setup/cluster.rst b/src/docs/src/setup/cluster.rst
index ea6f6cd..5588b97 100644
--- a/src/docs/src/setup/cluster.rst
+++ b/src/docs/src/setup/cluster.rst
@@ -248,7 +248,7 @@
 
 When you click "Setup Cluster" you are asked for admin credentials again, and
 then to add nodes by IP address. To get more nodes, go through the same install
-procedure for each node, using the same machine to perform the setup process.
+procedure for each node, using the same machien to perform the setup process.
 Be sure to specify the total number of nodes you expect to add to the cluster
 before adding nodes.
 
@@ -362,10 +362,7 @@
         ]
     }
 
-If the cluster is enabled and ``all_nodes`` and ``cluster_nodes`` lists don't match, use curl to add nodes with
-PUT ``/_node/_local/_nodes/couchdb@<reachable-ip-address|fully-qualified-domain-name>``
-and remove nodes with
-DELETE ``/_node/_local/_nodes/couchdb@<reachable-ip-address|fully-qualified-domain-name>``
+Ensure the ``all_nodes`` and ``cluster_nodes`` lists match.
 
 You CouchDB cluster is now set up.
 
diff --git a/src/docs/src/whatsnew/3.0.rst b/src/docs/src/whatsnew/3.0.rst
index b70c418..e208b04 100644
--- a/src/docs/src/whatsnew/3.0.rst
+++ b/src/docs/src/whatsnew/3.0.rst
@@ -176,7 +176,7 @@
   This should resolve a long-standing gradual memory increase bug in CouchDB.
 
 * :ghissue:`2613`: Simultaneous attempts to create the same new database should
-  no longer result in a :statuscode:`500` error.
+  no longer result in a :code 500: error.
 
 * :ghissue:`2678`: Defaults for the ``smoosh`` compaction daemon are now consistent
   with the shipped ``default.ini`` file.
@@ -268,9 +268,9 @@
 
 * :ghissue:`1875`, :ghissue:`2437`, :ghissue:`2423`: CouchDB now supports linking against
   SpiderMonkey 60 or SpiderMonkey 1.8.5. SpiderMonkey 60 provides enhanced support for
-  ES5, ES6, and ES2016+. Full compatibility information is available at the
-  `ECMAScript compatibility table`_. Click on "Show obsolete platforms", then look for
-  "FF 60 ESR" in the list of engine types.
+  ES5, ES6, and ES2016+. Full compatibility information is available at the `ECMAScript
+  compatibility table`_: click on "Show obsolete platforms," then look for "FF 60 ESR"
+  in the list of engine types.
 
   However, it was discovered that on some ARM 64-bit distributions, SM 60 segfaults
   frequently, including the SM 60 packages on CentOS 8 and Debian 10.
@@ -419,7 +419,7 @@
   to match other case clauses.
 
 * :ghissue:`1897`: The ``/{db}/_bulk_docs`` endpoint now correctly catches invalid
-  (*i.e.*, non-hexadecimal) ``_rev_`` values and responds with a :statuscode:`400` error.
+  (*i.e.*, non-hexadecimal) ``_rev_`` values and responds with a :code 400: error.
 
 * :ghissue:`2321`: CouchDB no longer requires Basic auth credentials to reach the
   ``/_session`` endpoint for login, even when ``require_valid_user`` is enabled.
@@ -435,8 +435,8 @@
 * :ghissue:`2153`: CouchDB no longer may return a ``badmatch`` error when querying
   ``all_docs`` with a passed ``keys`` array.
 
-* :ghissue:`2137`: If search is not available, return a :statuscode:`400` instead of a
-  :statuscode:`500` status code.
+* :ghissue:`2137`: If search is not available, return a :code 400: instead of a
+  :code 500: status code.
 
 * :ghissue:`2077`: Any failed ``fsync(2)`` calls are now correctly raised to avoid
   data corruption arising from retry attempts.
@@ -540,8 +540,8 @@
 * :ghissue:`2337`: The md5 shim (introduced to support FIPS-compliance) is now
   used consistently throughout the code base.
 
-* :ghissue:`2270`: Negative and non-integer ``heartbeat`` values now return
-  :statuscode:`400`.
+* :ghissue:`2270`: Negative and non-integer ``heartbeat`` values now return :code 400:
+  Bad Request.
 
 * :ghissue:`2268`: When rescheduling jobs, CouchDB now stops sufficient running jobs
   to make room for the pending jobs.
diff --git a/src/docs/src/whatsnew/3.2.rst b/src/docs/src/whatsnew/3.2.rst
index d9962c5..9e079a2 100644
--- a/src/docs/src/whatsnew/3.2.rst
+++ b/src/docs/src/whatsnew/3.2.rst
@@ -178,7 +178,7 @@
     ``enable_xframe_options``, ``max_http_request_size``.
 
   * Config options moved from ``[couch_httpd_auth]`` to ``[chttpd_auth]``:
-    ``authentication_redirect``, ``timeout``, ``auth_cache_size``,
+    ``authentication_redirect``, ``require_valid_user``, ``timeout``, ``auth_cache_size``,
     ``allow_persistent_cookies``, ``iterations``, ``min_iterations``, ``max_iterations``,
     ``password_scheme``, ``proxy_use_secret``, ``public_fields``, ``secret``,
     ``users_db_public``, ``x_auth_roles``, ``x_auth_token``, ``x_auth_username``,
diff --git a/src/docs/templates/index.html b/src/docs/templates/index.html
new file mode 100644
index 0000000..3c4b0e9
--- /dev/null
+++ b/src/docs/templates/index.html
@@ -0,0 +1,195 @@
+<!--
+
+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.
+
+-->
+
+{% extends "layout.html" %}
+{% set title = _('Overview') %}
+{% block body %}
+  <h1>Apache CouchDB<sup>&reg;</sup> {{ release|e }} Documentation</h1>
+  <p>
+    {{ _('Welcome! This is') }}
+    {% block description %}{{ _('the documentation for') }} Apache CouchDB<sup>&reg;</sup>
+    {{ release|e }}{% if last_updated %}, {{ _('last updated') }} {{ last_updated|e }}{% endif %}{% endblock %}.
+</p>
+{% block tables %}
+<h2>Meet CouchDB</h2>
+<table class="contentstable" align="center">
+  <tr>
+    <td width="50%">
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("whatsnew/" + version) }}">
+          What's new in CouchDB {{ version }}?
+        </a>
+        <br />
+        <span class="linkdescr">
+          or browse <a href="{{ pathto("whatsnew/index") }}">all "What's new" documents</a>
+        </span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("intro/why") }}">
+          Why CouchDB?
+        </a>
+        <br />
+        <span class="linkdescr">why you might want to use CouchDB</span>
+      </p>
+    <td width="50%">
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("intro/overview") }}">
+          Technical Overview
+        </a>
+        <br />
+        <span class="linkdescr">a quick overview of technology used</span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("intro/consistency") }}">
+          Eventual Consistency
+        </a>
+        <br />
+        <span class="linkdescr">how CouchDB handles synchronization</span>
+      </p>
+    </td>
+  </tr>
+</table>
+
+<h2>Getting started</h2>
+<table class="contentstable" align="center">
+  <tr>
+    <td width="50%">
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("install/index") }}">
+          Installation guides
+        </a>
+        <br />
+        <span class="linkdescr">
+          install CouchDB on <a href="{{ pathto("install/windows") }}">Windows</a>,
+          <a href="{{ pathto("install/mac") }}">OS X</a> or
+          <a href="{{ pathto("install/unix") }}">Linux</a>
+        </span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("intro/tour") }}">
+          Tutorial
+        </a>
+        <br />
+        <span class="linkdescr">start using CouchDB with <a href="{{ pathto("fauxton/index") }}">Fauxton</a> and
+          <a href="{{ pathto("intro/curl") }}">cURL</a></span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("intro/api") }}">
+          HTTP API overview
+        </a>
+        <br />
+        <span class="linkdescr">a short walk though the API</span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("cluster/index") }}">
+          Clustering
+        </a>
+        <br />
+        <span class="linkdescr">setup and manage a cluster of nodes</span>
+      </p>
+    <td width="50%">
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("ddocs/views/intro") }}">
+          Guide to Views
+        </a>
+        <br />
+        <span class="linkdescr">how to query documents with MapReduce</span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("api/database/find") }}">
+          Mango Query Server
+        </a>
+        <br />
+        <span class="linkdescr">
+          simple JSON CouchDB queries without MapReduce
+        </span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("replication/intro") }}">
+          Replication
+        </a>
+        <br />
+        <span class="linkdescr">
+          painless master-master data synchronization
+        </span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("ddocs/ddocs") }}">
+          Design Documents
+        </a>
+        <br />
+        <span class="linkdescr">
+          transform, update or validate your documents
+        </span>
+      </p>
+    </td>
+  </tr>
+</table>
+
+<h2>Reference Documentation &amp; Advanced Topics</h2>
+<table class="contentstable" align="center"><tr>
+  <tr>
+    <td width="50%">
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("api/index") }}">
+          Complete HTTP API Reference
+        </a>
+        <br />
+        <span class="linkdescr">
+          something to come back to
+        </span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("config/index") }}">
+          Configuration Reference
+        </a>
+        <br />
+        <span class="linkdescr">tweak CouchDB to your liking</span>
+      </p>
+    </td>
+    <td width="50%" style="vertical-align: top;">
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("maintenance/index") }}">
+          Maintenance
+        </a>
+        <br />
+        <span class="linkdescr">
+          how to take care of your CouchDB
+        </span>
+      </p>
+      <p class="biglink">
+        <a class="biglink" href="{{ pathto("partitioned-dbs/index") }}">
+          Partitioned Databases
+        </a>
+        <br />
+        <span class="linkdescr">
+          how to use Partitioned Databases in CouchDB
+        </span>
+      </p>
+    </td>
+  </tr>
+</table>
+
+
+<h2>Links</h2>
+<table class="contentstable" align="center"><tr>
+  <td>
+    <p class="biglink"><a class="biglink" href="http://couchdb.apache.org/#download">Download CouchDB</a></p>
+    <p class="biglink"><a class="biglink" href="{{ pathto("http-api") }}">HTTP API Reference</a></p>
+    <p class="biglink"><a class="biglink" href="{{ pathto("config-ref") }}">Configuration Reference</a></p>
+  </td></tr>
+</table>
+{% endblock %}
+{% endblock %}
