Skip to content

v0.3.0 — Feature release

Choose a tag to compare

@denzuko denzuko released this 08 Jun 10:32
· 44 commits to develop since this 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/reject admin 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 / --mode CLI 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 tests

Build

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