Skip to content

Releases: Digidai/mails

v1.8.0

03 Apr 13:30

Choose a tag to compare

What's New — Matching and exceeding Robotomail

New Worker Features (server-side, no CLI update needed)

SSE Real-time Event Stream

  • GET /v1/events — connect once, receive email events as they happen
  • No public URL needed (unlike webhooks). Perfect for agents behind firewalls
  • Filter by event type, replay missed events via ?since=

Message Delivery Status Tracking

  • Tracks: QUEUED → SENT → DELIVERED → BOUNCED → COMPLAINED → FAILED
  • Receives Resend webhook callbacks via POST /api/resend-webhook
  • Fires user webhooks and SSE events for each status change

API Key Permission Scoping

  • scope: 'full' — all operations (default)
  • scope: 'mailbox' — restricted to own mailbox only
  • Safe for multi-agent deployments (one key per agent)

Webhook Retry with Auto-Pause

  • Exponential backoff: 0s, 1s, 3s, 8s (4 attempts, < 15s total)
  • 10 consecutive failures → webhook auto-paused (status: 'failed')
  • Success resets failure counter

Custom Domain Guided Configuration

  • POST /v1/domains — register domain, get required DNS records
  • POST /v1/domains/:id/verify — check DNS via Cloudflare DoH
  • Auto-validates MX + SPF records

Infrastructure

  • Hourly cron cleanup for SSE events table (24h TTL)
  • DB migration: 0002-events-domains-webhook-retry.sql
  • 18 new tests for all v1.8.0 features

Documentation

  • Complete docs site at mails0.com/docs (10 pages)
  • Quickstart, Messages API, SSE Events, Authentication, Webhooks, Custom Domains, CLI, Python SDK, MCP Server

Full Changelog: v1.7.0...v1.8.0

v1.7.0

02 Apr 03:15

Choose a tag to compare

What's New

New Commands

  • mails doctor — diagnostic command that checks config, API connectivity, mailbox existence, and send capability
  • mails demo — interactive demo that sends a test email to yourself and waits for it to arrive (with auto-diagnostics on failure)
  • mails stats — display mailbox usage statistics

Improvements

  • Post-claim onboarding — after mails claim, you now see "Try it now" commands to get started immediately
  • Rich CLI inbox — colored table output with emoji labels (📬 newsletter, 🔔 notification, 🔑 code, 👤 personal). Supports --plain flag, NO_COLOR env, and auto-detects non-TTY
  • JSON error handling — fixed silent failure when API returns non-JSON responses (e.g., Cloudflare 502 pages)

Testing

  • 265 tests passing (up from 258)
  • New test coverage for doctor, stats, and JSON parse bug fix

Full Changelog: v1.6.1...v1.7.0

v1.6.1 — dist rebuild + CI fixes

29 Mar 10:04

Choose a tag to compare

Patch release:

  • Fix CLI version string (was showing v1.2.4 due to stale dist build)
  • Fix Release CI test isolation (mock.module pollution)
  • Opt into Node.js 24 for GitHub Actions (ahead of June 2026 deadline)

No functional changes from v1.6.0.

v1.6.0 — Intelligence Layer

29 Mar 09:46

Choose a tag to compare

v1.6.0 "Intelligence Layer" — Semantic Search + Dashboard Console

Semantic Search

  • Workers AI embeddings (@cf/baai/bge-base-en-v1.5, 768-dim, free tier)
  • Cloudflare Vectorize for vector storage and similarity search
  • 3 search modes: keyword (FTS5), semantic (vector), hybrid (both, RRF merge)
  • GET /api/inbox?query=...&mode=semantic or GET /api/search?q=...&mode=hybrid
  • Async embedding generation via ctx.waitUntil() on email receive
  • Graceful fallback: no AI/Vectorize binding → FTS5 only
  • CLI: mails inbox --query "test" --semantic

Dashboard Console

  • mails0.com/console — single-file SPA (vanilla HTML/CSS/JS)
  • Auth: api_key → /v1/me validation → localStorage
  • Inbox: search (keyword/semantic/hybrid), label filter, pagination
  • Email detail: HTML in sandboxed iframe, attachments, labels
  • Thread view: chronological, expandable cards
  • Dark/light theme (shared with landing page)
  • Responsive (desktop/tablet/mobile)
  • Self-hosted mode support

Install

npm install -g mails-agent
npx mails-agent-mcp
pip install mails-agent

Full changelog: https://github.com/Digidai/mails/blob/main/CHANGELOG.md

v1.5.0 — Smart Inbox

28 Mar 17:00

Choose a tag to compare

v1.5.0 "Smart Inbox" — Threads, Auto Labels, Structured Extraction

Email Threads

  • Auto-assign thread_id by parsing In-Reply-To / References headers
  • GET /api/threads — list threads with latest message preview and count
  • GET /api/thread?id= — all emails in a thread (chronological)
  • CLI: mails inbox --threads
  • SDK: getThreads(), getThread()

Auto Labels

  • Rule-based classification on email receive
  • Labels: newsletter, notification, code, personal
  • GET /api/inbox?label= — filter by label
  • CLI: mails inbox --label notification

Structured Data Extraction

  • POST /api/extract — extract order, shipping, calendar, receipt, or code data
  • Rule-based (no LLM required)
  • Supports UPS/FedEx/USPS/DHL tracking numbers, ICS calendar parsing

Install

npm install -g mails-agent

Ecosystem

Package Install
CLI + SDK npm install -g mails-agent
MCP Server npx mails-agent-mcp
Python SDK pip install mails-agent
Agent Skills npx mails-skills

Full changelog: https://github.com/Digidai/mails/blob/main/CHANGELOG.md