What's New
- We added global ping monitoring powered by the GlobalPing API. You can now check uptime from multiple locations around the world, with results stored in a dedicated geo checks collection and managed through the scheduler.
- A new interactive world map built on MapLibre visualizes geo check results, showing response times and status across regions at a glance.
- gRPC is now a supported monitor type, joining HTTP, ping, and port checks. You can monitor gRPC services directly from the create monitor flow.
- PageSpeed detail pages now support the same date range options as other monitors. You can view data across recent, day, week, and month buckets instead of just a single day.
- Admins can now export their monitors, and import in another server.
- Server-side validation has been fully migrated from Joi to Zod. The old monolithic validation file is gone, replaced by modular per-resource validators that are easier to maintain and extend.
- Environment variables are now validated at startup, catching misconfigurations before the server runs rather than failing silently at runtime.
- Infrastructure threshold settings have been converted from text fields to sliders, which makes configuration more intuitive and eliminates input validation issues.
- A global SWR configuration now centralizes data fetching behavior across the frontend, adding request deduplication, retry logic, and focus throttling for a more consistent experience.
What's Changed
- fix: import by @ajhollid in #3324
- feat: pagespeed date range by @ajhollid in #3325
- Fix: Uptime Status Filter by @Br0wnHammer in #3331
- feat: global ping implementation by @ajhollid in #3333
- remove comment by @ajhollid in #3334
- feat: globalping map by @ajhollid in #3335
- Feat/globalping map by @ajhollid in #3336
- Feat: gRPC Monitoring by @Br0wnHammer in #3304
- Fix/global thresholds by @ajhollid in #3341
- remove on row click by @ajhollid in #3342
- fix/logging by @ajhollid in #3344
- Fix: Uptime Table Body Placement by @Br0wnHammer in #3326
- Pagespeed filter sorting fix by @akashmannil in #3332
- Fix/hardcoded dimensions by @ajhollid in #3346
- fix: removing GET /monitors from swagger docs by @akashmannil in #3349
- fix: server validation by @ajhollid in #3350
- Fix/env var validation by @ajhollid in #3352
- feat: add global swr config by @ajhollid in #3353
- replace log statement by @ajhollid in #3361
- Fix/types by @ajhollid in #3362
- fix: eslint by @ajhollid in #3365
- fix: eslint warnings by @ajhollid in #3366
- Develop -> master (3.5.0) by @ajhollid in #3368
Full Changelog: v3.4.0...v3.5.0