llms.txt
Search Documentation
Search through all documentation pages
v4.x

v4.0.22 Changelog

See what's new in Kener v4.0.22, including new features, improvements, and bug fixes

New features

Note

The migration for sqlite3 was broken in the release 4.0.21. So it has been fixed in this release.

Multi-monitor alert configurations

Alert configurations can now be applied to multiple monitors at once. Previously each alert config was tied to a single monitor — creating the same alert for several monitors required duplicating it.

  • A searchable multi-select UI replaces the single-monitor dropdown when creating or editing alerts.
  • Alert logs show which specific monitor triggered each alert.
  • Existing single-monitor configs are automatically migrated to the new schema.

New database migration adds a monitor_alerts_config_monitors junction table and a monitor_tag column on monitor_alerts_v2 to track per-monitor trigger history.

Upcoming maintenances on status pages

Upcoming scheduled maintenance events are now displayed on the home page, custom page routes, and individual monitor detail pages. This gives visitors advance notice of planned work.

Visibility is controlled by the existing Event Display Settings → Maintenances → Upcoming toggle in Manage → Site Configurations.

Maintenance subscriber notifications

Maintenance events can now trigger subscriber notifications at each lifecycle stage: created, reminder, started, and ended. Configure which events send notifications in Manage → Site Configurations → Maintenance Notification Settings.

Event type When sent Default
Created New event is generated Off
Reminder Event enters READY state On
Started Event enters ONGOING state On
Ended Event enters COMPLETED state On

The reminder buffer (default 1 hour) controls how far before the start time the READY transition and reminder notification happen.

Analytics documentation

A new Analytics documentation page covers all seven supported providers — Google Analytics, Plausible, Mixpanel, Amplitude, Microsoft Clarity, Umami, and PostHog — with configuration tables, setup instructions, and ad-blocker proxy tips.

Improvements

Google Tag Manager transport URL and script host

The Google Tag Manager integration now supports two new optional fields:

  • Transport URL — custom endpoint for analytics hits (useful for bypassing ad blockers with a proxy like Saki).
  • Script Host — custom URL for the gtag.js script instead of the default googletagmanager.com.

Configure both in Manage → Analytics Providers → Google Analytics.

Improved TCP and API monitor error handling

  • TCP monitors now collect all host connection failure messages and report them as a combined error.
  • API monitors now create an HTTPS agent with keep-alive and socket pooling, distinguish timeout errors more accurately (ECONNABORTED vs message-based), and truncate eval errors to 200 characters.

"Included Monitors" shows count

The group monitor popover and related components now display the number of included monitors — e.g. "Included Monitors (5)" — making it easier to see group size at a glance. All locale files updated with the %count placeholder.

Czech and Slovak translation updates

Updated Czech (cs.json) and Slovak (sk.json) translations with new and corrected strings.

Bug fixes

  • Fixed custom CSS and custom fonts documentation guide links pointing to incorrect URLs.
  • Removed unused <svelte:head> elements and stale metadata from documentation layouts.
  • Removed knip.json — the project now uses default knip configuration.

Security

Patched critical and high-severity vulnerabilities by adding overrides for fast-xml-parser, rollup, undici, minimatch, devalue, dompurify, cookie, and mailparser. Updated @sveltejs/kit to ^2.53.3 and svelte to ^5.53.5.