Skip to content

v1.3.0

Choose a tag to compare

@sravotto sravotto released this 17 Mar 19:01
· 4 commits to main since this release

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 IsMainNode heuristic (based on max node_id) with a proper distributed lease using field-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.node table 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 list command — New subcommand to display all registered visus nodes with their ID, hostname, PID, version, and last heartbeat timestamp.

  • --allow-unsafe-internals flag — Required for CockroachDB v26+, which no longer allows queries against crdb_internal or system tables 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 errorCounts metric 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