Releases: JS8Call-improved/JS8Call-improved
JS8Call Development Snapshots
These builds are development builds on master, provided on an irregular basis for beta testers. The builds are identified by commit hash they were built on. Only the MacOS build is signed and notarized.
Notes:
- MacOS builds are done on Apple silicon only. Mac on Intel has been discontinued by the JS8Call project. The Mac build requires minimum MacOS 14 Sonoma
- Windows build is for Windows 11. It may work on Windows 10, but Win10 is not supported by either Microsoft or the JS8Call project
- Linux builds require minimum glibc version 2.39, but may run on glibc 2.38
- All builds are now done with Qt 6.11.1 and Hamlib 4.7.1
What's Changed
- Rx pane scroll bar fix by @Chris-AC9KH in #309
- Waterfall cursor fix for split mode. by @Chris-AC9KH in #311
- Switch to Clang 17 compiler for Windows workflow builds by @Chris-AC9KH in #323
- Bug Fix: crash on importing invalid waterfall palette files by @Chris-AC9KH in #328
- Remove obsolete Qt version checks by @Chris-AC9KH in #329
- Qt 6.11.1 Migration by @Chris-AC9KH in #331
Full Changelog: v3.0.2...v4.0-beta_1
JS8Call ver 3.0.2
JS8Call 3.0.2 is a patch/bug fix release that fixes:
- CQ notification in the call activity pane
- APRS commands not checksumming properly
- Auto Reply notification not functioning when ask for confirmation before sending is turned on
The JS8Call arm64 .deb package is compatible with Raspberry Pi OS 6.2 or later (based on Debian 13 Trixie), released April 14, 2026 and running on a Pi 4 or Pi 5. The 32-bit version of Raspberry Pi OS is not supported.
Please refer to the rest of the release notes for version 3.0.1 for more information
What's Changed
- fix CQ notification in call activity pane by @Chris-AC9KH in #296
- Fix for #298 - APRS CMD not checksumming properly. by @punk-kaos in #300
- Break confirmThenEnqueueMessage member function out of mainwindow.cpp by @Chris-AC9KH in #306
Full Changelog: v3.0.1...v3.0.2
JS8Call ver 3.0.1
More information on JS8Call, including the User Guide, code resources and support forum is available on our website
Build resources to build JS8Call from source code are available at our js8lib repository:
https://github.com/JS8Call-improved/js8lib
Carefully read the release notes below for your operating system, and review the Known Issues, before installing JS8Call 3.0
Installer Notes
MacOS
MacOS builds are for Intel and Apple silicon. The app is signed and notarized. The Apple silicon builds were done on MacOS 26 Tahoe with Xcode 26.0.1 (17A400), MacOS 12.7/6 Monterey for Intel. MacOS 12 Monterey and later are supported.
Linux
Linux is distributed by the project via AppImage only. If you wish to build JS8Call 3.0.1 on linux there are semi-automated build scripts available below in the release assets for Debian-based and Fedora-based linux systems.
Windows 11
Windows 11 build is provided for x86_64 only. It will run on arm64 Windows 11 with the prism emulator. This has been tested on arm64 Windows 11 and there were no issues noted. OmniRig is no longer supported since v2.4.0. DO NOT download a Windows build anywhere but from our GitHub official repository or the js8call.com website. There are imposters out there on the Microsoft Store and other download locations. These are not official JS8Call-improved builds.
The Windows build is code signed by the JS8Call Developer team. Windows Defender and various virus scanning programs do not universally recognize signed software on Windows 11. If your Windows anti-virus software complains, make an exception in the rules for JS8Call. The digital code signature guarantees the software is malware-free, done on our official build system, and it ensures that it can't be tampered with during distribution of the software. Even so, the various virus scanners on Windows produce a lot of false positives. The digital signature allows you to verify it came from a trusted source, even though virus scanners may not think so.
JS8Call will also still run on Windows 10.
Known Issues
- For users still on js8call 2.2.0 there is incompatibility in settings between JS8Call v2.2.x and 2.3 and later. Settings between all versions of JS8Call are compatible from v2.3 on and can read the settings from JS8Call 2.2.x. JS8Call 2.2.x is not compatible with the settings created by JS8Call 2.3 and later. Although JS8Call v2.2.0 is no longer supported, if you are still using this version and wish to save your settings from it, make a copy of your JS8Call.ini configuration file before installing and running newer versions of JS8Call.
The JS8Call.ini file is found at:
Linux: ~/.config/JS8Call.ini
Windows, in C:\Users<your_user_ID>\AppData\Local\JS8Call directory
Mac, ~/Library/Preferences/JS8Call.ini
- Delay in PTT on some linux systems have been reported when using Flrig. This has been determined to be an issue with the TCP (XML over HTTP) connection between Hamlib and Flrig. It only affects a small number of linux systems, most notably Mint 22. If you experience this issue, it has been found that using rigctld in a chain; JS8Call <-> rigctld <-> Flrig <-> Radio will fix the problem.
- If you find a bug or issue with JS8Call please post complete information on the issue to the GitHub repo at https://github.com/JS8Call-improved/JS8Call-improved/issues or in the Discussions category.
What's Changed
- Windows self-signed by @wmiler in #116
- Mainwindow Breakdown by @Chris-AC9KH in #118
- Fix code doc generation after refactor by @wmiler in #121
- Move Doxyfile and Linux desktop files, fix workflows by @wmiler in #122
- Fix duplicate callsign in RX.DIRECTED TCP messages by @mgochoa57 in #123
- Add documentation to JS8_Logbook files by @wmiler in #124
- More doxy documentation by @wmiler in #125
- User Manual as markdown file, other documentation changes by @wmiler in #128
- Switch all tables to markdown from html tags by @wmiler in #130
- Addresses issue #103, dark mode cleanup by @rruchte in #133
- Windows signing by @wmiler in #136
- Inbound APRS message relay into JS8 mesh. by @punk-kaos in #134
- Remove experimental code no longer needed. by @aknrdureegaesr in #142
- Rename class files to match their class declarations in JS_Mode by @Chris-AC9KH in #145
- Linux build now signs the AppImage, other updates by @wmiler in #147
- Source tree and UI fixes by @Chris-AC9KH in #150
- Remove deprecated DisplayManual class by @Chris-AC9KH in #151
- Create initial API.md by @wmiler in #154
- User Guide update by @Aqueum in #149
- Fix APRS server connect bug. by @punk-kaos in #157
- Addresses issue #168, INBOX Message Management by @rruchte in #169
- Give directed commands higher priority over messaging by @Chris-AC9KH in #172
- Return ACKS to APRSIS to prevent excessive message spamming. Add 120 second mute to a message after receipt to prevent excessive retries. by @punk-kaos in #162
- Fix TCP API RX.DIRECTED to match DIRECTED.txt output by @mgochoa57 in #176
- Add API updates. See docs/API.md Part 1 by @wmiler in #159
- Respect blacklist before relaying APRS packets. by @punk-kaos in #177
- Message Inbox Enhancements by @rruchte in #181
- Addresses issue #182 - Notification sound playback problems by @rruchte in #183
- Bug fix: #126 Set snr for Log window. Add debugging for LogQSO by @wmiler in #178
- Addresses issue #187 - PSK Reporter Failing to Spot by @rruchte in #189
- Update JS8Call desktop file by @wmiler in #195
- Addresses issue #191 - Add number of available messages to MSGS?, HB, and MSG response by @rruchte in #192
- Expose BITS field in RX.ACTIVITY TCP push messages by @BrunoKlu in #198
- Addresses #193 Custom Descriptions for Frequencies by @rruchte in #199
- Fix "Requested output audio format is not valid" startup bug by @rruchte in #201
- Mac Intel Patch for <C++17 by @Chris-AC9KH in #205
- Revert "Fix "Requested output audio format is not valid" startup bug" by @rruchte in #206
- Fixes issue #196 by @wmiler in #197
- Fix turbomode decoder. by @punk-kaos in #210
- Switch to GCC 12, minor other fixes by @wmiler in #214
- Bugfix in decoder affecting Turbo and Ultra modes. Enable Ultra. by @punk-kaos in #216
- TCP API: 8 STATION commands + headless autoreply confirmation by @BrunoKlu in #207
- Fixes Get Secrets Error by @wmiler in #218
- Add new modes: JS8 40 and JS8 60 by @Chris-AC9KH in #217
- TCP API: STATION.SET_GROUPS + STATION.SET_AVOID_ALLCALL by @BrunoKlu in #208
- Add FILTER TCP API for remote bandpass filter control by @BrunoKlu in #209
- WSJT-X UDP protocol: recieve to decode state switching fixed by @chrbayer84 in #224
- RX.GET_FREE_OFFSETS API addition by @WebBreacher in #213
- Linux Audio Fixes by @rruchte in #223
- CI Move Linux and Windows to Hamlib 4.7.0 Official release by @wmiler in #230
- Revise JS8Call User Guide for version updates by @wmiler in #225
- Fixes Failed to create popup. Ensure popup has a transientParent set. by @wmiler in https://github.com/JS8Call-improved...
JS8Call ver 2.5.2
Full information on JS8Call, including the User Guide and code resources is available on our website
This is a patch release that changes the priority of auto-replies to directed commands. It gives auto-replies to certain commands (SNR?, HEARING? INFO?, GRID?, STATUS?, QUERY MSGS and QUERY CALL) higher priority than messaging. If messaging activity is detected in the passband, since ver 2.4.0 auto-replies to these commands have been suppressed until the band is clear.
Messaging still has priority over auto heartbeat ACK. So if there is incoming MSG's in the band activity, auto HB ACK will be suppressed until messaging is complete to prevent HB ACK auto-reply from breaking incoming MSG's or directed communications.
This change was made based on user feedback wanting higher priority for the automated features over messaging. If you do not want your station auto-replying to these commands when messaging is taking place, you must now disable auto-replies in the Settings.
Please read the rest of the release notes for the 2.5.0 release before installing.
Known Issues:
On some linux systems dark mode theming does not work correctly with AppImage due to "sandboxing" of the AppImage FUSE filesystem. Automated build shell scripts are included to build JS8Call 2.5.2 from source code on Debian and Fedora-based linux systems. In testing, building with the script instead of using AppImage fixes the dark mode theming issue. If you experience this, use of the build script is recommended. On most linux systems execution time of the build script should be around 15-17 minutes or less.
JS8Call ver 2.5.1
JS8Call_User_Guide.pdf
This is a patch release that fixes an issue with dark mode theming displaying white text on a white background for certain UI elements in the Settings dialog. It made the Settings dialog unusable for the affected entry boxes in dark mode.
Please read the rest of the release notes for the 2.5.0 release before installing.
Full Changelog: release/2.5.0...release/2.5.1
JS8Call ver 2.5.0
Carefully read the release notes below for your operating system, and review the Known Issues, before installing JS8Call 2.5.0.
Installer Notes
- On all platforms 5363 kHz has been added to the frequency list for the new 60m band segment when it becomes available for use. The 160m frequency has been moved to 1843.5kHz to reduce interference from FT8 operations on 1840kHz. To reset your frequency list, go to Settings -> Frequencies, right click and select Reset to add the new frequencies to the list. If you have custom frequencies you want to save, export those from the list first then merge them after the Reset.
- The JS8Call-improved 2.4.0 release was a transition release from development moving to the JS8Call-improved development team. Jordan is now on the JS8Call-improved team and has requested re-naming of the software back to JS8Call, so this change is made for 2.5.0
MacOS
MacOS builds are for Intel and Apple silicon. The Apple silicon build is recommended for M-series Macs as it is more optimized for Apple silicon. The app is signed and notarized. The Mac builds were done on MacOS 26 Tahoe with Xcode 26.0.1 (17A400) for Apple silicon, MacOS 12.7/6 Monterey for Intel. MacOS 12 Monterey and later are supported. For Mac users, be aware that Apple is deprecating Intel Macs after MacOS 26. We will continue to support older Intel Macs as long as possible, and while JS8Call will still run on a late-2014 Mac mini running Monterey, the next year might be a good time to consider upgrading to a M-series Mac.
Linux
Linux is now distributed via AppImage only. If you wish to build JS8Call on linux there are semi-automated build scripts available in the source tree at https://github.com/JS8Call-improved/JS8Call-improved/tree/master/tools . While these are now primarily intended for developer use, end-users can use and modify them to build JS8Call on linux, however, they are no longer being included in the release assets.
Windows 11
Windows 11 build is provided for x86_64 only. It will run on arm64 Windows 11 with the prism emulator. This has been tested on arm64 Windows 11 and there was no issues noted. OmniRig is no longer supported since v2.4.0. It is a deprecated 32-bit program and Windows 11 is 64-bit only.
The Windows build is code signed by the JS8Call Developer team. Windows Defender and various virus scanning programs do not universally recognize signed software on Windows 11. If your Windows anti-virus software complains about it, make an exception in the rules for JS8Call. The digital code signature guarantees the software is malware-free, done on our official build system, and it ensures that it can't be tampered with during distribution of the software. Even so, the various virus scanners on Windows produce a lot of false positives. But the entire build chain is open-source, available for anybody to scrutinize, so you can be assured there is no malware or "trojan" mysteriously embedded in the software. The digital signature allows you to verify it came from a trusted source, even though virus scanners may not think so. DO NOT download a Windows build anywhere but from our GitHub official repository.
JS8Call will also still run on Windows 10.
Known Issues
- There is incompatibility in settings between JS8Call v2.2.x and 2.3 and later. Settings between all versions of JS8Call are compatible from v2.3 on and can read the settings from JS8Call 2.2.x. JS8Call 2.2.x is not compatible with the settings created by JS8Call 2.3 and later.
- Enumeration of audio interfaces is different in JS8Call 2.3 and later, and it will only return a list of valid auto interfaces, not a list of possibilities that you can try until one works. There is also some issues with text encoding that you may notice in the message window if you try to revert to JS8Call 2.2. Although JS8Call v2.2.0 is no longer supported, if you are still using this version and wish to save your settings from it, make a copy of your JS8Call.ini configuration file before installing and running JS8Call-improved.
The JS8Call.ini file is found at:
Linux: ~/.config/JS8Call.ini
Windows, in C:\Users<your_user_ID>\AppData\Local\JS8Call directory
Mac, ~/Library/Preferences/JS8Call.ini
- JS8Call uses the Qt 6.9.3 FFmpeg audio back end. On linux this requires either PulseAudio or PipeWire. ALSA audio has been deprecated by Qt. Some distributions like Debian install an ALSA-PipeWire plugin, which in testing has worked fine with JS8Call-improved
- Delay in PTT on some linux systems have been reported when using Flrig. This has been determined to be an issue with the TCP (XML over HTTP) connection between Hamlib and Flrig. It only affects a small number of linux systems, most notably Mint 22. If you experience this issue, discontinue use of Flrig and going direct from JS8Call to the radio will fix it.
- If you find a bug or issue with JS8Call please post complete information on the issue to the GitHub repo at https://github.com/JS8Call-improved/JS8Call-improved/issues or in the Discussions category.
What's Changed
- Improve the documentation of JS8Submode.hpp. by @aknrdureegaesr in #2
- Documenting the code via doxygen by @wmiler in #3
- Much improved heartbeat and CQ loop implementation, various minor cleanups. by @aknrdureegaesr in #5
- Disable confusing interactions in the band activity and callsign tables by @rruchte in #23
- Fix for deprecated setTimeSpec in Qt 6.9 by @Chris-AC9KH in #27
- PSK Reporter Bug Fixes by @rruchte in #29
- PSK Reporter Updates by @rruchte in #33
- Remove QT translations in Windows deployment by @wmiler in #40
- Reduced Headers & Contents for Small Screens by @rruchte in #38
- Create workflow to build docs by @wmiler in #41
- Re-establish the previous HB-button UI. by @aknrdureegaesr in #47
- Make it clearer in the station list context menue UI what will be cleared. by @aknrdureegaesr in #61
- Send turbo from the beginning by @aknrdureegaesr in #45
- Update js8call.desktop by @wmiler in #64
- Versioning system patch and MacOS fixes by @Chris-AC9KH in #65
- Fix Software Update feature by @Chris-AC9KH in #66
- Rename MessageBox to JS8MessageBox as a safer fix to Microsoft's #define MessageBox API. by @aknrdureegaesr in #71
- Update the About dialog to include FFmpeg notice by @Chris-AC9KH in #75
- RX Decoder optimizations for improved low SNR decodes by @punk-kaos in #82
- Add JS8Call User Guide to Help menu by @Chris-AC9KH in #105
- Add 5363kHz to the frequency list for the new 60m band segment by @Chris-AC9KH in #106
- Split bandaid. by @aknrdureegaesr in #101
- General cleanup of unused and legacy files in source tree by @Chris-AC9KH in #112
- WSJT-X UDP protocol reporting support by @chrbayer84 in #97
- Bugfix for DIRECTED.txt by @mgochoa57 in #113
- Code cleanup - move files to class groups to get rid of loose header and source files in the source tree root by @Chris-AC9KH in #114
New Contributors
- @punk-kaos made their first contribution in #82
- @chrbayer84 made their first contribution in #97
- @mgochoa57 made their first contribution in #113
Full Changelog: release/2.4.0...2.5
JS8Call-improved ver 2.4.0
First release from the JS8Call-improved project
JS8Call-improved is an improved version of JS8Call, paralleling the WSJT-X-improved version of WSJT-X. It is based on the excellent JS8Call by Jordan Sherer, KN4CRD, the source code located at https://github.com/js8call/js8call
The same developers work on both projects. With JS8Call-improved we can implement bug fixes and features faster than JS8Call official. Our bug fixes, features and improvements are designed to be integrated with JS8Call official in the future.
JS8Call-improved v2.4.0
- contains a rollup of all outstanding PR's that have never been merged (at date of release) on JS8Call official
- modernized CMake configurations to take advantage of deployqt tools that properly package a Qt-based application
- standardization on the Qt version 6.9.3 cross-platform library
- bug fixes for audio, auto HB handling
- new features for group messaging
- new debug logging capabilities that are runtime-configurable
- fixed mode set speed API
- provide code signing with hardened runtime for MacOS
- updated build documentation for all three platforms
- developer guide
- general code cleanup and remove deprecated Fortran files
- updated license to be in compliance with Qt licensing requirements for redistributed dynamically linked libraries
Carefully read the release notes below for your operating system, and review the Known Issues, before installing JS8Call-improved.
Installer Notes
MacOS
MacOS builds are universal (both Intel and Apple silicon) and arm64 (Apple silicon only). The app is signed and notarized. The Mac builds were done on MacOS 26 Tahoe with Xcode 26. MacOS 12 Monterey and later are supported.
Linux
Linux distributions do not package a new enough version of Qt for JS8Call-improved to run correctly. We developed automated install scripts for Debian (Debian 12/13, Mint 22, Ubuntu 24/25 and other Debian derivatives) and Fedora 39 and newer. While it may compile on older versions of Qt, there is likely to be audio, PTT or UI bugs injected. The install script will fetch all needed libraries and install them, fetch the JS8Call-improved source code, build it and install it for the local user only. On an average system, this should take about 15-20 minutes.
If you have another version of JS8Call installed, say from your linux distribution or JS8Call v2.3.1 from the JS8Call official project, it will not remove it or uninstall any of its components. You can run either version of the program, but not both at the same time. See the Known Issues below for information on settings compatibility.
The script supports building on both x86_64 and arm64. It has been reported to build fine on a Raspberry Pi5 with Debian trixie. If you get a build failure on Raspberry Pi please provide feedback to the developer issues on GitHub so we can take a look at it.
If, after trying JS8Call-improved, you wish to uninstall it, simply run the script again. It will offer to remove your JS8Call-improved installation.
Windows 11
Windows 11 build is provided for x86_64 only. It will run on arm64 Windows 11 with the prism emulator. This has been tested on arm64 Windows 11 and there was no issues noted. OmniRig is no longer supported by JS8Call-improved. It is a deprecated 32-bit program and Windows 11 is 64-bit only. The Windows build is not code-signed. If your Windows anti-virus software complains about it, make an exception in the rules for JS8Call-improved.
JS8Call-improved will also run on Windows 10.
Known Issues
-
There is incompatibility in settings between JS8Call v2.2.x, JS8Call-2.3.x and JS8Call-improved 2.4.0. Settings between JS8Call 2.3.x and JS8Call-improved are compatible. Either can read the settings from JS8Call 2.2.x
-
Settings are NOT backwards compatible with JS8Call version 2.2.x after a newer version of JS8Call modifies the configuration file.
-
Enumeration of audio interfaces is different in JS8Call-improved and it will only return a list of valid auto interfaces, not a list of possibilities that you can try until one works. There is also some issues with text encoding that you may notice in the message window if you try to revert to JS8Call 2.2. Although JS8Call v2.2.0 is no longer supported, if you are still using this version and wish to save your settings from it, make a copy of your JS8Call.ini configuration file before installing and running JS8Call-improved.
-
The JS8Call.ini file is found at:
. Linux: ~/.config/JS8Call.ini
. Windows, in C:\Users<your_user_ID>\AppData\Local\JS8Call directory
. Mac, ~/Library/Preferences/JS8Call.ini -
JS8Call-improved uses the Qt 6.9.3 FFmpeg audio back end. On linux this requires either PulseAudio or PipeWire. ALSA audio has been deprecated by Qt. Some distributions like Debian install an ALSA-PipeWire plugin, which in testing has worked fine with JS8Call-improved.
-
arm 64 Debian 12 ships with glibc 2.36. JS8Call-improved built with Qt 6.9.3 requires minimum glibc 2.38. Therefore, on arm64 only Debian 13 trixie is officially supported. However, glibc on Debian 12 can be updated, consult the Debian documentation on how to do this without breaking your system.
-
Ubuntu 22 is not officially supported because it does not package a new enough version of the boost C++ development library. JS8Call-improved should build and run on it if you can install boost 1.81 or later on your Ubuntu 22 system.
-
If you find a bug or issue with JS8Call-improved, please post complete information on the issue to the GitHub repo at https://github.com/JS8Call-improved/JS8Call-improved/issues