GopherTrunk v0.5.1 — social announcement drafts

One-click copy-paste blurbs for posting the v0.5.1 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.1


Reddit — title

GopherTrunk v0.5.1 — a new ka9q-radio network SDR source (mount a remote radiod channel over IP multicast as a virtual tuner, the way one well-sited front end can feed many decoders across a LAN), a fix that restores wideband decode above 2.5 MS/s, and a batch of P25 control-channel identity recovery

Reddit — body

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

This is a maintenance release headlined by a new network SDR source and a wideband decode fix.

**What's new since v0.5.0:**

* **ka9q-radio network SDR source** (`sdr.ka9q_radio`, #765). Consume a channel from a remote ka9q-radio `radiod` instance over IP multicast, in pure Go. radiod runs fast-convolution downconverters on a front end and multicasts each channel as RTP; a channel in raw "linear" IQ mode is mounted as a virtual tuner, so one well-sited radiod can feed many GopherTrunk decoders across a LAN. The driver discovers the channel's IQ group, sample rate and encoding from radiod's status group, resolves `.local` names via mDNS, and retunes via RADIO_FREQUENCY commands. Configure with the status group `addr` and channel `ssrc`.
* **Wideband decode above 2.5 MS/s fixed** (#764). A `role: wideband` dongle run above 2.5 MS/s (e.g. an Airspy at 10 MS/s) went deaf across every tap. The DDC path now runs a shared decimate-by-D stage before the per-tap mixers so per-tap cost stays in the proven ~2.5 MS/s regime, and the channelizer bin count scales with the sample rate to hold ~150 kHz bins instead of colliding adjacent carriers.
* **P25 identity from more control-channel opcodes** (#766, #774). Systems that never transmit Network/RFSS Status Broadcasts no longer leave the "Network identity" panel blank: System ID is recovered from Adjacent Site Status Broadcasts (0x3C) and RFSS/Site from the Location Registration Response. IDs now render in hex, and autotune was tightened so it no longer over-corrects into the kHz.
* **P25 Phase 2 Motorola talker-alias reassembly fixed** (#773). The FACCH-S alias fragments are now reassembled as a nibble-aligned stream, fixing the 4-bit shift that decoded the alias to garbage.
* **Field diagnostics** (#779) — raw status-broadcast byte dumps and an optional live event JSONL log (`log.event_log`) for offline inspection when there's no IQ to replay.

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

**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.1 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.

A maintenance release headlined by a new network SDR source and a wideband decode fix.

**What's new since v0.5.0:**
- **ka9q-radio network SDR source** (`sdr.ka9q_radio`, #765) — mount a channel from a remote `radiod` instance over IP multicast as a virtual tuner, so one well-sited front end can feed many decoders across a LAN.
- **Wideband decode above 2.5 MS/s fixed** (#764) — a `role: wideband` dongle at 10 MS/s no longer goes deaf across every tap; a shared decimate stage keeps per-tap cost in the proven regime and channelizer bins scale with the rate.
- **P25 identity recovery** (#766, #774) — System ID from adjacent-site broadcasts, RFSS/Site from the Location Registration Response, hex ID rendering, and autotune that no longer over-corrects.
- **P25 Phase 2 Motorola talker-alias reassembly fixed** (#773) — nibble-aligned reassembly fixes the 4-bit shift that decoded the alias to garbage.
- **Field diagnostics** (#779) — raw status-broadcast dumps + optional live event JSONL log (`log.event_log`).

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