mirror of
https://github.com/mjl-/mox.git
synced 2024-12-26 16:33:47 +03:00
document that we keep some packages reusable
This commit is contained in:
parent
19d1a8059b
commit
810cbdc61d
2 changed files with 11 additions and 3 deletions
|
@ -34,6 +34,7 @@ See Quickstart below to get started.
|
||||||
- Prometheus metrics and structured logging for operational insight.
|
- Prometheus metrics and structured logging for operational insight.
|
||||||
- "mox localserve" subcommand for running mox locally for email-related
|
- "mox localserve" subcommand for running mox locally for email-related
|
||||||
testing/developing, including pedantic mode.
|
testing/developing, including pedantic mode.
|
||||||
|
- Most non-server Go packages mox consists of are written to be reusable.
|
||||||
|
|
||||||
Mox is available under the MIT-license and was created by Mechiel Lukkien,
|
Mox is available under the MIT-license and was created by Mechiel Lukkien,
|
||||||
mechiel@ueber.net. Mox includes BSD-3-claused code from the Go Authors, and the
|
mechiel@ueber.net. Mox includes BSD-3-claused code from the Go Authors, and the
|
||||||
|
@ -116,8 +117,6 @@ https://nlnet.nl/project/Mox/.
|
||||||
|
|
||||||
- Authentication other than HTTP-basic for webmail/webadmin/webaccount
|
- Authentication other than HTTP-basic for webmail/webadmin/webaccount
|
||||||
- Per-domain webmail and IMAP/SMTP host name (and TLS cert) and client settings
|
- Per-domain webmail and IMAP/SMTP host name (and TLS cert) and client settings
|
||||||
- Make mox Go packages more easily reusable, each pulling in fewer (internal)
|
|
||||||
dependencies
|
|
||||||
- HTTP-based API for sending messages and receiving delivery feedback
|
- HTTP-based API for sending messages and receiving delivery feedback
|
||||||
- Calendaring with CalDAV/iCal
|
- Calendaring with CalDAV/iCal
|
||||||
- More IMAP extensions (PREVIEW, WITHIN, IMPORTANT, COMPRESS=DEFLATE,
|
- More IMAP extensions (PREVIEW, WITHIN, IMPORTANT, COMPRESS=DEFLATE,
|
||||||
|
@ -126,7 +125,7 @@ https://nlnet.nl/project/Mox/.
|
||||||
- ARC, with forwarded email from trusted source
|
- ARC, with forwarded email from trusted source
|
||||||
- Forwarding (to an external address)
|
- Forwarding (to an external address)
|
||||||
- Add special IMAP mailbox ("Queue?") that contains queued but
|
- Add special IMAP mailbox ("Queue?") that contains queued but
|
||||||
not-yet-delivered messages, updated with IMAP flags/keywords/tags.
|
undelivered messages, updated with IMAP flags/keywords/tags and message headers.
|
||||||
- Sieve for filtering (for now see Rulesets in the account config)
|
- Sieve for filtering (for now see Rulesets in the account config)
|
||||||
- Expose threading through IMAP extension
|
- Expose threading through IMAP extension
|
||||||
- Autoresponder (out of office/vacation)
|
- Autoresponder (out of office/vacation)
|
||||||
|
|
|
@ -19,6 +19,14 @@ This file has notes useful for mox developers.
|
||||||
for reuse do use mlog as it is more convenient. Internally, we always use
|
for reuse do use mlog as it is more convenient. Internally, we always use
|
||||||
mlog.Log to do the logging, wrapping an slog.Logger.
|
mlog.Log to do the logging, wrapping an slog.Logger.
|
||||||
|
|
||||||
|
# Reusable packages
|
||||||
|
|
||||||
|
Most non-server Go packages are meant to be reusable. This means internal
|
||||||
|
details are not exposed in the API, and we don't make unneeded changes. We can
|
||||||
|
still make breaking changes when it improves mox: We don't want to be stuck
|
||||||
|
with bad API. Third party users aren't affected too seriously due to Go's
|
||||||
|
minimal version selection. The reusable packages are in apidiff/packages.txt.
|
||||||
|
We generate the incompatible changes with each release.
|
||||||
|
|
||||||
# TLS certificates
|
# TLS certificates
|
||||||
|
|
||||||
|
@ -216,6 +224,7 @@ done
|
||||||
- Gather feedback on recent changes.
|
- Gather feedback on recent changes.
|
||||||
- Check if dependencies need updates.
|
- Check if dependencies need updates.
|
||||||
- Check code if there are deprecated features that can be removed.
|
- Check code if there are deprecated features that can be removed.
|
||||||
|
- Generate apidiff and check if breaking changes can be prevented.
|
||||||
- Update features & roadmap in README.md
|
- Update features & roadmap in README.md
|
||||||
- Write release notes.
|
- Write release notes.
|
||||||
- Build and run tests with previous major Go release.
|
- Build and run tests with previous major Go release.
|
||||||
|
|
Loading…
Reference in a new issue