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

3.3 KiB

CoreScope v3.5.0

95 commits since v3.4.1.


🐳 Pre-built Docker Images

No more building from source.

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

Transitioning from a source build (docker-compose)?

# 1. Stop and remove the old compose stack
docker compose down

# 2. Pull the pre-built image
docker pull ghcr.io/kpa-clawbot/corescope:latest

# 3. Update your docker-compose.yml to use the pre-built image instead of building:
#    Change:  build: .
#    To:      image: ghcr.io/kpa-clawbot/corescope:latest
#    Keep your existing volume mounts and port mappings.

# 4. Start with the pre-built image
docker compose up -d

# 5. Verify
curl http://localhost/api/stats

Your DB, config, and theme files live in the data volume — nothing to migrate. Just swap the image reference.

Tags: latest (stable), vX.Y.Z (pinned), edge (master tip).

New env vars: DISABLE_CADDY=true, DISABLE_MOSQUITTO=true.


35 Performance Fixes

  • Packets p50 83% faster, p95 97% faster
  • Server serves HTTP within 2 minutes on any DB size (async backfill)
  • Prefix map memory 10x reduction
  • N+1 API calls eliminated across packets, observations, subpaths, hop resolution
  • WebSocket renders coalesced with rAF, map markers repositioned instead of rebuilt

🔬 RF Health Dashboard

New Analytics tab: per-observer noise floor (color-coded columns), airtime, error rates, battery. Region filter. Click any observer for detail panel.


🗺️ Live Map

  • TRACE real path: solid line for completed hops, dashed ghost for unreached
  • Movable panels: corner toggle + non-scrolling headers
  • Collapsible panels

📊 Data Accuracy

  • Hash Stats "By Repeaters" actually filters by repeater role now
  • Zero-hop adverts show "Unknown" hash size instead of wrong "1 byte"
  • "Paths through node" uses resolved_path to prevent prefix collisions
  • Table sorting works on all tables (nodes, neighbors, observers, packets)

🔗 Deep Linking

Nodes, packets, channels, analytics tabs reflected in URL hash. Shareable/bookmarkable.


🎨 UI

  • Distance units: km/mi/auto in Customizer
  • Channel colors: 8-color palette, color dots on channels + live feed
  • Mobile: 44px touch targets, ARIA labels
  • Map byte-size filter
  • OpenAPI: interactive Swagger UI at /api/docs, spec at /api/spec

🔒 Security

  • Weak API keys rejected at startup
  • License changed to GPL v3

🐛 14 Bug Fixes

originLat scoping crash, zero-hop hash size, live map animation stuck, hash stats including non-repeaters, paths-through-node prefix collision, channel color picker dead code, panel buttons invisible, table sorting broken, time.Tick leak, View Route button, vscroll measurement, collision cache TTL, prefix map unbounded growth, memory eviction accuracy.


Upgrading from v3.4.1

docker pull ghcr.io/kpa-clawbot/corescope:v3.5.0
docker stop corescope && docker rm corescope
docker run -d --name corescope -p 80:80 -p 1883:1883 \
  -v /your/data:/app/data ghcr.io/kpa-clawbot/corescope:v3.5.0

First startup backfills resolved_path in the background. Server is responsive within ~2 minutes. No breaking changes.