Novij Monitoring Agent Patch Notes
Changes
- Removed the single-Relay dependency from Telegram payments and NTP defaults:
- Fixed fragmented Storage WebSocket text responses: the C++ SDK now waits for
- Removed the modern CMake warning from vendored
yaml-cpp 0.8.0: a - 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 attentionfor a single 24h CPU peak when average CPU usage is healthy and there are no active incidents. - Healthy daily reports now use a
Summarysection instead ofWhat needs attention. - Fixed agent crashes during Telegram daily report payment errors: pending notifications with
nullpayment 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 misleadingOK. - Strengthened
service-keyvalidation: the delegate secret is now checked against the DSRdelegate_pubkey, and unusualservicemetadata is surfaced bydoctoras a warning without blocking payments. - Added update channel selection:
latestandstable. - Added
--channel stablesupport tonovij-monitoring-agent update. - Added
updates.channelto the configuration; the default value islatest. - Reduced
novij-monitoring-agent updatenetwork usage: checks download only the smallVERSIONfile, and installing a new version no longer downloadsinstall.shor runsapt-get update. - The package-site installer now skips
apt-get updateby default when upgrading an already installed agent; first installs keep the previous behavior. - Split recent and stable builds on the package site:
latest/andreleases/stable/andstable-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.
the agent now uses C++ SDK multi-seed discovery, Network Registry, compatibility/health checks, a 48-hour local checkpoint, and safe failover across active Relays. The legacy relay_url remains an optional compatible seed override.
the final continuation frame, preserves fragment order, and builds without the false GCC uninitialized-opcode warning.
reproducible patch step raises the dependency policy minimum to 3.5 without disabling diagnostics.
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
relay_urlandstorage_ws_urlvalues remain supported; empty - A
service-keywithoutrelay_urlis now valid; a legacyrelay_urlis - Existing configs without
updates.channelcontinue to work and are treated aslatest. - Existing installer usage without
NOVIJ_PACKAGE_CHANNELcontinues to installlatest. - The
stablechannel requires a package-site publication instable/. - The first update from an older build may still use the previous installer path; new builds use the lighter self-update flow.
NOVIJ_APT_UPDATEdefaults toauto: first installs refresh apt indexes, upgrades of an installed agent do not.
values enable automatic Network Registry selection.
still accepted as a bootstrap override.