github aethersdr/AetherSDR v0.7.11
v0.7.11 — DAX IQ, Click-to-Spot, Record/Play, Drag-Reorderable Applets

latest releases: v26.5.2.1, v26.5.2, v26.5.1...
one month ago

v0.7.11 Release Notes

New Features

Panadapter Click-to-Spot (#36)

  • Right-click on the panadapter to create a spot marker with callsign, comment, and configurable lifetime
  • Optionally forward spots to your connected DX cluster
  • Right-click on existing spots: Tune, Copy Callsign, QRZ Lookup, Remove
  • Spot frequency snaps to tuning step size

Per-Slice Record & Play (#164)

  • Record (⏺) and Play (▶) buttons on each VFO flag, matching SmartSDR placement
  • Record button pulses red while recording
  • Play disabled until a recording exists (radio-managed)
  • TX playback: press MOX then Play for a built-in voice keyer

DAX IQ Streaming (#124)

  • Raw I/Q data from the radio's DDC to external SDR apps (SDR#, GQRX, GNU Radio)
  • 4 IQ channels at 24/48/96/192 kHz via PulseAudio virtual capture devices
  • DIGI applet: per-channel rate dropdown, level meters, On/Off toggle
  • Spectrum overlay: IQ channel routing selector per panadapter
  • Dedicated worker thread for byte-swap and pipe I/O at high sample rates

Applet Panel Collapse (#178)

  • ☰ hamburger icon in the status bar toggles the right applet panel
  • Spectrum/waterfall expands to full width when panel is hidden
  • Also available via View → Applet Panel checkbox
  • Custom painted +PAN spectrum icon replaces text label

Drag-Reorderable Applets (#335)

  • Drag applets by their ⋮⋮ grip title bars to reorder in the panel
  • Order persists across sessions
  • View → Reset Applet Order to restore defaults
  • Built on QDrag framework (future-proofs for pop-out to floating windows)

Opus Codec Independent of RADE (#375)

  • SmartLink compressed audio now works without the RADE digital voice module
  • System libopus detected via pkg-config when RADE is disabled
  • Windows: setup-opus.ps1 builds static opus from source

Modeless Dialogs

  • SpotHub, Radio Setup, and MIDI Mapping dialogs no longer block the main window
  • Interact with the radio while dialogs are open

Bug Fixes

BNR Crash Fix (#376)

  • r8brain resampler buffer overflow — BNR output can return up to 9,600 samples at once but the resampler was allocated for 4,096. Increased to 16,384. Found and verified via ASAN.

AppSettings Corruption Prevention

  • Atomic save: write to .tmp file, validate XML, rename over original
  • Backup recovery: auto-recover from .bak if main file is corrupt
  • Count guard: refuse to save if settings count dropped below half of loaded count
  • Key validation: skip keys with invalid XML element name characters

RadioModel Shutdown Use-After-Free

  • Disconnect all signals from RadioConnection before member destruction
  • Prevents accessing destroyed XVTR map and slice models during teardown
  • Found via AddressSanitizer (ASAN) build

Opus SSE Alignment

  • Copy input data to alignas(16) buffers before opus_encode/opus_decode
  • Prevents SEGV on SSE-optimized RADE opus builds

Spot Label Deconfliction

  • Re-scan all placed labels after each nudge to properly stack across all levels
  • Spots no longer overlap when multiple labels are close in frequency

Other Fixes

  • Duplicate spot-to-cluster sends fixed (disconnect before reconnect in wirePanadapter)
  • DIGI applet section headers use distinct label style (not confused with draggable title bars)
  • DIGI applet layout: CAT Control and DAX Enable rows moved below their channel status for cleaner visual flow

Platform Notes

  • DAX IQ pipe output is Linux/macOS only. Windows DAX IQ support tracked in #87.
  • Opus standalone requires system libopus on Linux (libopus-dev) or macOS (brew install opus). Windows builds from source via setup-opus.ps1.

73, Jeremy KK7GWY & Claude (AI dev partner)

Don't miss a new AetherSDR release

NewReleases is sending notifications on new releases.