v0.2.1
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