Files
meshcore-analyzer/docs/release-notes/v3.5.0.md

4.8 KiB

CoreScope v3.5.0 🚀

The "stop building from source and start analyzing your mesh" release. 95 commits.


🐳 Pre-built Docker Images

CoreScope now ships as a ready-to-run Docker image on GitHub Container Registry. No cloning, no building, no dependencies — just pull and run.

docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
  -v corescope-data:/app/data \
  ghcr.io/kpa-clawbot/corescope:v3.5.0

Using HTTPS with a custom domain? Mount your Caddyfile and certs directory:

docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
  -v /your/data:/app/data \
  -v /your/Caddyfile:/etc/caddy/Caddyfile:ro \
  -v /your/caddy-data:/data/caddy \
  ghcr.io/kpa-clawbot/corescope:v3.5.0

Caddy auto-provisions Let's Encrypt certs. Your Caddyfile just needs:

yourdomain.example.com {
    reverse_proxy localhost:3000
}

That's it. Zero config required — MQTT broker, Caddy HTTPS, and SQLite are built in.

Already running CoreScope?

# 1. Find your running container name
docker ps --format '{{.Names}}'

# 2. Stop and remove it
docker stop <container-name> && docker rm <container-name>

# 3. Pull the pre-built image
docker pull ghcr.io/kpa-clawbot/corescope:v3.5.0

# 4. Run with your existing data directory
docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
  -v /your/data:/app/data \
  -v /your/Caddyfile:/etc/caddy/Caddyfile:ro \
  -v /your/caddy-data:/data/caddy \
  ghcr.io/kpa-clawbot/corescope:v3.5.0

Your data volume stays. Nothing to migrate.

Tags: v3.5.0 (this release) · latest (latest tagged release) · edge (master tip, for testing). Env: DISABLE_CADDY=true / DISABLE_MOSQUITTO=true if you bring your own.


83% Faster

35 performance commits. Packets endpoint p50 dropped from 16.7ms → 2.7ms. Server now serves HTTP within 2 minutes on any DB size — async background backfill means you're never staring at a loading screen. N+1 API calls killed everywhere. Prefix map memory cut 10x. WebSocket renders batched via rAF.


🔬 RF Health Dashboard

New Analytics tab. Per-observer noise floor as color-coded columns (green/yellow/red), airtime utilization, error rates, battery levels. Click any observer for the full breakdown. Region-filterable. This is the beginning of making CoreScope more than just a packet viewer.


🗺️ See Where Traces Actually Go

Send a trace → watch it on the live map. Solid animated line shows how far it got. Dashed ghost shows where it didn't reach. Finally know where your trace failed, not just that it failed.


📊 Things That Were Lying To You

  • "By Repeaters" was counting companions. Fixed.
  • Zero-hop adverts claimed "1 byte hash" when the hash size was unknowable. Fixed.
  • "Packets through this node" showed packets through a different node with the same prefix. Fixed — now uses the neighbor affinity graph.
  • Table sorting on nodes/neighbors/observers silently did nothing. Fixed.

Deep links — every page state goes in the URL. Share a link to a specific node, filter, or analytics tab.

Channel colors — click the color dot next to any channel, pick from 8 colors, see it highlighted across the feed. Persists in localStorage.

Distance units — km, miles, or auto-detect from locale. Customizer → Display.

Mobile — 44px touch targets, ARIA labels, responsive breakpoints.

Security — weak API keys rejected at startup. License: GPL v3.


📡 Full API Documentation

Every endpoint is now documented with an auto-generated OpenAPI 3.0 spec — always in sync with the running server.

On your own instance: /api/docs and /api/spec.


🐛 14 Bugs Squashed

Live map crash, zero-hop hash lies, animation freezes, repeater miscounts, prefix collisions, dead channel picker, invisible buttons, broken sorting, memory leak, and more.


Upgrade

docker stop <container-name> && docker rm <container-name>
docker pull ghcr.io/kpa-clawbot/corescope:v3.5.0

# HTTP only:
docker run -d --name corescope -p 80:80 -p 1883:1883 \
  -v /your/data:/app/data \
  ghcr.io/kpa-clawbot/corescope:v3.5.0

# With HTTPS (custom domain):
docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
  -v /your/data:/app/data \
  -v /your/Caddyfile:/etc/caddy/Caddyfile:ro \
  -v /your/caddy-data:/data/caddy \
  ghcr.io/kpa-clawbot/corescope:v3.5.0

First start backfills resolved_path in the background. No downtime. No breaking changes.