GopherTrunk v0.6.4 — social announcement drafts

One-click copy-paste blurbs for posting the v0.6.4 release. Each block below is a fenced code block so the rendered-markdown “copy” button grabs exactly what you’d paste.

This draft covers the whole v0.6.x line (v0.6.0 → v0.6.4) — the daily releases shipped since the last announced build (v0.5.9).

Release: https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.6.4


Reddit — title

GopherTrunk v0.6.4 — DMR & single-dongle P25 voice now decodes out of the box (no config), every browser console is reachable from the daemon, and P25 Phase 2 superframes finally lock on real traffic

Reddit — body

**[GopherTrunk](https://gophertrunk.org) v0.6.4 is out** — pure-Go digital-trunking scanner for RTL-SDR / HackRF / Airspy / USRP. P25 (Phase 1+2), DMR (AMBE+2 voice), NXDN, Motorola Type II, EDACS, LTR, MPT 1327, dPMR, D-STAR, YSF, M17, plus APRS, POCSAG + FLEX paging, and AIS / DSC / ADS-B. No CGO, single static binary for Linux / macOS / Windows.

**What's new across the v0.6.x line (since v0.5.9):**

* **DMR (and single-dongle P25) voice decodes with no extra config.** A `role: wideband` dongle used to produce talkgroups/RIDs but no audio and no recordings, because voice grants were dropped for lack of a voice device. The daemon now auto-enables a couple of virtual voice taps on each wideband dongle when trunking is configured and no physical `role: voice` SDR is present — voice decodes out of the box (set `voice_taps` to control concurrency).
* **Live browser audio fixes.** Listen-only setups no longer need a `recordings.dir` (a decode-only recorder mode streams live audio without writing files), and audio that was silent on Windows now plays — the Web Audio player runs at the device-native rate instead of pinning an 8 kHz `AudioContext` that WASAPI renders as silence.
* **Every browser console is reachable from the daemon, sharing one design system.** Signal Lab now mounts at `/siglab/` and RF Scope at `/rfscope/` alongside the operator console, Config Builder, and Crypto Lab — advertised so the nav only links to what's actually reachable, with a shared nav between them. RF Scope also joins the shared theming (dark/mono/light + reduced-motion).
* **P25 Phase 2 superframes now lock on real off-air traffic** (#813) — a garbled outbound sync constant meant `superframes=0` on every call and `algorithm_id`/`key_id` never populated; the spec-conformant sync (TIA-102.BBAC) now locks.
* **Richer P25 site telemetry on `GET /api/v1/sites`** — per-site decode quality (`clean`/`marginal`/`poor` + TSBK error rate), advertised neighbour sites with their control-channel frequencies, and a `control_channel_carrier_offset_hz` that now matches the WARN log.
* **Import & capture robustness** — RadioReference CSVs exported through Excel (UTF-8 BOM) import cleanly, native *sites* CSVs get an actionable error, an Airspy overrun no longer silently freezes the whole decode, and a strong-but-unsynced narrowband carrier now warns and points at `sdr.ppm`.

**Downloads** (Linux / macOS / Windows, x64 + ARM64): https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.6.4

**Docs:** https://gophertrunk.org

Heads-up: the v0.x line is still flagged prerelease — actively developed, feedback / captures / bug reports very welcome.

Discord

**GopherTrunk v0.6.4 is out** — pure-Go trunking scanner for RTL-SDR / HackRF / Airspy / USRP. P25, DMR, NXDN, M17, analog trunked, APRS, POCSAG + FLEX paging, AIS / DSC / ADS-B. Single static binary, zero CGO.

**What's new across the v0.6.x line (since v0.5.9):**
- **DMR & single-dongle P25 voice with no config** — a `role: wideband` dongle now auto-enables virtual voice taps, so voice decodes and records out of the box.
- **Live browser audio fixes** — no `recordings.dir` required to listen, and audio that was silent on Windows now plays (native-rate `AudioContext`).
- **Every console reachable from the daemon** — Signal Lab (`/siglab/`) and RF Scope (`/rfscope/`) join the operator console, Config Builder, and Crypto Lab under one shared nav + design system.
- **P25 Phase 2 superframes lock on real traffic** (#813) — fixed a garbled outbound sync constant, so `algorithm_id`/`key_id` populate.
- **Richer `GET /api/v1/sites`** — per-site decode quality, neighbour sites + their control channels, and a carrier-offset field that agrees with the WARN log.
- **Import/capture robustness** — Excel-exported RadioReference CSVs (UTF-8 BOM) import, native sites CSVs get an actionable error, Airspy overruns no longer freeze the decode, and off-frequency narrowband carriers now warn to set `sdr.ppm`.

Download: <https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.6.4>
Docs: <https://gophertrunk.org>