v4.0.14 Changelog
See what's new in Kener v4.0.14, including new features, improvements, and bug fixes
Breaking changes
Group monitor scoring model revised
The group monitor status scoring has been changed from an unnormalized scale to a normalized 0–1 scale.
Old model:
| Status | Score |
|---|---|
| UP | 0 |
| DEGRADED | 1 |
| DOWN | 2 |
Thresholds: < 1 → UP, >= 1 → DEGRADED, >= 2 → DOWN
New model:
| Status | Score |
|---|---|
| UP | 1 |
| DEGRADED | 0.5 |
| DOWN | 0 |
Thresholds: = 1 → UP, > 0 and < 1 → DEGRADED, = 0 → DOWN
Members in MAINTENANCE are treated as UP (score 1) and do not affect the group status.
Impact: Group monitors will now show DEGRADED when any member is down or degraded, instead of staying UP. Previously, with 5 equal-weight monitors, 1 DOWN member produced a score of 0.4 (UP). Now it produces 0.8 (DEGRADED).
No configuration changes are needed — existing group monitor weights and settings remain valid.
Important
If you have alerting rules that trigger on DEGRADED status, they will fire more frequently after this update.
New features
Localized status badges
Status badges now support a locale query parameter. The status text (Operational, Degraded, Down, etc.) is rendered in the selected language when that locale is activated in your i18n settings.
/badge/{tag}/status?locale=de
The badges page in the admin dashboard includes a language selector for status badges.
Server-side search and filters for monitors
The monitors list in the admin dashboard now supports server-side search by name or tag and filtering by status. A collapsible filter panel with Search and Clear buttons replaces the old client-side filtering.
Filters for monitoring data
The monitoring data page in the admin dashboard now uses the same collapsible filter panel pattern with explicit Search and Clear buttons instead of auto-fetching on filter changes.
Bug fixes
Environment variables in webhook trigger URLs
Fixed environment variables (e.g. $TELEGRAM_BOT_TOKEN) not being replaced in webhook trigger URLs. The URL was not included in the environment secret scan. Slack and Discord were already working correctly. (#647)
Webhook template `alert_incident_url` missing quotes
Fixed the default webhook alert template producing invalid JSON when alert_incident_url had a value — the URL was rendered without surrounding quotes.
Notification duration localization
Fixed the "Ongoing" text in notification event durations not being passed through the translation function.
Improvements
Dynamic version in notification user-agent
Webhook, Slack, and Discord notification HTTP requests now send the actual Kener version in the User-Agent header instead of a hardcoded Kener/4.0.0.
Translation updates
Added new status-related translation keys across all supported locales.