From: Eric Wong To: meta@public-inbox.org Subject: [WIP] public-inbox 1.3.0 Content-Type: text/plain; charset=utf-8 Many internal improvements to improve the developer experience, long-term maintainability, ease-of-installation and compatibility. There are also several bugfixes. Some of the internal improvements involve avoiding Perl startup time in tests. "make check" now runs about 50% faster than before, and the new "make check-run" can be around 30% faster than "make check" after being primed by "make check". Most closures (anonymous subroutines) are purged from the -nntpd, -httpd and WWW code paths to make checking for memory leaks easier. * documentation now builds on BSD make * Date::Parse (TimeDate CPAN distribution) is now optional, allowing installation from OpenBSD systems via "pkg". * the work-in-progress Xapian.pm SWIG bindings are now supported in addition to the traditional Search::Xapian XS bindings. Only the SWIG bindings are packaged for OpenBSD. * Plack is optional for users who wish to avoid web-related components * Filesys::Notify::Simple is optional for non-watch users (but Plack will still pull it in) * improved internal error checking and reporting in numerous places * fixed Perl 5.10.1 compatibility (tested with Devel::PatchPerl) * IPC::Run is no longer used in tests * Email::Address::XS used if available (newer Email::MIME requires it), it should handle more corner cases. * PublicInbox::WWW: - "nested" search results page now shows relevancy percentages - many solver bugs fixed - solver works on "-U0" patches using "git apply --unidiff-zero" - solver now compatible with git < v1.8.5 (but >= v1.8.0) - raw HTML no longer shown inline in multipart/alternative messages (v1.2.0 regression) - reduced memory usage for displaying multipart messages - static file responses support Last-Modified/If-Modified-Since - avoid trailing underlines in diffstat linkification - more consistent handling of messages without Subjects * public-inbox-httpd / public-inbox-nntpd: - MSG_MORE used consistently in long responses - fixed IO::KQueue usage on *BSDs - listen sockets are closed immediately on graceful shutdown - missed signals avoided with signalfd or EVFILT_SIGNAL * public-inbox-nntpd: - Y2020 workaround for Time::Local * public-inbox-watch: - avoid memory leak from cyclic reference on SIGHUP - fix documentation of publicinboxwatch.watchspam * public-inbox-convert: - avoid article number jumps when converting indexed v1 inboxes * public-inbox-compact / public-inbox-xcpdb: - concurrent invocations of -compact and -xcpdb commands, not just -mda, -watch, -learn, -purge * examples/unsubscribe.milter: - support unique mailto: unsubscribe Release tarballs will be available for download at https://public-inbox.org/public-inbox.git 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.