Skip to content

v0.2.1

Choose a tag to compare

@shayanb shayanb released this 19 Apr 12:25
48a0d63

What's new

Breaking-change migration flow

  • New command: logos-node reset — wipes ~/.logos-node/data/, backs up and regenerates user_config.yaml with fresh keys, rebuilds the Docker image, and restarts the node. Use after any release that resets the genesis block. Pass -y for non-interactive use.
  • Auto-detection in logos-node update — a maintained registry of breaking versions (LOGOS_BREAKING_VERSIONS in lib/releases.sh) automatically diverts the update flow into the migration path when you cross a breaking release. No manual steps needed.
  • Pre-migration backups are preserved at ~/.logos-node/user_config.yaml.pre-migration-<timestamp>.

Network rotation for 0.1.2

  • Updated bootstrap peer IDs in network.yml to match the rotated IDs in the 0.1.2 release (same IPs/ports, new peer keys).
  • Renamed devnet → testnet across the codebase: faucet URL, dashboard URL, all user-facing strings.

Native node metrics via OpenTelemetry

  • New container: logos-otel (OpenTelemetry Collector) — receives OTLP metrics pushed by the node binary and re-exposes them in Prometheus format. This unlocks ~70 native metrics across consensus, mempool, chainsync, blend, KMS, SDP, storage, HTTP API, and more.
  • user_config.yaml is automatically patched on install/reset to enable OTLP push (tracing.metrics: !Otlp). Idempotent — existing custom values are preserved.
  • The Python exporter (logos-exporter) is retained for container/host stats and wallet balances, which the node doesn't emit natively.

New Grafana dashboard: Deep Dive

  • "Logos Node — Deep Dive" dashboard added alongside the existing Overview dashboard. Organized by service:
    • Consensus — slot, tip/finalized height, epoch, forks, peers, block-apply latency (p50/p95/p99), proposals (created/received/ignored/failed), blocks imported
    • Mempool — pending transactions, add/remove throughput
    • Chain Sync & Orphans — tip request latency, download rate, orphan queue depth, fetch failures
    • Blend — connected peers, message send/receive/failure rates
    • KMS & SDP — sign requests and success/failure rates, declarations, withdrawals
    • HTTP API & Storage — request rate by path, p95 latency, storage failures
  • Overview dashboard now links to Deep Dive from the top nav.

Stale settings.env drift detection

  • Passive warning: if settings.env overrides network-identity fields (bootstrap peers, faucet URL, etc.) with values that differ from network.yml, a one-time warning is shown on any command.
  • Active cleanup: logos-node update and logos-node reset interactively prompt to remove stale overrides, with a timestamped backup. Prevents the scenario where an old settings.env silently masks rotated peer IDs.

Update flow reliability

  • After a CLI branch switch or pull, the script now execs itself for the node-update step so freshly-pulled code takes effect immediately (previously, the old in-memory bash functions were used).
  • Monitoring compose file is regenerated during reset so new services (e.g. logos-otel) are included automatically.
  • monitoring_up creates the logos-net Docker network if it doesn't exist yet (fixes the "network declared as external but could not be found" error when monitoring starts before the node during install).
  • _parse_network_yml now tolerates comments inside YAML list blocks (was truncating the bootstrap peer list on comment lines).

Compatibility: Logos Blockchain 0.1.2 (new genesis block — breaking change, requires migration)

Upgrade instructions

logos-node update # detects the breaking release and walks you through it

Or update the CLI manually first:

cd ~/.logos-node/cli && git pull                                                                                   
logos-node reset            # wipes data, regenerates config, restarts                                             
logos-node faucet           # re-claim testnet tokens (old chain funds don't carry over)                           

Important: Your existing user_config.yaml is backed up to user_config.yaml.pre-migration- before regeneration. If you had stale overrides in settings.env (e.g. old bootstrap peer IDs), the CLI will detect them and prompt you to clean up.


Full Changelog: v0.1.9...v0.2.1