Skip to content

Releases

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 11 Nov 23:01
513b4a0

What's Changed

  • fix(web): make mobile navigation reachable on phones by @Urdemonlord in #40
  • fix(web): instant phone navigation, complete bottom bar on every page by @Urdemonlord in #41
  • feat(packaging): Windows one-package install (zip + NSSM services) by @Urdemonlord in #42
  • feat(packaging): automate Linux release upload, fill Homebrew hashes, bump to 0.4.1 by @Urdemonlord in #43

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 17:19
cf39a53

What's Changed

  • feat(packaging): move the official one-package install into packaging/ by @Urdemonlord in #24
  • fix(packaging): restore executable bits on packaging scripts by @Urdemonlord in #25
  • feat(admin): create integration keys from the dashboard, store relay rejection reasons by @Urdemonlord in #26
  • feat(web): integration docs as an in-app page, generated from docs/INTEGRATIONS.md by @Urdemonlord in #27
  • feat(admin): DB-backed integration app registration via the admin dashboard by @Urdemonlord in #28
  • feat(packaging): macOS tarballs (arm64 + amd64) with launchd services by @Urdemonlord in #29
  • fix(packaging): restore executable bits on macOS scripts by @Urdemonlord in #30
  • feat(packaging): upload macOS tarballs to the release on tag push by @Urdemonlord in #31
  • feat(packaging): draft Homebrew formula for the macOS install by @Urdemonlord in #32
  • feat(relay): multi-provider send failover (Resend, then Brevo) by @Urdemonlord in #33
  • feat(compose): undo send with 10s server-side hold by @Urdemonlord in #34
  • feat(compose): HTML compose with sanitizer and per-mailbox signatures by @Urdemonlord in #35
  • feat(mailboxes): link multiple mail accounts to one login by @Urdemonlord in #36
  • feat(admin): audit trail for logins, sends and admin actions by @Urdemonlord in #37
  • feat(security): strict Content-Security-Policy for the app shell by @Urdemonlord in #38
  • chore(release): bump version to 0.4.0 by @Urdemonlord in #39

Full Changelog: v0.3.0...v0.4.0

IRIS v0.3.0

Choose a tag to compare

@Urdemonlord Urdemonlord released this 08 Nov 15:37
9306d60

What's new since v0.2.0:

  • Threading: conversations are grouped in the inbox, with expandable threads.
  • Contacts: address book with autocomplete in To, Cc and Bcc.
  • Real-time notifications: new-mail toast over SSE, no polling while the stream is live.
  • DMARC dashboard: scan aggregate reports, per-domain pass and fail, worst offenders.
  • Temp inbox: extend by 1 hour (up to 5 times, 24h total) and delete the address.
  • Admin dashboard: users, quotas, delivery status and temp inboxes.
  • Admin actions: disable and enable users, revoke user sessions, revoke integration keys, delete temp inboxes.
  • Nav icons: Admin, DMARC and Organize each have their own icon now.

Tests: 177 passing (cargo test --workspace), clippy clean, web typecheck and build clean.

One-package install (Debian/Ubuntu)

Installs IRIS, Stalwart and Caddy as one stack with automatic TLS:

curl -fsSL https://github.com/Urdemonlord/irisproject/releases/download/v0.3.0/install.sh | sh

Or download iris-mail-stack_0.3.0_amd64.deb below and install it with dpkg -i. The tarball is the same package for systems without dpkg. Full install guide: packaging/README.md in this repo.

IRIS v0.2.0

Choose a tag to compare

@Urdemonlord Urdemonlord released this 07 Nov 09:46
55f3312

What's new

  • Stars, labels, custom folders, and Sieve filters: from/to/subject rules that label, star, mark read, or move mail at delivery time, compiled to one iris-filters script
  • Cloudflare Turnstile on the login form
  • Race-condition fixes in filter and label handling: per-mailbox lock for filter mutations and label/folder deletes, Sieve script reactivation when destroy fails

Install

See README. The installer builds from source: ./scripts/install.sh

IRIS v0.1.0 — open source

Choose a tag to compare

@Urdemonlord Urdemonlord released this 05 Nov 18:25
6fdb8d7

IRIS v0.1.0 — open source

IRIS is a self-hosted webmail platform: permanent mailboxes plus anonymous 1-hour temporary inboxes, with a transactional email API for your own apps. Rust API + TypeScript web UI, JMAP to Stalwart.

Licensed dual MIT / Apache-2.0 — use it, fork it, host it.

Headline features

  • Permanent mailboxes — sign in with your mail-server account; Inbox, Sent, Drafts, Archive, Trash; server-side search; compose with autosave drafts, reply/forward, attachments, raw view, DMARC report previews.
  • Temporary inboxes — anonymous, receive-only addresses that live 1 hour, no sign-up.
  • Transactional email API — scoped API keys let your apps send auth emails (verification, password reset, sign-in link) through IRIS.
  • Separate HTML-mail origin — HTML bodies render in an isolated origin behind one-time tokens instead of the app origin.
  • Generic configuration — integration registry, origins, and limits are all environment-driven; no hardcoded hosts.

Self-host

See README.md for the quickstart, full environment table, and architecture. Docs: docs/ (PRD, TRD, schema, roadmap).

Known limitations

  • Load-more pagination is implemented but untested at scale (small mailbox in testing).
  • No admin dashboard or audit trail yet — see ROADMAP.md.
  • HTML compose is plain-text only for now.

Security issues: please use GitHub private vulnerability reporting, not a public issue — see SECURITY.md.