A few more things happened, here.
---
 Documentation/RelNotes/v1.6.0.eml | 83 +++++++++++++++++++++++++++----
 1 file changed, 74 insertions(+), 9 deletions(-)

diff --git a/Documentation/RelNotes/v1.6.0.eml 
b/Documentation/RelNotes/v1.6.0.eml
index 862e1c68..4f72f352 100644
--- a/Documentation/RelNotes/v1.6.0.eml
+++ b/Documentation/RelNotes/v1.6.0.eml
@@ -5,6 +5,18 @@ MIME-Version: 1.0
 Content-Type: text/plain; charset=utf-8
 Content-Disposition: inline
 
+A big release containing several performance optimizations, a
+new anonymous IMAP server, and more.  It represents an
+incremental improvement over 1.5 in several areas with more to
+come in 1.7.
+
+The read-only httpd and nntpd daemons no longer block the event
+loop when retrieving blobs from git, making better use of SMP
+systems while accomodating slow storage.
+
+Indexing can be now be tuned to give somewhat usable performance
+on HDD storage, though we can't defy the laws of physics, either.
+
 * General changes:
 
   - ~/.cache/public-inbox/inline-c is automatically used for Inline::C
@@ -14,22 +26,70 @@ Content-Disposition: inline
   - msgmap.sqlite3 uses journal_mode=TRUNCATE, matching over.sqlite3
     behavior for a minor reduction in VFS traffic
 
+  - public-inbox-tuning(7) - new manpage containing pointers to
+    various tuning options and tips for certain HW and OS setups.
+
+  - Copy-on-write is disabled on BTRFS for new indices to avoid
+    fragmentation.  See the new public-inbox-tuning(7) manpage.
+
   - message/{rfc822,news,global} attachments are decoded recursively
-    and indexed for search.  Use `public-inbox-index --reindex' to
-    ensure these attachments are indexed in old messages.
+    and indexed for search.  Reindexing (see below) is required
+    to ensure these attachments are indexed in old messages.
 
-  - inbox.lock (v2) and ssoma.lock (v1) files are written to by
+  - inbox.lock (v2) and ssoma.lock (v1) files are written to
     on message delivery (or spam removal) to wake up read-only
     daemons via inotify or kqueue.
 
+* Upgrading
+
+  The ordering of these steps is only necessary if you intend to
+  use some new features of this release.
+
+  0. install (use your OS package manager, or "make install")
+
+  1. restart public-inbox-watch instances if you have any
+
+  2. Optional: remove Plack::Middleware::Deflater if you're using
+     a custom .psgi file for PublicInbox::WWW.  This only saves
+     some memory and CPU cycles, and you may also skip this step
+     if you expect to roll back to 1.5.0 for any reason.
+
+  Steps 3a and 3b may happen in any order, 3b is optional
+  and is only required to use new WWW and IMAP features.
+
+  3a. restart existing read-only daemons if you have them
+      (public-inbox-nntpd, public-inbox-httpd)
+
+  3b. run "public-inbox-index -c --reindex --rethread --all"
+      to reindex all configured inboxes
+
+  4. configure and start the new public-inbox-imapd.  This
+     requires reindexing in 3b, but there's no obligation to
+     run an IMAP server, either.
+
 * public-inbox-index
 
-  - --batch-size=BYTES or publicinbox.indexBatchSize parameter
+  There are several new options to improve usability on slow,
+  rotational storage.
+
+  - `--batch-size=BYTES' or publicinbox.indexBatchSize parameter
+    to reduce frequency of random writes on HDDs
 
-  - parallelize v2 updates by default, "-j0" is (once again) allowed
-    to disable parallelization
+  - `--sequential-shard' or publicInbox.sequentialShard parameter
+    to improve OS page cache utilization on HDDs.
 
-  - v1 (re-)indexing parallelizes blob reads from git
+  - `--no-fsync' when combined with Xapian 1.4+ can be used to
+    speed up indexing on SSDs and small (default) `--batch-size'
+
+  - `--rethread' option to go with `--reindex' (use sparringly,
+    see manpage)
+
+  - parallelize v2 updates by default, `--sequential-shard' and
+    `-j0' is (once again) allowed to disable parallelization
+
+  - (re-)indexing parallelizes blob reads from git
+
+  - `--all' may be specified to index all configured inboxes
 
 * public-inbox-learn
 
@@ -38,6 +98,8 @@ Content-Disposition: inline
 * public-inbox-imapd
 
   - new read-only IMAP daemon similar to public-inbox-nntpd
+    `AUTH=ANONYMOUS' is supported, but any username and
+    password for clients without `AUTH=ANONYMOUS' support.
 
 * public-inbox-nntpd
 
@@ -46,8 +108,8 @@ Content-Disposition: inline
 * public-inbox-httpd
 
   - Plack::Middleware::Deflater is no longer loaded by default
-    when no .psgi file is specified; PublicInbox::WWW gzips
-    natively (see below)
+    when no .psgi file is specified; PublicInbox::WWW can rely
+    on gzip for buffering (see below)
 
 * PublicInbox::WWW
 
@@ -66,6 +128,9 @@ Content-Disposition: inline
     when running under public-inbox-httpd with asynchronous blob
     retrieval
 
+  - mbox search results may now include all messages pertaining to that
+    thread (requires `--reindex' mentioned in `Upgrading').
+
 * public-inbox-watch
 
   - Linux::Inotify2 or IO::KQueue is used directly,
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to