Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ Full dependency list is in `README.md`. Adding a test: declare it in

### Version and release files

Current version: **26.10.2**.
Current version: **26.10.3**.
Versioning scheme is **CalVer** (`YY.M.patch[.hotfix]`) starting from v26.5.1,
the 1.0-equivalent. Hotfix sub-patches use a 4th component (e.g. 26.5.2.1).
Earlier tags used semver through v0.9.8.
Expand Down
92 changes: 92 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if(POLICY CMP0156)
cmake_policy(SET CMP0156 NEW)
endif()

project(AetherSDR VERSION 26.10.2 LANGUAGES C CXX)
project(AetherSDR VERSION 26.10.3 LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
Expand Down
32 changes: 19 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

AetherSDR brings full FlexRadio operation to Linux, macOS, and Windows — each a native build, no Wine or virtual machines. A native aarch64 build also runs on Raspberry Pi and other embedded ARM devices. Built from the ground up with Qt6 and C++20, it speaks the SmartSDR protocol natively and aims to replicate the full SmartSDR experience.

**Current version: 26.10.2** — CalVer (`YY.M.patch[.hotfix]`). | [Download](https://github.com/aethersdr/AetherSDR/releases/latest) | [Discussions](https://github.com/aethersdr/AetherSDR/discussions) | [What's New](https://github.com/aethersdr/AetherSDR/releases)
**Current version: 26.10.3** — CalVer (`YY.M.patch[.hotfix]`). | [Download](https://github.com/aethersdr/AetherSDR/releases/latest) | [Discussions](https://github.com/aethersdr/AetherSDR/discussions) | [What's New](https://github.com/aethersdr/AetherSDR/releases)

> **Native builds for Linux, macOS, and Windows** — Linux AppImage (x86-64 + aarch64), macOS DMG (Apple Silicon + Intel), Windows installer and portable ZIP. Every platform is built, tested in CI, and released together.

Expand All @@ -31,12 +31,13 @@ AetherSDR brings full FlexRadio operation to Linux, macOS, and Windows — each
- **AetherModem packet radio** — KISS-over-TCP TNC, connected-mode AX.25 BBS, a personal mailbox, a WIDE1-1 fill-in digipeater, and an **APRS client** (station table, GPS beacon, messaging) on a Direwolf-derived VHF demodulator
- **AetherSweep** — in-panadapter SWR analyzer with log scale, threshold-band shading and interpolated bandwidth at SWR ≤ 1.5 / 2.0
- **SpotHub** — DX Cluster, RBN, WSJT-X, POTA, FreeDV Reporter, N1MM+/DXLog contest bandmap, the EiBi shortwave schedule and the KiwiSDR DX Community database, with auto-mode switch and per-feed colouring
- **CW operator suite** — real-time Morse decoder, MIDI/keyboard straight-key and iambic paddles with full QSK, optional Quindar tones
- **Local voice keyer** — twelve PC-microphone recordings up to 30 seconds each, with preview, import/export and F1–F12 playback; radio DVK remains available separately
- **CW operator suite** — ggmorse plus download-on-demand DeepCW and DeepFist receive decoders where ONNX Runtime is available (ggmorse only on Intel macOS), MIDI/keyboard straight-key and iambic paddles with full QSK, optional Quindar tones
- **Copy Assist (speech-to-text)** — on-device transcription of received voice via whisper.cpp, docked under the waterfall with confidence colour-coding, optionally from the audio before noise reduction. CPU or GPU (Vulkan/Metal, auto-detected), download-on-demand models, optional remote OpenAI-compatible endpoint. Not in the Intel macOS build — see [`docs/asr-copy-assist.md`](docs/asr-copy-assist.md)
- **FreeDV RADE** — AI digital-voice codec with a client-side neural encoder/decoder
- **AetherMap (PSK Reporter) overlays** — optional global precipitation (LibreWXR, with NOAA, ECCC and EUMETNET OPERA regional radar backups and a per-provider legend), NOAA/NWS weather radar with observation playback ([`docs`](docs/psk-reporter-weather-radar.md)) and a NASA/GSFC VIIRS night-lights layer that fades through civil twilight ([`docs`](docs/psk-reporter-city-lights.md)), on both the 2D map and 3D globe
- **SmartLink remote, remote over CGNAT, and a TCI v2.0 server** — Auth0/TLS WAN operation; an in-radio Tailscale node that carries AetherSDR to a FLEX-8000 or Aurora radio behind CGNAT; and CAT + audio + IQ + CW + spots + tune and receiver events over a single TCI WebSocket
- **Broad hardware control** — rigctld and virtual-serial CAT, MIDI mapping, the FlexControl knob, serial PTT/CW keying, Multi-Flex operation alongside SmartSDR/Maestro, and a relay that puts a CTR2-Max controller on the radio over Wi-Fi (USB pending CTR2 firmware)
- **Broad hardware control** — rigctld and virtual-serial CAT, MIDI mapping, the FlexControl knob, serial PTT/CW keying, Multi-Flex operation alongside SmartSDR/Maestro, and a CTR2-Max relay over Wi-Fi, with negotiated spectrum and CW-text extensions for compatible USB controllers
- **Workspace canvas** — place pans and applets freely as resizable, layered items with edge and grid snapping, across several windows if you want them. Named workspaces recall which applets are open as well as where they sit, and bind to radio profiles. Off by default; the Classic shell is unchanged until you enable it
- **A user guide at [docs.aethersdr.com](https://docs.aethersdr.com)** — Stable and Next versions, a printable PDF manual signed with each release, and a Log Analyzer that reads a log or support bundle in your browser without uploading it
- **Built-in demo mode** — a synthetic backend generating its own RX audio and matching panadapter, with a fault-injection harness, so you can explore the full UI with no radio attached (it cannot transmit)
Expand Down Expand Up @@ -77,10 +78,11 @@ Works with any FlexRadio transceiver, including:

Supported external devices include the 4O3A/FlexRadio PGXL (Power Genius XL)
power amplifier and TGXL (Tuner Genius XL) antenna tuner, and — outside the
radio seam entirely — ACOM S-series and SPE Expert (1.3K-FA / 1.5K-FA / 2K-FA)
radio seam entirely — ACOM S-series and SPE Expert (original 1K-FA / 1.3K-FA / 1.5K-FA / 2K-FA)
amplifiers over serial or ser2net TCP, and VK3AMP (600 W / 1000 W / 2000 W)
amplifiers over TCP control with UDP telemetry, and the Elecraft KPA1500 over
TCP (not yet validated on hardware). Direct TGXL, PGXL and Antenna Genius
TCP (not yet validated on hardware), plus KPA500, KAT500 and KXPA100/KXAT100
over local serial or raw TCP, with Full/Mini applets and Advanced maintenance. Direct TGXL, PGXL and Antenna Genius
connections authenticate with the device's access code.

Active test target is FLEX-8600 firmware 4.2.18 (SmartSDR protocol v1.4.0.0);
Expand All @@ -90,7 +92,7 @@ earlier 4.x firmware works; v3.x is unsupported.
a supported family yet (one Icom model is supported on its own, below), and
FlexRadio remains the supported target:

- **Hermes-Lite 2** — **experimental**. Four independent receivers, SSB voice
- **Hermes-Lite 2** — **experimental**. Four independent receivers, SSB, AM, DSB and simplex FM/NFM voice
through WDSP's TXA modulator with a reduction-only ALC, CW/RTTY decoding,
AX.25 packet, band switching with hardware filters, manual notch filters, a
host-side impulse noise blanker, host frequency calibration, a derived dBm
Expand Down Expand Up @@ -119,12 +121,15 @@ FlexRadio remains the supported target:
balance apply, and receive audio also plays through the radio's own speaker.
AGC-T spans −20 to 120 dB, NB2 interpolates over impulses, the status bar
shows the supply voltage and link, and frequency, mode, step, output level
and dBm range are remembered per radio. Transmit is a future phase.
and dBm range are remembered per radio. Front-end settings are under Radio
Setup → Radio; discovery probes each distinct attached IPv4 subnet. Transmit
is a future phase.
- **RTL-SDR** — **experimental, receive-only**, bundled in every official
package. Discovers supported USB dongles through `librtlsdr` and provides one
panadapter and, at a normal launch, one host-demodulated slice, publishing
only the receive state the dongle confirmed, with capture browsing, a
65,536-point zoom FFT, WFM stereo, live PPM adjustment, per-receiver squelch
65,536-point zoom FFT, SSB/CW and AM/SAM reception, selected-receiver CW
decoding and Copy Assist, WFM stereo, live PPM adjustment, per-receiver squelch
and relative meters, and receive DAX/TCI feeds. Two, four or eight receivers
are an explicit evaluation, not yet a production claim.

Expand Down Expand Up @@ -256,19 +261,20 @@ Currently in flight:
vendor-neutral `IRadioBackend` seam that six backends already ride. Local
receive control, bounded telemetry and credential-bound transmit grants with
Flex PTT handoff have landed, and the desktop's slice receive controls travel
as typed backend requests; per-client propagation, transmit for the other
as typed backend requests. Radio Setup, TX Band, USB, profile and memory
controls now use that seam too; per-client propagation, transmit for the other
families and a thin client to replace direct model access have not.
- **Non-Flex backends** — Hermes-Lite 2 (experimental), networked Icom (early;
the IC-7300MK2 over RS-BA1 is supported), and ANAN-G2 and RTL-SDR
(experimental, receive-only). Current coverage and
remaining work for each is under [Supported Hardware](#supported-hardware).
- **Workspace canvas** — an experimental alternative shell; remaining work is
live cross-window drag and field time against the Classic shell.
- **CTR2 controller relay** — Wi-Fi mode works with today's CTR2 firmware;
USB mode's host side is complete, with per-device link extensions proven on
an AetherKnob, and the CTR2 itself waits on a USB firmware release.
- **CTR2 controller relay** — Wi-Fi operation, with negotiated spectrum/CW
text for compatible USB controllers and exclusive USB device ownership.
- **The visual canon** — the AetherSDR style guide (RFC #6226) is applied one
surface at a time; ten have moved, and a single base-token flip comes last.
surface at a time; SpotHub, Radio Setup and AetherControl now join the earlier
windows, and a single base-token flip comes last.
- **AppSettings nested-JSON refactor** — storage is on SQLite with per-radio
versioned feature documents; the legacy flat keys still need migrating.
- **Flathub submission** — the AppStream metainfo and manpage are in; the
Expand Down
Loading
Loading