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

 ##########
 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
+  task. Nodes can now ping to stop that from happening.
+* :ghissue:`1560`: An optimization to how external data sizes of attachments 
were
+  recorded was made.
+* :ghissue:`1586`: When cleaning up outdated secondary index files, the search 
is limited
+  to the index directory of a specific database.
+* :ghissue:`1593`: The ``couch_server`` ETS table now has the 
``read_concurrency``
+  option set, improving access to the global list of open database handles.
+* :ghissue:`1593`: Messages to update the least-recently used (LRU) cache are 
not
+  sent when the ``[couchdb] update_lru_on_read`` setting is disabled.
+* :ghissue:`1625`: All nodes in a cluster now run their own ``rexi`` server.
+
+Bugfixes
+--------
+
+.. rst-class:: open
+
+* :ghissue:`1484`: ``_stats`` now correctly handles the case where a map 
function emits
+  an array of integers. This bug was introduced in 2.2.0.
+* :ghissue:`1544`: Certain list functions could return a ``render_error`` error
+  intermittently.
+* :ghissue:`1550`: Replicator ``_session`` support was incompatible with 
CouchDB
+  installations using the ``require_valid_user = true`` setting.
+* :ghissue:`1571`: Under very heavy load, it was possible that `rexi_server` 
could
+  die in such a way that it's never restarted, leaving a cluster without the 
ability
+  to issue RPC calls - effectively rendering the cluster useless.
 
 Review comment:
   ```suggestion
     to issue RPC calls, effectively rendering the cluster useless.
   ```

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to