Changelog
Every release that reached production, newest first. Staging builds stay off the list, so a version shows up here the moment it's promoted.
- 0.0.52PlatformJul 20, 2026What's New
- Branded HTML email templates for alerts and escalation
Under the Hood- Bump version to 0.0.52 for production release
- 0.0.51PlatformJul 20, 2026What's New
- Sync roadmap stage tag + post body for a fully Discord-built board
- 0.0.50PlatformJul 20, 2026What's New
- Gate member resource access on owner plan across all widenings
- Hard-pause monitors over plan cap on downgrade
- Clamp monitor check interval to owner plan floor in tick
- Cap active maintenance windows to owner plan in tick exclusions
- Suspend team member access when owner drops below team plan
- Darken public status pages and over-cap custom domains on downgrade
- Serve a public changelog of production GitHub Releases
- 0.0.47PlatformJul 19, 2026Fixed
- Tell invitees which sign-in matches the invited email
- Let a project member leave (remove themselves)
- 0.0.43PlatformJul 19, 2026What's New
- Add incident postmortems
- Ignore sandbox RevenueCat events in production
- Persist the rate-limiter window in Durable Object storage
Fixed- Use new_sqlite_classes for the rate-limiter DO (free plan)
- Enforce the API rate limit with a Durable Object
- 0.0.42PlatformJul 19, 2026What's New
- On-call escalation policy, tick stepping engine, and incident ack
Under the Hood- On-call & escalation design spec
- 1.0.0+62AppJul 19, 2026What's New
- Acknowledge incidents from the escalation push action
- 0.0.41PlatformJul 19, 2026What's New
- Rate-limit the programmatic API and MCP per plan
- 0.0.39PlatformJul 19, 2026What's New
- Cap active maintenance windows at 10 on Pro
- 0.0.37PlatformJul 17, 2026What's New
- Cap custom status-page domains per plan
Under the Hood- Release 0.0.37
- 0.0.35PlatformJul 17, 2026What's New
- Keep the last response code and the records dns resolved
- Free the webhook channel family, add a plan-gated email alert channel
Fixed- Compare dns answers as a set, not in reply order
- Stop auto-pausing monitors of accounts with no iOS device
- Test check probes a HEAD monitor with HEAD, not GET
Under the Hood- Cut 0.0.35
- 0.0.34PlatformJul 16, 2026Fixed
- Scope the audit trail to the project, not the actor
Under the Hood- Release backend 0.0.34
- 0.0.33PlatformJul 16, 2026Fixed
- Run the daily jobs on elapsed time, not an exact minute
Under the Hood- Release backend 0.0.33
- 0.0.31PlatformJul 16, 2026What's New
- Add an in-place password change endpoint
Fixed- Delete accounts that own reliability data
- Delete monitors that have had an incident
Under the Hood- Release backend 0.0.31
- 0.0.30PlatformJul 16, 2026What's New
- Collect every failing content rule with a per-rule verdict
Under the Hood- Release backend 0.0.30
- 0.0.29PlatformJul 16, 2026What's New
- Add a dense timestamped hourly latency series to the history endpoint
- Restrict IP-literal targets to port monitors
Fixed- Debounce rapid duplicate heartbeat pings
- 0.0.28PlatformJul 16, 2026What's New
- Require at least one content rule for keyword monitors
- Open advanced HTTP tuning to free; gate only SSL/domain monitoring
- Gate advanced monitor types (api/dns/scheduler) to paid plans
- Serve metric history up to the owner's retention window
- Per-plan metric retention with a daily rollup sweep
Under the Hood- Release backend 0.0.28
- 0.0.27PlatformJul 14, 2026What's New
- Coerce api monitor HEAD/OPTIONS to GET
- Gate JSON assertions (json_field) to paid plans
- GET /v1/monitors/:id returns full editable config
- Keep auth, body and content rules off the advanced gate
- Gate advanced HTTP monitor options to paid plans
- Surface active maintenance in usage + plan-cap field
- Gate paid features on the backend for free plan
Fixed- Align plan caps with advertised limits
- Refresh Supabase OAuth tokens before import instead of using the stale access token
Under the Hood- Release backend 0.0.27
- 0.0.26PlatformJul 13, 2026What's New
- Add port and DNS monitor types, persist keyword/api as distinct types
- Recent-checks bar shows a paused gap live, not on the next check
- Surface incidents and maintenance on the public status page payload
Fixed- Delete status_page_monitors rows before deleting a monitor
Under the Hood- Release 0.0.26
- 1.0.0+61AppJul 13, 2026What's New
- Create UI for port, DNS, keyword and API monitors
- 0.0.24PlatformJul 12, 2026What's New
- Status-page vanity subdomain (<label>.upcheckstatus.com) with unique handle + resolution
- Gate /v1/status reads behind an internal secret (status Worker only)
- Status-page config — branding, monitor selection/order/labels, uptime-bar options
- Custom status-page domains via Cloudflare for SaaS (plan-gated, config-gated)
- Status pages — public per-project page, config CRUD, custom-domain schema hooks
- Project maintenance windows that pause monitors (no checks/alerts/incidents while active)
- Telegram notification channel provider
- Member write access to project monitors and channels (team phase 2b)
- Account usage endpoint (plan quota + monthly checks/incidents)
- Team plan tier, invite plan/seat gating, and member read-access to project resources
- Per-project team membership and email invites (phase 1: schema, roles, invite/accept)
- Project-scoped notification channels (Slack/Discord/webhook) with tick-engine fan-out
- Filter /v1/incidents by project via ?project=
Under the Hood- Release 0.0.24
- 0.0.20PlatformJul 8, 2026What's New
- Unify web billing under RevenueCat (Paddle single source)
Under the Hood- Release 0.0.20
- 0.0.18PlatformJul 8, 2026Fixed
- Send reset email from the verified upcheck.rekwiem.com domain
Under the Hood- Release 0.0.18
- 0.0.17PlatformJul 8, 2026What's New
- Add dual-rail billing (web subscriptions + Apple IAP)
Under the Hood- Release 0.0.17
- 0.0.14PlatformJul 8, 2026What's New
- Add web Sign in with Google (/v1/auth/google)
Under the Hood- Release 0.0.14
- 1.0.0+60AppJul 7, 2026What's New
- Show certificate expiry + SSL expiry alert toggle
- 1.0.0+21AppJul 6, 2026Under the Hood
- App release notes via git-cliff (What's New / Fixed), mirroring the API changelog
- 0.0.4PlatformJul 6, 2026Under the Hood
- **backend** · Remove legacy StoreKit JWS verification (RevenueCat is source of truth)
- 0.0.3PlatformJul 5, 2026Under the Hood
- **backend** · Label the base64 helpers in secrets.ts
- 0.0.1PlatformJul 5, 2026Under the Hood
- Cut versioned release notes on staging via git-cliff
- Request body for write-method monitors (0027) — schema/service/checker/MCP/OpenAPI
- Cap project names at 18 chars
- Require a name on user PAT creation (400 name_required)
- Optional expiry on user PATs + kind-based agent-token split
- Hide agent tokens from PAT list, revoke prev on regen, visible delete button
- Show Apple email on the account screen
- Medium monitor-detail widget (design 1f) with latency sparkline
- GET /v1/widget — one-call payload for WidgetKit
- Project entity — uniform grouping of monitors
- Optional PAT expiry (TTL) for throwaway agent tokens
- MCP prompts (register-monitor) exposed via prompts/list + prompts/get
- MCP initialize returns instructions for agent-driven monitor registration
- OAuth connect flow for importers (replaces BYO token)
- Vercel/Supabase importers — connect, list projects, import as monitors
- Remote MCP server at POST /mcp (tools wrap monitor.service)
- OpenAPI spec + docs for the external monitor/token API
- Personal access tokens (PAT) for external programmatic auth
- Extract monitor write-path into src/domain core (zod single-source)
- Header keep-by-name PATCH semantics + auth-type tag
- Test-check endpoint + encrypted per-monitor request headers
- Content rules — response-body checks (text/JSON) with structured fail reasons