Novij Monitoring Agent Patch Notes
Changes
- Telegram daily reports are now sent only within the configured
reports.daily.send_window_minutes; stale pending daily reports expire instead of being delivered later in the day.
- The daily report no longer marks the server as
Needs attention for a single 24h CPU peak when average CPU usage is healthy and there are no active incidents.
- Healthy daily reports now use a
Summary section instead of What needs attention.
- Fixed agent crashes during Telegram daily report payment errors: pending notifications with
null payment fields now stay queued, write the failure to the journal, and the service keeps running.
- The service loop now survives an unexpected single monitoring iteration failure instead of falling into a systemd restart loop.
- Improved
doctor: it now checks whether the systemd service is active and surfaces the latest Telegram payment failure instead of reporting a misleading OK.
- Strengthened
service-key validation: the delegate secret is now checked against the DSR delegate_pubkey, and unusual service metadata is surfaced by doctor as a warning without blocking payments.
- Added update channel selection:
latest and stable.
- Added
--channel stable support to novij-monitoring-agent update.
- Added
updates.channel to the configuration; the default value is latest.
- Reduced
novij-monitoring-agent update network usage: checks download only the small VERSION file, and installing a new version no longer downloads install.sh or runs apt-get update.
- The package-site installer now skips
apt-get update by default when upgrading an already installed agent; first installs keep the previous behavior.
- Split recent and stable builds on the package site:
latest/ and releases/
stable/ and stable-releases/
- Added stable promotion: a build from the last three releases becomes stable after 7 days without a newer publication.
- Added Russian and English patch note links to package pages.
- Added shared Codex AI instructions for releases, stable/latest channels, auto-updates, and patch notes.
Update
- No action is required to keep the previous behavior: the default channel is
latest.
- To keep auto-updates on stable builds only, set:
updates:
channel: "stable"
- One-off update from the stable channel:
sudo novij-monitoring-agent update --channel stable
- Check for an available update without downloading the
.deb:
novij-monitoring-agent update --check
- To control apt index refresh manually when installing from package-site:
curl -fsSL https://packages.novij.tech/agents/monitoring/install.sh | sudo env NOVIJ_APT_UPDATE=always bash
curl -fsSL https://packages.novij.tech/agents/monitoring/install.sh | sudo env NOVIJ_APT_UPDATE=never bash
Compatibility
- Existing configs without
updates.channel continue to work and are treated as latest.
- Existing installer usage without
NOVIJ_PACKAGE_CHANNEL continues to install latest.
- The
stable channel requires a package-site publication in stable/.
- The first update from an older build may still use the previous installer path; new builds use the lighter self-update flow.
NOVIJ_APT_UPDATE defaults to auto: first installs refresh apt indexes, upgrades of an installed agent do not.