diff options
Diffstat (limited to 'Documentation/RelNotes')
-rw-r--r-- | Documentation/RelNotes/v1.4.0.eml | 80 | ||||
-rw-r--r-- | Documentation/RelNotes/v1.5.0.eml | 64 | ||||
-rw-r--r-- | Documentation/RelNotes/v1.6.0.eml | 169 | ||||
-rw-r--r-- | Documentation/RelNotes/v1.6.1.eml | 57 | ||||
-rw-r--r-- | Documentation/RelNotes/v1.7.0.eml | 101 | ||||
-rw-r--r-- | Documentation/RelNotes/v1.8.0.eml | 47 | ||||
-rw-r--r-- | Documentation/RelNotes/v1.9.0.eml | 68 | ||||
-rw-r--r-- | Documentation/RelNotes/v2.0.0.wip | 193 |
8 files changed, 777 insertions, 2 deletions
diff --git a/Documentation/RelNotes/v1.4.0.eml b/Documentation/RelNotes/v1.4.0.eml index 6b1bc86e..845895b5 100644 --- a/Documentation/RelNotes/v1.4.0.eml +++ b/Documentation/RelNotes/v1.4.0.eml @@ -1,10 +1,86 @@ +Date: Fri, 17 Apr 2020 08:48:59 +0000 From: Eric Wong <e@yhbt.net> To: meta@public-inbox.org -Subject: [WIP] public-inbox 1.4.0 +Subject: [ANNOUNCE] public-inbox 1.4.0 +Message-ID: <20200417084800.public-inbox-1.4.0-rele@sed> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline -TBD +This release focuses on reproducibility improvements and +bugfixes for corner-cases. Busy instances of PublicInbox::WWW +may also notice memory usage reductions. + +For rare messages lacking Date and/or Received headers, mirrors +now fall back to using the git author/commit times to reindex +them. This ensures search and filtering queries behave +identically on mirrors as they do on the original machine. + +"altid" SQLite dumps are now accessible to all over the WWW +interface via `POST /$INBOX/$ALTID.sql.gz'. + +Busy instances of PublicInbox::WWW (whether via +public-inbox-httpd or another PSGI server) may notice +significant memory usage reductions from the single message +"permalink" lifetime optimization. There also ongoing work to +improve memory lifetime management to reduce the potential for +memory fragmentation in daemons. + +* general changes: + + - `include.*' directives in the public-inbox-config(5) file + are now honored as documented in git-config(1), + thanks to Andreas Rottmann. + + - `+0000' is assumed for dates missing TZ offsets; + thanks to Leah Neukirchen for spotting this regression from + v1.2.0. + + - `<' and `>' characters are dropped to avoid errors in git + in addresses for git, thanks again to Leah for noticing + this long-standing bug. + +* PublicInbox::WWW: + + - memory reductions for message display and rendering + - code preload improved to reduce memory fragmentation + - remove redundant "a=" parameter in links to solver + - escape '&' in hrefs properly + - fix optional address obfuscation in search results + - `POST /$INBOX/$ALTID.sql.gz' endpoint to retrieve SQLite dumps + +* public-inbox-httpd + public-inbox-nntpd: + + - fix SIGUSR2 upgrade in worker-less instances (-W0) + +* public-inbox-httpd: + + - fix RFC 7230 conformance when Content-Length and "chunked" + are both specified + +* public-inbox-index: + + - reproduce original date and time stamps in mirrors for messages + lacking Date: and/or Received: headers + + - new `--compact' (or `-c') switch to perform the equivalent of + public-inbox-compact(1) after indexing each inbox + +* documentation: + + - add Documentation/technical/data_structures.txt for new hackers + +* scripts/import_vger_from_mbox: (not really a production-level script) + + - fix ">From" unescaping thanks to a bug report from Kyle Meyer + +Thanks to Andreas Rottmann, Leah Neukirchen and Kyle Meyer +for their contributions to this release. + +Release tarball available for download over HTTPS or Tor .onion: + +https://yhbt.net/public-inbox.git/snapshot/public-inbox-1.4.0.tar.gz +http://ou63pmih66umazou.onion/public-inbox.git/snapshot/public-inbox-1.4.0.tar.gz Please report bugs via plain-text mail to: meta@public-inbox.org diff --git a/Documentation/RelNotes/v1.5.0.eml b/Documentation/RelNotes/v1.5.0.eml new file mode 100644 index 00000000..d6036d26 --- /dev/null +++ b/Documentation/RelNotes/v1.5.0.eml @@ -0,0 +1,64 @@ +From: Eric Wong <e@yhbt.net> +To: meta@public-inbox.org +Subject: [ANNOUNCE] public-inbox 1.5.0 +Date: Sun, 10 May 2020 07:04:00 +0000 +Message-ID: <20200510.public-inbox-1.5.0-rele@sed> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline + +This release introduces a new pure-Perl lazy email parser, +PublicInbox::Eml, which uses roughly 10% less memory and +is up to 2x faster than Email::MIME. This is a major +internal change + +Limits commonly enforced by MTAs are also enforced in the +new parser, as messages may bypass MTA transports. + +Email::MIME and other Email::* modules are no longer +dependencies nor used at all outside of maintainer validation +tests. + +* public-inbox-index + + - `--max-size=SIZE' CLI switch and `publicinbox.indexMaxSize' + config file option added to prevent indexing of overly + large messages. + + - List-Id headers are indexed in new messages, old messages + can be found after `--reindex'. + +* public-inbox-watch + + - multiple values of `publicinbox.<name>.watchheader' are + now supported, thanks to Kyle Meyer + + - List-Id headers are matched case-insensitively as specified + by RFC 2919 + +* PublicInbox::WWW + + - $INBOX_DIR/description and $INBOX_DIR/cloneurl are not + memoized if missing + + - improved display of threads, thanks to Kyle Meyer + + - search for List-Id is available via `l:' prefix if indexed + + - all encodings are preloaded at startup to reduce fragmentation + + - diffstat linkification and highlighting are stricter and + less likely to linkify tables in cover letters + + - fix hunk header links to solver which were off-by-one line, + thanks again to Kyle Meyer + +Release tarball available for download over HTTPS or Tor .onion: + +https://yhbt.net/public-inbox.git/snapshot/public-inbox-1.5.0.tar.gz +http://ou63pmih66umazou.onion/public-inbox.git/snapshot/public-inbox-1.5.0.tar.gz + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. +See https://public-inbox.org/TODO for what the future holds. diff --git a/Documentation/RelNotes/v1.6.0.eml b/Documentation/RelNotes/v1.6.0.eml new file mode 100644 index 00000000..3fe8beae --- /dev/null +++ b/Documentation/RelNotes/v1.6.0.eml @@ -0,0 +1,169 @@ +From: Eric Wong <e@80x24.org> +To: meta@public-inbox.org +Subject: [ANNOUNCE] public-inbox 1.6.0 +Date: Wed, 16 Sep 2020 20:03:09 +0000 +Message-ID: <20200916200309.public-inbox-1.6.0-rele@sed> +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 + if it exists. PERL_INLINE_DIRECTORY in env remains supported + and prioritized to support `nobody'-type users without HOME. + + - 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. 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 + on message delivery (or spam removal) to wake up read-only + daemons via inotify or kqueue. + + - `--help' switch supported by command-line tools + +* Upgrading for new features in 1.6 + + The ordering of these steps is only necessary if you intend to + use some new features in 1.6. Future releases may have + different instructions (or be entirely transparent). + + 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 + + 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 + + - `--sequential-shard' or publicInbox.sequentialShard parameter + to improve OS page cache utilization on HDDs. + + - `--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 + + - `rm' supports `--all' to remove from all configured inboxes + +* 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 + + - blob reads from git are handled asynchronously + +* public-inbox-httpd + + - Plack::Middleware::Deflater is no longer loaded by default + when no .psgi file is specified; PublicInbox::WWW can rely + on gzip for buffering (see below) + +* PublicInbox::WWW + + - use consistent blank line around attachment links + + - Attachments in message/{rfc822,news,global} messages can be + individually downloaded. Downloading the entire message/rfc822 + file in full remains supported + + - $INBOX_DIR/description is treated as UTF-8 + + - HTML, Atom, and text/plain responses are gzipped without + relying on Plack::Middleware::Deflater + + - Multi-message endpoints (/t.mbox.gz, /T/, /t/, etc) are ~10% faster + when running under public-inbox-httpd with asynchronous blob + retrieval + + - mbox search results may now include all messages pertaining to that + thread. Needs `--reindex' mentioned above in + `Upgrading for new features in 1.6'. + + - fix mbox.gz search results downloads for lynx users + + - small navigation tweaks, more prominent mirroring instructions + +* public-inbox-watch + + - Linux::Inotify2 or IO::KQueue is used directly, + Filesys::Notify::Simple is no longer required + + - NNTP groups and IMAP mailboxes may be watched in addition + to Maildirs (lightly tested). + +* Ongoing internal changes + + - reduce event loop hogging for many-inbox support + + - use more Perl v5.10-isms, future-proof against Perl 8 + + - more consistent variable and field naming, improve internal + documentation and comments + + - start supporting >=40 char git identifiers for SHA-256 + + - test -httpd-specific code paths via Plack::Test::ExternalServer + in addition to generic PSGI paths. + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. +See https://public-inbox.org/TODO for what the future holds. diff --git a/Documentation/RelNotes/v1.6.1.eml b/Documentation/RelNotes/v1.6.1.eml new file mode 100644 index 00000000..49d2ade0 --- /dev/null +++ b/Documentation/RelNotes/v1.6.1.eml @@ -0,0 +1,57 @@ +From: Eric Wong <e@80x24.org> +To: meta@public-inbox.org +Subject: [ANNOUNCE] public-inbox 1.6.1 +Date: Thu, 31 Dec 2020 23:45:56 +0000 +Message-ID: <20201231234556.public-inbox-1.6.1-rele@sed> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline + +A small, bugfix release on top of 1.6.0 from September 2020. + +Bug fixes: + +* MIME header decoding no longer warns on undefined variables, + with Perl <5.28. Thanks to a bug report by Ali Alnubani. + https://public-inbox.org/meta/DM6PR12MB49106F8E3BD697B63B943A22DADB0@DM6PR12MB4910.namprd12.prod.outlook.com/ + +* Fixed a message threading bug thanks to a report from Kyle Meyer. + "public-inbox-index --rethread --reindex" will be necessary + in case of certain messages arrive out-of-order. + Link: https://public-inbox.org/meta/87360nlc44.fsf@kyleam.com/ + +* WWW: per-inbox grokmirror manifests no longer return info + for all inboxes, only the root /manifest.js.gz includes all + inboxes. This regression appeared in 1.6. + +* public-inbox-mda matches List-Id headers insensitively, + matching public-inbox-watch behavior. Similarly, List-Id + is always indexed lower-cased for boolean matches to avoid + matching an incorrect term. + +* Newsgroup and Path NNTP headers are now emitted in conformance + with RFC 5536 3.1.[45]. Thanks to Andrey Melnikov for the report: + https://public-inbox.org/meta/CA+PODjpUN5Q4gBFQhAzUNuMasVEdmp9f=8Uo0Ej0mFumdSwi4w@mail.gmail.com/ + +* Inotify fixes for public-inbox-imapd users relying on SIGHUP + reloads and thousands of watches. + +* Read-only daemon fixes around TLS and Linux <4.5 systems + +Bugfixes with minor behavior changes: + +* The X-Status mbox header is now excluded from imports, + just like the Status: header has been for many years. + They have no place in public archives and can be privacy + concern for people sharing archives. + +* WWW prevents deep-linking to attachments to limit abuse + vectors. Noticed by Leah Neukirchen: + https://public-inbox.org/meta/87imagyap9.fsf@vuxu.org/ + +There are also several ocumentation fixes from Uwe Kleine-König +and Kyle Meyer. + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. diff --git a/Documentation/RelNotes/v1.7.0.eml b/Documentation/RelNotes/v1.7.0.eml new file mode 100644 index 00000000..45fd0fa6 --- /dev/null +++ b/Documentation/RelNotes/v1.7.0.eml @@ -0,0 +1,101 @@ +From: Eric Wong <e@80x24.org> +To: meta@public-inbox.org +Subject: [ANNOUNCE] public-inbox 1.7.0 +Date: Thu, 04 Nov 2021 07:52:00 +0000 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Message-ID: <2021-11-04-public-inbox-1.7.0-finally-rele@sed> +Content-Disposition: inline + +Another big release focused on multi-inbox search and scalability. + +Special thanks to Konstantin Ryabitsev and Kyle Meyer for +numerous bug reports and documentation help. + +* general changes + + - config file parsing is 2x faster with 50K inboxes + + - deduplication ignores whitespace differences within address fields + + - "PRAGMA optimize" is now issued on commits for SQLite 3.18+ + +* public-inbox-extindex + + A new Xapian + SQLite index able to search across several inboxes. + This may be configured to replace per-inbox Xapian DBs, + (but not per-inbox SQLite indices) and speed up manifest.js.gz + generation. + + See public-inbox-extindex-format(5) and + public-inbox-extindex(1) manpages for more details. + + Using it with "--all" speeds up various multi-inbox operations in + PublicInbox::WWW, public-inbox-nntpd, and public-inbox-imapd. + +* read-only public-inbox-daemon (-httpd, -nntpd, -imapd): + + libgit2 may be used via Inline::C to avoid hitting system pipe + and process limits. See public-inbox-tuning(7) manpage + for more details. + +* various memory usage reductions and workarounds for leaks in + Encode <3.15, these mainly affect PublicInbox::WWW + +* public-inbox-nntpd + + - startup is 6x faster with 50K inboxes if using -extindex + +* PublicInbox::WWW + + - mboxrd search results are returned in reverse Xapian docid order, + so more recent results are more likely to show up first + + - d: and dt: search prefixes allow "approxidate" formats supported + by "git log --since=" + + - manifest.js.gz generation is ~25x faster with -extindex + + - minor navigation improvements in search results HTML page + +* lei - local email interface + + An experimental, subject-to-change, likely-to-eat-your-mail tool for + personal mail as well as interacting with public-inboxes on the local + filesystem or over HTTP(S). See lei(1), lei-overview(7), and other + lei-* manpages for details. This is only ready-to-use w.r.t. external + public-inbox instances, but mail synchronization for personal mail + remains clunky. + +* public-inbox-index + + - non-strict (Subject-based) threading supports non-ASCII characters, + reindexing is necessary for old messages with non-ASCII subjects. + + - --batch-size is now 8M on 64-bit systems for throughput improvements, + higher values are still advised for more powerful hardware. + +* public-inbox-watch + + - IMAP and NNTP code shared with lei, fixing an off-by-one error + in IMAP synchronization for single-message IMAP folders. + + - \Deleted and \Draft messages ignored for IMAP, as they are for + Maildir. + + - IMAP and NNTP connection establishment (including git-credential + prompts) ordering is now tied to config file order. + +Compatibility: + +* Rollbacks all the way to public-inbox 1.2.0 remain supported + +Internal changes + +* public-inbox-index switched to new internal IPC code shared + with lei + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. +See https://public-inbox.org/TODO for what the future holds. diff --git a/Documentation/RelNotes/v1.8.0.eml b/Documentation/RelNotes/v1.8.0.eml new file mode 100644 index 00000000..d835f8d8 --- /dev/null +++ b/Documentation/RelNotes/v1.8.0.eml @@ -0,0 +1,47 @@ +From: Eric Wong <e@80x24.org> +To: meta@public-inbox.org +Subject: [ANNOUNCE] public-inbox 1.8.0 +Date: Sat, 23 Apr 2022 08:22:59 +0000 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Message-ID: <2022-04-23-public-inbox-1.8.0-released@finally> + +A minor release focused on bugfixes and minor improvements. +Upgrades should happen transparently, but downgrading back to +1.7.0 will likely cause problems for lei users (and only lei +users). + +lei users may experience duplicate messages in Maildirs if attempting to +downgrade from 1.8.0 to 1.7.x. public-inbox-* tools are unaffected and +may downgrade freely. + +Bugfixes: + + Numerous test fixes thanks to NixOS developers. + + Long-running daemons are more robust in case of corrupt blobs + or crashes of git-cat-file processes + + PublicInbox::WWW: all CR are removed before LF, fixing display of + CR-CR-LF messages. + + Solver supports SHA-256 code repositories (inbox and lei store support + is still pending). + +Internal updates: + + Reduced dependencies on Inline::C for Linux users; Linux users may + now use lei with neither Inline::C nor Socket::MsgHdr installed. + +New features: + + The --dangerous flag is now supported in public-inbox-index and + public-inbox-extindex to use the Xapian::DB_DANGEROUS flag for initial + indexes. This may reduce SSD/HDD wear at the expense of disallowing + concurrency and data integrity in case of an unexpected shutdown. + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. +See https://public-inbox.org/TODO for what the future holds. diff --git a/Documentation/RelNotes/v1.9.0.eml b/Documentation/RelNotes/v1.9.0.eml new file mode 100644 index 00000000..08e16a66 --- /dev/null +++ b/Documentation/RelNotes/v1.9.0.eml @@ -0,0 +1,68 @@ +From: Eric Wong <e@80x24.org> +To: meta@public-inbox.org +Subject: [ANNOUNCE] public-inbox 1.9.0 +Date: Sun, 21 Aug 2022 02:36:59 +0000 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Message-ID: <2022-08-21T023659Z-public-inbox-1.9.0-rele@sed> + +Upgrading: + + lei users need to "lei daemon-kill" after installation to load + new code. Normal daemons (read-only, and public-inbox-watch) + will also need restarts, of course, but there's no + backwards-incompatible data format changes so rolling back to + older versions is harmless. + +Major bugfixes: + + * lei no longer freezes from inotify/EVFILT_VNODE handling, + user interrupts (Ctrl-C), nor excessive errors/warnings + + * IMAP server fairness improved to avoid excessive blob prefetch + +New features: + + * POP3 server support added, use either public-inbox-pop3d or + the new public-inbox-netd superserver + + * public-inbox-netd superserver supporting any combination of HTTP, + IMAP, POP3, and NNTP services; simplifying management and allowing + more sharing of memory used for various data structures. + + * public-inbox-httpd and -netd support per-listener .psgi files + + * SIGHUP reloads TLS certs and keys in addition to config and .psgi files + + * "lei reindex" command for lei users to update personal index + in ~/.local/share/lei/store for search improvements below: + +Search improvements: + + These will require --reindex with public-inbox-index and/or + public-inbox-extindex for public inboxes. + + * patchid: prefix search support added to WWW and lei for + "git patch-id --stable" support + + * text inside base-85 binary patches is no longer indexed + to avoid false positives + + * for lei users, "lei reindex" now exists and is required + to take advantage of aforementioned indexing changes + +Performance improvements: + + * IMAP server startup is faster with many mailboxes when using + "public-inbox-extindex --all" + + * NNTP group listings are also faster with many inboxes when + using "public-inbox-extindex --all" + + * various small opcode and memory usage reductions + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. +See https://public-inbox.org/TODO for what the future holds. diff --git a/Documentation/RelNotes/v2.0.0.wip b/Documentation/RelNotes/v2.0.0.wip new file mode 100644 index 00000000..f04d8144 --- /dev/null +++ b/Documentation/RelNotes/v2.0.0.wip @@ -0,0 +1,193 @@ +To: meta@public-inbox.org +Subject: [WIP] public-inbox 2.2.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline + +This release includes several new features and fixes; mostly +around improved integration between inboxes and coderepos for +solver. Portability and reliability is also improved, especially +in the internal process management of lei. + +public-inbox-cindex is a new command to index coderepos for +WWW search and perform automatic associations between +coderepos and inboxes. This makes solver vastly more useful +for the WWW UI as admins will no longer have to manually +associate coderepos with inboxes. + +public-inbox-clone gains the ability to mirror entire (or partial) +grokmirror-compatible manifests. + +Internal process and object management data structures are vastly +simplified throughout and error handling made more robust. + +git SHA-256 support remains a work-in-progress for inboxes and +extindex due to the need to interoperate with SHA-1 epochs. + +Upgrading: + + lei users need to "lei daemon-kill" after installation to load + new code. Normal daemons (read-only, and public-inbox-watch) + will also need restarts, of course, but there's no + backwards-incompatible data format changes so rolling back to + older versions is harmless. + +Compatibility: + + Uppercase newsgroup names were always broken with IMAP, POP3, and + -extindex. Uppercase names will now be lowercased by default and + warnings will be emitted. Conflicting newsgroup names (and `inboxdir' + entries if `newsgroup' isn't specified) will also generate warnings + since they break -extindex and the new -cindex (coderepo index). + +New users + hackers: + + The install/ directory includes tools to automate installation and + removal of dependencies for stripped-down or full setups. See + install/README for more details. + +treewide + + * support raw UTF-8 headers from SMTPUTF8 hosts + + * standardize on `#' prefix for stderr diagnostics (previously `I:') + + * SHA-256 coderepos are fully supported (but not inboxes, yet) + + * for daemons serving public traffic, MALLOC_MMAP_THRESHOLD_=131072 is + recommended to reduce fragmentation in glibc malloc, while jemalloc + (tested as an LD_PRELOAD) is another option (at least for 64-bit). + +PublicInbox::WWW + + * support `+' in inbox names + + * support coderepo displays for systems without cgit + + * improve display of git tags, commits and trees in $INBOX/$OID/s/ endpoint + + * numerous memory usage reductions by avoiding Perl scratchpads + + * add #related anchor and search form to find related patches + based on blob OIDs (IOW, exposing `lei p2q' to the web) + + * fix footer in listing of >200 inboxes + + * support dumb HTTP clones of SHA-256 git repos + + * add /$INBOX/$MSGID/d/ endpoint to show diffs in reused Message-IDs + (`lei mail-diff' for the web) + + * support POST /$INBOX/$MSGID/?x=m&q= to limit mbox results to a thread + + * add topics_(new|active).(html|atom) endpoints + + * linkify peer public-inbox addresses in To/Cc headers + +public-inbox-watch: + + * watching MH folders is now supported + +lei + + * use http.proxy / http.<remote>.proxy from system-wide git-config if + unconfigured for lei + + * improve IMAP and NNTP error reporting + + * reduce default IMAP connections to avoid overloading servers + + * compatibility with SQLite <3.8.3 on CentOS 7.x + + * fix `lei q -tt' on locally indexed messages (still broken for remotes: + https://public-inbox.org/meta/20230226170931.M947721@dcvr/ ) + + * `lei import' now sets labels+keywords consistently on all + already imported messages + + * fix `lei up' on saved local queries which previously used -t/--threads + + * `lei convert' output to v2 public-inboxes is now idempotent + + * improved bash completion for labels (see contrib/completion) + + * support for reading (but not writing) MH folders + + * `lei index' accepts `+L:$LABEL' like `lei import' does + +solver (used by lei (rediff|blob), and PublicInbox::WWW) + + * handle copies in patches properly + + * no longer redundantly parallelized within each WWW process + +portability + + * SIGWINCH is handled properly on less common architectures and OSes + + * fix EINTR handling for kqueue users + + * various fixes for CentOS 7.x + + * fix excessive pipelining to `git cat-file' on systems with small + getdelim(3) buffers (mainly affects musl) + + * support Alpine Linux, Dragonfly, NetBSD and OpenBSD. This resulted + not only in bugfixes to our code, but also to Dragonfly and OpenBSD. + + * Inline::C||Socket::MsgHdr no longer required for SCM_RIGHTS + with sendmsg/recvmsg on supported *BSDs. + + * inotify support no longer requires Linux::Inotify2 XS package + for most architectures + +public-inbox-pop3d + + * support `limit=NUM' and `initial_limit=NUM' query parameters + in mailbox names to limit results + +public-inbox-nntpd + + * fix LISTGROUP with range (affects neomutt) + +public-inbox-clone / public-inbox-fetch / `lei add-external --mirror' + + * mtime of downloaded manifest preserved + +public-inbox-clone: + + * parallel mirroring of multiple inboxes/coderepos via manifest, + public-inbox-fetch is not used in this mode + + * new flags to support manifest mirroring include: + --dry-run, --inbox-config=, --project-list=, --prune, --purge, + --keep-going, --jobs, --include=, --exclude=, --objstore=, + --manifest=, --remote-manifest= + See public-inbox-clone(1) man page for more details. + +PublicInbox::SaPlugin::ListMirror + + * List-ID handling special-cased according to RFC 2919 rules + +Search improvements (lei and PublicInbox::WWW) + + * quoted text inside base-85 binary patches is no longer indexed + + * `public-inbox-cindex --join' prefers using Xapian's C++ API + directly to avoid Perl method dispatch overhead to get usable + performance associating ~300 inboxes with over 1K coderepos + (and vice versa). Users requiring such performance will need + a C++ compiler, pkg-config, and the Xapian development files + (see INSTALL). + + This C++ helper will be used more heavily in the future + to enable query parser customizations and other functionality + unavailable from the Xapian SWIG or XS bindings. + +Thanks to all the bug reporters and users who made this release +possible, and thanks for bearing with my anxiety over making releases. + +Please report bugs via plain-text mail to: meta@public-inbox.org + +See archives at https://public-inbox.org/meta/ for all history. +See https://public-inbox.org/TODO for what the future holds. |