about summary refs log tree commit homepage
path: root/Documentation
DateCommit message (Collapse)
2022-08-11doc: spell out "PROTOCOL" in examples
"PROTO" is probably ambiguous, and we'll use the same terminology as used in curl(1) documentation.
2022-08-11doc: add WIP 1.9 release notes
I think "lei reindex" and some doc cleanups will be the last things before 1.9...
2022-08-02daemon: support per-listener env, .psgi, out, err
This allows memory savings by allowing multiple, completely unrelated-PSGI apps to run within the same process as IMAP, NNTP, and POP3.
2022-07-30doc|www: flesh out POP3 documentation for servers and users
Hopefully it makes sense to new users deploying or using POP3...
2022-07-29doc: httpd: document GIT_HTTP_MAX_REQUEST_BUFFER
We've always shared this environment with git-http-backend(1) (but don't (yet) support http.maxRequestBuffer anywhere)
2022-07-20pop3: advertise STLS in CAPA if appropriate
This is documented in RFC 2595, and POP3 clients may rely on seeing "STLS" in CAPA output to initiate TLS negotiation.
2022-07-20public-inbox-pop3d - a mostly read-only POP3 server
Old account expiry has not been implemented, but it seems to work well with both mpop(1) and getmail(1). The strictness of mpop was particularly helpful in ironing out bugs in our implementation of (dreaded) message sequence numbers. "EXPIRE 0" (RFC 2449) can theoretically save numerous "DELE" commands, but that's untested by real-world clients. mpop supports PIPELINING which is effective in hiding latency, and the core networking functionality is already well-tested from our NNTP and IMAP implementations. Configuration requires "publicinbox.pop3state" to point to a directory writable by the otherwise read-only daemon. See public-inbox-pop3d(1) manpage for more usage details.
2022-07-01tree-wide: Fix typo accomodate
This was pointed out by the Debian package linter "lintian".
2022-07-01tree-wide: Fix typo likelyhood
This was pointed out by the Debian package linter "lintian".
2022-06-22doc: lei-q: regenerate for patchid: help
2022-05-07doc: add missing "be" for --key description
Link: https://public-inbox.org/meta/87levfv7hs.fsf@kyleam.com/ Noticed-by: Kyle Meyer <kyle@kyleam.com>
2022-05-05public-inbox-netd: a multi-protocol superserver
Since we'll be adding POP3 support as our 4th network protocol; asking admins to run yet another daemon on top of existing -httpd, -nntpd, -imapd is a maintenance burden and a waste of memory. The goal of public-inbox-netd is to be able to replace all existing read-only daemons with a single process to save memory and reduce administrative overhead; hopefully encouraging more users to self-host their own mirrors. It's barely-tested at the moment. Eventually, multiple PI_CONFIG and HOME directories will be supported, as are per-listener .psgi config files.
2022-04-23public-inbox 1.8.0 v1.8.0
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".