user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Eric Wong <>
Subject: [ANNOUNCE] public-inbox 1.7.0
Date: Thu, 04 Nov 2021 07:52:00 +0000	[thread overview]
Message-ID: <2021-11-04-public-inbox-1.7.0-finally-rele@sed> (raw)

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

  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

  - IMAP and NNTP connection establishment (including git-credential
    prompts) ordering is now tied to config file order.


* 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:

See archives at for all history.
See for what the future holds.

             reply	other threads:[~2021-11-04  7:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-04  7:52 Eric Wong [this message]
2021-11-04 12:24 ` Konstantin Ryabitsev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

  List information:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2021-11-04-public-inbox-1.7.0-finally-rele@sed \ \ \
    --subject='Re: [ANNOUNCE] public-inbox 1.7.0' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).