v0.3.0 — Feature release
mlisp v0.3.0
18 new features over v0.2.0. 275 tests (78 FiveAM + 197 BATS).
Highlights
Mail processing
- Inbound MIME stripping (HTML→text); outbound always 7-bit ASCII
- Daemon/auto-responder discrimination (Return-Path: <>, Precedence: junk/bulk, Auto-Submitted)
- Duplicate message detection (24h Message-Id ring buffer per list)
- Unsubscribe synonyms:
remove me,remove,signoff,opt-out
List types
- Moderated lists: held queue +
approve/rejectadmin commands - Digest mode: buffer posts, flush on demand or cron
- Exploder: list-of-lists fan-out with per-member RFC 2369 headers
- mlisp-distrib: file distribution channel binary
Headers & compliance
- RFC 2369 List-* headers (List-Unsubscribe, List-Subscribe, List-Post, List-Help)
- X-BeenThere, X-Mailing-List, Precedence: list
- BCC delivery: individual sendmail per subscriber, no address exposure
- MDN/RRT headers on command replies (RFC 8098/3461)
Privacy & security
- SHA-256 hash contacts at rest (pure CL, no FFI)
- GPG require-signed mode
- Prometheus metrics (OpenMetrics textfile, node_exporter compatible)
Operations
- XDG Base Dir (
~/.config/mlisp/) path resolution --home/--modeCLI flags- Maildir write-only spool for notmuch/mutt archiving
- procmail sample +
mlisp-admin install-procmail - 20+ mlisp-admin subcommands
ASDF systems
(ql:quickload :mlisp) ; core engine
(ql:quickload :mlisp-admin) ; management CLI
(ql:quickload :mlisp-distrib) ; file distribution
(asdf:test-system :mlisp) ; 275 testsBuild
sbcl --load build.lisp # bin/mlisp (11 MB compressed)
sbcl --load build-admin.lisp # bin/mlisp-admin
sbcl --load build-distrib.lisp # bin/mlisp-distrib
make test # all 275 tests