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 2020/01/08 22:53:38 UTC

[GitHub] [couchdb-documentation] wohali opened a new pull request #471: [WIP] 3.0.0 relnotes

wohali opened a new pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471
 
 
   Placeholder

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368054715
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
+* :ghissue:`2339`: All databases are now created by default as admin-only. That is, the
+  default new database ``_security`` object is now:
+
+  .. code-block:: javascript
+
+    {
+      "members" : { "roles" : [ "_admin" ] },
+       "admins" : { "roles" : [ "_admin" ] }
+    }
+
+  This can be changed after database creation.
+* Due to code changes in :ghissue:`2324`, it is not possible to upgrade transparently from
+  CouchDB 1.x to 3.x. In addition, the ``couchup`` utility has been removed from CouchDB
+  3.0 by :ghissue:`2399`:. If you are upgrading from CouchDB 1.x, you must first upgrade
+  to CouchDB 2.3.1 to convert your database and indexes, using ``couchup`` if desired.
+  You can then upgrade to CouchDB 3.0. Or, you can start a new CouchDB 3.0 installation
+  and replicate directly from 1.x to 3.0.
+* :ghissue:`1833`, :ghissue:`2358`, :ghissue:`1871`, :ghissue:`1857`: CouchDB 3.0 supports
+  running only under the following Erlang/OTP versions:
+
+  * 19.x - "soft" support only. No longer tested, but should work.
+  * 20.x - must be newer than 20.3.8.11 (20.0, 20.1, 20.2 versions all invalid)
+  * 21.x - for 21.2, must be newer than 21.2.3
+  * 22.x - for 22.0, must be newer than 22.0.5
+
+* :ghissue:`1804`: By default, views are limited to return a maximum of 2**28 (268435456)
+  results. This limit can be configured separately for views and partitioned views via
+  the ``query_limit`` and ``partition_query_limit`` values in the ini file
+  ``[query_server_config]`` section.
+
+Deprecated feature removal
+--------------------------
+
+The following features, deprecated in CouchDB 2.x, have been removed or replaced in
+CouchDB 3.0:
+
+* :ghissue:`2089`, :ghissue:`2128`, :ghissue:`2251`: Local endpoints for replication
+  targets, which never functioned as expected in CouchDB 2.x, have been completely
+  removed. When replicating databases, always specify a full URL for the source and
+  target. In addition, the node local ``_replicator`` database is no longer automatically
+  created.
+* :ghissue:`2163`: The ``disk_size`` and ``data_size`` fields have been retired from the
+  database info object returned by ``GET /{db}/``. These were deprecated in CouchDB 2.x
+  and replaced by the ``sizes`` object, which contains the improved ``file``,
+  ``active`` and ``external`` size metrics. Fauxton has been updated to match.
+* :ghissue:`2173`: The ability to submit multiple queries against a view using the
+  :method:`POST` to ``/{db}/_design/{ddoc}/_view/{view}`` with the ``?queries=`` option
+  has been replaced by the new ``/db/_design/{ddoc}/_view/{view}/queries`` endpoint.
+  Specify a ``keys`` object when :method:`POST`-ing to this endpoint. [ADD LINK]
+* :ghissue:`2248`: CouchDB externals (``_external/``) have been removed entirely.
+* :ghissue:`2208`: CouchDB no longer supports the ``delayed_commits`` option in the
+  configuration file. All writes are now full commits. The ``/_ensure_full_commit``
+  API endpoint has been retained (as a no-op) for backwards compatibility with old
+  CouchDB replicators.
+* :ghissue:`2395`: The security object in the ``_users`` database cannot be edited by
+  default. A setting exists in the configuration file to revert this behaviour. The
+  ability to override the disable setting is expected to be removed in CouchDB 4.0.
+
+.. _release/3.0.0:
+
+Version 3.0.0
+=============
+
+Features
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1789`: User-defined partitioned databases. Full documentation is here [LINK
+  TBD].
+
+  * These special databases support user-driven placement of documents into the same
+    shard range.
+  * Views and Mango indexes have specific optimizations for partitioned databases as well.
+    [TBD verify Mango specific endpoint or support]
+  * :ghissue:`1842`: Partition size limits. By default, each partition is limited
+    to 10 GiB.
+  * :ghissue:`1684`: Partitioned database support can be disabled via feature
+    flag in ``default.ini``.
+
+* :ghissue:`1972`, :ghissue:`2012`: Automated shard splitting. Databases can now be live
+  re-sharded to increase the ``q`` factor to a larger number. This can be configured
+  to require specific node and range parameters upon execution. Full documentation is
+  here [LINK TBD].
+* :ghissue:`1910`: New automatic view "warming" subsystem, ``ken``. Full documentation
+  is here [LINK TBD].
+* :ghissue:`1904`: Completely new automatic compaction daemon, ``smoosh``. Full
+  documentation is here [LINK TBD].
+* :ghissue:`1889`, :ghissue:`2408`: New IO Queue subsystem. Full documentation is
+  available here [LINK TBD].
+* :ghissue:`2037`: Dreyfus, the CouchDB side of the Lucene-powered search solution,
+  is now shipped with CouchDB. When one or more Clouseau Java nodes are joined to the
+  cluster, text-based indexes can be enabled in CouchDB. It is recommended to
+  have as many Clouseau nodes as you have CouchDB nodes. Search is advertised in the
+  feature list present at ``GET /`` if configured correctly (:ghissue:`2206`). Full
+  documentation is available at [LINK TBD].
+* :ghissue:`2411`: The ``/_up`` endpoint no longer requires authentication when
+  ``require_valid_user`` is ``true``.
+* :ghissue:`2392`: A new ``_metrics`` role can be given to a user. This allows that
+  user access only to the ``/_node/{node}/_stats`` and ``/_node/{node}/_system``
+  endpoints.
+* :ghissue:`1912`: A new alternative systemd-journald logging backend has been added,
+  and can be enabled through the ini file. The new backend does not include CouchDB's
+  microsecond-accurate timestamps, and uses the ``sd-daemon(3)`` logging levels.
+* :ghissue:`2296`, :ghissue:`1977`: If the configuration file setting ``[couchdb]``
+  ``single_node`` is set to ``true``, CouchDB will automatically create the system
+  databases on startup if they are not present.
+* :ghissue:`2338`, :ghissue:`2343`: :method:`POST` request to CouchDB views and the
+  ``/{db}/_all_docs``, ``/{db}/_local_docs`` and ``//{db}/_design_docs`` endpoints now
+  support the same functionality as :method:`GET`.  Parameters are passed in the body as a
+  JSON object, rather than in the URL when using :method:`POST`.
+* :ghissue:`2292`: The ``_scheduler/docs`` and ``_scheduler/info`` endpoints now return
+  detailed replication stats for running and pending jobs.
+* :ghissue:`2282`, :ghissue:`2272`, :ghissue:`2290`: CouchDB now supports specifying
+  separate proxies for both the ``source`` and ``target`` in a replication via
+  ``source_proxy`` and ``target_proxy`` keys.
+* :ghissue:`2240`: Headers are now returned from the ``/{db}/_changes`` feed
+  immediately, even when there are no changes available. This avoids client
+  blocking.
+* :ghissue:`2005`, :ghissue:`2006`: The name of any node can now be retrieved through
+  the new API endpoint ``GET /_node/_local``.
+* :ghissue:`1766`: Timeouts for requests, ``all_docs``, attachments, views, and
+  partitioned view requests can all be specified separately in the ini file under
+  the ``[fabric]`` section. See ``default.ini`` for more detail.
+* :ghissue:`1963`: Metrics are now kept on the number of partition and global view
+  queries, along with the number of timeouts that occur.
+* :ghissue:`2452`: A new configuration field ``[couch_httpd_auth] same_site`` has
+  been added to set the value of the CouchDB auth cookie's ``SameSite`` attribute.
+  It may be necessary to set this to ``strict`` for compatibility with future
+  versions of Google Chrome. If CouchDB CORS support is enabled, set this to
+  ``None``.
+
+Performance
+-----------
+
+.. rst-class:: open
+
+* :ghissue:`2360`: It is now possible to make the rexi interface's unacked message
+  limit configurable. A new, more optimized default (5, lowered from 10) has been set.
+  This results in a ~50% improvement on view queries on large clusters with ``q ≥ 8``.
+* :ghissue:`2277`: The ``couch_server`` process has been highly optimized, supporting
+  significantly more load than before.
+* :ghissue:`2280`: Connection sharing for replication now functions correctly when
+  replicating through a forward proxy. Closes :ghissue:`2271`.
+* :ghissue:`2195`, :ghissue:`2207`: Metrics aggregation now supports CouchDB systems
+  that sleep or hibernate, ensuring that on wakeup does not trigger thousands of
+  unnecessary function calls.
+* :ghissue:`1795`: Avoid calling ``fabric:update_docs`` with empty doc lists.
+
+Bugfixes
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1752`, :ghissue:`2398`: The cluster setup wizard now ensures a conssitent
+  UUID and http secret across all nodes in a cluster.
+* :ghissue:`2388`: A compatibility change has been made to support replication with
+  future databases containing per-document access control fields.
+* :ghissue:`2379`: Any replicator error messages will provide an object in the response,
+  or null, but never a string.
+* :ghissue:`2244`, :ghissue:`2310`: CouchDB will no longer send more data than is
+  requested when retrieving partial attachment data blocks.
+* :ghissue:`2138`: Manual operator updates to a database's shard map will not
+  corrupt additional database properties, such as partitioning values.
+* :ghissue:`1877`: The ``_purge`` and ``_purged_infos_limit`` endpoints are now
+  correctly restricted to server admin only.
+* :ghissue:`1794`: The minimum purge sequence value for a database is now
+  gathered without a clustered ``_all_docs`` lookup.
+* :ghissue:`2351`: A timeout case clause in ``fabric_db_info`` has been normalised
+  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 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.
+* :ghissue:`2295`: CouchDB no longer marks a job as failed permanently if the
+  internal doc processor crashes.
+* :ghissue:`2178`: View compaction files are now removed on view cleanup.
+* :ghissue:`2179`: The error message logged when CouchDB does not have a ``_users``
+  database is now less scary.
+* :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 ``400`` instead of ``500``
+  status code.
+* :ghissue:`2077`: Any failed ``fsync(2)`` calls are now correctly raised to avoid
+  data corruption arising from retry attempts.
+* :ghissue:`2027`: Handle epoch mismatch when duplicate UUIDs are created through
+  invalid operator intervention.
+* :ghissue:`2019`: If a database is deleted and re-created while internal cluster
+  replication is still active, CouchDB will no longer retry to delete it continuously.
+* :ghissue:`2003`: CouchDB will no longer automatically reset an index file if any
+  attempt to read its header fails (such as when the couch_file process terminates
+  unexpectedly).
+* :ghissue:`1983`: Improve database "external" size calcuation to be more precise.
+* :ghissue:`1971`: Correctly compare ETags using weak comparison methods to support
+  `W/` prefix added by some load balancer configurations.
+* :ghissue:`1803`: CouchDB admin passwords are now synced when the cluster setup wizard
+  is used. This prevents being logged out when using Fauxton as a server admin user
+  through a load balancer.
+* :ghissue:`1901`: Invalid revision specified for a document update will no longer result
+  in a ``badarg`` crash.
+* :ghissue:`1845`: The ``end_time`` field in ``/_replicate`` now correctly converts time
+  to UTC.
+* :ghissue:`1824`: ``rexi`` stream workers are now cleaned up when the coordinator process
+  is killed, such as when the ddoc cache is refreshed.
+* :ghissue:`1770`: Invalid database ``_security`` objects no longer return a
+  ``function_clause`` error and stack trace.
+* :ghissue:`2412`: Mango execution stats now correctly count documents read which weren't
+  followed by a match within a given shard.
+* :ghissue:`2393`, :ghissue:`2143`: It is now possible to override the query server
+  environment variables ``COUCHDB_QUERY_SERVER_JAVASCRIPT`` and
+  ``COUCHDB_QUERY_SERVER_COFFEESCRIPT`` without overwriting the
+  ``couchdb``/``couchdb.cmd`` startup scripts.
+* :ghissue:`2426`, :ghissue:`2415`: The replicator now better handles the situation where
+  design document writes to the target fail when replicating with non-admin credentials.
+* :ghissue:`2438`: CouchDB now handles the case when a view file lacks a proper header.
 
 Review comment:
   maybe group with `2003`

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368054359
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
+* :ghissue:`2339`: All databases are now created by default as admin-only. That is, the
+  default new database ``_security`` object is now:
+
+  .. code-block:: javascript
+
+    {
+      "members" : { "roles" : [ "_admin" ] },
+       "admins" : { "roles" : [ "_admin" ] }
+    }
+
+  This can be changed after database creation.
+* Due to code changes in :ghissue:`2324`, it is not possible to upgrade transparently from
+  CouchDB 1.x to 3.x. In addition, the ``couchup`` utility has been removed from CouchDB
+  3.0 by :ghissue:`2399`:. If you are upgrading from CouchDB 1.x, you must first upgrade
+  to CouchDB 2.3.1 to convert your database and indexes, using ``couchup`` if desired.
+  You can then upgrade to CouchDB 3.0. Or, you can start a new CouchDB 3.0 installation
+  and replicate directly from 1.x to 3.0.
+* :ghissue:`1833`, :ghissue:`2358`, :ghissue:`1871`, :ghissue:`1857`: CouchDB 3.0 supports
+  running only under the following Erlang/OTP versions:
+
+  * 19.x - "soft" support only. No longer tested, but should work.
+  * 20.x - must be newer than 20.3.8.11 (20.0, 20.1, 20.2 versions all invalid)
+  * 21.x - for 21.2, must be newer than 21.2.3
+  * 22.x - for 22.0, must be newer than 22.0.5
+
+* :ghissue:`1804`: By default, views are limited to return a maximum of 2**28 (268435456)
+  results. This limit can be configured separately for views and partitioned views via
+  the ``query_limit`` and ``partition_query_limit`` values in the ini file
+  ``[query_server_config]`` section.
+
+Deprecated feature removal
+--------------------------
+
+The following features, deprecated in CouchDB 2.x, have been removed or replaced in
+CouchDB 3.0:
+
+* :ghissue:`2089`, :ghissue:`2128`, :ghissue:`2251`: Local endpoints for replication
+  targets, which never functioned as expected in CouchDB 2.x, have been completely
+  removed. When replicating databases, always specify a full URL for the source and
+  target. In addition, the node local ``_replicator`` database is no longer automatically
+  created.
+* :ghissue:`2163`: The ``disk_size`` and ``data_size`` fields have been retired from the
+  database info object returned by ``GET /{db}/``. These were deprecated in CouchDB 2.x
+  and replaced by the ``sizes`` object, which contains the improved ``file``,
+  ``active`` and ``external`` size metrics. Fauxton has been updated to match.
+* :ghissue:`2173`: The ability to submit multiple queries against a view using the
+  :method:`POST` to ``/{db}/_design/{ddoc}/_view/{view}`` with the ``?queries=`` option
+  has been replaced by the new ``/db/_design/{ddoc}/_view/{view}/queries`` endpoint.
+  Specify a ``keys`` object when :method:`POST`-ing to this endpoint. [ADD LINK]
+* :ghissue:`2248`: CouchDB externals (``_external/``) have been removed entirely.
+* :ghissue:`2208`: CouchDB no longer supports the ``delayed_commits`` option in the
+  configuration file. All writes are now full commits. The ``/_ensure_full_commit``
+  API endpoint has been retained (as a no-op) for backwards compatibility with old
+  CouchDB replicators.
+* :ghissue:`2395`: The security object in the ``_users`` database cannot be edited by
+  default. A setting exists in the configuration file to revert this behaviour. The
+  ability to override the disable setting is expected to be removed in CouchDB 4.0.
+
+.. _release/3.0.0:
+
+Version 3.0.0
+=============
+
+Features
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1789`: User-defined partitioned databases. Full documentation is here [LINK
+  TBD].
+
+  * These special databases support user-driven placement of documents into the same
+    shard range.
+  * Views and Mango indexes have specific optimizations for partitioned databases as well.
+    [TBD verify Mango specific endpoint or support]
+  * :ghissue:`1842`: Partition size limits. By default, each partition is limited
+    to 10 GiB.
+  * :ghissue:`1684`: Partitioned database support can be disabled via feature
+    flag in ``default.ini``.
+
+* :ghissue:`1972`, :ghissue:`2012`: Automated shard splitting. Databases can now be live
+  re-sharded to increase the ``q`` factor to a larger number. This can be configured
+  to require specific node and range parameters upon execution. Full documentation is
+  here [LINK TBD].
+* :ghissue:`1910`: New automatic view "warming" subsystem, ``ken``. Full documentation
+  is here [LINK TBD].
+* :ghissue:`1904`: Completely new automatic compaction daemon, ``smoosh``. Full
+  documentation is here [LINK TBD].
+* :ghissue:`1889`, :ghissue:`2408`: New IO Queue subsystem. Full documentation is
+  available here [LINK TBD].
+* :ghissue:`2037`: Dreyfus, the CouchDB side of the Lucene-powered search solution,
+  is now shipped with CouchDB. When one or more Clouseau Java nodes are joined to the
+  cluster, text-based indexes can be enabled in CouchDB. It is recommended to
+  have as many Clouseau nodes as you have CouchDB nodes. Search is advertised in the
+  feature list present at ``GET /`` if configured correctly (:ghissue:`2206`). Full
+  documentation is available at [LINK TBD].
+* :ghissue:`2411`: The ``/_up`` endpoint no longer requires authentication when
+  ``require_valid_user`` is ``true``.
+* :ghissue:`2392`: A new ``_metrics`` role can be given to a user. This allows that
+  user access only to the ``/_node/{node}/_stats`` and ``/_node/{node}/_system``
+  endpoints.
+* :ghissue:`1912`: A new alternative systemd-journald logging backend has been added,
+  and can be enabled through the ini file. The new backend does not include CouchDB's
+  microsecond-accurate timestamps, and uses the ``sd-daemon(3)`` logging levels.
+* :ghissue:`2296`, :ghissue:`1977`: If the configuration file setting ``[couchdb]``
+  ``single_node`` is set to ``true``, CouchDB will automatically create the system
+  databases on startup if they are not present.
+* :ghissue:`2338`, :ghissue:`2343`: :method:`POST` request to CouchDB views and the
+  ``/{db}/_all_docs``, ``/{db}/_local_docs`` and ``//{db}/_design_docs`` endpoints now
+  support the same functionality as :method:`GET`.  Parameters are passed in the body as a
+  JSON object, rather than in the URL when using :method:`POST`.
+* :ghissue:`2292`: The ``_scheduler/docs`` and ``_scheduler/info`` endpoints now return
+  detailed replication stats for running and pending jobs.
+* :ghissue:`2282`, :ghissue:`2272`, :ghissue:`2290`: CouchDB now supports specifying
+  separate proxies for both the ``source`` and ``target`` in a replication via
+  ``source_proxy`` and ``target_proxy`` keys.
+* :ghissue:`2240`: Headers are now returned from the ``/{db}/_changes`` feed
+  immediately, even when there are no changes available. This avoids client
+  blocking.
+* :ghissue:`2005`, :ghissue:`2006`: The name of any node can now be retrieved through
+  the new API endpoint ``GET /_node/_local``.
+* :ghissue:`1766`: Timeouts for requests, ``all_docs``, attachments, views, and
+  partitioned view requests can all be specified separately in the ini file under
+  the ``[fabric]`` section. See ``default.ini`` for more detail.
+* :ghissue:`1963`: Metrics are now kept on the number of partition and global view
+  queries, along with the number of timeouts that occur.
+* :ghissue:`2452`: A new configuration field ``[couch_httpd_auth] same_site`` has
+  been added to set the value of the CouchDB auth cookie's ``SameSite`` attribute.
+  It may be necessary to set this to ``strict`` for compatibility with future
+  versions of Google Chrome. If CouchDB CORS support is enabled, set this to
+  ``None``.
+
+Performance
+-----------
+
+.. rst-class:: open
+
+* :ghissue:`2360`: It is now possible to make the rexi interface's unacked message
+  limit configurable. A new, more optimized default (5, lowered from 10) has been set.
+  This results in a ~50% improvement on view queries on large clusters with ``q ≥ 8``.
+* :ghissue:`2277`: The ``couch_server`` process has been highly optimized, supporting
+  significantly more load than before.
+* :ghissue:`2280`: Connection sharing for replication now functions correctly when
+  replicating through a forward proxy. Closes :ghissue:`2271`.
+* :ghissue:`2195`, :ghissue:`2207`: Metrics aggregation now supports CouchDB systems
+  that sleep or hibernate, ensuring that on wakeup does not trigger thousands of
+  unnecessary function calls.
+* :ghissue:`1795`: Avoid calling ``fabric:update_docs`` with empty doc lists.
+
+Bugfixes
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1752`, :ghissue:`2398`: The cluster setup wizard now ensures a conssitent
+  UUID and http secret across all nodes in a cluster.
+* :ghissue:`2388`: A compatibility change has been made to support replication with
+  future databases containing per-document access control fields.
+* :ghissue:`2379`: Any replicator error messages will provide an object in the response,
+  or null, but never a string.
+* :ghissue:`2244`, :ghissue:`2310`: CouchDB will no longer send more data than is
+  requested when retrieving partial attachment data blocks.
+* :ghissue:`2138`: Manual operator updates to a database's shard map will not
+  corrupt additional database properties, such as partitioning values.
+* :ghissue:`1877`: The ``_purge`` and ``_purged_infos_limit`` endpoints are now
+  correctly restricted to server admin only.
+* :ghissue:`1794`: The minimum purge sequence value for a database is now
+  gathered without a clustered ``_all_docs`` lookup.
+* :ghissue:`2351`: A timeout case clause in ``fabric_db_info`` has been normalised
+  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 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.
+* :ghissue:`2295`: CouchDB no longer marks a job as failed permanently if the
+  internal doc processor crashes.
+* :ghissue:`2178`: View compaction files are now removed on view cleanup.
+* :ghissue:`2179`: The error message logged when CouchDB does not have a ``_users``
+  database is now less scary.
+* :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 ``400`` instead of ``500``
+  status code.
+* :ghissue:`2077`: Any failed ``fsync(2)`` calls are now correctly raised to avoid
+  data corruption arising from retry attempts.
+* :ghissue:`2027`: Handle epoch mismatch when duplicate UUIDs are created through
+  invalid operator intervention.
+* :ghissue:`2019`: If a database is deleted and re-created while internal cluster
+  replication is still active, CouchDB will no longer retry to delete it continuously.
+* :ghissue:`2003`: CouchDB will no longer automatically reset an index file if any
+  attempt to read its header fails (such as when the couch_file process terminates
+  unexpectedly).
+* :ghissue:`1983`: Improve database "external" size calcuation to be more precise.
+* :ghissue:`1971`: Correctly compare ETags using weak comparison methods to support
+  `W/` prefix added by some load balancer configurations.
+* :ghissue:`1803`: CouchDB admin passwords are now synced when the cluster setup wizard
 
 Review comment:
   maybe group this with the first in line `1752`, so the topic is together, totally not important :D

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368051818
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
+* :ghissue:`2339`: All databases are now created by default as admin-only. That is, the
+  default new database ``_security`` object is now:
+
+  .. code-block:: javascript
+
+    {
+      "members" : { "roles" : [ "_admin" ] },
+       "admins" : { "roles" : [ "_admin" ] }
+    }
+
+  This can be changed after database creation.
+* Due to code changes in :ghissue:`2324`, it is not possible to upgrade transparently from
+  CouchDB 1.x to 3.x. In addition, the ``couchup`` utility has been removed from CouchDB
+  3.0 by :ghissue:`2399`:. If you are upgrading from CouchDB 1.x, you must first upgrade
+  to CouchDB 2.3.1 to convert your database and indexes, using ``couchup`` if desired.
+  You can then upgrade to CouchDB 3.0. Or, you can start a new CouchDB 3.0 installation
+  and replicate directly from 1.x to 3.0.
+* :ghissue:`1833`, :ghissue:`2358`, :ghissue:`1871`, :ghissue:`1857`: CouchDB 3.0 supports
+  running only under the following Erlang/OTP versions:
+
+  * 19.x - "soft" support only. No longer tested, but should work.
+  * 20.x - must be newer than 20.3.8.11 (20.0, 20.1, 20.2 versions all invalid)
+  * 21.x - for 21.2, must be newer than 21.2.3
+  * 22.x - for 22.0, must be newer than 22.0.5
+
+* :ghissue:`1804`: By default, views are limited to return a maximum of 2**28 (268435456)
+  results. This limit can be configured separately for views and partitioned views via
+  the ``query_limit`` and ``partition_query_limit`` values in the ini file
+  ``[query_server_config]`` section.
+
+Deprecated feature removal
+--------------------------
+
+The following features, deprecated in CouchDB 2.x, have been removed or replaced in
+CouchDB 3.0:
+
+* :ghissue:`2089`, :ghissue:`2128`, :ghissue:`2251`: Local endpoints for replication
+  targets, which never functioned as expected in CouchDB 2.x, have been completely
+  removed. When replicating databases, always specify a full URL for the source and
+  target. In addition, the node local ``_replicator`` database is no longer automatically
+  created.
+* :ghissue:`2163`: The ``disk_size`` and ``data_size`` fields have been retired from the
+  database info object returned by ``GET /{db}/``. These were deprecated in CouchDB 2.x
+  and replaced by the ``sizes`` object, which contains the improved ``file``,
+  ``active`` and ``external`` size metrics. Fauxton has been updated to match.
+* :ghissue:`2173`: The ability to submit multiple queries against a view using the
+  :method:`POST` to ``/{db}/_design/{ddoc}/_view/{view}`` with the ``?queries=`` option
+  has been replaced by the new ``/db/_design/{ddoc}/_view/{view}/queries`` endpoint.
+  Specify a ``keys`` object when :method:`POST`-ing to this endpoint. [ADD LINK]
+* :ghissue:`2248`: CouchDB externals (``_external/``) have been removed entirely.
+* :ghissue:`2208`: CouchDB no longer supports the ``delayed_commits`` option in the
+  configuration file. All writes are now full commits. The ``/_ensure_full_commit``
+  API endpoint has been retained (as a no-op) for backwards compatibility with old
+  CouchDB replicators.
+* :ghissue:`2395`: The security object in the ``_users`` database cannot be edited by
+  default. A setting exists in the configuration file to revert this behaviour. The
+  ability to override the disable setting is expected to be removed in CouchDB 4.0.
+
+.. _release/3.0.0:
+
+Version 3.0.0
+=============
+
+Features
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1789`: User-defined partitioned databases. Full documentation is here [LINK
+  TBD].
+
+  * These special databases support user-driven placement of documents into the same
+    shard range.
+  * Views and Mango indexes have specific optimizations for partitioned databases as well.
+    [TBD verify Mango specific endpoint or support]
+  * :ghissue:`1842`: Partition size limits. By default, each partition is limited
+    to 10 GiB.
+  * :ghissue:`1684`: Partitioned database support can be disabled via feature
+    flag in ``default.ini``.
+
+* :ghissue:`1972`, :ghissue:`2012`: Automated shard splitting. Databases can now be live
+  re-sharded to increase the ``q`` factor to a larger number. This can be configured
+  to require specific node and range parameters upon execution. Full documentation is
+  here [LINK TBD].
+* :ghissue:`1910`: New automatic view "warming" subsystem, ``ken``. Full documentation
+  is here [LINK TBD].
+* :ghissue:`1904`: Completely new automatic compaction daemon, ``smoosh``. Full
+  documentation is here [LINK TBD].
+* :ghissue:`1889`, :ghissue:`2408`: New IO Queue subsystem. Full documentation is
+  available here [LINK TBD].
+* :ghissue:`2037`: Dreyfus, the CouchDB side of the Lucene-powered search solution,
+  is now shipped with CouchDB. When one or more Clouseau Java nodes are joined to the
+  cluster, text-based indexes can be enabled in CouchDB. It is recommended to
+  have as many Clouseau nodes as you have CouchDB nodes. Search is advertised in the
+  feature list present at ``GET /`` if configured correctly (:ghissue:`2206`). Full
+  documentation is available at [LINK TBD].
+* :ghissue:`2411`: The ``/_up`` endpoint no longer requires authentication when
 
 Review comment:
   /_up can be configured to not require auth even when require_valid_user is enabled.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368048766
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
 
 Review comment:
   ```suggestion
     starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=#`` to
   ```
   
   maybe just one placeholder to avoid confusion

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368052159
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
+* :ghissue:`2339`: All databases are now created by default as admin-only. That is, the
+  default new database ``_security`` object is now:
+
+  .. code-block:: javascript
+
+    {
+      "members" : { "roles" : [ "_admin" ] },
+       "admins" : { "roles" : [ "_admin" ] }
+    }
+
+  This can be changed after database creation.
+* Due to code changes in :ghissue:`2324`, it is not possible to upgrade transparently from
+  CouchDB 1.x to 3.x. In addition, the ``couchup`` utility has been removed from CouchDB
+  3.0 by :ghissue:`2399`:. If you are upgrading from CouchDB 1.x, you must first upgrade
+  to CouchDB 2.3.1 to convert your database and indexes, using ``couchup`` if desired.
+  You can then upgrade to CouchDB 3.0. Or, you can start a new CouchDB 3.0 installation
+  and replicate directly from 1.x to 3.0.
+* :ghissue:`1833`, :ghissue:`2358`, :ghissue:`1871`, :ghissue:`1857`: CouchDB 3.0 supports
+  running only under the following Erlang/OTP versions:
+
+  * 19.x - "soft" support only. No longer tested, but should work.
+  * 20.x - must be newer than 20.3.8.11 (20.0, 20.1, 20.2 versions all invalid)
+  * 21.x - for 21.2, must be newer than 21.2.3
+  * 22.x - for 22.0, must be newer than 22.0.5
+
+* :ghissue:`1804`: By default, views are limited to return a maximum of 2**28 (268435456)
+  results. This limit can be configured separately for views and partitioned views via
+  the ``query_limit`` and ``partition_query_limit`` values in the ini file
+  ``[query_server_config]`` section.
+
+Deprecated feature removal
+--------------------------
+
+The following features, deprecated in CouchDB 2.x, have been removed or replaced in
+CouchDB 3.0:
+
+* :ghissue:`2089`, :ghissue:`2128`, :ghissue:`2251`: Local endpoints for replication
+  targets, which never functioned as expected in CouchDB 2.x, have been completely
+  removed. When replicating databases, always specify a full URL for the source and
+  target. In addition, the node local ``_replicator`` database is no longer automatically
+  created.
+* :ghissue:`2163`: The ``disk_size`` and ``data_size`` fields have been retired from the
+  database info object returned by ``GET /{db}/``. These were deprecated in CouchDB 2.x
+  and replaced by the ``sizes`` object, which contains the improved ``file``,
+  ``active`` and ``external`` size metrics. Fauxton has been updated to match.
+* :ghissue:`2173`: The ability to submit multiple queries against a view using the
+  :method:`POST` to ``/{db}/_design/{ddoc}/_view/{view}`` with the ``?queries=`` option
+  has been replaced by the new ``/db/_design/{ddoc}/_view/{view}/queries`` endpoint.
+  Specify a ``keys`` object when :method:`POST`-ing to this endpoint. [ADD LINK]
+* :ghissue:`2248`: CouchDB externals (``_external/``) have been removed entirely.
+* :ghissue:`2208`: CouchDB no longer supports the ``delayed_commits`` option in the
+  configuration file. All writes are now full commits. The ``/_ensure_full_commit``
+  API endpoint has been retained (as a no-op) for backwards compatibility with old
+  CouchDB replicators.
+* :ghissue:`2395`: The security object in the ``_users`` database cannot be edited by
+  default. A setting exists in the configuration file to revert this behaviour. The
+  ability to override the disable setting is expected to be removed in CouchDB 4.0.
+
+.. _release/3.0.0:
+
+Version 3.0.0
+=============
+
+Features
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1789`: User-defined partitioned databases. Full documentation is here [LINK
+  TBD].
+
+  * These special databases support user-driven placement of documents into the same
+    shard range.
+  * Views and Mango indexes have specific optimizations for partitioned databases as well.
+    [TBD verify Mango specific endpoint or support]
+  * :ghissue:`1842`: Partition size limits. By default, each partition is limited
+    to 10 GiB.
+  * :ghissue:`1684`: Partitioned database support can be disabled via feature
+    flag in ``default.ini``.
+
+* :ghissue:`1972`, :ghissue:`2012`: Automated shard splitting. Databases can now be live
+  re-sharded to increase the ``q`` factor to a larger number. This can be configured
+  to require specific node and range parameters upon execution. Full documentation is
+  here [LINK TBD].
+* :ghissue:`1910`: New automatic view "warming" subsystem, ``ken``. Full documentation
+  is here [LINK TBD].
+* :ghissue:`1904`: Completely new automatic compaction daemon, ``smoosh``. Full
+  documentation is here [LINK TBD].
+* :ghissue:`1889`, :ghissue:`2408`: New IO Queue subsystem. Full documentation is
+  available here [LINK TBD].
+* :ghissue:`2037`: Dreyfus, the CouchDB side of the Lucene-powered search solution,
+  is now shipped with CouchDB. When one or more Clouseau Java nodes are joined to the
+  cluster, text-based indexes can be enabled in CouchDB. It is recommended to
+  have as many Clouseau nodes as you have CouchDB nodes. Search is advertised in the
+  feature list present at ``GET /`` if configured correctly (:ghissue:`2206`). Full
+  documentation is available at [LINK TBD].
+* :ghissue:`2411`: The ``/_up`` endpoint no longer requires authentication when
+  ``require_valid_user`` is ``true``.
+* :ghissue:`2392`: A new ``_metrics`` role can be given to a user. This allows that
+  user access only to the ``/_node/{node}/_stats`` and ``/_node/{node}/_system``
+  endpoints.
+* :ghissue:`1912`: A new alternative systemd-journald logging backend has been added,
+  and can be enabled through the ini file. The new backend does not include CouchDB's
+  microsecond-accurate timestamps, and uses the ``sd-daemon(3)`` logging levels.
+* :ghissue:`2296`, :ghissue:`1977`: If the configuration file setting ``[couchdb]``
+  ``single_node`` is set to ``true``, CouchDB will automatically create the system
+  databases on startup if they are not present.
+* :ghissue:`2338`, :ghissue:`2343`: :method:`POST` request to CouchDB views and the
+  ``/{db}/_all_docs``, ``/{db}/_local_docs`` and ``//{db}/_design_docs`` endpoints now
 
 Review comment:
   ```suggestion
     ``/{db}/_all_docs``, ``/{db}/_local_docs`` and ``/{db}/_design_docs`` endpoints now
   ```

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368049446
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
 
 Review comment:
   needs link to a sad trombone gif :D https://media.giphy.com/media/4GXOphKW64BZZdh0Au/giphy.gif

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] wohali commented on issue #471: 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
wohali commented on issue #471: 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#issuecomment-575817153
 
 
   This is ready for review, except for incorporating changes from other 3.0.0 milestone docs tickets that need mentioning/linking in the relnotes.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] wohali commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
wohali commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368081144
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
 
 Review comment:
   added cute cat picture with CC-BY-NC license, feel free to bikeshed

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368048307
 
 

 ##########
 File path: make.bat
 ##########
 @@ -41,6 +41,7 @@ if "%1" == "help" (
 	echo.  pseudoxml  to make pseudoxml-XML files for display purposes
 	echo.  linkcheck  to check all external links for integrity
 	echo.  doctest    to run all doctests embedded in the documentation if enabled
+    echo.  check      to run the Python based linter
 
 Review comment:
   whitespace mismatch

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] wohali merged pull request #471: 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
wohali merged pull request #471: 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471
 
 
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [couchdb-documentation] janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes

Posted by GitBox <gi...@apache.org>.
janl commented on a change in pull request #471: [WIP] 3.0.0 relnotes
URL: https://github.com/apache/couchdb-documentation/pull/471#discussion_r368053154
 
 

 ##########
 File path: src/whatsnew/3.0.rst
 ##########
 @@ -0,0 +1,398 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/3.0.x:
+
+============
+3.0.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/3.0.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`2228`: The default maximum document size has been reduced to 8MB. This means
+  that databases with larger documents will not be able to replicate into CouchDB 3.0
+  correctly without modification. This change has been made in preparation for
+  anticipated hard upper limits on document size imposed by CouchDB 4.0. For 3.x,
+  the max document size setting can be relaxed via the ``[couchdb] max_document_size``
+  config setting.
+* :ghissue:`2228`: The default database sharding factor ``q`` has been reduced to 2 by
+  default. This, combined with automated database resharding (see below), is a better
+  starting place for new CouchDB databases. As in CouchDB 2.x, specify ``?q=##`` to
+  change the value upon database creation if desired. The default can be changed
+  via the config ``[cluster] q`` setting.
+* :ghissue:`1523`, :ghissue:`2092`, :ghissue:`2336`: The "node-local" HTTP interface,
+  by default exposed on port 5986, has been removed. All functionality previously
+  available at that port is now available on the main, clustered interface (by default,
+  port 5984). Examples:
+
+  * ``GET /_node/{nodename}/_stats``
+  * ``GET /_node/{nodename}/_system``
+  * ``GET /_node/{nodename}/_restart``
+  * ``GET /_node/{nodename}/_all_dbs``
+  * ``GET /_node/{nodename}/_uuids``
+  * ``GET /_node/{nodename}/_config``
+  * ``GET /_node/{nodename}/_config/couchdb/uuid``
+  * ``GET /_node/{nodename}/_nodes/_changes?include_docs=true``
+  * ``GET /_node/{nodename}/{db}/{ddoc}/_info``
+  * ``PUT /_node/{nodename}/_dbs/{dbname}``
+
+  ...and so on. Documentation has been updated to reflect this change. [TODO]
+
+* :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
+  startup, or will print an error message and exit. (The Admin Party is now over.)
+* :ghissue:`2339`: All databases are now created by default as admin-only. That is, the
+  default new database ``_security`` object is now:
+
+  .. code-block:: javascript
+
+    {
+      "members" : { "roles" : [ "_admin" ] },
+       "admins" : { "roles" : [ "_admin" ] }
+    }
+
+  This can be changed after database creation.
+* Due to code changes in :ghissue:`2324`, it is not possible to upgrade transparently from
+  CouchDB 1.x to 3.x. In addition, the ``couchup`` utility has been removed from CouchDB
+  3.0 by :ghissue:`2399`:. If you are upgrading from CouchDB 1.x, you must first upgrade
+  to CouchDB 2.3.1 to convert your database and indexes, using ``couchup`` if desired.
+  You can then upgrade to CouchDB 3.0. Or, you can start a new CouchDB 3.0 installation
+  and replicate directly from 1.x to 3.0.
+* :ghissue:`1833`, :ghissue:`2358`, :ghissue:`1871`, :ghissue:`1857`: CouchDB 3.0 supports
+  running only under the following Erlang/OTP versions:
+
+  * 19.x - "soft" support only. No longer tested, but should work.
+  * 20.x - must be newer than 20.3.8.11 (20.0, 20.1, 20.2 versions all invalid)
+  * 21.x - for 21.2, must be newer than 21.2.3
+  * 22.x - for 22.0, must be newer than 22.0.5
+
+* :ghissue:`1804`: By default, views are limited to return a maximum of 2**28 (268435456)
+  results. This limit can be configured separately for views and partitioned views via
+  the ``query_limit`` and ``partition_query_limit`` values in the ini file
+  ``[query_server_config]`` section.
+
+Deprecated feature removal
+--------------------------
+
+The following features, deprecated in CouchDB 2.x, have been removed or replaced in
+CouchDB 3.0:
+
+* :ghissue:`2089`, :ghissue:`2128`, :ghissue:`2251`: Local endpoints for replication
+  targets, which never functioned as expected in CouchDB 2.x, have been completely
+  removed. When replicating databases, always specify a full URL for the source and
+  target. In addition, the node local ``_replicator`` database is no longer automatically
+  created.
+* :ghissue:`2163`: The ``disk_size`` and ``data_size`` fields have been retired from the
+  database info object returned by ``GET /{db}/``. These were deprecated in CouchDB 2.x
+  and replaced by the ``sizes`` object, which contains the improved ``file``,
+  ``active`` and ``external`` size metrics. Fauxton has been updated to match.
+* :ghissue:`2173`: The ability to submit multiple queries against a view using the
+  :method:`POST` to ``/{db}/_design/{ddoc}/_view/{view}`` with the ``?queries=`` option
+  has been replaced by the new ``/db/_design/{ddoc}/_view/{view}/queries`` endpoint.
+  Specify a ``keys`` object when :method:`POST`-ing to this endpoint. [ADD LINK]
+* :ghissue:`2248`: CouchDB externals (``_external/``) have been removed entirely.
+* :ghissue:`2208`: CouchDB no longer supports the ``delayed_commits`` option in the
+  configuration file. All writes are now full commits. The ``/_ensure_full_commit``
+  API endpoint has been retained (as a no-op) for backwards compatibility with old
+  CouchDB replicators.
+* :ghissue:`2395`: The security object in the ``_users`` database cannot be edited by
+  default. A setting exists in the configuration file to revert this behaviour. The
+  ability to override the disable setting is expected to be removed in CouchDB 4.0.
+
+.. _release/3.0.0:
+
+Version 3.0.0
+=============
+
+Features
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1789`: User-defined partitioned databases. Full documentation is here [LINK
+  TBD].
+
+  * These special databases support user-driven placement of documents into the same
+    shard range.
+  * Views and Mango indexes have specific optimizations for partitioned databases as well.
+    [TBD verify Mango specific endpoint or support]
+  * :ghissue:`1842`: Partition size limits. By default, each partition is limited
+    to 10 GiB.
+  * :ghissue:`1684`: Partitioned database support can be disabled via feature
+    flag in ``default.ini``.
+
+* :ghissue:`1972`, :ghissue:`2012`: Automated shard splitting. Databases can now be live
+  re-sharded to increase the ``q`` factor to a larger number. This can be configured
+  to require specific node and range parameters upon execution. Full documentation is
+  here [LINK TBD].
+* :ghissue:`1910`: New automatic view "warming" subsystem, ``ken``. Full documentation
+  is here [LINK TBD].
+* :ghissue:`1904`: Completely new automatic compaction daemon, ``smoosh``. Full
+  documentation is here [LINK TBD].
+* :ghissue:`1889`, :ghissue:`2408`: New IO Queue subsystem. Full documentation is
+  available here [LINK TBD].
+* :ghissue:`2037`: Dreyfus, the CouchDB side of the Lucene-powered search solution,
+  is now shipped with CouchDB. When one or more Clouseau Java nodes are joined to the
+  cluster, text-based indexes can be enabled in CouchDB. It is recommended to
+  have as many Clouseau nodes as you have CouchDB nodes. Search is advertised in the
+  feature list present at ``GET /`` if configured correctly (:ghissue:`2206`). Full
+  documentation is available at [LINK TBD].
+* :ghissue:`2411`: The ``/_up`` endpoint no longer requires authentication when
+  ``require_valid_user`` is ``true``.
+* :ghissue:`2392`: A new ``_metrics`` role can be given to a user. This allows that
+  user access only to the ``/_node/{node}/_stats`` and ``/_node/{node}/_system``
+  endpoints.
+* :ghissue:`1912`: A new alternative systemd-journald logging backend has been added,
+  and can be enabled through the ini file. The new backend does not include CouchDB's
+  microsecond-accurate timestamps, and uses the ``sd-daemon(3)`` logging levels.
+* :ghissue:`2296`, :ghissue:`1977`: If the configuration file setting ``[couchdb]``
+  ``single_node`` is set to ``true``, CouchDB will automatically create the system
+  databases on startup if they are not present.
+* :ghissue:`2338`, :ghissue:`2343`: :method:`POST` request to CouchDB views and the
+  ``/{db}/_all_docs``, ``/{db}/_local_docs`` and ``//{db}/_design_docs`` endpoints now
+  support the same functionality as :method:`GET`.  Parameters are passed in the body as a
+  JSON object, rather than in the URL when using :method:`POST`.
+* :ghissue:`2292`: The ``_scheduler/docs`` and ``_scheduler/info`` endpoints now return
+  detailed replication stats for running and pending jobs.
+* :ghissue:`2282`, :ghissue:`2272`, :ghissue:`2290`: CouchDB now supports specifying
+  separate proxies for both the ``source`` and ``target`` in a replication via
+  ``source_proxy`` and ``target_proxy`` keys.
+* :ghissue:`2240`: Headers are now returned from the ``/{db}/_changes`` feed
+  immediately, even when there are no changes available. This avoids client
+  blocking.
+* :ghissue:`2005`, :ghissue:`2006`: The name of any node can now be retrieved through
+  the new API endpoint ``GET /_node/_local``.
+* :ghissue:`1766`: Timeouts for requests, ``all_docs``, attachments, views, and
+  partitioned view requests can all be specified separately in the ini file under
+  the ``[fabric]`` section. See ``default.ini`` for more detail.
+* :ghissue:`1963`: Metrics are now kept on the number of partition and global view
+  queries, along with the number of timeouts that occur.
+* :ghissue:`2452`: A new configuration field ``[couch_httpd_auth] same_site`` has
+  been added to set the value of the CouchDB auth cookie's ``SameSite`` attribute.
+  It may be necessary to set this to ``strict`` for compatibility with future
+  versions of Google Chrome. If CouchDB CORS support is enabled, set this to
+  ``None``.
+
+Performance
+-----------
+
+.. rst-class:: open
+
+* :ghissue:`2360`: It is now possible to make the rexi interface's unacked message
+  limit configurable. A new, more optimized default (5, lowered from 10) has been set.
+  This results in a ~50% improvement on view queries on large clusters with ``q ≥ 8``.
+* :ghissue:`2277`: The ``couch_server`` process has been highly optimized, supporting
 
 Review comment:
   maybe put this one first?

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services