v1.3.0
v1.3.0 Release Notes
Upgrade Requirements
Database schema change — This release modifies the _visus schema. You must run visus init before starting the server after upgrading from v1.2.1.
New Features
-
Distributed leader election — Replaced the
IsMainNodeheuristic (based on max node_id) with a proper distributed lease usingfield-eng-powertools/lease. This ensures correct coordination of cluster-scoped collectors when multiple visus instances share a CockroachDB cluster. -
Node registration and heartbeat — Each visus process now registers itself in the
_visus.nodetable on startup with its hostname, PID, and version. A 1-minute heartbeat keeps the registration fresh, and graceful shutdown deregisters the node. Stale nodes are automatically cleaned up via CockroachDB row-level TTL. -
visus node listcommand — New subcommand to display all registered visus nodes with their ID, hostname, PID, version, and last heartbeat timestamp. -
--allow-unsafe-internalsflag — Required for CockroachDB v26+, which no longer allows queries againstcrdb_internalorsystemtables without this session setting.
Bug Fixes
- Fix command output going to stderr instead of stdout
- Fix transaction handling and guard type assertions in collector
- Register
errorCountsmetric in scanner and fix cleanup of removed metrics
CI / Infrastructure
- Upgrade Go to 1.24 in Docker builds
- Bump all GitHub Actions to latest major versions for Node.js 24 compatibility
Full Changelog: v1.2.1...v1.3.0