# 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. ```bash 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: ```bash 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?** ```bash # 1. Find your running container name docker ps --format '{{.Names}}' # 2. Stop and remove it docker stop && docker rm # 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 Β· 🎨 Channel Colors Β· πŸ“± Mobile Β· πŸ”‘ Security **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. - **Interactive Swagger UI:** [analyzer.00id.net/api/docs](https://analyzer.00id.net/api/docs) β€” browse and test all 40+ endpoints - **Machine-readable spec:** [analyzer.00id.net/api/spec](https://analyzer.00id.net/api/spec) β€” import into Postman, Insomnia, or use for bot/integration development 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 ```bash docker stop && docker rm 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.