GopherTrunk v0.5.5 — social announcement drafts

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

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


Reddit — title

GopherTrunk v0.5.5 — Tier II conventional DMR now decodes 2-slot interleaved voice by default (fixes the "DJ scratch" garble), the wideband voice-tap DDC is span-aware so band-edge grants finally tune, and SoapyRemote overruns are surfaced and shed instead of silently shredding every channel

Reddit — body

**[GopherTrunk](https://gophertrunk.org) v0.5.5 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 since v0.5.4:**

* **2-slot interleaved voice by default for Tier II conventional DMR** (#644). A DMR repeater carrier is 2-slot TDMA, so the single-slot decoder sliced alternating timeslots into each superframe — the "DJ scratch", garbled-audio signature from the field report (every quality line showed `lc_superframes=0` with real, FEC-clean AMBE, not noise). `proto=dmr-tier2` conventional systems now default to the 2-slot interleaved cadence so the slot router binds and audio reconstructs cleanly.
* **Span-aware voice-tap DDC so outer wideband grants tune.** A wide DMR plan on a 10 MS/s capture has voice grants out past ±1.9 MHz; the engine bound those grants but the per-call DDC was built without span and rejected anything beyond ±1.1 MHz, so the band-edge carriers produced no audio. The per-call bank is now sized from the tap offset (the span-aware path #764 added for the control channel), so any grant inside the advertised band actually tunes.
* **SoapyRemote overruns are surfaced and drained without stalling the radio.** At high sample rates a blocked reader stopped draining the socket and stopped sending flow-control ACKs, so the device overflowed and dropped samples — shredding every channel's framing at once, with only an invisible per-datagram DEBUG line as a signal (one tester saw 1586 overflows in ~4 min with no idea why). Overruns now report at a rate-limited WARN with running counts and an actionable hint, the read loop never blocks (it sheds the oldest queued chunk and counts it), the channelizer per-tap loop is parallelized across CPU cores, and an oversampled capture rate draws a lower-the-rate advisory at startup.
* **Talker-alias cipher cryptanalysis writeup** (#773). A chosen-plaintext capture procedure and the documented cryptanalysis findings (product-form decode decomposition), linked to the issue thread — for anyone who wants to help pin the cipher.

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

**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.5.5 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 since v0.5.4:**
- **2-slot interleaved voice by default for Tier II conventional DMR** (#644) — fixes the "DJ scratch" garble where the single-slot decoder chopped alternating timeslots together; the slot router now binds and audio reconstructs.
- **Span-aware voice-tap DDC** — band-edge wideband grants (out past ±1.9 MHz on a 10 MS/s plan) finally tune instead of producing silence.
- **SoapyRemote overruns surfaced and shed** — a rate-limited WARN with counts + hint, a non-blocking read loop that keeps the socket drained, a parallelized channelizer, and a lower-the-rate startup advisory. No more silent channel-wide framing shred.
- **Talker-alias cipher cryptanalysis writeup** (#773) — chosen-plaintext capture procedure + findings, for anyone who wants to help.

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