Changelog

New features, improvements, and fixes in UptimeHunt.

New

Custom domains for status pages

Team, Scale, and Enterprise plans can now point their own domain (either a subdomain like status.acme.com or the apex acme.com) at their UptimeHunt status page. UptimeHunt automatically provisions a TLS certificate and serves the page from your custom domain while keeping the snapshot-based architecture intact so the page keeps serving during platform outages.

Learn more →
Improved

PING latency now shown as a floating min-max band with an avg marker

PING service detail pages now chart latency as a floating band per time bucket: a transparent spacer up to the minimum RTT, a visible band up to the maximum, and a thin marker rule for the average — switchable to p95 or p99. The band's height is jitter, so an unstable network path is visible as a tall band even when the average looks fine. Services and cron-monitor list history bars now also scale by value (response time / run duration), while a missed cycle still renders as a fixed-height hollow block rather than collapsing to zero.

Learn more →
Improved

HTTP response times now break down into TCP, TLS, TTFB and download

The HTTP performance graph is now a bucketed, stacked breakdown of where response time actually goes — TCP connect, TLS handshake, pre-transfer, time to first byte, and download — with column colour showing bucket status and a status strip beneath for at-a-glance health. Switch between Mean, p95, p99, and Max, or click a column to jump straight to the checks behind it.

Learn more →
New

Trials and Member Blocking

Every team organization now starts with a 14-day trial at full features — no card required, no limitations. When a trial expires without a paid plan, the system automatically blocks excess members over the Team plan's 15-member limit to stay compliant.

Organization Owners can now block and unblock members as an alternative to permanent removal — blocked members have no access but keep their role and settings, and can rejoin once unblocked or the organization upgrades its plan.

Fixed

Incident lists auto-refresh — no stale state

Incident lists now update automatically as incidents close or reopen — new and closed incidents appear in real time without a page refresh. A new server-side safety net detects when an incident has recovered but remains displayed as open, and corrects the view to prevent stale incident state from persisting in the UI.

Fixed

Organization-scoped plan limits

Plan entitlements are now tied to the organization you're working in. Team members on a paid plan see the right features unlocked everywhere — status-page branding and the minimum check interval / private-probe gates — and switching organizations immediately updates what you can access.

Learn more →
New

Monitor IPv4 and IPv6 separately — Per-IP-family checks

HTTP and PING checks now support per-IP-family monitoring via the new address family option: auto (default), ipv4, ipv6, or both. In "both" mode, probes dial both families independently and report per-family reachability and response time, with matching per-family assertions, so you can see IPv6 breakage the moment AAAA goes live, without false alarms disrupting IPv4 users. Perfect for AAAA rollouts and dual-stack infrastructure validation.

Learn more →
Improved

Settings reorganized around you vs your workspace

Settings are now reorganized to clarify the distinction between personal account settings and workspace configuration. Every workspace — including your personal workspace — now has its own Workspace settings with billing, member management, and API tokens. Account settings gained a new Preferences tab so you can customize your UI experience (like your preferred service list layout) across all your workspaces.

Learn more →
Fixed

Status pages stay current through ongoing incidents

Published status pages now refresh continuously during an ongoing incident — today's tick in the history strip and the uptime percentages keep accruing downtime as it happens, instead of freezing at their midnight values until the incident state changed. A published page is now at most a few minutes behind reality, even through a multi-day outage.

New

Cron drift detection and editable autodiscovered monitors

Cron monitors can now opt in to duration-drift detection, flagging a run whose duration strays far from its own recent history — a sign of a hung or degrading job. Choose a percentage of baseline (default 50%) or a fixed number of seconds, and the baseline itself is the average of the last several successful runs (default 5, once armed). A drift is always a DEGRADED signal, never an incident on its own. For long-running jobs that sometimes legitimately take time, set an optional max runtime to cap how long a run can stay running before it alerts as stuck — leave it empty and long runs never alert on duration alone. Kubernetes autodiscovered monitors are now fully editable: the operator keeps the schedule/timezone in sync while your drift, runtime, and alerting settings made directly in UptimeHunt persist across every reconcile — unless you configure those same settings via annotation on the CronJob itself.

Improved

Monitoring lists redesigned with grouped project boxes

The services, cron monitoring, and status-pages lists now display each project group in its own quiet, contained box in Normal and Dense view. The redesign also declutters Cards view by removing the nested frame that previously wrapped each group there — Cards now shows a bare card grid directly on the page, under a plain group eyebrow header, so only the individual cards keep a border. Normal and Dense benefit from the new bordered group box; Cards benefits from the removed outer frame. The unassigned section and needs-attention shelf remain pinned and accessible, while project groups organize the rest of the list with better breathing room.

Improved

Calmer anchored lists and denser history

Monitoring lists across Services, Cron Monitoring, and Status Pages now share a unified, calm anchored design — a muted tint-shell surface with a subtle border, and a small-caps tracked header row on Normal and Dense views. Cards view uses the same shell without a column header, just card tiles. History strips pack more densely, showing each cycle's result in less vertical space while remaining easy to scan.

Improved

Cron and status-page lists share the redesigned services-list look

Cron Monitoring and Status Pages lists now share the redesigned services-list look. Both now offer the same Normal, Dense, and Cards view modes as services, with quiet status indicators and (for Cron Monitoring) the existing check-history strip. The layout preference is managed globally under Settings → Preferences → Lists layout, so your choice carries across all lists in the application.

Fixed

Prober Resilience

Probers now remain operational during temporary central system outages, buffering monitoring results locally and replaying them with original timestamps once reconnected. The local result buffer is now bounded to prevent unbounded disk usage, with a configurable maximum size to suit your deployment constraints.

Fixed

Game-server icons are back in the services list

Game-server rows in the services list once again show the monitored game's own logo — Minecraft, OpenArena, Counter-Strike and the rest — instead of a generic gamepad icon. The list API had stopped sending the (non-secret) engine and flavor the icon is resolved from; it now includes exactly those two fields again, and nothing else from the check configuration.

Improved

A redesigned services list with smarter views

The services list has been redesigned around grouped organization. Services are grouped by project, each with a collapse/expand control to keep the view focused. Each service row now displays per-cycle history ticks — small status blocks representing recent check cycles — with the current cycle updating live as checks come in. Choose Normal, Dense, or Cards view mode in Settings → Preferences (each option previews its layout) based on your workflow: Normal for scanning with average latency and last-check info, Dense for extreme case counts, or Cards for a visual grid layout. The needs-attention section, pinned at the top of the list, highlights services that require action.

Learn more →
Improved

Multi-monitor status page components, real groups, and a unified incident timeline

Status page components can now be backed by more than one monitor — bundle an HTTP check and a DNS check into one "Website" component and it reports the worst of the two, with merged 90-day history and a deliberately conservative (never inflated) uptime percentage. Groups are now a real, reorderable, renameable part of the page rather than free text, and every public incident shows one chronological timeline that interleaves published updates with internal-only notes your visitors never see.

Learn more →
Improved

A calmer dashboard that only shouts about new problems

The dashboard now separates "just broke" from "still broken": a dedicated panel surfaces services that failed in the last six hours, while long-running and flapping issues collapse into a quiet needs-attention shelf and grouped incident rows instead of drowning the feed. The probe map moved into the Probe Fleet card in the right rail and now colors dots by real probe-infrastructure health — offline or stale results only — never by how many of your services happen to be failing.

Learn more →
New

Public status pages

You can now publish a public status page for your organization — pick which services and cron jobs to show, group and order them, and publish at a <slug>.status.uptimehunt.io URL that keeps serving even if the rest of the platform goes down. Scheduling a maintenance window suppresses alerts for the components it covers and shows a banner on the page, and every page ships an embeddable status badge plus an RSS/JSON feed of incident and maintenance announcements.

Learn more →
New

Cron job and heartbeat monitoring

You can now monitor scheduled jobs that don't have a URL to probe — backups, migrations, report generators — by having them ping UptimeHunt on start/success/fail instead. A missing ping opens an incident through your existing alerts, with full per-run history including captured logs and duration. Kubernetes CronJobs are picked up automatically by the zero-touch operator with no script changes, and an existing crontab can be bulk-imported in one pass.

Learn more →
Improved

Leaner cron run reads, plus a dedicated run log endpoint

Cron monitor run list and detail responses no longer embed the captured log body, making both reads noticeably leaner. Fetch a run's full captured log on demand from the new GET /cron-monitors/{id}/runs/{rid}/log endpoint — log_bytes/truncated on the run itself still tell you whether (and how much) log there is to fetch.

Learn more →
Improved

Faster Services list and service detail

The Services list now fetches health and performance data for all rows in a single request instead of one per row, making it noticeably faster when you have many monitors. The service detail page also loads the probe registry lazily, so the initial render no longer waits for data it doesn't yet need.

New

Delete your account

You can now permanently delete your UptimeHunt account directly from Settings → Security → Danger zone — no need to contact support. The deletion cancels any active subscription, removes your personal workspace and all its monitors, and revokes all sessions and tokens in one step.

Learn more →
Improved

A live world map of your probe fleet

The dashboard header now shows a world map of your probe fleet with each probe colour-coded by its current health. A radar blip animates on each new check result, and hovering a probe shows its last-seen time. Clusters display the worst status across all their services.

Learn more →
New

Run your own probes and trigger checks on demand

You can now register private probes that run in your own infrastructure and report back to UptimeHunt. Each probe shows a live Online/Offline badge, and you can trigger an immediate check from any service detail page without waiting for the next scheduled run. Probe management — including token rotation — is available in the app, API, Terraform, Ansible, and MCP.

Learn more →
New

A brand-new documentation site

The documentation site has been rebuilt on a new platform with a Diátaxis information architecture — tutorials, how-to guides, concepts, and reference all in their own sections. Full-text search is built at deploy time with no external service. New pages cover DNS, SMTP, SSH, and game-server monitoring, and a changelog feed is now live here.

Learn more →
New

Sign in with GitHub (SSO)

Connect your GitHub organization to UptimeHunt so members sign in with their GitHub account. Access is gated by GitHub org membership, and a visual editor maps GitHub teams to UptimeHunt roles — so permissions stay in sync as your team changes. You can also require that members use a dedicated GitHub account separate from their personal one.

Learn more →
New

Organization service tokens

Service tokens belong to the organization, not an individual — so they survive staff changes and carry only the capabilities you grant them. Create tokens for scripts and CI pipelines, rotate them to swap a leaked secret, and revoke them without affecting any person's account. All token management is available through Org Settings, the REST API, Terraform, Ansible, and MCP.

Learn more →
New

Merge duplicate accounts and manage login methods

If you have separate accounts for password and social sign-in, you can now merge them into one through an in-app wizard. Multiple sign-in methods — password, GitHub, Google, OIDC, and SAML — can all be linked to a single account, and you can manage all your verified email addresses from Account Settings.

Learn more →
New

Enforce SSO with a lock-out preview

Once you have SSO configured, you can require it for every member. Before enforcing, a preview lists exactly who would lose password access so there are no surprises. A break-glass rule ensures the last org owner is never locked out, and owners can grant individual members a password bypass for emergencies.

Learn more →
Improved

The whole app now works on phones and tablets

The app now adapts to any screen size. On mobile, the sidebar slides in as a drawer, wide tables reflow to prioritize the most important columns, and per-row actions collapse into a tap-friendly overflow menu. Every page — including service details, incident feeds, and org settings — is usable from a phone.

New

A different contact email for each organization

You can now configure a different email address for each organization you belong to — useful when you want alerts routed to a work inbox for one org and a personal inbox for another. The per-org email shows on member lists and is pre-filled when an admin resends your invitation.

Learn more →
New

Personal workspaces

Every UptimeHunt account now comes with a personal workspace — a private org just for you. New users are walked through a one-time setup that lets them start in a personal space or immediately create a team organization. You can belong to multiple organizations and switch between them from the header.

Learn more →
New

Single sign-on with SAML, OIDC, and Google Workspace

Enterprise SSO is now available for SAML 2.0, generic OIDC, and Google Workspace. Members are provisioned automatically on first sign-in (JIT), IdP groups map to UptimeHunt roles, and a Test button validates your configuration against the live IdP before you enable it — so you can confirm everything works before flipping the switch.

Learn more →
New

Organization audit log

Every significant action in your organization — member logins, SSO events, role changes, invitations, and account merges — is recorded in an append-only audit log. Filter by person or event type, export as CSV, and pull events programmatically via the REST API, Ansible, or MCP.

Learn more →
New

Organizations — teams, members, and roles

UptimeHunt is now fully multi-tenant. Create named organizations, invite members by email, assign Owner/Admin/Member roles, and verify your domain for SSO routing. All services, projects, and alerts are scoped to an organization. Organization management is available in the app, REST API, Terraform, Ansible, and MCP.

Learn more →
New

Plan limits and trials

Plan limits — maximum services, members, and check history retention — are now enforced per organization with clear in-app feedback when you approach or hit a limit. Trial accounts receive a warning before the trial expires so there is time to act, not just a sudden cutoff.

Learn more →
Improved

Stronger account security

Three security improvements are now live. Sessions can be revoked server-side — useful when a device is lost — and refresh tokens rotate on every use so a stolen token can't be silently replayed. New accounts must verify their email address before they gain access to the platform.

Learn more →
New

Long-lived API tokens

You can now create named API tokens that don't expire, making them suitable for scripts, CI pipelines, and integrations. Manage your tokens — and see which OAuth applications are connected to your account — from Settings. Tokens are shown once at creation and never again.

Learn more →
New

Everything updates in real time

The dashboard now streams live updates over a persistent connection. Status badges flip, performance graphs extend, sparklines tick, and the incident feed updates the moment a check result arrives. If your connection drops, the app reconnects automatically and catches up — no manual refresh needed.

Learn more →
New

Manage UptimeHunt as code — Terraform and Ansible

UptimeHunt now has a native Terraform provider and an Ansible collection. Declare your services, projects, alert rules, integrations, and probes as code and manage them through your existing infrastructure pipelines — version-controlled, reviewable, and repeatable.

New

Alert rules, incidents, and test notifications

Alert rules let you define when to notify, and incidents track the lifecycle from trigger to resolution. UptimeHunt opens one incident per outage rather than flooding you with repeated alerts. A Test button on every alert rule verifies delivery immediately — you don't have to wait for a real outage to find out a webhook is broken.

Learn more →
New

Acknowledge and resolve incidents from chat

Alert messages in Slack, Discord, Telegram, and Mattermost now include Acknowledge and Resolve buttons so you can act without leaving chat. When a service recovers, the original alert message updates in place. PagerDuty and Opsgenie integrations sync acknowledgement and resolution status back to UptimeHunt automatically.

Learn more →
New

Manage UptimeHunt with Claude (MCP server)

UptimeHunt now exposes a remote MCP server that AI clients — including Claude on claude.ai and Claude Code — can connect to with OAuth. Once connected, you can query service status, browse incidents, manage alert rules and integrations, and control probes through natural language. The server is read-only by default; write access requires the explicit write OAuth scope.

New

Get alerts in ten channels

Choose from ten notification channels: Slack, Discord, Telegram, Microsoft Teams, Google Chat, Mattermost, PagerDuty, Opsgenie, email, or a generic webhook. Each integration has its own configuration options and a built-in Test button. All stored credentials and secrets are encrypted at rest.

Learn more →
New

Filter and explore recent checks

The service detail page now has a facet rail on the left side of the check table. Filter recent checks by status, ISP, country, and probe — and watch the performance graph update to match your selection. The panel is resizable so you can make room for the data that matters most.

Learn more →
Improved

A refreshed, more accessible design

Cards now use soft elevation instead of heavy borders, body text is larger for easier reading, and status badges pair an icon with colour so the meaning is clear even without colour vision. Contrast ratios have been checked and corrected throughout the app to meet WCAG AA.

New

Service expectations and assertions

Expectations let you specify what a passing check looks like — an HTTP status code, a response-time limit, a string present in the body, a valid TLS certificate, or a protocol-specific assertion. Every change is saved as a new version, so you can see the history and restore a previous configuration at any time.

Learn more →
New

New check types — DNS, SMTP, SSH, and game servers

Four new check types expand what you can monitor. DNS checks validate that a domain resolves to the expected records. SMTP and SSH checks verify that your mail and shell servers are accepting connections. Game-server checks monitor Quake 3, Source engine, and Minecraft servers for player counts and availability. Each type has its own configuration options and assertion support.

Learn more →
Improved

Clearer performance graphs

Performance graphs now show a legend with distinct colours per metric, a dashed trailing bucket to mark the current in-progress interval, and shaded incident bands overlaid on the timeline. Correlating a latency spike with an outage is now visual rather than manual.

Learn more →
Improved

Richer HTTP checks with a request waterfall

HTTP checks now capture per-phase timing — DNS lookup, TCP connect, TLS handshake, and server response — along with response headers and body. The check detail view presents these as a waterfall so you can pinpoint exactly where latency is coming from.

Learn more →
Improved

A redesigned service form

The service creation and edit form has been redesigned for speed. The HTTP method selector sits inside the URL bar, check intervals offer sensible presets with a custom option, and monitoring locations are now a searchable region/country tree with country flags. The icon picker opens directly from the service name field.

Learn more →
New

Kubernetes auto-discovery

Install the UptimeHunt Kubernetes operator and it automatically creates a monitor for every Ingress host it finds in your cluster. Tune monitoring behaviour per-Ingress with annotations — HTTP method, which status codes count as healthy, check interval, and more. The operator is add/update-only by design: a vanished Ingress raises an alert rather than silently deleting your monitor.

Learn more →
New

Dark mode

A theme toggle in the navigation bar switches the entire app between light and dark mode. The preference is saved to your account, so it follows you across devices and sessions.

New

Projects for grouping services

Projects let you organize related services into named groups that appear as collapsible sections in the sidebar and service list. Create a project per application, environment, or team — however makes sense for your setup.

Learn more →