0.1.0
Pulse 0.1.0 is the first tagged release of a self-hosted uptime monitor that runs entirely on infrastructure you own: a Next.js app on Vercel, Postgres on Neon, and email through Resend. It ships the complete monitoring loop, HTTP checks on your schedule, incidents that open and resolve themselves, email alerts, and a personalizable public status page, wrapped in an API-first design where the dashboard, the pulsectl CLI, and coding agents all drive the same versioned API. This release folds in three major workstreams: streaming navigation performance, a full settings and status-reporting expansion, and a database layer tuned to stay fast at fleet scale.
What's in 0.1.0
- Monitoring core. HTTP(S) checks with per-monitor intervals, timeouts, expected status ranges, and failure and recovery thresholds, organized into groups for up to 100 monitors.
- Automatic incidents. Outages open incidents, recoveries resolve them, and every transition fans out email notifications with a single insert regardless of recipient count.
- Public status page. Personalize the name, logo, favicon, theme, and custom CSS. Group pages, 90-day uptime history, and published incident and maintenance reports with timelines and affected-monitor snapshots that survive monitor archival. The page degrades gracefully instead of 500ing when its own database is unreachable.
- Settings, rebuilt. Dedicated account, security, notifications, status page, monitors, access, and system pages, with unsaved-change guards and effective-privilege display for CLI sessions.
pulsectlCLI. Validate, plan, and apply monitoring config as code, manage status pages and reports, and script everything in CI. Hardened against hostile servers: bounded pagination, control-character rejection, and stdin conflict guards.- API-first. A versioned REST API with an OpenAPI spec, scoped tokens, and device authorization, so agents and people share one control surface. The docs include a one-shot agent prompt that provisions Vercel, Neon, Edge Config, and Resend end to end.
- Security by default. SSRF-proof checking with DNS answer validation and socket pinning, Argon2id passwords, a token-gated first-admin bootstrap, rate-limited login, and hashed tokens with lineage.
- Fast where it counts. Streaming page shells paint navigation instantly, monitor rows prefetch on hover intent, registry sync dropped from roughly 401 SQL statements to 5, and six new indexes plus a deterministic 19-query benchmark harness keep the database layer honest as you grow.
- Operates within a budget. A database health dashboard, adaptive telemetry retention, and self-maintaining rollups keep storage bounded on the free tiers this stack was designed for.