This is an automated email from the ASF dual-hosted git repository. jan pushed a commit to branch doc/whats-new-3.4.0 in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 8848ecf83e2f97a7b1bbaef1bbef422c2bea440f Author: Jan Lehnardt <[email protected]> AuthorDate: Tue Nov 28 16:09:00 2023 +0100 feat(doc): What’s new in 3.4.0? --- src/docs/src/whatsnew/3.4.rst | 235 ++++++++++++++++++++++++++++++++++++++++ src/docs/src/whatsnew/index.rst | 1 + 2 files changed, 236 insertions(+) diff --git a/src/docs/src/whatsnew/3.4.rst b/src/docs/src/whatsnew/3.4.rst new file mode 100644 index 000000000..ec06a9749 --- /dev/null +++ b/src/docs/src/whatsnew/3.4.rst @@ -0,0 +1,235 @@ +.. 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.4.x: + +============ +3.4.x Branch +============ + +.. contents:: + :depth: 1 + :local: + +.. _release/3.4.0: + +Version 3.4.0 +============= + +Highlights +---------- + +.. code-block:: text + + .-. + / | + /\ | .-._.) ( ) .-..-. .-. ) ( + / \ |( )( )( / ./.-'_( | ( ) + .-' / \| `-' `--': \_/ (__.' `-'-'`--': + (__.' `. + +* :ghissue:`4291`: Introducing Nouveau (beta) a modern, from-the-ground-up + implementation of Lucene-based full-text search for CouchDB. Please test + this thoroughly and report back any issues you might find. + + - Installation instructions // TODO LINK + - Report a bug // TODO LINK + +* :ghissue:`4570`, :ghissue:`4578`, :ghissue:`4576`: Adopt xxHash in favour + of md5 for ``couch_file`` checksums and ETag calculation. 30% performance + increase for large (128K) docs. No difference for smaller docs. + +* :ghissue:`4814`: Introduce PBKDF2-SHA256 for password hashing. The existing + PBKDF2-SHA1 variant is now deprecated. Increases the default iteration count + to ``500000``. Also introduce a password hash in-memory cache with a low + iteration number, to keep interactive requests fast for a fixed time. + + Entries in the password hash cache are time-limited, unused entries are + automatically deleted, and there is a capacity bound. + +* :ghissue:`4512`: Mango: add keys-only covering indexes. Improves query + response times for certain queries up to 10x at p(95). + +* :ghissue:`4681`: Introduce optional countermeasures as we run out of + disk space. + +* :ghissue:`4847`: Require auth for ``_replicate`` endpoint. This continues + the 3.x closed-by-default design goal. + +* Many small small performance improvements, see Performance section // TODO LINK + +Features and Enhancements +------------------------- + +* :ghissue:`4878`: Add an option to scrub some sensitive headers from external + json. +* :ghissue:`4834`: Wait for newly set admin creds to be hashed in setup. +* :ghissue:`4821`: Do not fail compactions if the last step is delayed + by ``ioq``. +* :ghissue:`4810`: Mango: add ``$beginsWith`` operator . +* :ghissue:`4769`: Improve replicator error handling. +* :ghissue:`4766`: Add new HTTP endpoint ``/_node/_local/_smoosh/status``. +* :ghissue:`4736`: Stop client process and clean up if client disconnects. +* :ghissue:`4703`: Add ``_purged_infos`` endpoint. +* :ghissue:`4685`: Add ``"CouchDB-Replicator/..."`` user agent to + replicator ``/_session`` requests +* :ghissue:`4680`: Shard splitting: allow resumption of failed jobs and + make timeout configurable. +* :ghissue:`4677`: Crash replication jobs on unexpected ``4xx`` errors. +* :ghissue:`4670`: Allow setting of additional ``ibrowse`` options + like ``prefer_ipv6``. +* :ghissue:`4662`: Mango: extend ``_explain`` with candidate indexes and + selector hints. +* :ghissue:`4625`: Add optional logging of security issues when + replicating. +* :ghissue:`4623`: Better upgrade handling of ``instance_start_time`` + in replicator. +* :ghissue:`4613`: Add option to suppress version info via HTTP header. +* :ghissue:`4601`: Add simple ``fabric`` benchmark. +* :ghissue:`4581`: Support Erlang/OTP 26. +* :ghissue:`4575`: Add ``{verify, verify_peer}`` for TLS validation. +* :ghissue:`4569`: Mango: add ``keys_examined`` for ``execution_stats``. +* :ghissue:`4558`: Make Erlang/OTP 24 the minimum supported Erlang version. +* :ghissue:`4503`: Make timeouts for ``_view`` and ``_search`` configurable. +* :ghissue:`4483`: Add RFC5424 compliant report logging. +* :ghissue:`4475`: Add type and descriptions to prometheus output. +* :ghissue:`4443`: Automatically enable FIPS mode at runtime. +* :ghissue:`4438`: Upgrade hash algorithm for proxy auth. +* :ghissue:`4432`: Hide shard-sync and purge documents from ``_local_docs``. +* :ghissue:`4431`: Allow definition of JWT roles claim as comma-separated + list. +* :ghissue:`4404`: Respond with 503 immediately if search not available. +* :ghissue:`4347`: Remove failed ``couch_plugins`` experiment. + +Performance +----------- + +* :ghissue:`4852`: Optimise ``_active_tasks``. +* :ghissue:`4811`: Prevent delayed opener error from crashing index servers. +* :ghissue:`4786`, :ghissue:`4789`: Add extra timing stats for ``couch_js`` + engine commands. +* :ghissue:`4679`: Fix multipart parse “attachment longer than expected” + error. +* :ghissue:`4672`: Remove ``folsom`` and reimplement required functionality + with new Erlang/OTP primitives resulting in up to 19x faster histogram + operations. +* :ghissue:`4617`: Use a faster sets implementation available since OTP 24. +* :ghissue:`4608`: Add metrics for fsync calls and query engine operations. +* :ghissue:`4604`: 6x speedup for common ``mem3:dbname/1`` function. +* :ghissue:`4603`: Update ``vm.args`` settings, increased Erlang distribution + buffer size to 32MB. +* :ghissue:`4598`: Speed up internal replicator. +* :ghissue:`4507`, :ghissue:`4525`: Add more prometheus metrics. +* :ghissue:`4505`: Treat JavaScript internal errors as fatal. +* :ghissue:`4503`: Add ``error_info`` clause for ``410 Gone``. +* :ghissue:`4494`: Treat single-element keys as key. +* :ghissue:`4473`: Avoid re-compiling filter view functions. +* :ghissue:`4401`: Enforce doc ids ``_changes`` filter optimisation limit and + raise it from ``100`` to ``1000``. +* :ghissue:`4394`: Mango: push ``fields`` selection down to data nodes. + +Bugfixes +-------- + +* :ghissue:`4887`: Look up search node name in config for weatherreport. +* :ghissue:`4837`: Fix update bug in ``ets_lru``. +* :ghissue:`4794`: Fix incorrect raising of ``database_does_not_exist`` error. +* :ghissue:`4784`: Fix parsing of node name from ``ERL_FLAGS1`` + in ``remsh``. +* :ghissue:`4782`, :ghissue:`4891`: Mango: prevent occasional + duplication of paginated text results. +* :ghissue:`4761`: Fix badrecord error when replicator is logging http usage. +* :ghissue:`4759`: TLS: use HTTP rules for hostname verification. +* :ghissue:`4758`: Remove sensitive headers from the mochiweb request in pdict. +* :ghissue:`4751`: Mango: correct behaviour of ``fields`` on ``_explain``. +* :ghissue:`4722`: Fix badmatch error when purge requests time out. +* :ghissue:`4716`: Fix pending count for reverse changes feed. +* :ghissue:`4709`: Mango: improve handling of invalid fields. +* :ghissue:`4704`, :ghissue:`4707`: Fix empty facet search results. +* :ghissue:`4682`: ``_design_doc/queries`` with ``keys`` should only return + design docs. +* :ghissue:`4669`: Allow for more than two replicator socket options. +* :ghissue:`4666`: Improve error handling in config API. +* :ghissue:`4659`: Mango: remove duplicates from ``indexable_fields/1`` + results. +* :ghissue:`4658`: Fix undefined range in ``mem3_rep`` purge replication + logic. +* :ghissue:`4653`: Fix ability to use ``;`` inside of config values. +* :ghissue:`4629`: Fix prometheus to survive ``mem3_sync`` termination. +* :ghissue:`4626`: Fix purge infos replicating to the wrong shards + during shard splitting. +* :ghissue:`4602`: Fix error handling for the ``_index`` endpoint and + document ``_index/_bulk_delete``. +* :ghissue:`4555`: Fix race condition when creating indexes. +* :ghissue:`4524`: Querying ``_all_docs`` with non-string key should + return an empty list. +* :ghissue:`4514`: GET invalid path under ``_index`` should not cause + 500 response. +* :ghissue:`4509`: Make ``remsh`` work with quoted cookie. +* :ghissue:`4491`: Fix ``couch_index`` to avoid crashes under certain + conditions. +* :ghissue:`4485`: Catch and log any error from ``mem3:local_shards`` in + ``index_server``. +* :ghissue:`4473`: Fix prometheus counter metric naming. +* :ghissue:`4458`: Mango: Fix text index selection for queries with ``$regex``. +* :ghissue:`4416`: Allow ``_local`` doc writes to the replicator dbs. +* :ghissue:`4370`: Ensure design docs are uploaded individually when + replicating with ``bulk_get``. +* :ghissue:`4363`: Fix replication ``_scheduler/docs`` ``total_rows``. +* :ghissue:`4360`: Fix handling forbidden exceptions from workers in + ``fabric_doc_update``. +* :ghissue:`4353`: Fix replication ``job_link``. +* :ghissue:`4348`: Fix undefined function warning in weatherreport. +* :ghissue:`4343`: Fix undef when parsing replication doc body. + +Tests +----- + +* :ghissue:`4873`: Fix test for `text` index creation. +* :ghissue:`4863`: Fix flaky ``users_db_security`` test. +* :ghissue:`4808`: Fix flaky ``couch_stream`` test. +* :ghissue:`4806`: Mango: do not skip json tests when Clouseau installed. +* :ghissue:`4803`: Fix flaky ``ddoc_cache`` test some more. +* :ghissue:`4765`: Fix flaky mem3 reshard test. +* :ghissue:`4763`: Plug hole in unit test coverage of view curser functions. +* :ghissue:`4726`: Support Elixir 1.15. +* :ghissue:`4691`: ``make elixir`` should match what we run in CI. +* :ghissue:`4632`: Fix test database recreation logic. +* :ghissue:`4630`: Add extra assert in flaky couch_file test. +* :ghissue:`4620`: Add Erlang/OTP 26 to Pull Request CI matrix. +* :ghissue:`4552`, :ghissue:`4553`: Fix flaky couchjs error test. +* :ghissue:`4453`: Fix flaky LRU test that the new super fast macOS CI worker + noticed. +* :ghissue:`4422`: Clean up JSON index selection and add unit tests. +* :ghissue:`4345`: Add test coverage for replicator ``user_ctx`` parser. + +Docs +---- + +* :ghissue:`4774`: Amend description of ``use_index`` on ``/{db}/_find``. +* :ghissue:`4743`: Ban the laster monster. +* :ghissue:`4684`: Add ``_design_docs/queries`` and + ``_local_docs/queries``. +* :ghissue:`4645`: Add authentication data to examples. +* :ghissue:`4636`: Clarify default quorum calculation. +* :ghissue:`4561`: Clarify encoding length in performance section. +* :ghissue:`4402`: Fix example code in partitioned databases. +* :ghissue:`4379`: match description of ``$mod`` with reality. + +Builds +------ +* :ghissue:`4840`: Add Debian 12 (bookworm) to CI and binary packages. + +Other +----- + +What’s new, Scooby-Doo? diff --git a/src/docs/src/whatsnew/index.rst b/src/docs/src/whatsnew/index.rst index bc92f938f..2d0649dc5 100644 --- a/src/docs/src/whatsnew/index.rst +++ b/src/docs/src/whatsnew/index.rst @@ -20,6 +20,7 @@ Release Notes :glob: :maxdepth: 2 + 3.4 3.3 3.2 3.1
