1.10
Process improvements
- Make autobuilds reliable (and fast-enough, but mainly reliable)
- Rename
master
tomain
(and fix references in CI, website, etc.) - Discuss: reduce reviewers to 2?
- Discuss: enforce a
CHANGES.md
entry with every PR (because we so often forget), or not (because we're retiringCHANGES.md
in favor of out-of-tree release notes) - Retire
.md
docs tonotqmail.org
for historical preservation - #17 Integrate the patch checker to fail CI if the usual patches fail to apply
- #189 Turn up warnings in local builds, fix everything that doesn't break patches, ratchet CI
conf-cc
-Wthis -Wthat
to match - Reconsider alternatives to check now that warnings are no longer rampant
- #48 Make regular use of code analysis tools
Cleanups
- #7 Stop redeclaring system functions
- Remove everything from 1.09 "What's going away?" that we're sure now is the time
Patches to merge
- #89 Fix leap second handling on systems running TAI (original patch)
- #90 Improve Maildir file uniqueness in qmail-local.c (original patch)
- Sergio Gelato's fixed version of Andy Repton's outgoingip patch to configure qmail-remote's IP in
control/outgoingip
- RCPTCHECK or qmail-spp (or both?)
Ideas to merge
- #94 Sprinkle
fsync()
to makesyncdir
unnecessary - Tiny changes to
qmail-smtpd
to support running under aqmail-popup
-alike SMTP AUTH parent program
Programs to merge
- #227 Import
qmail-qfilter
- #232 Test qmail-inject recipient address qualification
- #233 Import
qmail-rcptcheck
,qmail-rcptcheck-realrcptto
, andqmail-rcptcheck-badrcptto
- Enable
realrcptto
by default?
- Enable
- Import qmail-spp-spf
Other
- #35 FHS (#2)
- split conf-qmail in to conf-qmail-bin, conf-qmail-queue, conf-qmail-man, etc.
/var/qmail/DIR
unless/var/qmail
not inconf-qmail
- Configuration sugar:
./configure && make && make install
(#9)
- Debian (deb), RedHat (rpm), and /package packaging
1.11 and onward
- Incrementally integrate inbound STARTTLS and AUTH
- Incrementally redesign
qmail-remote
for outbound TLS, AUTH, SIZE, PIPELINING, SMTPUTF8, IPv6 - #50 Add
spawn-filter
for filtering messages fromqmail-remote
andqmail-local
- Add SRS and DKIM filters
- (see Designs)
1.19
Publish some "extensions", if that still makes sense
qmail-popup
qmail-pop3d
qmail-qmtpd
qmail-qmtpc
2.0
Breaking changes to the queue
- new build time defaults for on-disk queue
- add queue repair tool
- #67 remove qmail-upq
- including the ability to upgrade a 1.x queue to 2.x in-place
- merge big-todo (changes queue layout)
- increase default conf-split to 31 (changes queue layout)
- merge ext-todo
- add a qmail-todo manpage, #23
- merge netqmail-big-concurrency
Other breaking changes
- Merge changes for high-volume installations that are harmless defaults in 2020 (taking care to migrate smoothly)
- qmail-ldap, or enough interfaces to let extensions provide LDAP integration
- make sure everything works with vmailmgr, vpopmail, other approaches to "virtual users"
- remove deprecated code
- #71 remove install script
Breaking changes to (some) patches
- #43 cleanup: remove
readwrite.h
, useunistd.h
instead - #44 cleanup: remove
exit.h
, useunistd.h
instead - cleanup: remove
fork.h
, useunistd.h
instead
Port to the latest DJB libraries. Remove local copies. Depend on external libowfat or skalibs.
- Replace stralloc with array
- Replace substdio with buffer
- Replace time-handling code with libtai
- Replace DNS resolver code with djbdns's
- #88 Use mess822
- Replace poll/select with iopause
- Possibly add kqueue and/or epoll support to iopause
- Replace exec (and related env_puts) with pathexec
- Update to latest cdb
- Use socket for any remaining networking code that's still necessary
2.1
Port unmerged, blessed netqmail patches to the extension interface
2.2
Extensions for postmaster interfaces
- Help developers adapt some code of theirs and get it merged
2.3
Extensions for email clients
- Help developers convert more of their existing code to extensions