SDRangel enters the AI era
Thanks to @srcejon SDRangel is now AI-ready, with the addition of a MCP server. There are also facilities to connect Claude or Chat GPT/Codex to it but the MCP protocol is model agnostic so it can be used with any model. It was tested successfully with the Hermes desktop and Gemma 31B Turbo. You may need to pass these instructions to the model: https://github.com/f4exb/sdrangel/blob/master/plugins/feature/mcpserver/bandguide.md To see what it looks like see this amazing video: https://youtu.be/G0FmiX7zwb8. To know more about it check its readme: https://github.com/f4exb/sdrangel/blob/master/plugins/feature/mcpserver/readme.md It can certainly contribute to make SDRangel more accessible to beginners and the less SDR savvy.
This alone justifies bumping to a new major version so here is version 8!
It also comes with a goodie to show the data flow between modules which is a major milestone in the UI area
It also features a lot of code issues fixes improving code quality and stability thanks to @rgetz
A whole bunch of new plugins
Device:
Channels:
- Add PSK31 Demod PR #2966 thanks to @srcejon
- Add WEFAX demodulator PR #2975 thanks to @srcejon
- Add Broadcast FM modulator PR #2989 thanks to @srcejon
- Add DVB demodulator PR #3003 thanks to @srcejon
- Add DJI DroneID demodulator PR #3007 thanks to @srcejon
- Add SELCAL demodulator PR #3011 thanks to @srcejon
- Add 802.15.4 demodulator PR #3015 thanks to @srcejon
What else has Changed
- Fix mac build & add install / run smoke test by @srcejon in #2898
- Update CMake configuration by @rgetz in #2899
- Fix payload FEC status reporting in Meshtastic LoRa soft decoder by @jvn314 in #2900
- packet demod PACKETDEMOD_CHASE_MAX missing by @tomasjura in #2901
- Add coverity to workflows: by @rgetz in #2902
- Fix scope trace buffer corruption by @srcejon in #2903
- Fix ADS-B decoder issues found from AddressSanitizer (ASAN) by @rgetz in #2905
- Improve asynchronous device error handling, using PlutoSDR as example by @rgetz in #2906
- Rate-limit FIFO overflow messages by @rgetz in #2907
- Fix uninitialized members in plugins/channelrx by @rgetz in #2909
- Eliminate the possibilities of accessing buffers with negative indexes by @rgetz in #2910
- Update rtl-sdr version by @AsciiWolf in #2911
- Coverity: fix scan result archive path and upload handling by @rgetz in #2912
- Fix data races identified by ThreadSanitizer by @rgetz in #2913
- USRP: Support devices without GPIO, such as n210. by @srcejon in #2916
- Fix Meshtastic interpolator bandwidth update by @jvn314 in #2917
- Readme.md : Add project status badges by @rgetz in #2919
- Python Example: Update Python 2 syntax in Swagger example by @rgetz in #2920
- map/webserver : Fix WebServer substitution memory leak by @rgetz in #2923
- objectpipesregistrations: Fix ObjectPipesRegistrations memory leak by @rgetz in #2924
- device/deviceuiset: Fix GLSpectrumView use-after-free by @rgetz in #2925
- map/mapgui: Fix MapGUI memory leaks on exit by @rgetz in #2926
- mapmodel: Fix MapModel and ObjectMapItem memory leaks by @rgetz in #2927
- map/mapsettings: Fix MapSettings item settings ownership by @rgetz in #2928
- Fix Mac builds by @srcejon in #2936
- resolve uninitialized member variables in the plugins dir by @rgetz in #2930
- Position fallback options when GPS is unavailable by @rgetz in #2932
- Serialize configuration loads to fix a use-after-free crash by @Es00bac in #2948
- Update snap to Qt6 and core26 + a few bug fixes by @srcejon in #2949
- wavfilerecord: add RF64 support by @rgetz in #2951
- meshtastic: retain upchirp FFT bin residuals by @jvn314 in #2952
- Add MCP Server for Claude & ChatGPT by @srcejon in #2934
- Enable denoiser feature on Windows by @srcejon in #2953
- resolve uninit member var in ./sdrbase by @rgetz in #2954
- tree wide: Fix message ownership and reporting for unhandled queue messages by @rgetz in #2955
- fix: range rate assignment in satellite tracker for sgp4 by @42617274 in #2956
- Add NVIDIA Denoiser and VST3 effects to Denoiser Feature by @srcejon in #2958
- Define repository-wide text and binary file attributes by @rgetz in #2943
- repo wide : Name SDRangel-owned threads for debugging by @rgetz in #2957
- Fix macOS MCP bundle packaging failure in build_mac by @srcejon with @Copilot in #2959
- Fix Linux external library build configuration by @rgetz in #2961
- Add button to display connections between devices, channels and features by @srcejon in #2962
- BFMDemod: Set audio icon background to green when squelch open. by @srcejon in #2963
- RadioClock: Add support for RBU and PCSK-225. by @srcejon in #2964
- FileSink: Fix waterfall resetting by @srcejon in #2965
- Fix external library paths for Debian builds by @rgetz in #2969
- Attempt to fix Windows github action hang. by @srcejon in #2971
- codacy: Add PR review instructions by @rgetz in #2974
- Add PSK31 Demod by @srcejon in #2966
- Add WEFAX demodulator by @srcejon in #2975
- DSC: Add support for VHF. Improve HF performance. by @srcejon in #2976
- PlutoSDR: fix four crashes with Rx + Tx device sets on one device (#2721) by @hxcrd in #2972
- Add native Linux ARM64 CI build by @benhu in #2977
- Pager: Add FLEX support. by @srcejon in #2978
- Try #2 in codacy ai reviewer by @rgetz in #2980
- Add USRP MIMO device + fixes for other devices with buddies + Windows library updates by @srcejon in #2983
- Fix remaining uninitialized member variables and unset variable warnings by @rgetz in #2984
- Packet Demod: add native G3RUH 9600 receive mode by @delfer in #2986
- Add Broadcast FM modulator by @srcejon in #2989
- WDSP Rx: fill WDSPRxReport instead of null SSBDemodReport in channel report by @3ProFilm in #2995
- Prevent unsafe copying of resource-owning classes by @rgetz in #2996
- meshtasticdemod: add carrier frequency offset to JSON output by @jvn314 in #3000
- ValueDial: fix out of range read in paintEvent while animating by @Wahaj18 in #3001
- MeshCore demod: connect preset combo and Apply button by @Wahaj18 in #3002
- reduce warnings on cmake > 4.x (windows-x64 CI) by @rgetz in #2985
- Add DVB demodulator by @srcejon in #3003
- Presets/Configurations dialogs: remember collapsed groups by @3ProFilm in #3004
- Add trailing-whitespace checks to GitHub Actions and provide an optional local pre-commit hook. by @rgetz in #3005
- Add DJI DroneID demodulator by @srcejon in #3007
- SondeHub: batch telemetry uploads and send listener position every 3 hours by @Wahaj18 in #3010
- Add SELCAL demodulator by @srcejon in #3011
- Add DRM (Digital Radio Mondiale) demodulator by @srcejon in #3012
- resolve gcc 14.2 warnings by @rgetz in #3013
- Add DAB modem by @srcejon in #3014
- Add 802.15.4 demodulatior by @srcejon in #3015
- DVB: Add HbbTV support by @srcejon in #3016
- Fix missing OpenCV libraries in Windows installer by @srcejon in #3018
- HbbTV: Support Polish EPG. by @srcejon in #3019
- DVB: HbbTV fix streaming video. by @srcejon in #3020
- Fix WebAPI settings read from the wrong plugin type by @AndrewNHS in #3027
- Libiio 1x (opt-in) by @ve3ukw in #3024
- WebAPI: truncate file when exporting a preset or configuration by @slomkowski in #3030
- AudioInputDevice: guard the FIFO list against concurrent changes by @slomkowski in #3031
- PlutoSDR: power the Rx/Tx LO up on start and down on stop by @slomkowski in #3029
- demodmeshtastic: fix symbol timing compensation by @jvn314 in #3034
- demodmeshtastic: try unmodified header peak indexes first by @jvn314 in #3035
- Fixed MCP version negotiation by @f4exb in #3036
New Contributors
- @tomasjura made their first contribution in #2901
- @Es00bac made their first contribution in #2948
- @42617274 made their first contribution in #2956
- @hxcrd made their first contribution in #2972
- @benhu made their first contribution in #2977
- @delfer made their first contribution in #2986
- @3ProFilm made their first contribution in #2995
- @Wahaj18 made their first contribution in #3001
- @AndrewNHS made their first contribution in #3027
- @ve3ukw made their first contribution in #3024
- @slomkowski made their first contribution in #3030
Full Changelog: v7.27.2...v8.0.0