Files
heartbeat/CHANGELOG.md
Andreas Wrede 39670f4e63 version 5.3.10
2026-06-06 08:28:43 -04:00

9.6 KiB

Changelog

All notable changes to this project are documented here, organized by release.

[5.3.10]

Added

  • clear stale plugin data and persist OAuth users to config
  • auto-scale CPU history graph Y axis
  • add CPU usage history graph to CPU Monitor section

Fixed

  • remove bak file in bumpminor.sh

[5.3.9]

Added

  • auto-update CHANGELOG and README in bumpminor.sh

[5.3.8]

Added

  • Wiki home page with overview and getting started guide

Fixed

  • Release workflow: use GITHUB_REF/GITHUB_OUTPUT (Gitea Actions uses GitHub-compatible variable names)
  • Release workflow: replace head -1 with grep -m 1 to avoid SIGPIPE (exit 141) in changelog step

[5.3.7]

Added

  • Dark mode with light/dark/auto theme setting
  • UNKNOWN level filter in Log of Events
  • Per-metric grace period input in threshold settings
  • Replace Dynamic DNS YAML editor with a web form
  • Sort hosts, thresholds, and channels alphabetically on settings page
  • Suppress alerts for unwatched hosts

Fixed

  • Preserve log message order when replaying history on connect

[5.3.6]

Added

  • MIT license

Fixed

  • Correct ZFS pool status threshold operator and add per-metric grace
  • Normalize email and domain fields
  • Move dependencies back under [project] in pyproject.toml

[5.3.4]

Fixed

  • Run full reload after HTTP config publish, not just config.reload()

[5.3.3]

Added

  • Replace YAML threshold editor with a form-based UI
  • Replace multi-select fields with dual-panel picker on settings page
  • Nav bar button to publish pending config changes
  • Host, level, and message filters in Log of Events

Fixed

  • Remove container max-width; stop stretching inputs on settings page

Removed

  • Legacy dyndnshosts/drophosts config keys

[5.3.2]

Added

  • Retry DNS resolution indefinitely; add -4/-6 address-family flags to hbc and hbc_mini
  • Replace YAML hosts editor with form-based CRUD table
  • Replace YAML notification channel editor with form-based UI

Fixed

  • Support list-valued threshold_config in hosts table
  • Derive hosts threshold config list from config file keys
  • Replace channel checkboxes in Users table with multi-select
  • Support plugin-level enabled: false in threshold config
  • Always populate glance strip for all hosts on page load
  • Fetch host info on initial page load

[5.3.1]

Added

  • Host info section in Host Overview (fetched and rendered on card expand)
  • GET /api/0/hosts/{hostname}/info endpoint
  • Show suffix-matched metric coverage in host info threshold table
  • Move hbc_version and hbc_type out of os_info into the host info section

Fixed

  • Correct THRESHOLD_DEFAULTS metric keys and add missing defaults

[5.3.0]

Added

  • Profile page self-service: change identity, password, and notification channels
  • Settings page editor with form sections, YAML editors, stage/publish/rollback workflow
  • Config read API: GET /api/0/config, /section/{name}, /backups
  • Config write API: POST /api/0/config, POST /api/0/config/rollback
  • configio module for comment-preserving YAML round-trip writes
  • Multi-provider OAuth2 login page and generic provider routes
  • Log login/logout events to the event log with auth source

Fixed

  • ZFS monitor alerts dropped on restart with wildcard pool thresholds
  • Preserve OAuth users across config reload
  • Config API error handling, consistent 403 messages, deduplicated key lists
  • Validate password body type; coerce notification_channels to strings in profile API
  • Preserve OAuth client_secret on roundtrip; harden rollback path validation

[5.2.6]

Added

  • Alerts host-filter field with URL query parameter and notify URL
  • Optional logo on Gitea OAuth login button

Fixed

  • Show human-readable duration in re-notification messages

[5.2.5]

Added

  • Alert CRITICAL on degraded or suspended ZFS pools (ONLINE=OK, DEGRADED=WARNING, all else=CRITICAL)
  • Sign in with Gitea button on login page with OAuth2 redirect/callback routes
  • OAuth2 CSRF state management
  • Host owner shown in glance strip for admin users
  • C port of hbc_mini (single-file client in scripts/c/)

Fixed

  • Use base_url config for OAuth redirect URI to handle reverse proxy deployments
  • Preserve OAuth users across config reload
  • Escape HTML in login page error display

[5.2.4]

Added

  • hbc/hbc_mini: owner config field included in os_info; server applies to host record
  • Server requests InfoPlugin refresh when a host has no plugin data
  • Event log stores structured dicts; filter by user

Fixed

  • Strip _status_code suffix from displayed metric names in threshold alerts
  • Use plain URL in Mattermost plugin metrics link
  • Fall back to default_owner when os_info has no owner

[5.2.3]

Added

  • hbc/hbc_mini: log name and version at startup
  • Show metric name inline with hostname in alerts and notifications

Fixed

  • Send shutdown message only if a boot message was previously sent; suppress both on restart

[5.2.2]

Fixed

  • Retry connection on network error instead of permanently dropping it
  • Silence aiohttp.access log; strip plugin prefix in alerts UI

[5.2.1]

Fixed

  • Threshold and logging improvements

[5.2.0]

Added

  • nagios operator for direct exit-code severity mapping

Fixed

  • Always show THRESHOLD_DEFAULTS in Settings threshold config

[5.1.21]

Added

  • nagios_runner improvements and alerts page fixes

[5.1.20]

Added

  • Generic threshold matching for nagios_runner with {check_name} display support

Fixed

  • Reduce default hysteresis from 10% to 2%
  • Show recovery threshold in alerts UI

[5.1.19]

Added

  • Exclude ZFS ARC from memory_percent
  • Add uptime_seconds to cpu_monitor

Fixed

  • Send boot/shutdown message on the first open connection, not blindly on the first in list

[5.1.18]

Added

  • Fetch-based Update/Delete buttons with toast notifications on Host Overview

Fixed

  • Settings thresholds show correct per-config metrics; miscellaneous hbc fixes

[5.1.17]

Added

  • Owner Update/Delete buttons on Host Overview; purge stale alerts on reload
  • Retry AsyncConnection.open() indefinitely; drop IPv6 only on early startup failure
  • Alert pie chart in the nav bar

Fixed

  • Make Alerts page scrollable

[5.1.16]

Added

  • Generic ping_monitor thresholds; round RTT to nearest ms

[5.1.15]

Added

  • Link hostnames in Live Dashboard to Host Overview
  • Threshold Configurations section on settings page

Fixed

  • Suppress notifications on alert de-escalation (e.g. CRITICAL→WARNING)
  • Suppress recover messages for down durations under 4 seconds

[5.1.14]

Added

  • ZFS pool renderer in Host Overview

[5.1.13]

Added

  • ZFS monitor plugin
  • Host-level watch flag to suppress notifications
  • Filter Live Dashboard and Host Overview by owner/manager
  • Composable threshold_config list for per-host threshold layering
  • Restart on SIGHUP in hbc and hbc_mini

Fixed

  • Mask api_password and access_token in settings page

[5.1.12]

Internal release — no user-visible changes.


[5.1.11]

Fixed

  • Install under Docker
  • Clean up install script

[5.1.10]

Fixed

  • Synchronize version in hbc_mini
  • Install script no longer overwrites itself

[5.1.9]

Added

  • Install hbc_mini via package or install script

[5.1.8]

Added

  • Track hbc type and version

Fixed

  • Nav bar position

[5.1.7]

Added

  • hbc_mini: single-file heartbeat client

Fixed

  • Drop dead connections on protocol error

[5.1.6]

Fixed

  • Simplify event log usage; fix argument handling

[5.1.5]

Added

  • Update hbc via hb_install.sh instead of code patching

[5.1.4]

Added

  • Redesign Plugin Metrics page as Host Overview

[5.1.3]

Added

  • Validate absolute command paths at nagios_runner init
  • Async subprocess in nagios_runner with stderr capture and signal handling
  • skip_reason field on Plugin; surface in PluginLoader init messaging

Fixed

  • Use shlex.split() for nagios_runner path validation to handle quoted paths
  • Reconfigure logging to syslog after daemonize()

[5.1.2]

Fixed

  • Plugin config lookup shadowed by CLIENT_DEFAULTS plugins key
  • Apply grace period to all threshold alerts before logging/notifying
  • RECOVER routing: use consistent level name and route via alerted channel
  • Early reminder notifications and lost recovery notifications
  • Non-alerting of overdue hosts

Added

  • Swiss clock widget in the UI

[5.1.1]

Added

  • SMS and Matrix notification channels
  • CLI commands stop, restart, and reload for hbd
  • WebSocket endpoint at http://.../ws
  • Mobile HTML pages

Fixed

  • Profile not updating
  • Sortable columns in tables

[5.1.0]

Added

  • Ping monitor plugin
  • Persist state to pickle file; restart timers on server restart
  • SIGHUP config reload for hbd
  • Renotify on CRITICAL only; persistent user sessions
  • RTT count threshold

Fixed

  • Bogus notification on new clients
  • Show "overdue" in alerts instead of null

[5.0.12]

Added

  • User management and settings page

[5.0.10]

Added

  • Publish package to Gitea PyPI registry

[5.0.9]

Added

  • Use SO_TIMESTAMP for RTT measurement (Linux, FreeBSD, macOS)
  • Persist state to pickle file; restart timers on restart

[5.0.6]

Added

  • Major codebase refactoring: restructured into client/server components
  • Per-client threshold configuration
  • Display and acknowledge alerts in the UI
  • Proper hbc termination; hbd config reloadable at runtime