GopherTrunk v0.4.4 — social announcement drafts

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


Reddit — title

GopherTrunk v0.4.4 — a full RF & SDR learning hub (30 lessons, newbie → operator), a "Parse a P25 control channel" Hunt panel, Motorola patch-group decode, and a survey-stream non-finite-float fix

Reddit — body

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

* **RF & SDR learning hub** (#693) — a new structured, vendor-neutral learning path at [gophertrunk.org/learn](https://gophertrunk.org/learn/rf-sdr/) that takes you from complete SDR newbie to confident GopherTrunk operator across six modules (30 lessons + a glossary). Every lesson has a TL;DR, answer-first sections, reference tables, hand-authored theme-aware SVG diagrams, a knowledge-check quiz, an FAQ, and "use this in GopherTrunk" links. Plus dependency-free **site-wide search** over every page, lesson, and post, and progressive-enhancement extras (progress tracker, freq↔wavelength + dB/dBm calculators) that all work with JS off.
* **"Parse a P25 control channel" Hunt panel** (#694) — enter a single CC frequency, pick a bounded listen window, and the Hunt tab decodes it and renders the discovered system in radio-programming format: WACN / System ID / NAC, the per-channel voice band plan, and talkgroups (dec/hex, encrypted flag, activity count).
* **Motorola patch-group decode** (#376) — P25 Phase 1 now decodes Motorola patch-group (super-group) voice channel grant / grant-update TSBKs (MFID 0x90, opcodes 0x02/0x03) that previously logged as unhandled, so those super-group calls surface their radio ID + encryption and follow through the normal band-plan / Phase 2 path instead of being dropped.
* **Survey stream survives non-finite floats** (#648) — a live TETRA-zone survey could tear down the WebSocket when a marginal carrier produced a +Inf SNR/confidence that the JSON encoder can't represent. Fixed end-to-end: clamped at the hunt classify chokepoint, scrubbed at the JSON wire boundary for every event kind, the WS handler now drops one bad frame instead of killing the stream, and the P25 SNR estimators return a finite 99 dB ceiling at the source.

**Downloads** (Linux / macOS / Windows, x64 + ARM64): https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.4.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.4.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 since v0.4.3:**
- **RF & SDR learning hub** (#693) — a new [/learn/rf-sdr/](https://gophertrunk.org/learn/rf-sdr/) path from SDR newbie → operator: six modules, 30 lessons + glossary, each with a TL;DR, SVG diagrams, quizzes, an FAQ, and "use this in GopherTrunk" links. Plus dependency-free site-wide search and JS-optional calculators / progress tracking.
- **"Parse a P25 control channel" Hunt panel** (#694) — enter one CC freq, decode it, and read back the system in radio-programming format: WACN / System ID / NAC, voice band plan, and talkgroups (dec/hex, enc flag, activity).
- **Motorola patch-group decode** (#376) — P25 P1 now decodes Motorola super-group voice grant / grant-update TSBKs that previously logged as unhandled, so those calls surface src RID + encryption and route normally.
- **Survey stream non-finite-float fix** (#648) — a +Inf SNR/confidence used to tear down the live WebSocket survey; now clamped at the hunt chokepoint, scrubbed at the JSON wire boundary, dropped per-frame instead of per-connection, and bounded to a finite 99 dB ceiling at the P25 estimator source.

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