Skip to content

Commit 65b9a67

Browse files
committed
Update and fix whatsnew for 3.5
* Add a few more related pr to parallel preads highlights * Add _top_N/_bottom_N/_first/_last reducers to highlights * Add conflict finder to highlights * Mention defaults flipping and what versions it's safe to downgrade to. * Fix a few PR number typos
1 parent fc10c43 commit 65b9a67

File tree

1 file changed

+49
-8
lines changed

1 file changed

+49
-8
lines changed

src/docs/src/whatsnew/3.5.rst

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ Version 3.5.0
2828
Highlights
2929
----------
3030

31-
* :ghissue:`5399`, :ghissue:`5441`, :ghissue:`5443`: Implement parallel
32-
``pread`` calls: lets clients issue concurrent ``pread`` calls without blocking
33-
each other or having to wait for all writes and ``fsync`` calls. This is
34-
enabled by default and can be disabled with ``[couchdb] use_cfile = false`` in
35-
the configuration.
31+
* :ghissue:`5399`, :ghissue:`5441`, :ghissue:`5443`, :ghissue:`5460`,
32+
:ghissue:`5461`: Implement parallel ``pread`` calls: lets clients issue
33+
concurrent ``pread`` calls without blocking each other or having to wait for
34+
all writes and ``fsync`` calls. This is enabled by default and can be
35+
disabled with ``[couchdb] use_cfile = false`` in the configuration.
3636

3737
CouchDB already employs a multiple-parallel-read and concurrent serial-write
3838
design at the database engine layer, but below that in the storage engine,
@@ -77,17 +77,48 @@ Highlights
7777
* :ghissue:`5347`: Fix attachment size calculation. This could lead to shards
7878
not being scheduled for compaction correctly.
7979

80+
* :ghissue:`5494`: Implement ``_top_N`` and ``_bottom_N`` reducers. These
81+
reducers return the top or bottom values from a map-reduce view. ``N`` is a
82+
number between ``1`` and ``100``. For instance, a ``_top_5`` reducer will
83+
return the top 5 highest values for a group level.
84+
85+
* :ghissue:`5498`: Implement ``_first`` and ``_last`` reducers. These reducers
86+
return the first, and respectively, the last view row for a given group
87+
level. For example, ``_last`` can be used to retrieve the last timestamp
88+
update for each ``device_id`` if we had a key like ``[device_id, timestamp]``
89+
if we query the view with ``group_level=1``.
90+
91+
* :ghissue:`5466`: Conflict finder plugin. Enable the
92+
``couch_scanner_plugin_conflict_finder`` plugin to find conflicting docs
93+
across all the databases. It can be configured to report individual revisions
94+
or aggregated statistics.
95+
8096
Performance
8197
-----------
8298

99+
* :ghissue:`5499`: QuickJS rope based string implementation.
100+
* :ghissue:`5451`: Optimize config system to use persistent terms.
83101
* :ghissue:`5437`: Fix ``atts_since`` functionality for document ``GET``
84102
requests. Avoids re-replicating attachment bodies on doc updates.
85-
* :ghissue:`5389`: Save 1 ``write`` for each committing data to disk by using
103+
* :ghissue:`5398`: Save 1 ``write`` for each committing data to disk by using
86104
``fdatasync`` while keeping the same level of storage reliability.
87105

88106
Features
89107
--------
90108

109+
* :ghissue:`5526`: Default ``upgrade_hash_on_auth`` to ``true``. Downgrading to
110+
``3.4.1``, ``3.4.2``, or ``3.4.3`` is safe. Those versions know how to verify
111+
these new password hashes.
112+
* :ghissue:`5517`: Enable xxHash file checksums by default. Downgrading to
113+
``3.4.x`` versions should be safe. Those versions know how to read and verify
114+
xxHash checksums.
115+
* :ghissue:`5527`: Update Fauxton and xxHash dependencies.
116+
* :ghissue:`5525`: Array opcode optimization for QuickJS.
117+
* :ghissue:`5518`: More precise error location reporting for QuickJS.
118+
* :ghissue:`5507`, :ghissue:`5510`, :ghissue:`5509`: Erlang 28 compatibiliity.
119+
* :ghissue:`5516`: Detailed node membership info for Prometheus.
120+
* :ghissue:`5489`: Allow TLS client certs for Nouveau requests.
121+
* :ghissue:`5452`: ``BigInt`` support for QuickJS.
91122
* :ghissue:`5439`: Nouveau: upgrade ``dropwizard`` to 4.0.12.
92123
* :ghissue:`5429`: Add ``simple+pbkdf2`` migration password scheme.
93124
* :ghissue:`5424`: Scanner: reduce log noise, fix QuickJS plugin mocks,
@@ -97,7 +128,7 @@ Features
97128
``couch_work_queue``.
98129
* :ghissue:`5402`: Remove unused, undocumented and detrimental idle check
99130
timeout feature.
100-
* :ghissue:`5359`: Remove unused, undocumented and unreliabele ``pread_limit``
131+
* :ghissue:`5395`: Remove unused, undocumented and unreliabele ``pread_limit``
101132
feature from ``couch_file``.
102133
* :ghissue:`5385`: Clean up ``fabric_doc_update`` by introducing an ``#acc``
103134
record.
@@ -116,6 +147,14 @@ Features
116147
Bugfixes
117148
--------
118149

150+
* :ghissue:`5515`: Make sure ``query_limit`` config takes effect. Raise default
151+
limit from ``2^28`` to ``2^59``. Allow ``infinity`` as a more ergonomic
152+
config value.
153+
* :ghissue:`5522`: Reopen indexes closed by Lucene in Nouveau.
154+
* :ghissue:`5508`: Fix array ``from()`` and ``at()`` for QuickJS.
155+
* :ghissue:`5502`: Buffer overflow and segfault fix in QuickJS.
156+
* :ghissue:`5469`, :ghissue:`5471`: Retry closed connections in Nouveau.
157+
* :ghissue:`5463`: Fix ``badarith`` in Nouveau index query.
119158
* :ghissue:`5447`: Fix arithmetic mean in ``_prometheus``.
120159
* :ghissue:`5440`: Fix ``_purged_infos`` when exceeding ``purged_infos_limit``.
121160
* :ghissue:`5431`: Restore the ability to return ``Error`` objects from `map()`.
@@ -143,7 +182,7 @@ Docs
143182
----
144183

145184
* :ghissue:`5433`: Mango: document Nouveau index type.
146-
* :ghissue:`5433`: Nouveau: document Mango index type.
185+
* :ghissue:`5432`: Add conceptual docs for Mango.
147186
* :ghissue:`5428`: Fix wrong link in example in ``CONTRIBUTING.md``.
148187
* :ghissue:`5400`: Clarify RHEL9 installation caveats.
149188
* :ghissue:`5380`, :ghissue:`5404`: Fix various typos.
@@ -159,6 +198,8 @@ Docs
159198
Tests
160199
_____
161200

201+
* :ghissue:`5492`: Enable Clouseau testing for FreeBSD
202+
* :ghissue:`5490`: Enable Clouseau testing for MacOS
162203
* :ghissue:`5397`: Fix negative-steps error in Elixir tests.
163204

164205
Builds

0 commit comments

Comments
 (0)