Skip to content

AetherSDR v26.8.1 — Settings Store, TCI Rig Control & Metering Accuracy

Latest

Choose a tag to compare

@ten9876 ten9876 released this 02 Aug 20:58
v26.8.1
4037d2d

118 commits across 15 contributors since v26.7.4.1. Full detail in CHANGELOG.md.

Before you upgrade

Three things change what runs where. Everything else is a straight upgrade.

  • Intel Macs: speech-to-text is no longer included. The Intel DMG now targets macOS 12.0, down from 13.0, so it reaches the older hardware it exists for. That is only possible without Copy Assist: the speech runtime is published with a macOS 15.5 minimum, and macOS applies the highest minimum of anything inside an app bundle to the whole app — so shipping it meant shipping a DMG most Intel Macs could not launch at all. Apple Silicon is unaffected and keeps Copy Assist in full.
  • Raspberry Pi / ARM: the aarch64 AppImage now needs Raspberry Pi OS Trixie. It moves to Qt 6.8.3 LTS, which raises its glibc floor to 2.38. Bookworm cannot run it — as was already true of the builds it replaces. In exchange the ARM AppImage finally renders the spectrum on the GPU instead of falling back to CPU drawing.
  • Building from source now requires Qt 6.8 or newer. Nothing changes if you use the released binaries — they were already built against 6.8.3. Distro Qt satisfies this on Debian Trixie, Ubuntu 25.10+, Fedora 41+ and Arch. On Ubuntu 24.04 LTS it does not; build against a Qt from aqtinstall or the Qt online installer and pass -DCMAKE_PREFIX_PATH=/path/to/Qt/6.8.3/gcc_64.

Your settings migrate to the new store automatically on first launch. The old AetherSDR.settings file is left in place untouched, so rolling back to an older release keeps the settings you had at upgrade time.

Headlines

Your settings move to a real database.

  • Settings now live in a SQLite store instead of the XML file, with transactional saves rather than a full-file rewrite every time, startup integrity checks, automatic verified backups, and quarantine + restore if the store is ever damaged — with a notice telling you which backup was used. (#4612)
  • Credentials leave the settings file entirely. The MQTT password, automation-bridge token and remote-ASR API key move to your OS keychain during the upgrade. (#4612)
  • New Settings Browser (Settings ▸ Settings Browser…) — browse and edit the whole store with live filtering, guarded editing, and a sanitized diagnostic export. Credential-shaped values are masked and read-only. (#4631)
  • New --config command lineaethersdr --config list|get|set|unset|export|path inspects or repairs settings without starting the GUI, which is the escape hatch when a bad stored value stops the app from launching. (#4612)
  • Bookmarks are durable the moment you make one: the band stack writes through immediately instead of riding on a later save that a crash could beat. (#4621)

TCI rig control keys the slice you asked for.

  • Since v26.7.4 no TCI client could activate the slice it named — keying stayed pinned to wherever transmit already sat. Before that, every client's trx:0 promoted the first slice, so a second WSJT-X instance yanked transmit off the slice the first one was working. Both are fixed, and satellite and cross-band split are preserved. (#4547)
  • Three further faults in the same path go with it: a cached route can no longer outlive the live transmit slice and move transmit onto a stale slice's band and antenna, an unresolvable receiver is declined instead of transmitting on the first slice, and two clients on one radio each resolve against the receiver they declared. Refusals now reply rather than failing silently. (#4547)
  • Receiver numbers stay stable when a slice is closed mid-session, so a live client's binding no longer goes stale. (#4567)
  • The routing decision is now logged, which is what makes a report diagnosable at all. (#4547)

The interface follows what your radio actually reports.

  • GPS status is gated on live hardware presence as well as the radio family, so a Flex with the GPSDO option not fitted no longer shows a GPS stack. (#4598)
  • The DVK button follows your radio's SmartSDR+ entitlement — without it, DVK read as broken rather than unlicensed, after you had already recorded into a slot that was never going to work. (#4653)
  • The status bar's PA supply voltage no longer renders a fabricated 0.00 V on radios that never report one. (#4597)

Metering accuracy.

  • Forward power kept reporting for about three seconds after unkey — the raw meter read zero within 200 ms while the derived watts value decayed exponentially from full power. (#4540)
  • SWR no longer reports a stale reading while receiving. With no transmit for sixteen minutes the meter kept showing the value measured during the previous transmit, which reads as a live antenna fault on a station that is working perfectly. (#4533)
  • Amplifier bar gauges no longer keep painting the old scale after an auto-range or a LOW/MID/HIGH change. Measured on the bench: an ACOM reflected-power gauge showed 206 W for 120 W and stayed there. Reflected power is the worst case, because that is the reading you use to decide whether to stop transmitting. (#4636)
  • The TX filter now tells you when it is removing your transmit audio — a low/high cut that excludes the audio keys the radio normally and produces almost no RF, and in DIGU/DIGL there was no cue at all. (#4649)

Noise reduction.

  • RN2 no longer pumps on stereo and binaural receive audio. If you listen with binaural or diversity audio, the noise floor no longer rises every time someone talks. RN2 was deriving one gain envelope from an L/R downmix and applying it to both channels, which is exact for mono and wrong for binaural. Nothing changes for duplicated-mono slices, or in how much noise RN2 removes. (#4584)
  • New, off by default: RN2 ▸ Noise Floor. RNNoise gates hard, which some operators hear as the receiver going dead rather than quiet. This leaves a percentage of the original signal under the denoised audio so the band still sounds live between phrases. 10–20% is a usable floor.
  • Transmit audio no longer breaks up with RN2 enabled — the pacer could never repay a missed deadline, so recovered microphone frames accumulated until the queue cap discarded audio outright. Reported by @Bill6000 on a FLEX-6500 under Linux Mint. (#4584)

Receive and squelch.

  • Manual squelch is remembered per slice again on every path — from a non-active slice's VFO flag, a MIDI or controller knob, or the radio itself. Previously only the RX applet kept that memory current, so cycling the SQL button pushed a stale value back to the radio and quietly undid what you had set. (#3326, #4592)
  • Squelch is no longer saved between sessions; it belongs to the radio, and new slices now start from the radio's own level. (#4592)
  • The CW APF level slider follows APF engagement instead of dragging, updating and commanding the radio while the audio is untouched. (#4658)

Spectrum and waterfall.

  • Changing the waterfall Scheme now recolours the history you are already looking at, instead of only the rows that arrive next. Switching themes does the same. Nothing moves while it happens — scroll position, paused scrollback and the scroll animation are all preserved. (#4694)
  • 3D FFT and waterfall history are stabilised against repeated zoom, pan, band changes and window resizing: false spikes, flat floor sections, bouncing boundary rows, shimmer, and pan previews that snapped back on release. (#4539)
  • Fixed a stack overflow that could crash the app on a waterfall source switch. (#4595)
  • A band change can no longer black out the waterfall. (#4522)
  • The AetherVoice channel-strip waveform no longer starves the waterfall of render time when you enlarge it. (#4616)

KiwiSDR.

  • RX audio stays warm through transmit, so unkey no longer costs about a second of silence and an audible re-sync. There is a per-profile Keep audio during TX option, and a new Resume audio after TX delay for receivers far enough away to hear your own tail. (#4380, #4571)
  • A tuned carrier in CW is audible again — the BFO is now offset by the radio's CW pitch instead of landing the carrier at 0 Hz. (#4423)
  • A Kiwi pan keeps its zoom through a tune-driven recentre instead of snapping back mid-drag. (#4424)

Themes.

  • The compiled fallback table is now generated from the bundled theme rather than hand-maintained, and pinned in CI. It had drifted on 9 tokens — it said slice A was red while both bundled themes say cyan — and 24 more tokens had no fallback at all, resolving to transparent on older themes, which could leave the waterfall with no colormap. (#3184)
  • Radial gradients no longer lose their centre on every save, and two more silent round-trip losses in save / export / template resolve are fixed. (#4573)
  • "Reset to default" follows the theme you are actually editing — on Default Light it restored the dark value for 96 of the 147 shared tokens. (#4575)
  • A themed widget reparented after it was styled is re-resolved, fixing the frequency display reverting to the default font after a band change. (#4520)

Controllers, spotting and operating.

  • Stream Deck becomes slice-aware: a Slice Target action cycles TRX0 → TX → ACTIVE across mode, DSP, squelch, lock, RIT/XIT, split, volume, mute and the VFO dial, and keys now show live values from the radio instead of static manifest labels. The default is unchanged, so an existing deck behaves exactly as before. (#4513)
  • Ulanzi Dial buttons can hold PTT and key CW, and remember what you mapped them to. Only the button-down half of each press was being read, so PTT (Hold) and CW keys did nothing at all. If the dial disconnects mid-transmission, everything it was holding is released immediately. (#4611)
  • FlexControl recovers on its own after losing its USB port instead of staying dead until you restart the PC. (#4574)
  • SpotHub gains a Freeze toggle so you can click a spot without the list shifting under you. (#4145)
  • A collapsed VFO's right-click Add Spot captures the VFO's frequency rather than the cursor's. (#4455)
  • The amplifier fan mode is a pull-down instead of a blind click-to-cycle button. (#3905)
  • Repeater offset controls are visible in DSTR mode. (#4240)
  • The IARU Region 1 80 m band plan is corrected — 3.600–3.620 MHz is ALL, not DIGI. (#4610)
  • The Connect to Radio footer stays reachable at Windows DPI and font scaling, and a radio that rejects the connection now fails cleanly with its own error and recovery instructions instead of continuing as an unusable client. (#4515, #4481, #4560)
  • Screen readers no longer stutter on the ATU relay bars or the CW decoder range sliders during an ATU sweep or a held arrow key. (#4565)

Platform and packaging.

  • The Linux AppImage runs natively on Wayland instead of XWayland. Text and the spectrum are sharp under fractional scaling, and the AppImage finally receives the GLX crash fix every other Linux build has had since v0.8.12. It now asks for Wayland with a fallback, so a machine without it quietly uses XWayland rather than failing to start. Reported by @cjdellis on Ubuntu 24.04. (#1389, #1233)
  • Qt 6.8.3 LTS is now the pin everywhere — the CI image, both AppImage architectures, the Windows installer and both macOS legs. The Apple Silicon DMG previously took whatever Qt Homebrew was publishing that day, which is the most likely explanation for #2191. The release now refuses to produce a macOS app that has silently lost GPU spectrum rendering or bundles an unpinned Qt. (#4688, #2191)
  • Windows: the frameless window no longer drifts a title-bar height down the screen on every launch, and the D-STAR waveform helper's firewall rule is provisioned so its traffic is not silently blocked. (#4328, #4317)
  • macOS: Copy Assist no longer freezes the app on first use — on one Intel MacBook Pro for over 75 minutes — and a crash path on the filter passband is avoided. (#4535, #4525)
  • AetherVoice playback, CW sidetone and Quindar tones work on class-compliant multichannel USB interfaces on Windows. (#4641)
  • Every HTTP request now has a transfer timeout, so a half-open connection no longer leaves space-weather, POTA, PSK Reporter, SmartLink auth, the version check and map tiles pending forever with no error. (#4688)
  • Optional system libwhisper for distribution packagers. (#4516)

Other radios.

Work continued on the experimental Hermes-Lite 2 backend and on the host-side memory bank that gives radios without memory slots a working memory feature. Hermes-Lite 2 remains experimental and is not a supported radio family; FlexRadio remains the supported target. See CHANGELOG.md for the detail.

Contributors

Big thanks to @ten9876 (maintainer — the settings store and Settings Browser, the Qt 6.8 floor and CI image, the macOS and Windows Qt pins, AppImage Wayland and aarch64 packaging, the macOS DMG rescue and the Intel macOS 12 floor, HTTP timeouts, CI cost and image publishing, and the documentation pass), @nigelfenton (the generated theme seed and the theme round-trip, reset-to-factory and re-resolve fixes, the colour ratchet, gauge range re-mapping, FlexControl recovery, the meter freshness fixes, and the automation guards), @rfoust (the 3D FFT and waterfall stabilisation pass, RN2 stereo and TX pacing, the waterfall palette recolour, connection-registration recovery, the Connect panel, D-STAR firewall and DSTR repeater offset, GPS gating, ASR GPU discovery, and the band-recall race), @jensenpat (receiver and transmit-chain work, the capability gating, TCI PTT routing, mic gain and wattmeter accuracy, and the WSPR beacon), @skerker (TCI receiver-number stability, the DAX restore window, the Metal-kernel build fix, demo Morse spacing, the Demo Noise wrap layout, and the logging regression guard), @Ozy311 (the status bar, PA supply-voltage gating, TX filter attenuation reporting, the TCI routing log, and AetherClock on backends without DAX), @M7HNF-Ian (per-slice manual squelch and its follow-up, the SpotHub Freeze toggle, the amp fan-mode pull-down, and the collapsed-VFO Add Spot fix), @quelleck (warm KiwiSDR audio through TX, Resume-after-TX-delay, and the Kiwi pan zoom fix), @wa2n-code (the KiwiSDR CW BFO offset, the auxiliary-sink probe-at-open fix, and the stack-overflow crash), @nonoo (Ulanzi Dial PTT hold, CW keying release and mapping persistence), @NF0T (client-side recording refusal when PC Audio is off), @milenjb (the Stream Deck slice-targeting pass), @w9fyi (the relay-bar and range-slider accessibility throttle), @dawkagaming (optional system libwhisper), and @motoham88 (the Connect-to-Radio panel size test). Dependabot contributed 3 dependency bumps.

73, Jeremy KK7GWY & Claude (AI dev partner)


Downloads

Linux AppImage (x86_64 / aarch64), macOS DMG (Apple Silicon + Intel, signed + notarized), Windows installer (setup.exe) + portable ZIP, and the Stream Deck plugin are attached below — built and signed by CI workflows on this tag.

Full diff: v26.7.4.1...v26.8.1

Verifying releases: see docs/VERIFYING-RELEASES.md. Signing key: docs/RELEASE-SIGNING-KEY.pub.asc.