Releases: Digidai/mails
Releases · Digidai/mails
v1.8.0
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 recordsPOST /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
What's New
New Commands
mails doctor— diagnostic command that checks config, API connectivity, mailbox existence, and send capabilitymails 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
--plainflag,NO_COLORenv, 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
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
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=semanticorGET /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-agentFull changelog: https://github.com/Digidai/mails/blob/main/CHANGELOG.md
v1.5.0 — Smart Inbox
v1.5.0 "Smart Inbox" — Threads, Auto Labels, Structured Extraction
Email Threads
- Auto-assign
thread_idby parsing In-Reply-To / References headers GET /api/threads— list threads with latest message preview and countGET /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-agentEcosystem
| 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