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 2018/11/16 17:22:49 UTC

[GitHub] wohali commented on a change in pull request #353: Add 2.3.x release notes

wohali commented on a change in pull request #353: Add 2.3.x release notes
URL: https://github.com/apache/couchdb-documentation/pull/353#discussion_r234285718
 
 

 ##########
 File path: src/whatsnew/2.3.rst
 ##########
 @@ -0,0 +1,265 @@
+.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
+.. use this file except in compliance with the License. You may obtain a copy of
+.. the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+.. License for the specific language governing permissions and limitations under
+.. the License.
+
+.. _release/2.3.x:
+
+============
+2.3.x Branch
+============
+
+.. contents::
+    :depth: 1
+    :local:
+
+.. _release/2.3.x/upgrade:
+
+Upgrade Notes
+=============
+
+.. rst-class:: open
+
+* :ghissue:`1602`: To improve security, there has been a major change in the
+  configuration of query servers, SSL support, and HTTP global handlers:
+
+    1. Query servers
+
+    Query servers are NO LONGER DEFINED in the .ini files, and can
+    no longer be altered at run-time.
+
+    The javascript and coffeescript query servers continue to be enabled
+    by default. Setup differences have been moved from default.ini to
+    the couchdb and couchdb.cmd start scripts respectively.
+
+    Additional query servers can now be configured using environment
+    variables:
+
+    .. code-block:: bash
+
+        export COUCHDB_QUERY_SERVER_PYTHON="/path/to/python/query/server.py with args"
+        couchdb
+
+    where the last segment in the environment variable (``_PYTHON``) matches
+    the usual lowercase(!) query language in the design doc
+    ``language`` field (here, ``python``.)
+
+    Multiple query servers can be configured by using more environment
+    variables.
+
+    You can also override the default servers if you need to set command-
+    line options (such as ``couchjs`` stack size):
+
+    .. code-block:: bash
+
+        export COUCHDB_QUERY_SERVER_JAVASCRIPT="/path/to/couchjs /path/to/main.js -S <STACKSIZE>"
+        couchdb
+
+    2. Native Query Servers
+
+    The mango query server continues to be enabled by default. The erlang
+    query server continues to be disabled by default. This change adds
+    a ``[native_query_servers] enable_erlang_query_server = BOOL`` setting
+    (defaults to ``false``) to enable the erlang query server.
+
+    If the legacy configuration for enabling the query server is detected,
+    that is counted as a ``true`` setting as well, so existing configurations
+    continue to work just fine.
+
+    3. SSL Support
+
+    Enabling SSL support in the ini file is now easier:
+
+    .. code-block:: bash
+
+        [ssl]
+        enable = true
+
+    If the legacy httpsd configuration is found in your ini file, this will 
+    still enable SSL support, so existing configurations do not need to be
+    changed.
+
+    4. HTTP global handlers
+
+    These are no longer defined in the default.ini file, but have been
+    moved to the couch.app context. If you need to customize your handlers,
+    you can modify the app context using a couchdb.config file as usual.
+
+* :ghissue:`1602`: Also to improve security, the deprecated ``os_daemons`` and
+  ``couch_http_proxy`` functionality has been completely removed ahead of the planned
+  CouchDB 3.0 release. We recommend the use of OS-level daemons such as runit, sysvinit,
+  systemd, upstart, etc. to launch and maintain OS daemons instead, and the use of
+  a reverse proxy server in front of CouchDB (such as haproxy) to proxy access to other
+  services or domains alongside CouchDB.
+* The node-local (default port 5986) ``/_restart`` endpoint has been replaced by the
+  clustered (default port 5984) endpoint ``/_node/$node/_restart`` and
+  ``/_node/_local/_restart`` endpoints.
+* All python scripts shipped with CouchDB now specify and require Python 3.x.
+* :ghissue:`1396`: CouchDB is now compatible with Erlang 21.x.
+* :ghissue:`1680`: The embedded version of ``rebar`` used to build CouchDB has been
+  updated to the last version of ``rebar2`` available. This assists in building on
+  non-x86 platforms.
+
+.. _release/2.3.0:
+
+Version 2.3.0
+=============
+
+Features
+--------
+
+.. rst-class:: open
+
+* (Multiple) Clustered purge is now available. This feature restores the CouchDB 1.x
+  ability to completely remove any record of a document from a database. Conditions
+  apply; to use the feature safely, and for full details, read the complete
+  :ref:`cluster/purging` documentation.
+* :ghissue:`1658`: A new config setting is available, allowing an administrator to
+  configure an initial list of nodes that should be contacted when a node boots up.
+  Nodes in the ``seedlist`` that are successfully reached will be added to that node's
+  ``_nodes`` database automatically, triggering a distributed Erlang connection and
+  replication of the internal system databases to the new node. This can be used instead
+  of manual config or the cluster setup wizard to bootstrap a cluster. The progress of
+  the initial seeding of new nodes is exposed at the ``GET /_up`` endpoint.
+* Replication supports ipv6-only peers after updating ibrowse dependency.
+* :ghissue:`1543`: A CouchDB node can now be restarted via the ``/_node/$node/_restart``
+  or ``/_node/_local/_restart`` HTTP API endpoints. The node-local (port 5986)
+  ``/_restart`` endpoint has been removed.
+* :ghissue:`1708`: The UUID of the server/cluster is once again exposed in the
+  ``GET /`` response. This was a regression from CouchDB 1.x.
+* :ghissue:`1722`: Stats counts between job runs of the replicator are no longer reset
+  on job restart.
+* :ghissue:`1195`, :ghissue:`1742`: CouchDB's ``_bulk_get`` implementation now supports
+  the ``multipart/mixed`` and ``multipart/related`` content types if requested,
+  extending compatibility with third party replication clients.
+
+Performance
+-----------
+
+.. rst-class:: open
+
+* :ghissue:`1409`: CouchDB no longer forces the TCP receive buffer to a fixed size
+  of 256KB, allowing the operating system to dynamically adjust the buffer size. This
+  can lead to siginificantly improved network performance when transferring large
+  attachments.
+* :ghissue:`1423`: Mango selector matching now occurs at the shard level, reducing the
+  network traffic within a cluster for a mango query.
+* :ghissue:`1423`: Long running operations at the node level could exceed the inter-node
+  timeout, leading to a fabric timeout error in the logfile and a cancellation of the
 
 Review comment:
   It's an internal library, there's no easier way to explain this. I left "fabric timeout" in there because that exact phrase shows up in the couch logfile if it happens.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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