Internal process and object management data structures are vastly
simplified throughout and error handling made more robust.
+Pathologically slow Xapian queries no longer block non-Xapian
+requests when using the new --xapian-helpers switch.
+
git SHA-256 support remains a work-in-progress for inboxes and
extindex due to the need to interoperate with SHA-1 epochs.
* linkify peer public-inbox addresses in To/Cc headers
+ * publicinbox.nameIsUrl allows admins to avoid specifying
+ a publicinbox.*.url entry for every single inbox
+
public-inbox-watch:
* watching MH folders is now supported
+ * publicinbox.*.watch=false can prevent attempted writes due to
+ publicinboxwatch.watchspam
+
lei
* use http.proxy / http.<remote>.proxy from system-wide git-config if
* fix `lei q -tt' on locally indexed messages (still broken for remotes:
https://public-inbox.org/meta/20230226170931.M947721@dcvr/ )
+ * `lei q --thread-id=$MSGID' is now supported to search for messages
+ within certain thread
+
* `lei import' now sets labels+keywords consistently on all
already imported messages
+ * `lei import' is less noisy by default, with a new --noisy switch
+ to restore previous behavior.
+
* fix `lei up' on saved local queries which previously used -t/--threads
* `lei convert' output to v2 public-inboxes is now idempotent
* improve ambiguous OID debug messages
+ * can use coderepo indices generated by public-inbox-cindex
+
portability
* SIGWINCH is handled properly on less common architectures and OSes
* inotify support no longer requires Linux::Inotify2 XS package
for most architectures
+public-inbox-learn:
+
+ * support --keep-going/-k switch to continue after unwritable inboxes
+
+public-inbox-mda / public-inbox-learn / public-inbox-watch:
+
+ * support publicinboxImport.dropUniqueUnsubscribe config to
+ remove unique identifiers in List-Unsubscribe headers
+
public-inbox-pop3d
* support `limit=NUM' and `initial_limit=NUM' query parameters
frontends where SQLite WAL isn't possible, use
`--commit=SECONDS'
+ * --commit=SECONDS adjusts commit interval to increase or decrease
+ the rate at which SQLite and Xapian data is made available to
+ read-only processes
+
* --wal switch added to public-inbox-init(1), public-inbox-index(1),
- public-inbox-extindex(1), public-inbox-convert(1)
+ public-inbox-extindex(1), public-inbox-convert(1) to enable WAL
+ for SQLite, which allows higher commit intervals to be used without
+ causing readers to timeout.
* publicinbox.$NAME.altid is now supported with public-inbox-extindex
* publicinbox.$NAME.indexheader added to support custom header indexing,
see public-inbox-config(5) for details.
+ * --defrag=MSGCOUNT defragments SQLite and Xapian DBs on btrfs(5)
+
+ * --split-shards speeds up initial Xapian indexing and reduces
+ fragmentation
+
+ * --no-multi-pack-index disables writing git-multi-pack-index(1) to
+ avoid OOM errors on memory constrained systems
+
+ * --cow / --no-cow may be used with public-inbox-init(1),
+ public-inbox-compact(1), public-inbox-convert(1),
+ public-inbox-cindex(1), public-inbox-xcpdb(1),
+ public-inbox-index(1), public-inbox-extindex(1)
+ to enable or disable (the default) No_COW attribute on
+ Linux CoW filesystems (e.g. btrfs).
+
public-inbox-daemon (-netd, -imapd, -httpd, -nntpd, -pop3d)
- * per-listener servername=, serverport=, and multi-accept=
+ * per-listener backlog=, servername=, serverport=, and multi-accept=
parameters, --multi-accept= is also supported globally for
all listeners.