Skip to content

v0.5.2.0 — mesh routing hardening, telemetry, Linux swarm ops

Latest

Choose a tag to compare

@matthewdcage matthewdcage released this 23 Aug 00:55

0.5.2.0: mesh routing hardening, telemetry, and Linux swarm ops

Minor release since v0.5.1.0 (2026-08-11 DMG). Rolls up routing pool fixes, opt-in gateway-led mesh capacity coordination, windowed telemetry, discovery probe hygiene, and Linux swarm helper scripts. Includes everything in 0.5.1.0.

New

  • Gateway-led mesh capacity coordinator (opt-in, PR #71)mesh_coordinator gateway mode with heartbeat routing_capacity gossip, mesh_capacity selection helpers, and local agent.max_concurrency self-admission. Dashboard and macOS Settings expose the controls. Default off preserves legacy decentralized selection.
  • Windowed telemetry traffic rows (PR #66)GET /netllm/v1/telemetry and dashboard Home / Serving views show windowed source/scenario throughput; scroll position preserved across dashboard tab refreshes.
  • Linux swarm ops helpers (PR #53)packaging/linux/install-swarm-firewall.sh and install-ollama-concurrency.sh for LAN mesh firewall rules and Ollama concurrency tuning on Debian/RPM installs.

Fixed

  • Pool-scoped overflow (PR #71) — Separate model pools on one host no longer union into cross-capability overflow (chat requests could rewrite to embedding models). Overflow is scoped to pools listing the requested name, filtered by capability, with one served model bound per (pool, host).
  • Sticky host binding (PR #71) — Pool effectiveness checks on dashboard and macOS align with alias-aware candidacy.
  • Symmetric pool spillover on gateways (PR #70)local_spillover tiered overflow among pool hosts works symmetrically when the gateway's local tier is saturated.
  • Mesh candidacy for pool overflow (PR #68) — Unified mesh candidacy so pool overflow reaches LAN peers instead of collapsing to local-only substitution.
  • Discovery best-probe selection (PR #52) — Prefer the probe URL with the richest model catalog; skip zero-model URL merge when provider_urls lists multiple ports.
  • macOS pool model matcher (PR #71)@MainActor Settings helper marked nonisolated for menubar-lifecycle CI.

Upgrade

macOS (notarized DMG)

Download llm-swarm-router.dmg from GitHub Releases or upgrade in place:

packaging/scripts/macos-app-install.sh --dmg ~/Downloads/llm-swarm-router.dmg

Menubar Updates → Check for Updates… picks up the release when the DMG asset is published.

From a git checkout (macOS 26+):

git checkout v0.5.2.0
uv sync
apps/netllm-mac/Scripts/build.sh release
packaging/scripts/macos-app-install.sh --source apps/netllm-mac/build/Stage/llm-swarm-router.app

CLI / Linux / Windows

git checkout v0.5.2.0
uv sync
./netllm restart   # or systemctl --user restart netllm / menubar Restart Agent

Hard-refresh the dashboard (Cmd+Shift+R) if cached dashboard.js is stale.

Verify:

curl -sf http://127.0.0.1:11400/health
./netllm doctor
./netllm test
open http://127.0.0.1:11400/ui/

Test plan (release gate)

  • ./scripts/verify-before-pr.sh --full
  • ./scripts/ci.sh e2e
  • ./scripts/live-routing-smoke.sh (maintainer LAN mesh, optional)

Previous release