Roadmap

Where Maze is going.

Maze is built in milestones. Reading, writing and agents are in; what's left on the way to a daily driver is filling them out: drafts on the server, send later, rules, notifications and a settings window. No dates, just order. The design decisions are onGitHub.

  • Done
  • In progress
  • Later
  1. Foundations

    Done

    The workspace, CI, the release process and an updater that works from the very first release.

    • Done: Signed and notarized macOS builds, .dmg and Linux tarball for every release
    • Done: Background updates with Restart to update, signed manifests and rollback
    • Done: Release notes and versions from conventional commits (release-please)
  2. Data layer

    Done

    One local store for all your mail, encrypted from the first commit.

    • Done: SQLCipher database, encrypted message files and an encrypted Tantivy search index
    • Done: Threading, a sanitizing MIME parser and the reader model
    • Done: Measured at 1M messages with encryption on
  3. Sync

    Done

    Accounts, live sync and sending.

    • Done: IMAP, Gmail and Microsoft 365 accounts, password or browser sign-in, Test Connection
    • Done: CONDSTORE/QRESYNC delta sync, IDLE and Gmail labels
    • Done: SMTP sending, the outbox and the send log, so nothing is sent twice
  4. Reading UI

    In progress

    The Thunderbird layout, rendered by GPUI, with Zed's tabs and splits.

    • Done: Folder pane with Favorites and special folders first, message list as cards or a table, reader view
    • Done: Original HTML view (Servo, no scripts, remote images only when you allow them; macOS)
    • Done: Tabs and splits for mail views, messages and drafts, restored after a restart
    • Done: Quick Filter, global search, command palette, Thunderbird shortcuts
    • Done: Sort by any column, multi-select, Quick Move and right-click menus
    • Done: Archive, move, delete, tag, flag and mark read, with undo
    • Done: DKIM, SPF and DMARC results, the sender's mail client, link previews and safe link opening
    • Done: settings.json in a tab, Zed themes
    • Planned: A settings window, showing the recovery key
    • Planned: Notifications for new mail
    • Planned: Find, keyboard scrolling and printing in the original view
  5. Thunderbird import

    Done

    Move over without losing anything, and keep Thunderbird running alongside.

    • Done: Thunderbird profiles: IMAP accounts, identities, signatures, tags, saved searches, address books
    • Done: mbox and Maildir import into an IMAP folder, and export back to mbox or Maildir
    • Done: Filters are imported and kept, disabled, until rules arrive
  6. Writing mail

    In progress

    The second half of an email client: the basics are in.

    • Done: Compose, reply and forward in tabs, written in Markdown, sent as plain text and HTML
    • Done: From picks the identity; replies pick the one the message was sent to
    • Done: A copy in Sent, a footer and an optional "Sent with Maze" line
    • Planned: Drafts in the server's Drafts folder, forwarding attachments
    • Planned: Send later and undo send
    • Planned: Address book autocomplete, spell check, pre-send checks
    • Planned: Signatures that switch with the identity
    • Planned: Filter rules, including your imported Thunderbird filters
    • Planned: Maze as the system's mailto: handler
  7. Agents

    In progress

    Agents propose, you review, in the CLI and in Maze's own agent column.

    • Done: The mazemail CLI with scoped tokens, profiles and approvals
    • Done: Headless mode, and a generated CLI reference for agents
    • Done: The agent column: Claude Code, Codex, Gemini CLI, Cursor, pi and your own agents over ACP
    • Done: Sign-in from the column, mode, model and thinking pickers, updates in the background
    • Done: Reviewing and applying proposals in Maze
    • Done: An agent sandbox that can't read the store or your home folder (Seatbelt on macOS, bubblewrap on Linux)
    • Planned: Limiting agents to certain network hosts, and the seccomp filter on Linux
    • Planned: A built-in assistant: summaries, smart replies, inline writing help
  8. Stable release

    Later

    Hardening for the first stable channel release.

    • Planned: Opt-in crash reports
    • Planned: Storage key rotation
    • Planned: Linux packaging polish (Flatpak), and the original HTML view on Linux
  9. After that

    Later

    Ideas with a plan, not a date.

    • Planned: Related mail and search by meaning, computed locally
    • Planned: WebAssembly extensions with explicit capabilities
    • Planned: JMAP and Microsoft Graph, Windows

Have an opinion about the order? Open an issue.