about summary refs log tree commit homepage
path: root/Documentation
DateCommit message (Collapse)
2022-04-22doc: update 1.8 WIP release notes
2022-04-02examples/unsubscribe.milter: RFC 8058 (List-Unsubscribe=One-Click)
This allows unambiguous signaling to some MUAs and webmail clients that th List-Unsubscribe header contains an instantaneous unsubscribe option.
2022-04-01doc: add WIP release notes for 1.8
1.8 will be a minor release, soon (I initially expected to release it in December, but was side-tracked). Major features will be for 1.9.
2022-03-08index|extindex: support --dangerous flag
This enables Xapian::DB_DANGEROUS to support in-place updates. This can speed up the initial index and reduce I/O at the cost of preventing concurrent readers and being unsafe in the face of any abnormal terminations. This is more dangerous than --no-fsync. --no-fsync is only unsafe in the event of a power loss or kernel crash; --dangerous is unsafe even on SIGKILL.
2021-11-09build: do not repeatedly build some docs
Text versions of manpages do not need to be generated for normal installations, they're only used for generating HTML and our amazing, award-winning homepage. We'll also rely on touch(1) instead of Perl utime to benefit users w/o git-set-file-times in txt2pre. Perl numeric values cannot represent nanosecond resolution accurately even with Time::HiRes; which causes nanosecond-aware make(1) implementations to repeatedly rebuild.
2021-11-04public-inbox 1.7.0 v1.7.0
2021-11-04doc: relnotes: a few more 1.7.0 related updates
Note "--all" for -extindex, and some minor wording fixes.
2021-11-04doc: design_notes: updates for "newer" things
public-inbox-imapd, public-inbox-watch, and marketing.txt all exist, now.
2021-11-04doc: txt2pre: linkify a add a few more well-known things
Maybe these will help folks less familiar with some of these things.
2021-11-04doc: switch to man(1) for pod => (text|html)
pod2text(1) will wrap long .onion URLs and cause resulting HTML to be linkified improperly.
2021-11-04doc: add more 3rd-party refs, use Debian manpages for xapian
curl, torsocks, and gitglossary manpages are all newly referenced, so make sure they're linkified properly in HTML. We'll be using Debian's manpages as an ad-free, Tor-accessible host for manpages as a fallback since hosting manpages for all 3rd-party projects we reference doesn't scale.
2021-11-03doc: relnotes: 1.7.0: move extindex, note search results change
extindex is a far more important feature than libgit2 support (which is actually underperforming and might go away). The search results page is also improved (IMHO), nowadays.
2021-11-03doc: -clone|lei add-external: add bit about the Makefile
It's pretty useful, I think.
2021-11-03doc: extindex: document current behavior + knobs
I'm not really sure if extindex writing to the config file is a good idea (since -index doesn't, as -init exists). Just document what it does and let the user handle it, since the config file shouldn't be daunting to new users.
2021-11-03doc: lei-q: document SEARCH TERMS prefixes
The new Documentation/common.perl file will be used for all manpages in the future.
2021-11-03doc: txt2pre: add references to newish manpages
2021-11-01doc: lei-config: fix missing =back
2021-11-01doc: update release notes and INSTALL
This is what I can think of at the moment.
2021-10-31doc: add lei-mail-sync-overview manpage
Mostly illustrating how clunky the process is :p We'll also tweak some things in existing man pages around mail synchronization.
2021-10-30doc: lei-security: add a note about core dumps
Maybe we can avoid them if we stop having buggy code :P
2021-10-28doc: lei-add-watch: add warning about unreliability
This needs work at some point in the future.
2021-10-28doc: lei blob: wording fixups, describe --remote
There's no current way to retrieve blobs by OID directly from remote externals. Maybe the $INBOX_NAME/$OID/s/raw.eml endpoint could be overloaded for that.
2021-10-28doc: lei-convert: various updates and cleanups
Note that "-o OUTPUT" is required in the synopsis. Leave out "eml:" for now since it doesn't work as an output and I doubt anybody would use it as a prefix, and it's not really useful. --no-import-remote is also not accepted by convert, since it doesn't touch lei/store at all.
2021-10-26lei p2q: use LeiInput for multi-patch series
The LeiInput backend now allows p2q to work like any other command which reads .eml, .patch, mbox*, Maildir, IMAP, and NNTP input. Running "git format-patch --stdout -1 $COMMIT" remains supported. This is intended to allow lower memory use while parsing "git log --pretty=mboxrd -p" output. Previously, the entire output of "git log" would be slurped into memory at once. The intended use is to allow easy(-ish :P) searching for unapplied patches as documented in the new example in the manpage.
2021-10-26doc: lei-store-format: mail sync section, update IPC
mail_sync.sqlite3 needs to be documented, and brings the IPC section up-to-date while we're in the area.
2021-10-26doc: tuning: additional notes for many inboxes
-extindex is the most important piece for dealing with many inboxes, so note it first. Also, frequent use of "git gc" is important for both loose object performance and reducing memory mappings.
2021-10-26lei p2q: document --uri, add examples
This is useful for users lacking in local storage. Also, referencing lei-add-external(1) seems to make less sense than referencing lei-q(1). We'll also start dropping years from the copyright statement to reduce future churn.
2021-10-23doc: lei-forget-search: fix option name in --prune description
Fixes: 6f8e16a266b30819 ("lei forget-search: support --prune=<local|remote>")
2021-10-22lei forget-search: support --prune=<local|remote>
Instead of: lei forget-search $OUTPUT && rm -r $OUTPUT we'll also allow a user to do: rm -r $OUTPUT && lei forget-search --prune This gives users flexibility to choose whatever flow is most natural to them.
2021-10-22doc: lei-overview: add CAVEATS section
IMAP and NNTP client performance absolutely sucks compared to what the read-only daemons are capable of...
2021-10-19doc: lei: describe lei-daemon-kill and upgrades
While we're at it, start dropping copyright years since it seems acceptable to not have them: https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/ Copyright years are also a noisy to update every year (maybe, just maybe, we'll make it to 2022...)
2021-10-19lei up: support --exclude=, --no-(external|remote|local)
These can be used to temporarily disable using certain externals in case of temporary network failure or mount point unavailability.
2021-10-16doc: lei: add manpages for remaining commands
At this point all of the current lei commands, aside from -help and -sucks, should be covered.
2021-10-16doc: lei: restore alphabetical order to some listings
Most the lei-related entries in txt2pre and Makefile.PL are in alphabetical order. Reorder the few that aren't. While at it, reflow the Makefile.PL entries in preparation for the entries that will be added in the next commit.
2021-10-16httpd/async: switch to level-triggered epoll
We'll save ourselves some code here and let the kernel do more work, instead.
2021-10-14lei: -d (--dir) and -O (only) shortcuts
`-d' seems like a non-brainer for --dir with inspect. I find myself using `--only' a bit, too, and `-O' seems like a reasonable shortcut for it.
2021-10-13fetch: support --try-remote/-T for alternate remote names
This allows -fetch to work out-of-the-box on using the grokmirror 2.x default of "_grokmirror".
2021-10-13doc: relnotes: note some recent improvements
2021-10-11doc: lei-refresh-mail-sync: drop repeated word
2021-10-09extindex: support --reindex --fast
This mode only checks history for missed/stale messages and doesn't attempt to reindex messages which are already indexed.
2021-10-05index: --reindex w/ --{since,until,before,after}
This lets administrators reindex specific time ranges according to git "approxidate" formats. These arguments are passed directly to underlying git-log(1) invocations and may still reach into old epochs. Since these options rely on git committer dates (which we infer from the most recent Received: header), they are not guaranteed to be strictly tied to git history and it's possible to over/under-reindex some messages. It's probably not a major problem in practice, though; reindexing a few extra messages is generally harmless aside from some extra device wear. Since this currently relies on git-log, these options do not affect -extindex, yet.
2021-10-02doc: lei-daemon: new manpage
In case users see "lei-daemon" in ps(1) or syslog and wonder. Helped-by: Kyle Meyer <kyle@kyleam.com>
2021-10-01doc: lei-security: some more updates
Virtual users will probably be used for read-write IMAP/JMAP support. The potential for various kernel/hardware bugs and attacks also needs to be highlighted.
2021-09-28doc: lei-rediff: grammar fixes for --drq and --dequote-only
2021-09-27lei rediff: add --drq and --dequote-only
More switches which can be useful for users who pipe from text editors. --drq can be helpful while writing patch review email replies, and perhaps --dequote-only, too.
2021-09-26net_reader: drop support for IgnoreSizeErrors option
Only the ->message_string method of Mail::IMAPClient uses it, and we have no intention of using ->message_string outside of tests.
2021-09-25doc: lei-rm: remove unnecessary -F values
-F is really only useful for distinguishing between mbox variants and single message/rfc822 files. URLs and directory-based formats can be auto-detected easily enough.
2021-09-25doc: lei: manpages for export-kw and refresh-mail-sync
Something is better than nothing.
2021-09-25doc: lei-index: remove --stdin, reword -F
lei-index really only works for Maildir, at the moment.
2021-09-25doc: lei-overview: implicit stdin, correct Inline::C notes
Implicit stdin based on standard input being a pipe or regular file is here to stay, so save users the trouble of typing '-' or '--stdin'. Inline::C is required as of commit 1d6e1f9a6a66 (lei: require Socket::MsgHdr or Inline::C, drop oneshot, 2021-05-26); but Socket::MsgHdr still gives a noticeable improvement in bash completion speed. Also, spell-out "MESSAGE-ID" since "MID" is actually not a common abbreviation ("MSGID" is used by RFC 3977 and several other RFCs, I recall).