What's New
- A sweeping UI/UX overhaul has landed across the app. This release ships a full design-system pass together with a redesigned auth experience — login, registration, password reset, and the initial setup flow have all been rebuilt for clarity and consistency. Typography, spacing, dialogs, and inputs now follow a unified visual language across every page.
- The public status page now supports four selectable themes, giving teams meaningful control over how their status page looks to the outside world. The themes are persisted via new
themeandthemeModefields on the backend, so your selection sticks across sessions and deployments. - Incidents are now created on the very first failed check. Previously, monitors that were initializing or already in a "down" state could miss the first incident; that gap has been closed and the incident lifecycle is now correctly anchored from the initial failure.
- Internationalization gaps have been closed across all 16 supported locales. Missing keys, untranslated fragments, and stale strings have been audited and filled in, so non-English users see a consistently translated UI throughout the app.
- Modals and dialogs have been standardized on a shared layout. A new
NoticeBannerdesign element, softer Cancel buttons, and a unified modal structure make confirmation flows feel calmer and more predictable. - Inputs and form controls have been refined.
TextInputnow forwardssxprops for fine-grained styling,FieldLabelis fully theme-driven, and button hover states have been softened across the board for a more polished feel. - The Add Member modal now lays name and password fields side by side, cutting vertical space and making the invite flow feel less form-like.
- The Incidents page has been visually reworked end-to-end for consistent typography, icons, and layout — the page now reads as a single cohesive view instead of a stack of mismatched sections.
- Infrastructure network charts now show a clear notice when there's zero traffic, replacing empty graphs that previously looked like a rendering bug with an explicit, informative empty state.
- The Remove monitors confirmation modal now includes explanatory body text, making the consequences of bulk removal obvious before the user commits.
- Game server monitors now ship with inline guidance. The create-monitor flow explains how to set up the server-side query required for game monitors, so users aren't left guessing what to configure on their game host.
- The "Open site" action is now hidden when a monitor's URL is not browser-openable (e.g. ping or port monitors), removing a confusing shortcut that previously led nowhere.
- Vite's allowed hosts list is now configurable, making it easier to run the client behind custom domains, reverse proxies, and non-standard development hostnames without patching the config.
- The app version is now sourced directly from
package.jsoninstead of being hardcoded, so version strings shown in the UI always match the build. - A noisy mongoose reserved-key warning on
Check.errorshas been suppressed at the model level, cleaning up server logs without changing behavior. - The OpenAPI spec for
/monitors/team/with-checksnow documents all supported query parameters, so SDK and client generators have a complete contract to work from. - Frontend conventions are now documented and enforced via ESLint. Five mandatory rules — covering MUI prop usage, theme paths, layout/typography constants,
useTheme()access, and runtime/type pairing — are codified indocs/frontend-conventions.mdand checked automatically in CI. CONTRIBUTING.mdandCLAUDE.mdhave been aligned with the current toolchain, including up-to-date Node, package manager, and tooling references so new contributors aren't following stale instructions.- A small but meaningful round of cleanup: a notification-template typo has been fixed, a broken documentation link has been replaced with the working one across the app, and a regression where status-page checks rendered in reverse order has been corrected.
Thank you to our new contributor @ayshaL for their first contribution in this release!
What's Changed
- fix(client): hide Open site action when URL is not browser-openable by @gorkem-bwl in #3574
- fix(client): allow configurable Vite allowed hosts by @gorkem-bwl in #3570
- fix(client): source app version from package.json by @gorkem-bwl in #3572
- fix(server): suppress mongoose reserved-key warning on Check.errors by @gorkem-bwl in #3571
- docs(openapi): document all query params on /monitors/team/with-checks by @gorkem-bwl in #3573
- Fixed typo in notification by @ayshaL in #3575
- fix:replaced the broken link with the working one everywhere by @ZeinebMegaadi in #3578
- chore(i18n): close translation gaps across all 16 locales by @gorkem-bwl in #3585
- UI/UX overhaul: design system pass + auth redesign by @gorkem-bwl in #3581
- docs: align CONTRIBUTING.md and CLAUDE.md with current toolchain by @gorkem-bwl in #3588
- feat: incident on initializing && down by @ajhollid in #3589
- feat(create-monitor): explain server-side query setup for game monitors by @gorkem-bwl in #3590
- refactor(dialog): standard modal layout, NoticeBanner design-element, softer Cancel by @gorkem-bwl in #3591
- refactor(inputs): softer button hover, sx-forwarding TextInput, themed FieldLabel by @gorkem-bwl in #3592
- feat(account): side-by-side name and password fields in Add Member modal by @gorkem-bwl in #3593
- feat(incidents): consistent typography, icons, and layout across the page by @gorkem-bwl in #3594
- feat(infrastructure): show notice when network charts have zero traffic by @gorkem-bwl in #3595
- feat(settings): explanatory body in Remove monitors confirmation modal by @gorkem-bwl in #3596
- docs(client): document frontend conventions and enforce via ESLint by @gorkem-bwl in #3599
- feat(status-page): four selectable themes for the public status page by @gorkem-bwl in #3569
- feat(status-page): add theme and themeMode fields (backend) by @gorkem-bwl in #3568
- bump version by @ajhollid in #3603
- develop -> master by @ajhollid in #3604
- Fix/reveresed status page checks by @ajhollid in #3605
- develop -> master by @ajhollid in #3606
New Contributors
Full Changelog: v3.6.1...v3.7.1