GopherTrunk v0.2.6 — social announcement drafts

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


Reddit — title

GopherTrunk v0.2.6 — AIS marine live end-to-end, DSC + ADS-B decoders, live map across all panels

Reddit — body

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

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

* **AIS marine is now end-to-end live** (#427, #428) — protocol layer (ITU-R M.1371-5 Class A/B position, base-station, static + voyage data) plus a 9600 Bd GMSK DSP frontend: FM demod → 76,800 sps resample → GFSK matched filter (BT 0.4) → Mueller-Müller timing → NRZI → HDLC → CRC-CCITT → decode. Pin one SDR to 161.975 (87B) or 162.025 MHz (88B) and vessel positions land on the bus, the `vessel_log` SQLite table, `/api/v1/ais/vessels`, and the `/ais` web panel.
* **DSC marine decoder** (#433) — GMDSS Digital Selective Calling on VHF channel 70 (156.525 MHz): ITU-R M.493-15 distress / urgency / safety / routine call decode, BCH(10,7) syndrome check, MMSI + position codecs. A coast-guard MMSI lighting up the stream is near-instant SAR visibility. Protocol layer + bus / storage / REST / `/dsc` panel; DSP frontend follows.
* **ADS-B aviation decoder** (#434) — the 1090 MHz data that powers FlightRadar24 / FlightAware. ICAO Annex 10 Mode-S CRC-24, DF 17 / 18 extended-squitter identification / airborne + surface position (globally-unambiguous CPR) / velocity, validated against the mode-s.org reference vectors. Protocol layer + bus / storage / REST / `/adsb` panel; DSP frontend follows.
* **Live map across APRS / AIS / DSC / ADS-B** (#435) — a shared Leaflet `PositionMap` at the top of each protocol panel. APRS fixes plot blue, AIS vessels cyan, DSC distress red, ADS-B aircraft purple; XSS-safe tooltips, camera auto-fits to the active points on every poll.
* **Full APRS Mic-E decoder** (#419) — the compressed Mic-E position/status format real APRS trackers emit now decodes alongside the uncompressed positions.
* **Trunking robustness** (#426, #431, issue #356) — distinguish a carrier-drop natural call end from a silent-timeout reap; fan raw IMBE / AMBE frames out to raw-frame sinks.
* **RTL-SDR DC-spike on P25 control, continued** (#429, #430, #432, issue #402) — fix the DDA-AFC handoff regression that froze a wrong carrier offset, default to CoarseAFC-alone with a fixed 10x AFC diagnostic, and add an adaptive 4-level C4FM slicer that tracks an asymmetric eye.
* **SDR / Windows fixes**`sdr.devices` is now a strict-mode allowlist (#417, issue #264); the warmup→step-0 race on Windows clone dongles is settled (#418, issue #395); wideband voice taps build before the voice pool (#423, fix #422) and voice-grant preemption is frequency-aware (#424); Motorola alias cipher stop recurrence corrected (#425).

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

**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.2.6 is out** — pure-Go trunking scanner for RTL-SDR / HackRF / Airspy. P25, DMR, NXDN, analog trunked, APRS, POCSAG, and now AIS / DSC / ADS-B. Single static binary, zero CGO.

**What's new since v0.2.5:**
- **AIS marine end-to-end live** (#427, #428) — ITU-R M.1371-5 protocol layer + 9600 Bd GMSK DSP frontend (FM → 76.8 ksps → GFSK matched filter → M&M timing → NRZI → HDLC → CRC → decode). Pin an SDR to 161.975 / 162.025 MHz and vessels land on the bus / SQLite log / REST / `/ais` panel.
- **DSC marine decoder** (#433) — GMDSS DSC on VHF ch 70: distress / urgency / safety / routine, BCH(10,7) syndrome check, MMSI + position codecs. Protocol layer + `/dsc` panel; DSP follows.
- **ADS-B aviation decoder** (#434) — 1090 MHz Mode-S CRC-24 + DF 17/18 ident / position (CPR) / velocity, validated against mode-s.org vectors. Protocol layer + `/adsb` panel; DSP follows.
- **Live map across APRS / AIS / DSC / ADS-B** (#435) — shared Leaflet map per panel, per-protocol marker colours, XSS-safe tooltips, camera auto-fit.
- **Full APRS Mic-E decoder** (#419).
- **Trunking** (#426, #431, #356) — carrier-drop natural end vs silent-timeout reap; raw IMBE/AMBE fan-out to raw-frame sinks.
- **P25 DC-spike on CC, continued** (#429, #430, #432, issue #402) — DDA-AFC handoff fix, CoarseAFC-alone default + 10x AFC diag fix, adaptive 4-level C4FM slicer.
- **SDR/Windows** — strict-mode `sdr.devices` allowlist (#417), clone-dongle warmup race fix (#418), wideband voice taps before pool (#423), frequency-aware preemption (#424), Motorola alias cipher stop fix (#425).

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