• Changelog 27th July (

    - Ham Radio Deluxe CAT control is brought to the latest WSJT-X implementation
    - more criteria implemented to check for the false decodes: all messages with SNR -23dB or delta time less than -0.5 or greater than 2.0 sec shall be checked
    - filtering out false FT8AP(Hint) decodes where user's callsign is erroneously decoded as the compound callsign
    - more masks are added to filter falsely decoded free text messages
    - minor patch to FT8 decoder: logarithmic function shall not get zero argument
    - minor patch to pskreporter spotting functionality
    - added support to special DXpedition dual message decoding, a message transmitted under the 75-bit protocol.
    Decoded special message will only be displayed if callsign it is originated from is located in the DX Call window.
    Since callsign hash is being used for special message transmission there is no other way to recognize who transmitted the message but keeping the callsign in the DX Call window.
    Special message will not be displayed if DX Call window is empty or if there is other callsign in the window.
    Decoded special message will be displayed as two standard messages where there is no notification that callsign is matched to the received hash rather than decoded,
    that is different to WSJT-X approach:

    AA1AAA RR73; BB1BBB -05

    BB1BBB CC1CCC -05

    - patches to allow AutoSeq handle multiple WSJT-X Fox DXpedition and MSHV 'Multianswering Auto Seq protocol FT8' messages
    - patch to the QSO start date/time format in wsjtx.log file
    - patch to the Halt Tx AutoSeq functionality at end of QSO
    - transmitted message counters are implemented with option to either call CQ or Halt Tx, counters can be activated and configured in the 'Sequencing' tab of the settings
    - improved wanted callsign functionality. Upon decoding a message with the wanted call there will be done report extraction, generation of standard messages, selection of the proper TX period. Wanted call window will be cleaned up if wanted callsign is logged.
    - wanted callsign list is implemented instead of the single callsign, where callsigns shall be separated by the comma. For compound callsigns the base callsign shall be used in the list. If DX Call window is empty and user is not transmitting then upon first wanted decoding in the period audio alert will be generated, decoded callsign will be copied in DX Call window and standard messages will be generated. Some messages contain only base part of the compound callsign, hence base callsign will be copied from such decoded message to DX Call window: when logging such QSO user will have to change correspondent's base callsign to compound one if needed.
    - serialized callback(decoded messages to stdout) in FT8 decoder
    - changed names of the rigctl rigctld utilities
    - cursor position shall be stored in the wanted callsign, hide country, hide callsign, content filter, DX Call, DX Grid, CQ Direction line edit windows, main window and Configuration UI
    - defect fixed where manual clicking on Decode button could brake AutoSeq operation(wrong message transmission) and trigger Halt Tx: AutoSeq and Halt Tx shall not be processed if user clicked on the Decode button or twice clicked on the waterfall.
    - tooltip to DisTx73 button shall clearly say that state of this button is ignored under AutoSeq operation
    - message radio button if selected by user under AutoSeq can brake AutoSeq operation, all radio buttons in Tab1 shall be disabled if AutoSeq button is switched on. Changed appearance of disabled selected TX radio button in tab1.
    - Halt Tx reason is added for recording to ALL.TXT file for diagnostic purpose
    - all message fields in Tab1 will be cleaned up if Tx6 (CQ message) button is clicked by user
    - patch to let AutoSeq handle DE message from compound callsigns
    - default 60m FT8 frequency for 60m band is changed to 5357kHz, RESET button in the Frequencies tab of the settings shall once be used to update this frequency
    - changed MAC OSX bundle GUI ID to org.jtdx
    - 'CQ DE CALL' 'QRZ DE CALL' messages shall not be treated as directional CQ
    - 'DE' is not allowed as CQ direction in the direction line edit widgets
    - AutoSeq button shall get the pink color if it is switched off in FT8 mode
    - AutoSeq shall process transmitted free text message if it is equal in any of four possible parts to any of this words: 73, TNX, TKS, TU.
    - AutoSeq button now shall be switched off automatically at beginning of the free text message transmission if this message does not comply with AutoSeq. Both Tab1 and Tab2 free text message evaluation is supported. AutoSeq will not process other transmitted free text messages and AutoSeq button will be switched off upon attempt of such transmission. AutoSeq button will be automatically switched back on upon generation of the standard messages in Tab1 and Tab2 or if Tx6 (CQ) button is clicked in Tab1(in Tab2 any message button generates standard message).
    - patch to SkipGRID/Skip Tx1 functionality
    - patch to AutoSeq sequence: 'received RR73-> sent 73 -> received RR73 ->QSO finished' shall be processed as 'received RR73 -> sent 73 -> received RR73 -> sent 73'
    - cty.dat file is updated to the version CTY-2809
    - updated ALLCALL.TXT file, now containing 67332 callsigns

    Known unresolved issues:
    - PTT over CAT delay at start of JTDX or after the band/frequency change if HRD or DXLab Commander CAT is being used.
    Possible workaround: PTT over DTR/RTS signal of the serial port instead of PTT command via CAT.
    - some DXpedition Fox messages are being not decoded correctly.

    JTDX.INI file structure is changed, deleted setting "WantedCall","SeqBackToCqMsg","SeqRetransmitMsg","SeqHaltTxSameMsgRprt","SeqHaltTxSameMsg73",

    added new settings: "WantedCallCommaList","SeqAnswerCQCount","SeqAnswerInCallCount","SeqSentRReportCount","SeqSentRR7373Count",

  • Changelog 27th July (

    - dependency of continent filter selection from country name is deleted in the code as continent filter became independent in the last versions of JTDX
    - swapped color on Locked TX=RX button to promote split operation in FT8 mode
    - FT8 Filter decoding and decode through the double click on the waterfall are multithreaded now, up to 8 threads will be used for Filter and up to 4 threads for decoding via double click
    - patch to 'Tx first' (tx interval) insertion into the 'Status' UDP message
    - JTDX version number is added into type 0 UDP message (heartbeat)
    - DX Call window shall be cleared if CQ message being transmitted under AutoSeq
    - patch: six symbol GRID shall not brake displaying decoded WSPR message
    - some events are being now recorded into ALL.TXT file with millisecond based timestamp. Added new event: 'decoder started'.
    - FT8 signals are being ranked by SYNC value in the candidate list. Lowest SYNC threshold is applied to QSO frequency signals.
    - fixed defect: stuck in decoding while using the single thread in FT8 decoder
    - type 5 UDP message (QSO Logged) is brought to WSJT-X format
    - 'Output power' and 'S meter' settings will be switched off and disabled if any of this transceivers are selected for CAT control: TS480, TS590, TS850, TS870

    JTDX.INI file is changed, deleted settings : "ShowCQMsgs","ShowCQ73Msgs"
    added new settings: "ShowCQMsgsOnly","ShowCQRRR73MsgsOnly","ShowCQ73MsgsOnly"

    Hamlib changed files:

    Hamlib new files:

  • Changelog 13th July (

    - digital S meter and power meter functionality is reworked: CAT requests on getting this data shall be disabled if options are not selected by user. Controls are moved to Radio tab of configuration settings. Options shall be automatically unchecked and disabled if there is DX Lab Commander, Ham Radio Deluxe or OmniRig selected for CAT.
    - expanded UDP functionality:
    1. Added information on selected TX period into the 'Status' message
    2. New incoming message 'SetTxDeltaFreq' allows to set TX audio frequency in JTDX from external software
    3. New incoming message 'TriggerCQ' allows to set TX period, direction of CQ and optionally trigger CQ message transmission

    Detailed description of the UDP messages can be found in the NetworkMessage.hpp source code.
    JTDX.INI structure is changed, deleted settings: "DisplayOutputPower","ShowSmeter"
    added new settings: "CATRequestPower","CATRequestSNR"

  • Changelog 10th June (
    - added support to 8-symbol grid square in the settings
    - country filter shall be bypassed if decoded message containing user's callsign
    - auto selection shall not choose callsigns with non-recognized country in cty.dat
    - 'Linear Avg' waterfall functionality is deleted from the code and waterfall UI as it was dedicated to JT4 mode.
    - 'Reference' functionality is deleted from waterfall UI, as it was not fully implemented in JTDX code
    - patch to partial interval decoding functionality: an attempt to eliminate dupe decoding
    - settings access shall not change DX Call button stylesheet unless dxsummit spotting setting is changed
    - minor update to false decode recognition: false decodes like "CQ 123ABC KO15" will be blocked before signal subtraction
    - patch to TX watchdog: timer shall not work if there is no signal transmission
    - changed tooltip to 'hide messages from countries' filter, prefixes are the main country prefixes from cty.dat, updated validator to support '*' and '/' symbols in the prefix list
    - output power and 'S meter' digital meter options are implemented. Both using Hamlib functionality to transfer power and S-meter data over CAT interface. Not every transceiver does support this functionality over CAT, also it is being not supported if CAT via OmniRig is selected. Updated UI: S meter button in mainwindow UI and 'Display output power' action in the Misc tab
    - patch to AutoSeq2 to prevent dupe message transmission
    - new AutoSeq option is implemented: 'Report message priority'. This option will let user to assign higher priority to the incoming calls with signal report, that might be needed to increase QSO rate while handling pile up. With this option following priority order will be used:
    1. Any incoming 'new one' call, where 'new one' criteria are defined in the 'Notifications' tab of settings
    2. Incoming calls with signal report ranked by SNR
    3. Incoming calls with grid square ranked by SNR

  • Changelog 30th June (
    - content, hide country and hide callsign filters shall be disabled if filter's list is empty
    - patch to prevent working of the disabled message filters in scenario where show country name/prefix option is switched off
    - patch to displaying country name
    - patch to prevent extra message transmission and no TX audio issue in AutoSeq2/6 caused by Halt Tx failure
    - patch to prevent Halt Tx failure at transition from RX to TX
    - added some stop TX diagnostic events recording into ALL.TXT
    - updated ALLCALL.TXT file, now it contains 63864 callsigns
    - updated 'Erase file wsjtx_log.adi' option text to make clear that QSO log will be deleted

  • Changelog 22th June (
    - minor bug fixed at dupe message recognition. Dupes with lesser SNR will be shown in 'Band activity' window if frequency difference is greater than 45Hz. New option 'Hide FT8 dupe messages' is implemented and can be controlled via Misc tab of mainwindow UI. It is better to hide dupe messages at on air operation as AutoSeq picking up last decoded message and if SNR has less value than for previous message then AutoSeq will get wrong QSO AF RX frequency. Such dupe messages are usually caused by dirty signals and reflection from aircraft. By default 'Hide FT8 dupe messages' option is enabled.
    - hide continent filter shall work now with AutoSeq
    - hide country filter is implemented, can be activated and set in Filter tab of the settings as a list of prefixes in comma separated format. Tooltip will show list of the prefixes. Messages containing user's callsign bypass this filter. Gaps are not allowed in the list. This filter is working with AutoSeq.
    - hide callsign filter is implemented, can be activated and set in Filter tab of the settings as a list of callsigns in comma separated format.
    Base callsign shall be used in the list for compound callsigns, gaps are not allowed in the list. User can add callsign into the 'Hide messages from callsigns' filter list by right mouse's button click on the DX Call button. This filter is working with AutoSeq. Messages containing user's callsign bypass this filter.
    - ALL.TXT file is being named now per month basis with 'yyyyMM_ALL.TXT' format. 'Erase ALL.TXT' action in the 'File' tab will delete last created ALL.TXT file.
    - patch to the Tune button countdown for 32-bit operating systems

  • Changelog 13th June (
    - TX watchdog shall not brake current transmission

    - TX related variables synchronized at Halt Tx to fix some possible TX related failures
    - updated ALLCALL.TXT, now has 62197 callsigns
    - patch to some cases of repeat TX message while getting RR73
    - improved false/correct decoded message recognition, changed threshold to trigger checking to false decode: more messages will be checked
    - updated cty.dat file to version cty-2806
    - option 'Switch Filter OFF at sending 73' is implemented in 'Auto RX frequency filter' functionality, can be controlled via AutoSeq tab
    - tune timer is implemented to abort tuning (in previous versions Tune button was controlled by TX watchdog timer). Tune timer can be set in range from 5 to 300 seconds or disabled in General tab of the settings.Tune timer coountdown is implemented to the Tune button.
    - fixed minor OMP related bug in FT8 signal subtraction
    - truncate frequency while spotting to dxsummit.fi
    - bug is fixed in the 'late start of decoder' functionality
    - changes in FT8 message packing/unpacking and extraction
    - attempt to balance audio and FT8 decoder thread priorities

    New parameters added to JTDX.INI file: "SwitchFilterOffAtGetting73", "TuneTimer".
    It should be safe to use JTDX.INI file from v18.1.0.85.

  • Changelog 6th May (
    - now user can send spot to www.dxsummit.fi server. DX Call button is being used for this functionality, this option can be activated in Reporting tab of the settings. DX callsign is being taken from DX Call window, full user's callsign from configuration, frequency is VFO +AF RX frequency, info field is being populated with a mode (transmission mode is used for JT65+JT9 scenario).
    - 'Clear Dx call and grid after logging' setting is being ignored now if AutoSeq button is switched on
    - fixed several bugs in AutoSeq functionality
    - more tweaks towards Mac version, now JTDX can be built under Mac
    - updated ALLCALL.TXT file, containing 60138 callsigns
    - letting user to choose what incoming UDP 'Reply' messages to process in JTDX, can be set via Misc tab of the main window UI
    - implemented outgoing UDP message filtering: user can apply text filters to prevent some outgoing UDP 'Decopde' messages, for instance continent filter can be applied. This functionality will let user to focus on the necessary information in the external software. By default this functionality is switched off, user can activate it in the Reporting tab of the configuration settings.

    JTDX.INI: added new parameters "AcceptUDPReplyMessages", "ApplyFiltersToUDPmessages", "AllowSpotsDXSummit" It should be safe to use JTDX.INI file from v18.1.0.84.

  • Changelog 27th April (
    - cyclic RRR message transmission bug is fixed in scenario where SkipGrid is being used and user calling someone via double click on the 73 message with no CQ message from this operator recorded in the QSO history
    - fixed bug of 'Call worked B4 callsigns' functionality, now all combinations of 'Answer worked B4 calls' / 'Call worked B4 callsigns' shall work properly
    - picking up SNR from free message to report via double click on the free message. This functionality is needed to simplify manual QSO with the special callsign.
    - Tx free message change at transmission is supported via Tx macro selection in the combobox
    - Split AF TX frequency range is brought from 1300...1799Hz back to 1500..1999Hz
    - generation of the free macro messages is being triggered by DX Call change now
    - added recognition of standard messages in the free text/Tx5 comboboxes for notification purpose, color notification is changed accordingly
    - added support of some more special symbols to macros and a few default macro to simplify manual QSO to special callsign.
    @ symbol is being substituted with DX call, & symbol with user's base callsign, # symbol with report to be transmitted.
    - multiple CAT related changes in Hamlib, OmniRig, DXLabSuite Commander and HRD interfaces, we have brought CAT functionality to WSJT-X 1.8 GA level
    JTDX.INI file shall be deleted in order to make new default free messages visible at upgrade from v18.1.0.83 or older to v18.1.0.84.

  • Changelog 20th April (

    - increased FT8 decoder sensitivity to -23dB SNR signals
    - RRR checkbox and directional CQ lineedit are duplicated to tab1 of QSO messages
    - 'Answer worked B4' functionality is splitted to 'Answer worked B4' in AutoSeq 1-3 and 'Call worked B4' in AutoSeq 4+. Both are optional, can be selected in the AutoSeq tab of mainwindow UI.
    - updated ALLCALL.TXT file, containing 59244 records
    - changes done to support building Mac version of JTDX
    - late FT8 decoder start (and increased DT range) functionality, have worked under SWL mode, now have got separate control in the Decode tab of mainwindow UI and can be used while SWL mode is switched off. SWL mode have now got 'use low thresholds' + 'use subpass' + 'late decoder start' functionality included, takes long time to decode RX interval and should be used for band monitoring purpose.

    Known issues: there is a report that under some settings in Notifications tab software answering to 'Worked B4' CQ in AutoSeq 4+ modes if 'Call worked B4' option is switched off. This report is being investigated.

    JTDX.INI is changed, added new settings: "FT8DecoderLateStart","CallWorkedB4". It should be safe to use v18.1.1.82 INI file at upgrade to v18.1.0.83.

    Changed source files(vs v18.1.0.83_6): ft8b.f90, main.cpp.

    Test results:

    WebSDR files, 50 MB: https://cloud.mail.ru/public/4AHD/b6nnUF77F
    -22dB SNR simulated files, 50dB noise, 5000 signals, 48 MB: https://cloud.mail.ru/public/B9HT/ZBPfixwPV
    -23dB SNR simulated files, 50dB noise, 5000 signals, 48 MB: https://cloud.mail.ru/public/8GdG/vvHxY9VZU
    -22dB SNR simulated files, 80dB noise, 5000 signals, 65 MB: https://cloud.mail.ru/public/DgFU/wJk2McLt9
    -23dB SNR simulated files, 80dB noise, 5000 signals, 65 MB: https://cloud.mail.ru/public/3gxE/gtQ7dAKGg


    v18.1.0.82 -22dB SNR 50dB noise SNR files 165 total
    v18.1.0.83 -22dB SNR 50dB noise SNR files 164 total
    v18.1.0.83 -22dB SNR 80dB noise files 163 total

    v18.1.0.82 -23dB SNR 50dB noise SNR files 12 correct
    v18.1.0.83 -23dB SNR 50dB noise SNR files 12 correct
    v18.1.0.83 -23dB SNR 80dB noise files 12 correct 1 false

    v18.1.0.82 -22dB SNR 50dB noise SNR files 241 total
    v18.1.0.83 -22dB SNR 50dB noise SNR files 241 total
    v18.1.0.83 -22dB SNR 80dB noise files 241 total

    v18.1.0.82 -23dB SNR 50dB noise SNR files 22 correct
    v18.1.0.83 -23dB SNR 50dB noise SNR files 25 correct
    v18.1.0.83 -23dB SNR 80dB noise files 25 correct 1 false

    v18.1.0.82 -22dB SNR 50dB noise files 269 total
    v18.1.0.83 -22dB SNR 50dB noise files 278 total
    v18.1.0.83 -22dB SNR 80dB noise files 282 total

    v18.1.0.82 -23dB SNR 50dB noise files 26 correct
    v18.1.0.83 -23dB SNR 50dB noise files 30 correct
    v18.1.0.83 -23dB SNR 80dB noise files 30 correct 1 false


    WebSDR files, total decoded messages
    v18.1.0.81 deep+Hint+AGCc 3007
    v18.1.0.83 deep+Hint+AGCc 3011

    v18.1.0.81 deep+Hint+AGCc+lowTH 3076
    v18.1.0.83 deep+Hint+AGCc+lowTH 3076

    v18.1.0.83 deep+Hint+AGCc+subpass 3093

    v18.1.0.83 deep+Hint+AGCc+subpass+latestart 3129

    v18.1.0.81 deep+Hint+AGCc+SWL 3183
    v18.1.0.83 deep+Hint+AGCc+SWL 3201

  • Changelog 15th April (
    - added one more setting to FT8 decoder sensitivity action group: 'minimum', it will let user to switch off either 'use low thresholds' or 'use subpass' functionality

  • Changelog 14th April (
    - decoding subpass is introduced, raising up FT8 decoder sensitivity. It can be controlled via mainwindow UI 'Decode' tab -> FT8 decoding -> decoder sensitivity -> use subpass. This functionality requires usage of the low thresholds, hence both settings are combined into one action group: user can select either 'use low thresholds' or 'use subpass'. If 'use subpass' is selected then 'use low thresholds' flag is also being passed to the decoder.

    - updated ALLCALL.TXT file, containing 58485 callsigns
    - CAT Serial port configuration in the Radio tab of settings got an possibility to use default Hamlib settings for specific TRX model. This change is based on WSJT-X r8568 patch.
    - JTDX v18.1.0.82 installation package is built with the latest version of Hamlib

    Subpass functionality requires fast CPU, or can be used together with the SWL mode.
    JTDX.INI structure is changed, added settings to JTDX.INI: "UseFT8subpass"
    It should be safe to use JTDX.INI file from v18.1.0.81.
    There is changed number of serial port settings, transition from v18.1.0.82 to any previous version may cause some failures, it is better to use different INI file for old JTDX versions if there is any one being started after v18.1.0.82.

  • Changelog 11th April (
    - decreased a bit memory usage
    - updated ALLCALL.TXT file, containing 58135 callsigns
    - fixed bug of a wrong 'new one' notification to the free message
    - increased FT8 decoder sensitivity in both 'use low thresholds' ON/OFF settings
    - applied more filters to eliminate false FT8 decodes
    - Stop button is now dynamic one, takes bottom position among dynamic buttons
    - added independent FT8 decoding depth settings for Filter button functionality, can be controlled via Decode tab/action list
    - Sequencing tab counters temporarily disabled at SW startup

  • Changelog 28th March (
    - changes in synchronization math, improved decoding efficiency and sensitivity
    - SNR reporting is extended down to -23dB
    - filtering of the false free message decodes implemented
    - patch to optional clearing windows upon band/mode change, now configuration change shall not trigger clearing decoded messages
    - bug is fixed in 'per mode' notifications
    - filtering of false FT8 decoded standard messages is implemented, now false FT8 decode shall be rare guest on the user's screen
    - FT8 SNR calculation accuracy is recovered
    - red and blue markers are optional now, can be activated in Notifications tab of the Settings, red marker is activated by default
    - 'Bypass' dynamic button is added into mainwindow UI, it duplicates 'Bypass all text filters' action
    - RR73 message processing is reworked in QSO history in order to support counters from Sequencing tab. This change will affect autosequencing operation.
    - ALLCALL.TXT is updated, containing 56914 callsigns.
    - additionally imroved decoding efficiency in the SWL mode
    - debug messages got timestamp in 'Band Activity' window and ALL.TXT file

  • Changelog 20th March (

    - AGCc functionality is implemented to FT8, the same rule as for JT modes operation shall be applied by user: switch on AGCc button if AGC is being triggered in receiver by FT8 signals, otherwise please keep AGCc button switched off to preserve decoder sensitivity.
    FT8 AGCc functionality deals with the noise step at end of signal reception, this noise step disturbs decoder synchronization to the received signals.

    - minor changes in Notifications tab of Configuration UI: 'per mode' have been independent functionaltiy from 'per band', name and tooltips updated accordingly

    - 'Single shot QSO' (1 QSO) and 'Answer worked B4 calls' (AnsB4) dynamic buttons are implemented in mainwindow UI, will appear/disappear there depending on the vertical size of UI window. Both buttons just duplicate action controls located in the AutoSeq tab.

    - some cleanup in mainwindow.cpp/configuration.cpp/Configuration.ui source code

    - ALLCALL.TXT file is updated, containing 56561 callsigns

    - display 'Messages with wanted call to RX frequency window' option is implemented, can be toggled in the Misc tab

    - minor bug is fixed into 'Wanted callsign - to - DX Call window' functionality

    - blue marker is implemented to distinguish QSO 'my call in message' from incoming calls, where red marker have been used to notify on incoming calls

    - option to use maximum distance instead of best SNR is implemented for autoselection (AutoSeq), can be controlled via AutoSeq tab ('Max distance instead of best SNR' action)

    - increased decoding efficiency of FT8 decoder

    - option of low thresholds usage into FT8 decoder is implemented, this option is dedicated to fast CPUs and gains decoding efficiency and improves sensitivity of FT8 decoder. More signal-candidates being processed, hence fast CPU is required to fit into end of RX interval before beginning of signal transmission. Low thresholds will be applied to SWL mode with no respect to the selected setting. This option is available via 'Decode -> FT8 decoding -> use low thresholds' action.

  • Changelog 7th March (

    1. Updated ALLCALL.TXT file, containing 55505 callsigns now
    2. FT8 free message frequency recognition is added, lack of this functionality caused some failures in message filtering and AutoSeq functionality
    3. Free message with user's callsign shall bypass 'hide free messages' filter
    4. Patch to let proper frequency owner recognition after TX period change
    5. Patch to non-standard 73 messages processing
    6. Patch to let proper handling of the 'my call in message' notification red marker
    7. Blacklist functionality is implemented to AutoSeq mode, being used in both, auto sequencing and auto selection.

    Blacklist functionality is dedicated to prevent cyclic AutoSeq response to incoming call if calling operator left his setup unattended.
    Also user can use blacklist to prevent selection of CQ message and answering to it if there were several unsuccessful attempts before to answer to CQ message of this operator.

    User can add a callsign from DX Call window to the blacklist with CTRL+ mouse's right button click on Clear DX button, this will also clean up DX Call DX Grid windows and this callsign from QSO history.

    User can remove callsign located in DX Call window from blacklist using mouse's right button click on Clear DX button, this will also clean up DX Call DX Grid windows and this callsign from QSO history.

    All data in the blacklist will be automatically cleaned up at band change, configuration change and restart of JTDX.

  • Changelog 4th March (

    - SNR is calibrated at low levels to get into 1dB accuracy at -21..-22 dB levels, SNR reporting is limited to -22 dB as FT8 decoders can not pick up signals below -22dB SNR
    - 'TX messages to RX frequency window' option is brought back, this option is being used for content focused messages operation
    - Tx messages now will be displayed in RX frequency window if AutoSeq button is switched ON, it is required for auto sequence functionality operation.
    At content focused operation user will have to switch AutoSeq button OFF to prevent flooding of the RX frequency window by own TX messages.
    - improved input audio stream DT alignment for manual triggering of Monitor button and at start of program
    - protection implemented to prevent getting out of index range of dd1() array if Monitor button is triggered by user
    - 'strict directional CQ' option is implemented: software will ignore incoming call from new DXCC country if it does not match to the transmitted in CQ message direction. This option is available for control in Sequencing tab of the settings.
    - some patches done to prevent rare 'New grid' notification failures

  • Changelog 2nd March (

    - made FT8 Hint message filter working as initially intended
    - patch to clear 'band activity/RX frequency' windows on band change
    - updated ALLCALL.TXT file, 54872 callsigns
    - recognizing answers to user's directional continent/prefix CQ
    - full support of both sides directional CQ in AutoSeq6,7
    - handling proper new/B4 grid square notification if QSO party's operator transmitted new grid square
    - some code optimization and cleanup
    - made displaying TX message into RX frequency window as mandatory functionality
    - improved FT8 decoding efficiency

  • Changelog 21th February (

    - patch to prevent transmission in the wrong period
    - patch to prevent empty message transmission
    - major update to ALLCALL.TXT file, it has 53809 callsigns now
    - implemented filtering false low quality FT8AP (Hint) CQ message decodes basing on the ALLCALL data, most false CQ decoded messages shall be discarded now

  • Changelog 19th February (

    - ALT+D combination support is recovered for decoding RX frequency
    - ALT+F is implemented to toggle 'bypass all text filters'
    - discarded all changes done to Z6 prefix support: it has been supported in all versions 18.1 and new changes violated WSJT-X protocol.
    - added asterisk symbol support for FT8 Hint decoded messages in RX frequency window
    - fixed defect with wrong TX period transmission if opposite period message is clicked at transmission
    - improved and calibrated FT8 SNR calibration. New approach has 1db accuracy for white noise and non overlapped signals.


  • Changelog 16th February (

    - urgent patch to packing TX messages with Z-series compound callsigns, this bug was introduced with Z6 Kosovo DXCC support
    - FT8AP (FT8 Hint) false 'mycall anycall grid' decodes are being filtered now basing on ALLCALL.TXT file
    - ALLCALL.TXT file is updated, there are 40084 callsigns in the file
    - there is an option implemented to erase TX message from RX frequency window if it was transmitted for less than two seconds and changed to another TX message. This option can be activated in General tab of settings, 'Hide partially transmitted messages'.
    - erase band activity and RX frequency windows upon band change optional functionality is added, this option can be activated in 'Misc -> Erase both message windows at band change'
    - wanted callsign will be passed to DX Call window if message with it decoded and DX Call window is empty and no any message being transmitted
    - waterfall double click FT8 decoding bandwidth is expanded from 20Hz to 50Hz
    - extended FT8 signal decoding DT range in SWL mode from +/- 2.5 s till +/- 3.5 s
    - CQ DX and CQ continent (SA NA EU AS OC AN AF) processing is implemented, where searching functionality will answer to CQ messages if they are pointed to operator's continent. There is a single exception: new DXCC callsign will still be called.
    Also two-character main prefixes are being supported based on the cty.dat, for instance CQ JA will be answered by searching functionality if operator has any Japanese callsign, for instance if callsign is JH1AAA, while CQ JH will be ignored by JH1AAA as JH is not a main prefix in the prefix list of cty.dat file.

  • Changelog 10th February (

    - FT8 SNR calculation algorithm is simplified and is a single one now for all scenarios and there is no dependency on the used number of threads now
    - FT8 same decoded message with greater SNR is considered as dupe if frequency difference with the first decoded one is less than 45 Hz, this message will not be diplayed
    - FT8 empty message is being treated as dupe and will not be displayed
    - patch applied to prevent AutoSeq RX frequency jumps to 5000Hz
    - decoding specific signal via double click on the waterfall functionality is recovered to all modes
    - DX Call TX frequency shall be tracked now while operator being not in the QSO, it will be updated in the qso history and RX frequency will be set equal to the latest DX Call TX frequency
    - FT8 mode incomplete interval decoding is supported, can be useful in Tx halted scenario

  • Changelog 5rd February (

    - multi threading to FT8 decoding is finished, manual and auto selection from 1, 2, 4, 8 and 12 threads is being supported
    We recommend to use automatic mode, while experienced users in case of need can use manual selection in 'Decode' tab of the main window UI.
    - patched black background of received 73 message while color inversion is being used

  • Changelog 3rd February

    - free messages handling in AutoSeq is completely reworked
    - AutoSeq1 algorithm is changed, now it can change message while transmitting
    - 'where?' and country continent name patch in display decoded text
    - automatic multithreading to FT8 decoding is implemented, so far auto selection from 1,2 and 4 threads is being supported

    Test results with batch of the wav files, number of threads / total time spent (file reading + decoding + message output to screen):
    CPU Intel i3-380m (2 physical 4 logical cores)  1/2/4  374/334/271 seconds
    CPU Intel i5-4460 (4 physical cores) 1/2/4  260/219/163 seconds

    Number of printed lines in ALL.TXT versus number of threads used for decoding:
    1/2/4   2939/3004/3005
    FT8 wav files was used for tests:  https://cloud.mail.ru/public/4AHD/b6nnUF77F
  • Changelog 27th January
    - decreased memory usage (previously this issue was considered as memory leakage)
    - decreased decoding latency
    - reworked AutoSeq free message handling
    - minor code cleanup
  • Changelog 24th January
    - reverted FFTW plans clearing to prevent memory leakage on exit from JTDX software
    - fixed defect in JT65 decoder FFTW threads calculation
    - allowed maximum number of threads to standalone JT9 decoder and T10 decoder
    - updated azimuth/distance calculation basing on WSJT-X source code
    - applied existing 5 minute timer since last message transmission to stop spurious FT8AP decoder messages where we getting calls from non existing callsigns, this approach will reduce number of the false FT8 decodes. FT8AP CQ messages are not affected by this timer.
    - fixed bug in answer to worked B4 call if there is no any 'new one' criterion selected in the notifications tab, this bug was introduced in
    - patch to wrong band/mode reporting to pskreporter
    - cty.dat is updated from cty-2802 package, Z6 Kosovo prefix/ new DXCC entity support is added into JTDX code
    - some more tweaks to FFTW threads handling and other minor code corrections
  • Changelog 18th January
    - relaxed 'Automatic RX frequency filter' Filter button activation
    - more events added to ALL.TXT
    - some Clear DX and Halt TX patches applied
    - 'status', 'decode' and 'reply' UDP messages updated to WSJT-X format
    - some tweaks to '73' free messages handling by AutoSeq
    - WSPR RX message truncation bug is fixed
    - 'Answer worked B4' option is implemented to all AutoSeq modes

  • Changelog 13th January
    - sound input/output buffer size is changed back to WSJT-X values
    - software is built using FFTW v3.3.5 library, updated it in JTSDK from v3.3.4
    - FFTW dynamic multithreading is recovered, up to 12 threads is allowed now in non JT65 modes (up to 3 in WSJT-X), up to 11 threads is allowed in JT65 mode
    - minor code clean up

  • Changelog 10th January
    - more tweaks to AutoFilter functionality
    - changed documentation link
    - added optional automatic 'Erase band activity window at start of decoder' functionality, it can be activated in Misc action list, main window UI.
    - implemented partial AutoSeq processing for decoded on the RX frequency addressed and unaddressed free messages containing '73':
    - after sending RR73,RRR,73 standard message any decoded nonstandard message with '73' inside will be processed
    - after sending REPORT or ROGER+REPORT standard message decoded nonstandard message with 'myCall' and '73' inside will be processed


  • Changelog 6th January
    - AutoSeq patch to prevent unexpected stopping TX if RR73 message is being used for transmission while QSO is not finished (message 73 is not received from QSO party operator)
    - color background for TX messages is aligned
    - AutoSeq patch to this scenario where directional CQ was used:

    20180105_035400 -4 -0.2 2140 ~ AG2T CM2RSV EL83
    20180105_035415 Transmitting 7.074 MHz FT8: CM2RSV AG2T -04
    20180105_035430 0 -0.2 2140 ~ AG2T CM2RSV EL83
    user disabled TX at 035445 035515 035545
    directional CQ message is generated and transmitted by user:
    20180105_035615 Transmitting 7.074 MHz FT8: CQ DX AG2T FN30
    unexpected RR73 message is triggered by AutoSeq:
    20180105_035615 Transmitting 7.074 MHz FT8: CM2RSV AG2T RR73
    20180105_035630 1 -0.1 2141 ~ AG2T CM2RSV RRR
    20180105_035645 Transmitting 7.074 MHz FT8: CM2RSV AG2T 73

  • Changelog 4th January
    - Patch applied to AutoSeq handling possible gaps in the incoming audio stream: AutoSeq shall not change during the QSO style of operation(message sequence) from 'calling CQ' to 'answering to CQ'. In addition to the previously described reasons of audio gaps there is scenario where user has single audio device that is set as default one by MS Windows operating system and user doing Web browsing during the QSO.
    - Minor SWL functionality is implemented to FT8 mode, raises FT8 decoding efficiency approximately 1% up, SWL functionality is not dedicated for on air operation
    - Text is set to blue color on the AutoSeq button if 'Single shot QSO' option is activated
    - No TX audio issue: there are two possible reasons,
       -- first is where user accepting Settings change dialog with OK button, patch is applied to this issue in scenario where there is no audio device changed
      --  second reason is that between consecutive pushing of buttons Halt Tx and Enable TX at message transmission shall be at least 2 second gap, if user does it faster it resulting in no TX audio in this TX interval. So far I don't know how to deal with this scenario.
    - New functionality for audio device change during message transmission: transmission will be stopped, Enable TX button will get yellow colr for couple seconds and message transmission will be restarted
    - Last logged callsign label is implemented in the status bar
    - Several errors fixed in the code, input signal array handling is changed at entry point of the FT8 decoder

  • Changelog 3rd January
    There is 'Single shot QSO' option implemented to let users switch off Enable Tx button automatically when QSO is finished.
    This functionality can be activated in the AutoSeq action list in main window UI.

  • Changelog 31th December

    - bug is fixed where SW did QSO in semi-automatic way while AutoSeq button was switched off
    - QSO party's callsign is being cleaned up from QSO history at 'hisCall myCall grid' message transmission

    Both changes can eliminate some wrong QSO sequences in AutoSeq mode.

  • Changelog 30th December

    AutoSeq wrong handling of received RR73 message is fixed
    Some more tweaks done to prevent unexpected AutoSeq transmissions on the frequency of ex- QSO party
    Bug is fixed in AutoSeq mode selection logic
    SWL mode is blocked in FT8 decoder to prevent it's unintended usage
    Band scheduler functionality is recovered
    Recovered passing DX Call decoded 73 message to RX frequency window in scenario where Enable Tx is switched off
    Fixed bug for "reading wav file" event and added Filter ON/OFF event into ALL.TXT
    Deleted JTDX version number from widegraph window title, as it caused compatibility issue with JTAlert software
    Added "QRZ " as trigger for AutoSeq
    Implemented new AutoFilter functionality for AutoSeq, it is dedicated for slow CPUs and may be used in AutoSeq 1,2,3 modes
    AutoFilter can be activated in the AutoSeq action list of main window UI

    Known unresolved issues:

    Enable Tx button is switched off after QSO  in calling CQ operation and early QSO logging using "Prompt me to log QSO" scenario
    Free messages / TX macros functionality is partially broken
    AutoSeq can fail while handling compound callsigns
    AutoSeq can fail if called operator changed his TX frequency and has answered on some other frequency (?)

    Decoder latency, AutoSeq design and CPU processing speed related issue:
    Late interval decoding by CPU. AutoFilter functionality is implemented as workaround for this issue.

    JTDX.INI structure is changed, added new parameter "AutoFilter". JTDX.INI file from v18.1.0.58 can be used and shall not trigger any issues

  • Changelog 28th December

    Common version number being used for all UI windows and pskreporter,

    Now fixed unexpected RX frequency jumps from selected RX frequency to TX frequency if Enable TX button is turned off
    AutoSeq operation mode is named from 1 to 7, where 'and search CQ' is being used as 4 + any basic AutoSec number
    logging mode is being indicated as coloured background of QSO counter label (status bar)
    direction of CQ is being propagated to tx6 button (tab 1) on program initialization
    tooltips changed for Clear DX / Erase / Filter buttons and 'Halt Tx if operator I called answered to other operator' checkbox
    AutoSeq2 is set as default option
    changed functionality for Erase button: left mouse button will clean up left window, right mouse button will clean up right window, any mouse button double click will clean up both windows
    Currently unused Sequencing tab controls are disabled and greyed out

    Known issues:
    free messages / TX macros functionality is partially broken
    AutoSeq can fail while handling compound callsigns
    AutoSeq can fail if called operator changed his TX frequency

  • Changelog 25th December (compact and not all changes are shown)

    In answering to CQ operation and 'Prompt me to log QSO' logging mode:
    Enable TX button will always be switched off after QSO if TX frequency is equal to RX frequency
    Enable TX button will be switched off if TX frequency is not equal to RX frequency and user has accepted QSO logging when QSO is finished (73 message is received)
    Enable TX button will not be switched off if TX frequency is not equal to RX frequency and user has accepted QSO logging until QSO is finished (73 message is received), in this scenario after QSO JTDX will move RX frequency to TX frequency and will start calling CQ on the TX frequency

  • Changelog 23th December (compact and not all changes are shown)

    AutoSeq is always using priority, if there is any 'new one' criterion is set in Notifications tab then AutoSeq will be ignoring B4 calls and manual intervention will be required to answer it.
    There have been many changes, and selection changes can be seen in Mainwindow UI top tab under Sequencing.
    Any push buttons that are greyed are currently disabled for mode and or this step.

  • Changelog: 22th December

    Tx watchdog operation, now a double click on decoded line will trigger watchdog timer reset
    Default setting is now Call 1st
    If you experience any delay in decoding on busy bands, please use Call 1st
    Please copy a section of your all.txt file and post this privately or in group if you experience and issues.

  • Changelog 21th December (compact and not all changes are shown)

    AutoSeq Call 1st option is implemented, dedicated for usage on slow processors
    Skip TX1 functionality is supported now, sending report first
    FT8 wrong SNR reporting under Filter is fixed
    Directional CQ generation is changed in tab2
    Changed date/time format in ALL.TXT file to "yyyymmdd_hhmmss"
    Directional CQ, this allows user to input preferred calling area, and replaced CQ DX option in Tab 2

    Some features that use previous calls for priority may use more processing power, as it is performing more tasks; this is dependent on the station preferences in configuration filtering and Dx call, wanted call and worked B4 station in filters and notifications tab.

  • Changelog: 19th December

    Patch applied by Arvo for free text messages under Autoseq control
    Also the version number for PSK Reporter is now 18.1

    There have been many changes and additions these are a compact description.
    Action call priority and CQ 
    This feature now will auto call stations in a sequence that have not already logged, allowing those stations who seek new call only to do so.
    This feature will also not reply to any calls already showing in log again this feature will prevent Dx or Dx expos from double logging and wasting valuable time on repeat callers

    Filter function is now available in FT8
    The clearing of Dx windows and the ability to send and RRR then a 73 has also been addressed
    There have been cosmetic features add at user requests

  • Changelog: 12th December

    The goal is to keep callsign in DX Call window if you called DX and DX operator has answered to other operator.
    So you could wait for his 73/RR73 message and call him again. Now 73/RR73 message in such scenario will be printed in the RX frequency messages window, with no respect to the real frequency this signal is decoded.
    There is now 4-period guard timer that will ban auto prompt to log QSO or automatic QSO logging if you transmitting 73/RRR/RR73 message again to the same callsign that has just been logged.
    Also other modifications are being worked on currently to further enhance user features and prevention of QRM and ease of use.
    Please use the QRM prevention features available. Configuration window: Sequencing "halt Tx", this will make all users experience pleasant
    Tx watchdog: will have Tx after 7 transmissiom (current implementation)

  • Changelog: 10th December

    Reworked replyToCQ() method responsible for getting control from external software, like JTAlert

  • Changelog: 9th December

    T10 symbol is changed to +, FT8 to ~, posting decoded messages via UDP is open there and this step will work with the latest JTAlert 2.10.6.
    Also this step shall work with Logger32 and Swisslog.

  • Changelog 8th December

    FT8 is currently partly implemented in JTDX 8th December.
    There is still development work to be done to fully implement all current JTDX features for FT8.
    FT8 credits to K1JT and the WSJT-X development team, Copyright notice included

  • Changelog: 25th November

    Addition of content filtering in configuration setting, please follow link for full instructions and examples.
    Show content related to messages in Rx window.
    Code optimization and removal of redundant code and features in JTDX

  • Changelog: 19th November

    JTDX AutoSeq and correct logging corrected.
    There has been many changes and testing, please post any issues in the group
    Please see previous step release posting for full changelogs from previous steps
    FT8 is not currently implemented in JTDX and should be included in next JTDX release
    FT8 credits to K1JT and the WSJT-X development team, Copyright notice included

  • Changelog: 15th November

    More improved accuracy of the QSO start/end time logging.
    Following a post from Steve VK3SIR, JTDX Autoseq can handle many different forms of reply as expected or unexpected during a QSO.

  • Changelog: 14th November

    There is better handling of QSO time_on: callsign checking added at report and roger+report message transmission.
    This patch shall fix an issue where two contacts in the log have the same QSO time_on.

What is JTDX?

JTDX means "JT & T modes for DXing", it is being developed with main focus on the sensitivity and decoding efficiency, both, in overcrowded and half empty HF band conditions.

It is modified WSJT-X software forked from WSJT-X r6462.

JTDX supports JT9, JT65, T10 and FT8 © digital modes for HF amateur radio communication, focused on DXing and being shaped by community of DXers.

© 2016-2017 by Igor Chernikov, UA3DJY and Arvo Järve ES1JA

It is created with contributions from DK7UY, DO1IP, ES4RLH,G7OED, MM0HVU, RA4UDC, SV1IYF, UA3ALE, US-E-12, VE3NEA, VK3AMA,  VK6KXW, VK7YUM and LY3BG family: Vytas and Rimas Kudelis.

JTDX is licensed under the terms of Version3 of the GNU General Public License (GPL)

The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, and MSK144 are Copyright © 2001-2017 by one or more of the following authors:
Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV;
Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q;
and other members of the WSJT Development Group.

JTSDK Credits
JTSDK by Greg Beam, Joe Taylor




Igor Chernikov
(Team Leader)





Arvo Järve








David Smith





Yeryshov Alexey




















Vytas and Rimas Kudelis





Wolfgang Blau

Born: 1962
Licenced: 1980

DXing, Digital modes, CW,
Photograpy, Music, Travelling




Andrei Walter

Born: 1971
Licenced: 1991

Interests:DXing, Contesting, Digital modes, WebDeveloper




(User-Manual Editor)




JTDX is derivative work forked from the WSJT-X r6462 software with some later WSJT-X v1.7 patches applied.
Source code is modified with contributions from Arvo ES1JA, Richard G7OED, David MM0HVU,
Alexey RA4UDC, Vitaly UA3ALE, Oleg US-E-12, Alex VE3NEA and LY3BG family: Vytas and Rimas Kudelis. 

This release notes are created by Igor UA3DJY on November 19th, 2017. 

Support being provided by Igor UA3DJY, email address: c_igor at inbox.ru and by HF community in the JTDX Yahoo group.

More detailed information, built software, link to the source code, optional user interfaces, HF CALL3.txt file, test results, release notes can be found in:

JTDX Web sites:

JTDX Yahoo technical group:

Russian JT65/WSJT-X forum:

Facebook group focused on the JTDX software usage:

CALL3.TXT file also being supplied together with the software installation package.

Starting from November 1st, 2016 and until July, 2017 CALL3.TXT data was based on JT65/JT9 spots made
by JTAlert software and collected from http://hamspots.net resource.
Many thanks to Laurie VK3AMA for this contribution.

Starting from July 2017 we have not got access to hamspots.net spot data and can not provide CALL3.TXT updates.


Changes implemented in the source code.

- modified modulator: improved level fading at end of the message transmission.
- 'RRR' message is replaced with 'RR73' message. 'Log QSO' prompt can be triggered
  by transmission any of these messages: 'RRR', 'RR73', '73' 
- three-pass decoding is implemented, decoder thresholds optimized for each pass.
  Advanced settings tab now provides possibility to choose between two- and three-pass decoding.
- changes of the FFT window functions, optimized for number of correct decodes criteria.
- implemented spectrum distortion functions for each decoding pass, optimized these functions
  basing on the maximum number of correct decodes
- implemented functionality of high sensitivity, control button Preamp in main UI window, and
  possibility to choose number of passes in the Advanced settings tab. 'Random erasure patterns'
  is set to 8 for Preamp mode, it is not affected by settings in the Advanced tab now.
  Decoder thresholds and spectrum distortion functions were optimized for each Preamp pass.
  Signal subtraction is used between Preamp decoding passes.
- removed 'Robust sync' manual activation from Advanced settings tab.
- improved user interface in the main window.

- improved accuracy in signal subtraction (eliminated error in number of the samples). Small
  changes to the user interface main window.

- user interface improved, splitter inserted between left and right parts of the main window
- users now have choice between RRR and RR73 message
- nbirdie(extract.f90) value optimization brougth some more new correct decodes. nbirdie=7 being
  used for Preamp OFF mode, nbirdie=6 for Preamp ON mode
- number of decoding attempts for Preamp OFF mode is set to 100
- number of decoding attempts for Preamp ON mode now can be choosen from this range: 1000,2500,
  5000,7500,10000 via Advanced settings tab by values 1,2,3,4,5

- number of decoding attempts for Preamp OFF mode increased from 100 to 300
- implemented 'Filter' button/functionality: eliminating vast majority of the false decodes
- improved JT65 decoding efficiency for DT range [-1..0], this functionality is implemented
  only in the Filter ON mode by 26000 sample offset of the input data
- for all Preamp/Filter combinations increased JT65 DT decoding range
- for all Preamp/Filter combinations implemented some additional filtering of the false decodes
- standard CQ message is generated on WSJT-X start up, it should eliminate some cases of the empty
  message transmission
- input data is reloaded if 'Filter' button is triggered, so it is possible to decode again latest
  RX interval data in any combination of the Filter/Preamp modes using button 'Decode'

- implemented dual SYNC search functionality with 1/4 symbol spectrum shift, getting more
  correct JT65 decodes.

r6462mod10 JT65a optimization:
- is based on dual SYNC mod9, Preamp+Filter functionality, Preamp and Filter buttons deleted from UI
- SYNC search upper frequency is limited by 2700 Hz value
- new SWL mode/button introduced, providing maximum decoding efficiency
- for SWL OFF mode candidate ranking based on SYNC value being used
- for SWL OFF mode number of candidates is limited for each pass (17/35/35) basing on the statistics
- for SWL OFF mode dynamic decoding attempts as function of number of candidates implemented
- decoding time is optimized and normalized for SWL OFF mod, decoding efficiency is improved

r6462mod11 JT65a optimization:
- first decoding pass got two subpasses, both using the same SYNC list of candidates.
  For subpass 1.1 maximum number of candidates is limited to 21, for subpass 1.2 to 25.
  Decoded signals being marked in the SYNC list and ignored while doing subpass 1.2. 
  In fact in mod11 revision we have got very effective four-pass JT65a decoding.
- SWL ON functionality is changed: now it is based on the SWL OFF functionality, simple 3 unit
  offset is applied to the decoding attempts value settings for SWL ON mode. SWL ON and SWL ON decoding
  attempts approximately balanced for corresponding decoding time.  

r6462mod12 JT65a optimization, focused on weak signals reception:
- automatic weak signals decoding mode for number of candidates less than 9
- four passes are used for JT65a decoding with common SYNC candidate list if number of candidates
  is less than 9
- SYNC threshold 3.0 being used to pass weak JT65a signal to the FTRSD decoder
- number of decoding attempts nvec is dynamically calculated for each pass basing on the number
  of good SYNC candidates, decoded signals being marked in the SYNC list and ignored while doing
  passes 2,3,4
- srand function is used in the FTRSD decoder if number of candidates is less than 9
- improved decoding time balance for SWL OFF/ON modes

r4662mod14 changes:
- implemented hinted decoding for HF JT65a operation on the QSO frequency, hint65.f90 source code is
  adopted from the WSJT-X v1.7 r6606 revision. CALL3.txt file shall be used for hinted decoding, only
  first 15000 records being processed in r6462mod14. JT65+JT9 combined mode only supported.
- attempt to eliminate r6462mod12 degradation of the JT65a signals decoding efficiency in the industrial
  noise band environment, mostly useful for 80/160m bands operation

- fixed defect in logic of the choosing decoding passes: recovered signal decoding for the small number
  of SYNC candidates

- implemented all standard messages for hinted decoding, added RR73 message, totally 66 messages/codewords
  generated per each record of the CALL3.TXT file
- up to 25000 records from CALL3.TXT file can be processed now

- implemented asymmetric tunable DT window for hinted decoding
- hinted decoding bandwidth also limited to 7Hz after the frequency correction

- implemented additional hinted decoder for 'DX Call' and 'DX grid' data
- hinted decodes now marked by the asterisk, not supported in the left decoding window if 'Show DXCC
  and worked B4 status' is enabled 

- additional criterion implemented for hinted decoding: distance between the best codeword
  and Gaussian(AGWN) noise, increasing probability of hinted decodes for the CALL3 and DX Call decoders

JTDX v15.4
- additional, third criterion: multiplicative combination of the two previous criteria applied
  in the CALL3 based hinted decoder, allowing to reduce number of the false CALL3 based hinted decodes
  with no decoder's sensitivity degradation
- DX Call based hinted decoder is stepped down to mod15.2 source code for non CQ messages only.
  It reduced number of the DX Call based false hinted decodes as tradeoff of sensitivity
- corrected UI defect of mainwindow expansion for WSPR2 mode
- two new buttons are put in the main window: Hint and Clean DX, last one can be triggered by ALT-X combination.
  New buttons make user interface as more friendly one, allowing user to avoid some false hinted decodes.
- transition started from modified WSJT-X to standalone JTDX software 

JTDX v15.5
- proper software name indication in station information and statistics in the pskreporter.info wed site
- spots with RR73 grid locator blocked for reporting to pskreporter.info
- spots with hinted decodes blocked for reporting to pskreporter.info
- DXCall and DXGrid windows autoclearance if CQ button is clicked

JTDX v15.6
- fixed defect with SWL mode, after SW restart SWL mode on settings were not applied in previous versions
- fixed minor defect in UI1 where standard/free message windows size was shrinked, this defect coming from v15.4
- implemented additional, CALL3 based, wideband hinted decoder for CQ messages with -28dB SNR sensitivity, this functionality
  can be activated by the Hint button. DT range is limited from -0.5 to 1.0 for this decoder.
- implemented CQ DX standard message, user can choose between CQ and CQ DX message using DX checkbox
- implemented Filter functionality: 400Hz bandwidth is used for decoding, 100Hz bandwidth is used for displaying decoded messages
- implemented asterisk indication of the hinted decodes for 'Show DXCC and worked B4 status' feature
- UI is modified with Filter button and DX checkbox to support new functionality

JTDX v15.7  JT65 functionality
- removed unnecessary spectra recalculation for every candidate, now JT65 spectra being recalculated only if previous
  candidate was decoded and signal subtracted. This fix shall make decoding a bit faster.
- turned on signal subtraction on the 3rd decoding pass, reduced number of the false FTRSD decodes
- fchisq65 and afc65b source code is modified, now providing better DT calculation accuracy and reduced number
  of the false FTRSD decodes

JTDX v15.8  JT65 functionality
- new wideband hinted decoder implemented for the CQ DX message
- turned on CQ and CQ DX wideband hinted decoders on the 2nd and 3rd decoding passes
- modifed source code fchisq65, got more linearity and better accuracy in DT calculation
  of the weak signals, bringing more correct FTRSD decodes
- implemented FTRSD decoder bypass if initial SYNC value on the QSO frequency is less
  than 1.0
- implemented filtering of some false 17 and 18 character long FTRSD decodes if DT
  of the signal is outside of the -0.5...1sec range, source code chkfalse.f90. CALL3.TXT
  file data is used for this functionality and this filtering is not activated if number
  of records in CALL3.TXT file is less than 16000. CALL3.TXT data loaded in memory
  at the first attempt to check decoded message.
- modified JT65 signal simulator with CQ DX message
- minor change in UI, tab name Help -> About JTDX

JTDX v15.9  JT65 functionality
- correlation function thresholds (ccfbest variable) implemented for various negative DT ranges,
  this approach lets to decrease number of candidates hence decreasing decoding time
- fifth decoding pass is implemented. This functionality will gain number of the decoded messages
  if number of signals on the band is greater than 20. There is also gain in weak signal FTRSD
  and hinted decodings.

JTDX v16.0  JT65 functionality
- filtering of the false FTRSD decoded messages expanded down to the 14-character message length
- additional criterion(0.005sec DT offset) implemented to filter out FTSRD false decodes with grid
  locators caused by the SYNC signal harmonics (bad TX signal or IMD in the RX path), the same
  chkfalse.f90 source code is used for filtering, also based on the CALL3.TXT file
- checking for SYNC harmonics implemented, based on three criteria: DT offset, ccfbest value,
  frequency greater than 1500Hz. Wideband hinted decoders bypass is used if signal meeting these
- mouse left button double click on the waterfall now triggering 'Filter' functionality where messages
  will be decoded and signals subtracted in 400Hz bandwidth, but only messages in 50Hz bandwidth
  will be shown in the decoded messages window. This is a bit different from the 'Filter' button
  functionality where messages shown in the decoded window within 100Hz bandwidth
- found and fixed defect: wrong signals were subtracted for hinted decodes
- cleaned up some rubbish and some not used code, many integer variables changed to the logical type.

JTDX v16.1
- JT65: eliminated minor defect of wrong signal subtraction for decoded messages on the QSO frequency
  by the hinted decoders
- JT65: added new source code for calculation power of last 8 symbols of the SYNC signal. For the first pass
  of decoding, list of the signals/candidates being sorted now basing on new criterion: multiplication
  of the CCF and last 8 symbols power values.
- JT65: implemented signal subtraction for the dupe decoded messages on the first pass of decoding
- deleted JT65 program source code, this software was used for the test purpose
- deleted JT4 related Fortran source code
- JT65: withdrawn (21 + QSO frequency) number of candidates limitation for the first subpass of the first
  pass of decoding
- country file cty.dat updated to version CTY-2608

JTDX v16.2 JT65 functionality
- minor defect fixed: in v16.1 index of the dtchk data structure could go out of boundary
  if there is heavy distortion in the RX audio path. Two patches applied: index maximum value increased
  from 200 to 300 and maximum number of candidates for first decoding pass is limited to 150.
- activated four threads for Fast Fourier Transform in the filbig.f90 source code
- cleaned up and checked logic in source code jt65_decode.f90 sync65.f90 xcor.f90 symspec65.f90
- at first decoding pass in jt65_decode.f90 applied dynamic threshold for candidate choosing based
  on the first three most SYNC values, if there are less than 9 candidates detected in sync65.f90
- major defect fixed: starting from v15.9 values from FTRSD decoder were not passed to variables
  nrtt1000, nhard_min, ntotal_min in jt65_decode.f90. This bug caused most of the FTRSD false decodes.
- sync value thresholds increased in syn65.f90: for (QSO frequency +-1Hz) applied threshold 0.4,
  for (QSO frequency +-3Hz) changed threshold from 0.5 to 0.8. This changes eliminated some false hinted
  decodes as trade off of hinted decoding sensitivity on the QSO frequency.
- minor defect fixed: variable qsofreq was initialized in wrong place in sync65.f90
- applied corrected frequency value for signal subtraction in subtract65.f90
- Echo and ISCAT modes now accessible in the optional user interface only

JTDX v16.3 JT65 decoding functionality
- minor defect fixed: srand generator was used in FTRSD in 2nd...4th decoding passes if number of candidates
  is less than 8, this bug could cause some false FTRSD decodes
- minor defects fixed: in logic of candidate processing in decode65a.f90 and in making of the candidate list
  in sync65.f90
- decreased SYNC threshold trhesh0 for first decoding pass in jt65_decode.f90 and sync65.f90 from 2.5 to 2.3,
  with automatic value choice of this threshold, based on the SYNC values of the signals
- limited thresh3 usage in jt65_decode.f90 by first subpass of the first decoding pass
- reworked and changed decoder bypass decision logic, fixed minor bug that might cause some false decodes
- limited DT range for making candidate list in sync65.f90 to -5.3 ... 5.2 sec
- changed sampling frequency value from 1378.125 to 1377.2321 in decode65a.f90, afc65b.f90, twkfreq65.f90
- increased resampling factor from 4 to 8 in fil6521.f90
- decreased LPF bandwidth twice in fil6521.f90, improved attenuation in stopband from 38 to 60dB
- adjusted reported SNR value
- multiple source code calculation accuracy and clean up changes

JTDX v16.4, JT65 decoding functionality
- defect fixed: wrong response message was selected on mouse double click
  on the 'mycall hiscall RR73' message
- defect fixed: one of the variables in SYNC tail power calculation was not initialized
- defect fixed: 4 arguments were passed while calling decoder.f90 in jt9a.f90 subroutine
  while only 3 are accepted
- came back to 1378.125 Hz sampling frequency in decode65a.f90, afc65b.f90, twkfreq65.f90:
  corrected an accuracy error I introduced in v16.3 due to the wrong usage of calculator
- in filbig.f90: increased number of taps of the anti-aliasing LPF filter from 15 to 499,
  fully utilising filtering efficiency in the frequency domain
- in fil6521.f90: increased number of taps of the anti-aliasing LPF filter from 21 to 23
- in fil6521.f90: implemented one more 21-tap LPF filter with 172Hz sampling frequency
  to improve further processing of the candidate's SYNC pattern
- adjusted fil6521.f90 processing delay in DT value, decode65a.f90 source code
- changed to static ones some variables in the signal processing to reduce negative affect
  of the current software memory leakage on the signal decoding stability
- in hinted decoders reduced number of the static variables to decrease memory usage
- adjusted SNR indication after filter changes in fil6521.f90

JTDX v16.6
- applied WSJT-X patches r6489,6518,6521,6523,6755,6756,6757,6762,6766

- changed default configuration settings(used for first start of JTDX software):
    mode=JT65+JT9, modeTX=JT65, LockTX=RX is OFF, CQ
    waterfall settings: bin/pixels=5, JT65 2400 JT9, N Avg=1, Flatten is OFF, Current
    Advanced tab: decoding attempts=3, decoding passes=4, hinted decoding DT range=1
    Colors tab: default colors
    font settings of the decoded message: Consolas, 11, Bold  

- changed user interface UI1:
    interval time progress bar now has red color for TX, green color for RX
    clock moved, date is deleted
    dial frequency and UTC labels background colors changed to gray one, text to deep blue color
    direction of TX to RX and RX to TX frequency overwriting is shown by arrows now
    WSJT-X icon in the taskbar will be blinking if other application is active and decoded message containing user's call

- DXCC country prefix being now shown instead of the country name, it has no connection to the 'worked B4' functionality 

- decoded CQ message now being shown with text color instead of the background color

- changed 'Worked B4' functionality, background colors can be activated independently for any option and will be applied according
  to this hierarchy order:
    new DXCC per log
    new DXCC per band or (new DXCC per band and per mode)
    new call per log
    new call per band or (new call per band and per mode)

  Additional buttons created in Colors tab to support new 'Worked B4' functionality.

- changed configuration Settings, in the General tab added new 'Worked B4' and 'beep on my call' controls

- symbol '@' in the macros being now substituted by 'DX Call'

- fixed minor defect of the missed background color for AnswCQ label in the user interface

- added sound alert by system sound for user call presence in the decoded message. Starting from MS Windows Vista default Audio device
is used for this alert, in MS Windows 10 this system sound is called as 'default beep'. This functionality was not tested under Linux.

- SkipGrid/Skip TX1 checkbox added in the QSO controls widget, message with report will be generated first if this box is checked.
  This functionality is aimed for making shorten QSOs.

- defect fixed in symspec65.f90 source code, ref22(NSZ) array was not declared there

- mouse left button double click on the decoded standard message will change RX frequency if LockTX=RX checkbox is not checked.
  If Ctrl button pressed, mouse left button double click on the decoded standard message will change RX and TX frequency.

- pressing F7 keyboard button will open log file wsjtx_log.adi by editor software set in the operating system for .adi extension

JTDX v16.6.1

- removed part of the r6755 patch from the source code HamlibTransceiver and TransceiverFactory in order
  to recover JTDX functionality under MS Windows XP

JTDX v16.7

- code is added to recognise country properly for CQ NA, CQ AS and similar free text messages

- step deltaa(3) is changed to 2.0 value in the afc65b.f90 source code

- JT65 SYNC decimation filter is moved from time domain to the frequency domain, from fil6521.f90 to filbig.f90 source code,
  fil6521.f90 source code is obsolete now

- current time and date is added to the status bar

JTDX v16.8

- interval time added to separation line in the left decoded text window

- new filters implemented in the filbig.f90 source code

- reworked source code: xcor.f90, afc65b.f90, fchisq65.f90 and twkfreq65.f90.
  setup65.f90 source code is not used anymore for building software, required functionality moved to
  the decode65b.f90 source code.
  Minor changes in the decoder.f90, jt65_decode.f90, sync65.f90 and decode65a.f90 source code.

- minor changes in user interface UI1: smaller application window size can be set now by user

- application and widegraph titles are changed to JTDX, installation path is changed to C:\JTDX\

- SNR is adjusted in the -01...-31dB range with approximately 1dB accuracy. Simulated wav files were used for calibration,
  SNR offsets 1dB step array added to the jt65_decode.f90 source code.

JTDX v16.9

- twkfreq65.f90 source code is not used for building software, frequency correction functionality is moved
  to decode65a.f90 source code

- linear signal frequency drift taken into consideration for signal subtraction

- corrected lag range for correlation function in the ccf2.f90 source code

- updated Hamlib3 for new transceiver's CAT support

- SYNC signal power calculation is implemented in the decode65b.f90 source code, dupe candidates with the same
  SYNC power are banned now to go to the decoders

- QSO frequency candidates now have second decoding attempt with 1 sample offset at 1378.125 Hz sampling frequency,
  it has improved decoder's sensitivity.

- in overcrowded band conditions and at first decoding pass: QSO frequency candidate from the first position
  being now added to the last position of the candidate list, to get benefit from the signal subtraction

- defect fixed: mouse's left button double click on the waterfall(is used to decode signal again with Filter functionality)
  caused TX mode change from JT65 to JT9

- major defect fixed in making of the candidate list, source code sync65.f90, this bug affected decoding stability
  starting from JTDX version 16.3 

JTDX v16.9.1

- false decode filters are reworked for FTRSD decoder in the source code decode65b.f90

- new candidate selection criterion is implemented for decoding passes 2...4 in sync65.f90.
  DT is multiplied by SYNC value, candidates with -0.5...+1 sec DT range have highest priority, linear
  DT slope factor function is applied to the criterion for candidates having DT outside of this range.   

JTDX v17.0.1

- software installation is changed, logbook and settings file are stored in folder %LOCALAPPDATA%\JTDX,
  settings file has name JTDX.INI now. Prefix in the interface name for UDP connection is changed from

- implemented mutiple instances support for JTDX <-> JTAlert interaction, where multiple JTDX instances running
  using key '--rig-name=' (suffix of the interface name for UDP connection). This functionality is supported
  in JTAlert 2.8.5. Every JTDX instance shall be configured with unique UDP port number in the Settings-Reporting

- defect fixed: starting from JTDX v16.9 there was excessive decoding time if there were few signals
  on the band. This defect also caused too high sensitivity of the Hint decoders and some false hinted decodes.

- WSJT-X patches r7229, r7233 are applied: TX audio level settings saving per band

- TX audio level settings saving feature is expanded to the 'per band and per mode' basis,
  many thanks to Arvo ES1JA for provided source code and testing this functionality 

- minor change in the functionality is done: TX mode is set to JT65 instead of JT9 if user changing
  mode from WSPR to JT65+JT9

- minor change in configuration is done: hyphen sign is allowed now in 'My Call' window, letting to
  use complex SWL callsigns for band monitoring with spots reporting. Many thanks to Oleg US-E-12 for
  provided solution.

- software crash is fixed, caused by getting index of the dtchk() data structure out of the top bound.
  Message 'input audio signal is distorted' being generated now and decoding this minute interval being
  interrupted, while software will handle this issue and will continue to work.

- Hint decoders bypass is implemented for scenario where signal SNR is greater than -05. This solution
  will allow to decrease number of the false hinted decodes for distorted audio signal with no affect
  on the sensitivity.

JTDX v17.1

- decoding passes logic is changed in jt65_decode.f90, in result there is increased number of the weak
  signals decoded by FTRSD

- defect is fixed, if callsign is clicked in JTAlert initial CQ message is now propagated into RX frequency
  window. Many thanks to Arvo ES1JA for this patch. Thanks to Ed K0KC for reporting of this bug.

- changed functionality for accepting decoded message from two Hint decoders operating on the RX frequency:
  decoded Hint message is banned as the false one if there was message decoded by BM/FTRSD on one
  of the previous decoding passes that contains the same callsigns. It should reduce a bit number of the false
  Hint decodes. Thanks to Luc VE2FXL for reporting of this scenario.

- new functionality is implemented for one of the four Hint decoders which working on RX frequency with CALL3.TXT
  data: five minute (5 min 14 seconds) timer is (re-)started at end of the each transmission or if Hint button
  is activated by user, it is used to automatically enable/disable propagation of the non-CQ decoded Hint messages
  from this decoder. The messages will be shown on the screen if timer is running and are banned if timer is expired.
  Hence if user making QSO then all messages being accepted from this decoder, if user going to the passive mode of band
  monitoring then in five consecutive RX intervals non-CQ messages from this decoder will be banned. Such approach
  will let user to reduce number of the false Hint decodes being in the band monitoring mode.
  Thanks to Luc VE2FXL for reporting of this scenario.

- first step done towards assisted BM/FTRSD decoder functionality. Upon exceeding defined thresholds decoded messages
  being checked with the matched filter against the received signal. If it is free message in it is not matched, then
  this message is banned. In case it is standard message and it is not matched, then it is checked against CALL3.TXT
  data if any of two callsigns exists in the CALL3.TXT. Standard message being treated as false one if both callsigns
  are not found in the CALL3.TXT file.
  This approach lets to ban from 30 to 50 percents of the false FTRSD decodes.

- expanded sound notifications for the 'non-worked B4' status functionality. Many thanks to Vytas LY3BG and
  his son Rimas Kudelis for supplied source code and making tests of this functionality.

JTDX v17.1.1  - is based on JTDX v17.1, has got alternative 'new one' notification functionality implemented
by Arvo ES1JA

JTDX v17.2

- fixed wrong UTC indication if interval or audio wav file being decoded again by Decode button

- fixed wrong 'new one'(worked B4) functionality notification for single JT9 or JT65 mode of operation, many thanks to
  Vytas LY3BG and Rimas Kudelis for this patch

- auto stop Hint five minute timer is also applied to DX Call Hint decoder.
  Thanks to Luc VE2FXL for reporting of this scenario.

- directional CQ WSJT-X patches 'CQ AA'- 'CQ ZZ' (E9AA-E9ZZ) r7289, r7294 are applied. It is standard type message user
  may type now in the free message box

- '@ TNX 73' TX macro is set as default free message, where '@' symbol handles 'his call'

- RX frequency CALL3.TXT data based Hint decoder is split to the message specific decoders, memory usage for this
  group of the Hint decoders is reduced. There are three decoders now in this group:
  - 'CQ hiscall hisgrid' message decoder
  - 'mycall hiscall hisgrid' message decoder
  - 'mycall hiscall report' message decoder, where report is -01...-30 only. R-01...R-30 report messages
     are not supported now in this group as these messages are covered by DX Call hint decoder

- new wideband experience based Hint decoder is implemented, bringing approximately 5% more decoded messages for number
  of decoding attempts set to 1 in the Advanced tab. This decoder using call/frequency data from the last two consecutive
  RX intervals.

JTDX v17.2.1  - is based on JTDX v17.2, has got alternative improved and expanded 'new one'
notification functionality, implemented by Arvo ES1JA. This version is especially created
for public testing and this 'new one' notification functionality might come in the main JTDX branch
if accepted by majority of users.

It is recommended to use default colors until this functionality is understood by user, and to set only
required criteria for checking.

So far it is possible to reset color settings to the default values, only if JTDX.INI file is deleted.

- fixed bug (v17.1.1) where grid locator was not extracted correctly from
the non-CQ standard messages.

- strikethrough or underline may now be used as notification for the Woked Call in CQ and MyCall messages.
  Underline is set by default.

- background color may now be used for the Worked Call notificaton, standalone or togehter with
   strikethrough or underline of the decoded CQ  and MyCall messages.

- if 'Inverse text/background color' checkbox is checked:

   'CQ' and 'MyCall' messages met the 'New..' criterion will use their setting's text color as the backgound color,
    while 'new..' color will be used for text in these messages. If there 'New..' criterion is not met then 'Worked Call'
    color will be used for text in these messages if it is activated.

    Tx messages always have background color notification.

    All other standard messages will be using 'Standard Message' background color and 'New...' text color
    notification if 'Check all standard messages' checkbox is checked, otherway there is no any checking performed
    for these messages.

- user now can choose 'Standard message' background color (in 17.1.1 it was hardcoded as gray one).
  Gray color us set by default.


JTDX v17.2.2  - is based on JTDX v17.2.1, has got alternative improved and expanded 'new one'
notification functionality, implemented by Arvo ES1JA. This version is especially created
for public testing and this 'new one' notification functionality might come in the main JTDX branch
if accepted by majority of users.

v17.2.2 fixes some bugs found in the version 17.2.1:

- Bold font usage failure

- '@ TNX 73' TX macro is set as default free message, where '@' symbol handles 'his call',
   user would have to delete old JTDX.INI file to make this change visible

- several bugs where 'New ..' status was incorrectly reported

Important note to the functionality description: 'Worked..' notification is a remaining action of the 'New..' checks,
and as per design it being applied to 'CQ' and 'MyCall' messages only.


JTDX v17.3  - is based on v17.2 source code, JT65 functionality:

- DX Call based Hint decoder is split to the four focused decoders, bringing JT65 decoding sensitivity
  down to -34dB SNR:
  - decoder for CQ/CQ DX messages
  - decoder for messages with '-' reports
  - decoder for messages with 'R-' reports
  - decoder for RRR/RR73/73 messages

- time transition from 23:5x to 00:0x is covered by uninterrupted interval numbering within 7 consecutive days
  of running JTDX software, this lets to support experience(previous intervals) based Hint decoders funcionality
  for the date change time window

- new wideband experience(previous intervals) based Hint decoder is implemented for the basic CQ and full range of
  directional CQ messages (CQ AA to CQ ZZ)

- disabled RX frequency CALL3.TXT based Hint decoder, which processed report "-" messages. This functionality
  is covered by DX Call based Hint decoder with better sensitivity and less resource being used.

- for DXCall based Hint decoders, excluding CQ/CQ DX decoder, data from previous decoded intervals being used now
  together with data from the DXCall window

- excluding CQ/CQ DX message, other DXCall Hint decoders using additional trigger for getting turned on: RX frequecy

- adjusted thresholds for all 10 Hint decoders using ratio (maximum sensitivity)/(acceptable number of the false decodes)
  as criterion  

- expanded filters for the false FTRSD decodes, being now used QTH grid square and callsign prefix data

- modified filter of the standard messages for the 'new one' notifications

- notification settings are put in the common tab with the color settings, 'Notifications' tab in the Configuration
  user interface

- applied WSJT-X patch r7360, to recover CW ID transmission for long callsigns

- updated CALL3.TXT file as of December 12th 2016, 17340 records, supplied with the JTDX software package.

Now there are 10 Hint decoders in the JTDX v17.3 software, using matched filters in wide bandwidth or RX frequency,
focused on some range or specific messages, and using data from CALL3.TXT file or from previously decoded
intervals or from DXCall/DXGrid windows. All these decoders are activated by the Hint button, but some of them
being turned off using timer and being brought back in service by transmission of the message of by change of the RX

There is unchangeable DT window set in the code for some Hint decoders, previous intervals data based Hint decoders
using +-0.2sec DT window to the last decodes to process candidate, and only for two Hint decoders working on
the RX frequency and based on the CALL3.TXT data user may change DT range in the General->Advanced tab settings.

JTDX software is made in such way that vast majority of the Hint decoders functionaly goes invisibly to user, and
from user's point of view all Hint decoders being controlled by the Hint button.

JTDX v17.3.1  - is based on v17.3 source code, notification functionality is based on the v17.2.2 source
code and implemented by Arvo ES1JA

- displaying country name/prefix is aligned

- notification filters are implemented and improved for all possible standard messages

- now it is possible to apply striked/underlined 'worked B4' notifications to the standard messages other
  than containing 'CQ' or 'MyCall'. This functionality may be switched on/off by user.


JTDX v17.3.2  - is based on v17.3.1 source code, vast majority of the changes made by Arvo ES1JA

- fixed bug of new DXCC notification if there is no user callsign set in the settings

- fixed defect that allowed to check in 'Show prefix not name' box if 'Show DXCC names' is not checked

- more filters added to prevent 'New one ' criteria being triggered by the free text messages

- deleted checkboxes for setting striked/underlined 'Worked B4' notifications for other than CQ/MyCall
  standard messages

- changed color notifications for other than CQ/MyCall standard messages from background color to the text
  color. Now all checks setting the same attribute: either background color or text color.

- some changes for 'Bold' font attribute usage: now all 'New ' criteria checks setting 'Bold' attribute for
  decoded text message, if any criterion is met

- added QSO counter in the status bar, at right bottom corner of the user interface. wsjtx_log.adi being
  used to count JT65/JT9 contacts.

- added date for every decoded message in the ALL.TXT file. It shall simplify searching for any QSO missed
  in the logbook.

  It is not recommended to set 'Bold' attribute in the decoded text font settings(Settings->General tab),
  as 'Bold' attribute being used in the 'New one ' notification functionality.


JTDX v17.4  is based on the v17.3.2 source code

- all FTRSD false decode filters reworked and moved as block close to the FTRSD decoder, allowing to attempt
  decode candidate with Hint decoders if decoded message is considered as the false one

- implemented AGC compensation functionality, where noise level change triggered by AGC operation in the receiver
  being compensated in JTDX software, bringing improved decoding efficiency while AGC is in operation.
  AGCc button is implemented in main user interface to turn ON/OFF this functionality.
  This button shall be turned off by user if JT signals are not strong enough to trigger AGC or if
  AGC is turned OFF in the receiver.

- most of the checkings for the false FTRSD decode now based on information from the ALLCALL.TXT file.
  This file is installed into /bin/data/ path by the JTDX v17.4 installer and has a list of callsigns spotted
  in JT modes for last couple years. CALL3.TXT file being now mostly used for Hint decoders operation and
  containig data from JT spots of the last months.

- 'New one' notification functionality is modified: added preview pane in the Notifications tab of the settings.
   It has simplified notification color settings. This functionality is designed and implemented
   by Arvo ES1JA.

- decoded message windows now have table format. Special cell with red color background being used now
  for additional notification for decoded messages containing MyCall. It makes easier to recognise decoded
  messages if somebody responding to user outside of the RX frequency. 

- now user can send QSO data to the eQSL server. Configuration settings are added to the Reporting tab.
  This functionality is implemented by Arvo ES1JA and may be switched ON/OFF by user.

- introduced independent notification funcationality per band and per mode. This functionality is
  designed and implemented by Arvo ES1JA.

- implemented selective DXCall Hint decoders activation based on the last transmitted message.
  This feature has reduced number of the false Hint decodes on RX frequency during the QSO.

- applied +-0.2 second DT window to most of the DXCall Hint decoders, centered to DT value of the last decoded
  signal. This functionality has reduced number of the false Hint decodes on RX frequency during the QSO.

- CQ/CQ DX DXCall Hint decoder is splitted to two decoders: one is for CQ, other is for CQ DX message.
  Temporarily suppressed sensitivity of the CQ DX message DXCall Hint decoder, planning to finish this
  functionality in the next JTDX version.

- new DXCall Hint decoder is introduced for 'MyCall + HisCall + GRID' message, just in case of retransmission
  of this message during the QSO. Now JTDX v17.4 has got twelve Hint decoders.

- now SRAND random number generator is used in FTRSD decoder for any signal candidate coming with SNR
  less than -24dB. Combined with several decoding passes, SRAND usage has increased decoding efficiency
  of the weak signals.

- expanded DECODE button usage to decode again the JT9 signals, that might be used while switching ON/OFF AGCc

JTDX v17.5  is based on the v17.4 source code

- memory allocation is reworked for the large arrays of JT65 and JT9 signals

- defects fixed: ALLCALL.TXT file allocation for MAc OS-X and Linux builds, several bugs in the 'notifications'
  functionality, wrong GRID square indication in DX Grid window if any other callsign's report/RRR/73 message
  is clicked, wrong country name displaying for free text messages containing TU73, in notification about loss
  of connection to the eQSL server, wrong interval time displaying if JT9 messages decoded again using Decode
  button, added extra notification about copying CALL3.TXT file to the log directory, bug of displaying messages
  with internally used 'CF00' Grid square in the wideband experience based Hint decoder, callsign truncation to
  5 characters at displaying of the decoded WSPR messages, withdrawn 13-character limitation in Configuration
  line edit for macros entry, truncation of text on labels in the main interface status bar, alignment of messages
  color background in the RX frequency window

- modified main window UI1 and Configuration UI, added link to JTDX Web page in the Help

- configurable automatic clearance of DXCall DXGrid upon exit from JTDX is added for UR5EQF logbook software users

- added beep notification on the first decoded message in the RX interval

- added combobox color notification if text message length in the Free text message combobox is exceeded 13 (for
  free message) and 17 (for directional CQ message with 6-character callsign) characters

- added background color notification about current minute and TX ODD/EVEN checkbox settings

- reworked wideband previous intevals data based Hint decoder, it is made as selective one to the expected message
  and internally splitted to 6 focused decoders. In result is reduced number of the false Hint decodes.
  Total number of Hint decoder subroutines in v17.5 is 11, total number of the Hint decoders now is 16. 

- reworked DXCall/DXGrid based Hint decoder of the CQ messages, now any directional CQ message being supported
  in this decoder

- FTRSD and wideband CQ/CQ DX messages Hint decoders bypass is applied, if SNR of the candidate signal is less
  than -30.0dB SNR. A bit decreased time of decoding and number of the false Hint decodes.

- For BM/FTRSD decoder is added three more decoding passes focused on the QSO RX frequency (bandwidth is +-3Hz),
  time to frequency domain conversion and candidate list renew being used for each of these decoding passes, up
  to two candidates in the list per each decoding pass.
  This functionality is applied after the first wideband decoding pass and may not be turned OFF, only BM/FTRSD
  decoder being involved in this functionality, decoding efficiency is optimized.
  User can set number of RX frequency decoding attempts for the new RX frequency decoding passes in the Advanced
  tab. There is solid increase in FTRSD decoding efficiency of the weak signals on the RX frequency for minimum
  number of the decoding attempts set in Advanced tab.
  With this functionality JTDX may decode up to 7 signals on the QSO RX frequency.

- changed bandwidth for noise part of SNR calculation from approximately 560 to 180Hz, SNR is recalibrated using
  simulated signals from .wav files

- <eQSL_QSL_SENT:1>Y being added to the wsjtx_log.adi file if QSO data is sent to eQSL server, waiting for response
  from the eQSL server is increased to 10 seconds


JTDX v17.5.1 is based on the v17.5 source code

- recovered AGCc functionality that is broken in v17.5

- added notification for possibly false FTRSD decoded standard messages: questionmark with yellow background, right
  after the message. Such messages being blocked for sending to the pskreporter.info server.


JTDX v17.5.2 is based on the v17.5.1 source code

- some WSJT-X patches are applied: 6581,6588,6589,6590,6597,6599,6618,6622,6636,6650,6651,6658,6659,6660,6661,6703,

- skipped audio .wav files recording to HDD if user selected 'Save -> None'

- reworked anti-aliasing filter for 48000 -> 12000 Hz sampling rate conversion of the RX signal

- decoded standard messages for worked DXCC/Grid square/Callsign may now be skipped in the decoded messages window
  using new control checkbox 'Don't show it' in the Notifications tab. This functionality may be applied to CQ messages
  by default and to other standard messages if 'Check other standard messages' checkbox is checked there.

- updated Hamlib to the latest version

- several changes done to prevent dupe Hint decodes appear in the decoded message window

- software development kit is changed from Qt 5.2 to Qt 5.5. There now more fonts available in the JTDX drop down menu,
  also decreased size of the JTDX installation package. Those users who building JTDX themselves under MS Windows shall
  now switch Qt environment using commands 'enable-qt55' and 'build-hamlib3'.

- KG4W callsign is added to cty.dat file VA, USA

- added combobox color notification if text message length in the tx5 message combobox, tab 1 of QSO messages, is
  exceeded 13 (for free message) and 17 (for directional CQ message with 6-character callsign) characters

- fixed bug in Filter functionality: in previous versions left mouse button double click on the waterfall caused whole
  JT65 frequency range decoding instead of the 400 Hz.

- several criteria are applied to prevent false CQ Hint decodes in presence of the strong JT65 signal on the band


JTDX v17.5.2-SWL  is based on the v17.5.2 source code

- expanded JT65 SNR reporting range from -35 to +35dB, SNR levels calibrated up to +35dB using simulated
  .wav audio files

- banned transmission of the messages, as JT65-HF software does not support reception of messages
  with reports in the extended range


JTDX v17.6  is based on the v17.5.2 source code

ATTENTION: built v17.6 package has shifted dynamic range towards weak signals and superior performance in weak
signal decoding by FTRSD at poor propagation conditions if there are less than 12 signals on the band.
Top part of dynamic range will be addressed in v17.6.1 where the same source code will be used, difference only
in the specific build. So far we do not know why dynamic range being shifted at specific build.

- fixed bug of color inversion in the notification functionality, occured if there is not any checking
  criterion chose.

- fixed bug where TX mode was changed if there other mode signal is decoded on the RX frequency

- fully dynamic decoding attempts recalculation based on the remaining number of candidates per each wideband
  decoding pass. It has brought some more efficiency for weak signals decoding by FTRSD if there are few signals
  on the band.

- 'hide messages from continents' functionality: it is some kind of the virtual DX window where local signals may
  being not shown. Effectevily reducing information overloading to user.

- 'beep on the wanted callsign' functionality: it will let user to avoid continious visual screen monitoring,
  replacing it with the sound notification. System sound being used from default playback device set in
  the operating system. At the moment callsign lenght is limited to 6 characters. Rest of any decoded message
  shown on the screen being checked for the wanted callsign.

- some improvement of the AGC compensation functionality for JT65 signal decoding

- changes in the mainwindow interface: TX odd/even checkbox is replaced with the button, more suitable allocation
  is chose for it.

- now JTDX does support up to 200 JT65 decoded messages

- two frequency mask decoding passes added. Frequency mask being derived from the first decoding pass.
  Frequency mask decoding is enabled in the code by default, depending on number of the signals on the band
  software making decision to turn it OFF (software does recognize band conditions and frequency mask decoding
  can be automatically turned off if there are too many signals on the band). New setting in the Advanced tab
  does prohibit turning frequency mask decoding passes OFF, it makes some benefit for overloaded band scenario
  and shall be used if user has fast CPU.

- 'bad data' diagnostic print is replaced with 'audio gap detected'. In such scenario some sample being filled with
  1.0 value and software attempting to decode this RX interval. It was not allowed in the previous JTDX versions.

- reduced number of calculations and expanded time range for weak level of the input signal detection.
  Diagnostic print 'low rms' is replaced with the 'input signal low rms', as in the previous JTDX versions such RX
  interval being not passed to the decoders.

- increased number of processed records: up to 40k in file ALLCALL.TXT and up to 35k in file CALL3.TXT

- updated in software file ALLCALL.TXT. There is new CALL3.TXT being supplied along with the software package, this
  new file is not compatible with JTDX software versions earlier than v17.6.

- changed type of data in the large Hint arrays from 4 bytes to the 1 byte. It has allowed to decrease allocated
  memory volume caused by the CALL3 file extension.

- audio buffer size is changed in software: for input signal from 100ms to 2 seconds, for output signals from 1 to
  2 seconds

- top frequency border for JT65 signal decoding is increased from 2700Hz to 3000Hz


JTDX v17.6.1  is based on the v17.6 source code

v17.6.1 has effective JT65 signals decoding in overcrowded band conditions. v17.6 has better sensitivity for weak
signal decoding in low populated band conditions versus v17.6.1. There are two possible reasons to make upgrade
from v17.6 to v17.6.1: if user has slow CPU and can not use frequency mask decoding, or user need to fix bugs
described below. Also both version can be used on the same computer if installed in the different folders.

- fixed bug in inverse color notifications for other standard messages

- fixed bug in distance calculation for grid QTH square on the same longtitude: applied WSJT-X patch r7045.


JTDX v17.7  is based on the v17.6.1 source code

- there is a gap at 1-st second of input data under Windows XP, source code is changed to fill in
  this gap and to prevent 'audio gap detected' diagnostic message to appear on the screen in this

- now JTDX works with no CALL3.TXT file,  while there some functionality will be missed
  in Hint decoders and recognition of the false FTRSD decodes if CALL3 file is missed. There are
  up to 4 reminders to copy CALL3.TXT file to the log directory after each start of the JTDX
  software, each reminder being triggered by various parts of the source code.  

- changed program's icon and installation logo

- added waterfall graphics for Filter button

- increased allowed length from 'beep on wanted callsign' to 11 characters

- added validators for DX Call, DX Grid and wanted callsign windows line edit

- changes for the signal meter: range expanded to 90dB, measuring peak values
  rather than rms, color being changed for too weak or too strong signal.
  Signal meter indication now allowing user to match input signal dynamic range
  with ADC dynamic range and JTDX dynamic range, also can be used to evaluate noise level
  of the sound card's input.

- RX gain slider deleted from main user interface.

- new 'Filter' tab in configuration user interface

- added 'hide free messages' filter option for non RX frequency

- reduced minimal size and changed proportions for large size of the main user interface

- redistributed number of decoding attempts for Advanced tab settings 'Number of decoding attempts' =1 or =2,
  users with these settings will get more weak signals decoded in comparison to v17.6

- fixed bugs: wrong UTC at decoding again in JT9 mode (Decode button usage),
  prolonged decoding at decoding again in JT9 mode (Decode button usage)

- increased decoding efficiency of JT9 Fano decoder at RX frequency: more decoding attempts being used

- decoding JT9 again: for TX mode = JT9 pushing Decode button triggering attempt to decode JT9 signal
  on RX frequency again with more decoding attempts being used, bringing the best decoding efficiency.
  Decoding bandwith is +-2 Hz relatively to the RX frequency, number of candidates is limited to 2.

- changed 'decode again' logic: if TX mode is set to JT9 then JT65 decoder will be bypassed,
  if TX mode is set to JT65 then JT9 decoder will be bypassed

- enabled decoding at rest of RX interval: decoding after late start of JTDX, decoding
  after the halted TX in the same minute interval. Threshold is set to 35th second of the minute
  interval and it is still possible to decode -01dB SNR JT65 signals from remaining 12 seconds
  of message transmission. Band change: if it is changed after 12th and prior 35th second of
  an RX interval then signals from both bands will be decoded, if it is changed after 35th second
  of an RX interval then signals from previous band will be decoded.

- added new 20m subband in selection for shared JT65/JT9 operation from 14080 to 14085 KHz.


JTDX v17.8  is based on the v17.7 source code

- fixed bug: dupe JT9 message shall not be passed to the decoded text window if delta frequency between
  these signals is less than 17 Hz

- JT9 decode again functionality with mouse's left button double click now triggering decoding of
  JT9 signals in frequency span +- 20Hz from frequency selected on the waterfall

- implemented message text filters that will allow to show only 'CQ' or 'CQ, RRR, RR73, 73' messages
  in the decoded text window. New filters do not process messages with 'MyCall'.  New text filters can
  be activated in the 'Filters' tab of settings

- ALLCALL.TXT file is updated, CALL3.TXT file as of 31.03.2017 is supplied together with the software package

- implemented band scheduler functionality, now user can schedule band switching in transceiver.
  Antenna switching is not supported in JTDX, band scheduler will not change band if 'Enable TX' button
  is active. Up to five band can be scheduled, functionality can be activated in the 'Scheduler' tab of

- possibly false JT65 FTRSD decoded messages now can be forbidden for transmission via UDP to external
  software, for instance to JTAlert, reducing number of the false sound notifications and number of the
  false spots being sent to the hamspots.net server. This functionality is turned on by default and
  can be deactivated by user in 'Reporting' tab of the settings.

- ramp is implemented in modulator for first tone of transmission, it should reduce interference
  at beginning of the minute interval
- JT10 mode is implemented with sensitivity threshold close to -28dB SNR. Coding is taken from JT9 mode,
  modulation is modified: two lower tones are used for SYNC vector, 8 upper tones are used for message data,
  frequency bin (tone) width is around 1.7 Hz, minimal distance between two neighbouring tones
  is around 6.9 Hz, occupied bandwidth is around 65 Hz, message transmission takes close to 49 seconds.
  'Filter' button limits decoding bandwidth to 160 Hz, software will try to decode any JT10 signal with SYNC
   vector located inside this bandwidth.
  JT10 mode being considered as alternative to JT65A, with benefits of sensitivity, spectra density and
  resistance to the Doppler frequency spreading. 
  Signal subtraction and Hint decoding is not yet supported for JT10 mode.

- 14080..14085 KHz subband, assigned in v17.7 for shared JT65/JT9 operation, now is reallocated to JT10.

   There are two timers implemented to limit JT10 decoding time: 12 seconds for on air operation and 30
seconds for SWL mode. JT10 candidate list being ranked by SYNC power, strongest signals will be decoded
first, there are up to 200 candidates allowed in the list. Remaining in the list candidates will be
dropped if decoding timer is expired.

Decoding again functionality of JT9/JT10 signals is different from JT65A one: +-3 Hz frequency
span being used if 'Decode' button is pressed, +- 20 Hz frequency span being used if user double clicking
by mouse's left button on the waterfall. Software using this span to look for the SYNC pattern.


JTDX v17.9  is based on the v17.8 source code

- JT10 mode is renamed to T10 (stands for 'tonal 10')

- fixed bug: there were dupe decoded messages of the strong T10 signals. Now 45 Hz distance is
  being used to ban dupe T10 decoded messages

- two pass decoding with signal subtraction is implemented to T10 and JT9 modes

- fixed bug in T10 and JT9 message generators, 69th(last) data tone there was corrupted

- five QSO RX grequency Hint decoders implemented to T10 and JT9 modes:
  DXCall based decoders for messages: 'MyCall HisCall Grid', report, R+report and RRR/RR73/73
  CALL3 based decoder for message: 'MyCall HisCall Grid'.
  DT range from -0.5 to +1.5 second and frequency span +-2 Hz is applied to all QSO RX frequency T10/JT9
  Hint decoders

- T10 decoding passes timer is changed to 5+5 seconds

- TCP client is implemented to pass QSO data in single ADIF string to the external logbook software.
  Connection to DXKeeper, N1MM and Logger32 logbook software is being supported.
  TCP client can be configured and activated in Reporting tab of the settings.

- user defined frequency ceiling is added to JT65 decoder and Advanced tab of the settings is updated
  with the new parameter, by default it is set to 3000 Hz

- Hamlib version is updated (as of June 3rd, 2017)

- fixed bug: signal report was extracted from last of the several decoded messages having 'MyCall'
  in the current time interval, now message with HisCall (DxCall) being used for signal report extraction

- added new functionality: left mouse button double click on any 'MyCall HisCall (R)report' decoded message
  triggering extraction of the signal report

- 30MHz limit is withdrawn for recording frequency changes into ALL.TXT file if 'TX frequency
  changes is not allowed while transmitting' in general tab of the settings

- ALLCALL.TXT file is updated, version as of June 12th, 2017

- fixed bugs where change of band or mode in the current RX interval triggered early additional decoding
  Halt TX then TX message change and continue TX, triggered early decoding in the next interval

- wsjtx_log.adi file processing is changed to accept multistring structure for single QSO record.
  Now ADIF export from DX4WIN logbook can be added into wsjtx_log.adi file


JTDX v18.0  is based on the v17.9 source code

- JT9 signal decoding efficiency is improved in JT9 mode and combined JT9+JT65 mode.
  Single JT9 mode of operation has the best JT9 signal decoding efficiency.

- bandpass Filter and SWL functionality is implemented to the standalone JT9 mode.
  Filter has 100 Hz bandwidth and is dedicated for usage with slow CPUs.

- Bins/Pixel and NAvg waterfall UI settings now do not affect gain of signal on the waterfall

- if 'Lock TX=RX' is unchecked, mouse's right button click will set TX frequency while RX frequency
  will not be changed. Now there are three options to control frequency by mouse on the waterfall
  when 'Lock TX=RX' checkbox is unchecked:
- click of left mouse button will set RX frequency
- CTRL button + mouse left button click will set TX and RX frequencies
- click of right mouse button will set TX frequency

- minor bug fixed in JT9/T10 Hint decoders where there was possible to decode 'mycall 73'
  message if DxCall window was cleared

- AGCc functionality is reworked. Now there is a little infulence of AGC compensation functionality
  on the decoding efficiency if AGC is not triggered in the receiver.

- waterfall signal scaling implemented, it eliminates AGC noise step on the waterfall

- srand number generator in FTRSD decoder is replaced with rand number generator where seed
  number is unique per each decoding pass. Now decoding again of the same wav file or interval
  shall give more or less equal results.

- decoding of 2nd and 3rd JT65A harmonics is implemented with optional diagnostic
  print of the decoded message. Depth of harmonics decoding can be set in Advanced tab of the Settings
  where depth = 0 means there is no decoding of the harmonics, diagnostic print can be turned on/off
  in Misc tab of the main UI window.

- hide main window menus and hide waterfall controls functionality is implemented basing on the WSJT-X code.
  Main window UI got 'Menus' checkbox, widegraph UI got 'Controls' checkbox.

- subtraction of decoded JT65 signals-harmonics is implemented, this functionality can improve JT65 signal
  decoding efficiency.

- user defined timer is implemented to eQSL sending, it can be set in Reporting tab of the settings

- implemented bypass of all message filters, it can be turned on/off in Misc tab of the main UI

- implemented bypass of all message filters for RX frequency of QSO, it can be turned on/off in
  Misc tab of the main UI. Also bypass of RX frequency text filters is being triggered now if operator using
  Decode button or double click on waterfall to decode again last interval or audio wav file

- main window popup functionality is implemented, it has no connection to 'beep' notification functionality now
  and user can control it via Misc tab

- 'beep'/system sound notification is being used once per decoded interval now. As there is possible to assign
  melody in Windows OS to system sound multiple 'beep' sounds per interval caused audio chaos while overlapping
  with each other.

- executable file name is changed from wsjtx.exe to jtdx.exe, jt9.exe process name is changed to jtdxjt9.exe.
  This change can let user to run JTDX and WSJT-X concurrently with no need in the rig-name key.
  JTAlert version 2.10.4 does support old and new JTDX executable names via user's selection in the settings.

- gray vertical marker line is implemented in plotter(waterfall) window to show top JT65 decoding frequency
  set in Advanced tab ot the settings

- in JT9+JT65 combined mode gray horizontal line in plotter (waterfall) now will now show user if top JT65
  decoding frequency is set by mistake or intentionally below the bottom JT9 decoding frequency, area where
  software can not decode any signal is marked by the gray line

- transition from JT65 to JT9 and back to JT65 mode is simplified in JT9+JT65 combined mode if 'Lock Tx=Rx'
  is not checked. Left and right mouse buttons (Rx and Tx frequency setting) and waterfall are being used
  in this functionality.

  Let's say we are in JT65 band:  top JT65 decoding frequency from advanced tab of the Settings is being used
  as threshold, if we setting on the waterfall Rx (or Tx) frequency above the top JT65 decoding frequency then
  TX mode will be changed to JT9 and Tx (or Rx) frequency will be set equal to the chosen Rx (or Tx) frequency.

  There is JT65/JT9 frequency splitter from the watefall settings is being used as threshold for transition
  from JT9 to JT65 mode, so we have gap where  transition will not be triggered. If in settings JT65/JT9
  splitter is set to 2400 Hz and top JT65 decoding frequency set to 2700 Hz, there is 300Hz gap where this
  functionality will not be working.

- 'Auto TX' and 'Disable TX after 73' checkboxes moved from General tab of the settings to main window UI
  as push buttons

- position of decoded messages windows vertical splitter is being stored now in JTDX.INI

- short message sequencing scenarios functionality is implemented and can be controlled via Sequencing tab
  of the settings:

- 'Halt Tx if operator I called answered to other operator' functionality, is active by default.
          This functionality will Halt Tx if decoded standard message is addressed to other operator and
  has report or QTH locator inside.

- 'Come back to calling CQ if there is no answer to report message decoded N times' functiînality.
  It can be used in calling CQ scenario and will trigger CQ message if counter has reached value N.

- 'Halt TX if report message to me is not decoded after N transmissions' functionality. Can be used
  replying to someone's CQ scenario, it will halt TX if transmissions counter has reached value N
          and report message is not decoded.
- 'Halt TX if the same report message was received N times' functionality. It is designed to stop
  transmission if the same report message being received in the loop. It can be useful if other QSO
  party operator can not decode a message addressed to him or left his software unattended.

- 'Halt TX if the same RRR/RR73/73 message was received N times' functionality. It is designed to stop
  transmission if the same RRR/RR73/73 message being received in the loop. It can be useful if other QSO
  party operator can not decode a message addressed to him or left his software unattended.

- two defects fixed: AF frequency jump for T10 to JT9 mode transition and failure to set appropriate
  band/VFO frequency for transition between WSPR and JT65/JT9+JT65 modes

- dual message (RRR+CQ or RR73+CQ) TX is implemented, right button of mouse can be used to control it by clicking
  on RRR/RR73 button in QSO messages tab 2. Dual message TX is being toggled by right button of the mouse.
  This functionality can be used in JT65 mode if user received report better than -10dB SNR from other QSO party
  operator. Each message signal takes half of the transmission interval, getting approximately 50% error rate while being

- optional automatic QSO logging functionality is implemented, it can be activated in Reporting tab of the settings
  as alternative selection to 'Prompt me to log QSO'. Also it can be unchecked to get into manual QSO logging mode.

- DX Call window text will get green color background after QSO is logged, as a reminder at manual logging
  and indicator of success for automatic QSO logging

- callsign checking is added for logging: in previous versions software did not prompt to log QSO at last TX  message
  if two consecutive RRR/RR73/73 messages were transmitted with different QSO party callsign, now we getting either
  prompt or automatic logging for this scenario

- default RX ceiling frequency for JT65 mode is changed from 3000Hz to 2700Hz

- optional 'show messages with my call in RX frequency window' functionality is implemented. It can be toggled
  in Misc tab of the main window UI, by default it is turned on.

- improved detection of 'my call in decoded message' for notifications functionality

- 'Clear DX call and grid after logging' functionality is modified: in manual sequencing operation mode a timer
  is implemented there to clean up DX Call and DX Grid windows at end of the interval where QSO is logged

- QSO time on / time off functionality is added while logging QSO, UDP data exchange is updated accordingly.
  QSO time on / time off recognition accuracy is improved. 

- processing of some wrong sequences of the standard messages is now being supported in manual and autosequencing
  mode of operation:

- scenario where 'CQ' message is answered by the 'ROGER+REPORT' message, it will
  trigger 'ROGER+REPORT' message transmission
- scenario where 'replying to CQ with grid' message is answered by the 'ROGER+REPORT' message, it will
  trigger 'ROGER+REPORT' message transmission
- scenario where 'REPORT' message is answered by 'REPORT' message, it will trigger 'RRR/RR73' message

- optional semi-autosequencing mode of operation is implemented to JT65/JT9/T10 modes. User have to choose by mouse
  the decoded message for QSO in 'calling CQ' or 'replying to CQ' scenario, then autosequencing will automatically
  generate required messages to continue and finish this QSO. In 'calling CQ' scenario autosequencing will continue
  to call CQ after the QSO is finished, in 'replying to CQ' scenario it will disable TX after the QSO is finished.

  Autosequencing mode can be toggled with AutoSeq button in the main window UI.

  Autosequencing mode of operation can be used together with auto logging mode and short message sequencing scenarios
  functionality configured in the Sequencing tab of the settings with exception to the 'Halt TX if the same RRR/RR73/73
  message was received N times' which is not supported in the autosequencing mode.

  Standard type of messages is being processed by autosequencing on any frequency, while at end of QSO
  reception/processing of some addressed free messages is supported if it does contain callsign and '73'. For instance
  received messages like "UA1AAA TNX 73", "UA1AAA HNY73", "UA1AAA73MXMAS" can be processed by AutoSeq at end of QSO
  and responded with '73' standard message.

  Also autosequencing can process unaddressed free message at end of QSO if it is received on the RX frequency of QSO
  and containing '73' inside. For instance message like '15W 3EL TU73' can be processed and responded with '73'
  standard message.

- latest version of Hamlib 3.2 was used to build JTDX v18.0.0.133 installation package for MS Windows OS


Clicking by mouse (AGCc ON/OFF + Decode) or (SWL ON/OFF + Decode) or (Filter ON/OFF + Decode) or (Hint ON/OFF + Decode) sequence
triggering one more attempt to decode latest interval.

-26/-28/-29/-31dB SNR JT65 simulated files can be shared upon email request.

SNR calibration wav files are published there:
Test results, JT65a, number of decoding attempts=1, decoding passes=4:

Wideband experience based Hint decoder
test Web SDR audio files https://cloud.mail.ru/public/LrVm/zEkJ1ZVLg
CALL3.TXT file as of November 2nd, 2016, 21570 records

SW version / total JT65 decodes / BM-FTRSD decodes / wideband CQ/CQ DX Hint / experience based Hint / JT9 /
v17.2 Hint OFF / 3087  / 3087  / -  / -  /
v17.2 Hint ON  / 3296  / 3055  / 61* / 180* / -  /
v17.3 Hint ON  / 3315  / 3028  / 94* / 193* / -  /
v17.4 Hint OFF / 3123  / 3123  / -  / -  / 374  /   # AGCc is OFF
v17.4 Hint OFF / 3162  / 3162  / -  / -  / 378  /   # AGCc is ON
v17.4 Hint ON  / 3355  / 3064  /  98 / 193 / -  /   # AGCc is OFF
v17.4 Hint ON  / 3432  / 3083  / 127 / 222 / -  /   # AGCc is ON
v17.5 Hint ON  / 3332  / 3060  / 100 / 172 / -  /   # AGCc is OFF

v17.6 Hint OFF / 3118  / 3118  / -  / -  / 374  /   # AGCc is OFF frequency mask is OFF
v17.6 Hint OFF / 3158  / 3158  / -  / -  / 377  /   # AGCc is ON frequency mask is OFF
v17.6 Hint OFF / 3174  / 3174  / -  / -  / 377  /   # AGCc is ON frequency mask is ON

*it is not possible to confirm every hinted CQ/CQ DX decode from these
SDR audio files is correct one.

Wideband CQ messages Hint decoder, -28dB SNR files, CALL3.TXT based:

v16.4   37.5%  --- CALL3.TXT/20480 records
v16.6   37.3%  --- CALL3.TXT/20480 records
v16.7   36.1%  --- CALL3.TXT/20480 records
v16.8   37.9%  --- CALL3.TXT/20480 records
v16.9   38.4%  --- CALL3.TXT/20480 records
v16.9.1 39.5%  --- CALL3.TXT/20480 records
v17.0.1 37.6%  --- CALL3.TXT/21570 records
v17.1   37.8%  --- CALL3.TXT/21570 records
v17.2   37.9%  --- CALL3.TXT/21570 records
v17.3   38.4%  --- CALL3.TXT/21570 records  only hintwidecq. hintwidedx decoders, others bypassed
v17.4   38.7%  --- CALL3.TXT/21570 records  only hintwidecq. hintwidedx decoders, others bypassed
v17.4   89.6%  --- CALL3.TXT/21570 records  no test bypass used


Wideband CQ DX messages Hint decoder, -28dB SNR files, CALL3.TXT based:

v16.4   36.4%  --- CALL3.TXT/20480 records
v16.6   37.0%  --- CALL3.TXT/20480 records
v16.7   35.0%  --- CALL3.TXT/20480 records
v16.8   35.1%  --- CALL3.TXT/20480 records
v16.9   36.4%  --- CALL3.TXT/20480 records
v16.9.1 37.3%  --- CALL3.TXT/20480 records
v17.0.1 35.9%  --- CALL3.TXT/21570 records
v17.1   35.6%  --- CALL3.TXT/21570 records
v17.2   36.1%  --- CALL3.TXT/21570 records
v17.3   36.7%  --- CALL3.TXT/21570 records  only hintwidecq. hintwidedx decoders, others bypassed
v17.4   36.6%  --- CALL3.TXT/21570 records  only hintwidecq. hintwidedx decoders, others bypassed
v17.4   37.6%  --- CALL3.TXT/21570 records  no test bypass used

CALL3 based, QSO frequency hinted decoder, -29dB SNR simulated signals, 1000 files,
decoding probability:

v16.4   54.7%  --- CALL3.TXT/20480 records
v16.6   54.7%  --- CALL3.TXT/20480 records
v16.7   52.9%  --- CALL3.TXT/20480 records
v16.8   56.0%  --- CALL3.TXT/20480 records
v16.9   58.0%  --- CALL3.TXT/20480 records
v16.9.1 59.0%  --- CALL3.TXT/20480 records
v17.0.1 57.9%  --- CALL3.TXT/21570 records
v17.1   58.0%  --- CALL3.TXT/21570 records
v17.2   this decoder is obsolete starting from v17.2

CALL3 based, QSO frequency group of decoders, -29dB SNR simulated signals, 1000 files,
decoding probability:

'CQ hiscall hisgrid' message decoder
v17.2   60.5%  --- CALL3.TXT/21570 records
v17.3   60.3%  --- CALL3.TXT/21570 records

'mycall hiscall hisgrid' message decoder
v17.2   58.4%  --- CALL3.TXT/21570 records
v17.3   63.9%  --- CALL3.TXT/21570 records

'mycall hiscall report' message decoder
v17.2   52.7%  --- CALL3.TXT/21570 records
v17.3   this decoder is obsolete starting from v17.3

DX Call based, QSO frequency hinted decoder, -31dB SNR simulated signals, 1000 files,
decoding probability:

v16.4   36.2%
v16.6   36.5%
v16.7   33.6%
v16.8   36.1%
v16.9   40.2%
v16.9.1 44.4%
v17.0.1 43.4%
v17.1   43.6%
v17.2   43.7%
v17.3   51.3% CQ/CQ DX messages decoder
v17.4   52.6% CQ message decoder
v17.4   56.7% 'MyCall + HisCall + GRID' message decoder

DX Call based, QSO frequency CQ/CQ DX messages decoder, -33dB SNR simulated signals, 1000 files,
decoding probability:

v17.3   10.5%

DX Call based, QSO frequency CQ/CQ DX messages decoder, -35dB SNR simulated signals, 1000 files,
decoding probability:

v17.3   1.6%

SDR audio files with more than 20 signals in each file, decoding test results:
test files: https://cloud.mail.ru/public/9Dfk/xrP5GvfYR

          correct/ false decodes
v16.4 hint off   3172/6
v16.6 hint off   3168/7
v16.7 hint off   3189/9
v16.8 hint off   3198/3
v16.9 hint off   3214/6
v16.9.1 hint off 3229/1
v17.0.1 hint off 3230/2
v17.1 hint off   3231/4
v17.2 hint off   3232/5
v17.3 hint off   3232/0
v17.4 hint off   3228/1
v17.5 hint off   3227/0
v17.5.2 hint off 3231/1
v17.6 hint off   3202/1 frequency mask is OFF
v17.6 hint off   3231/2 frequency mask is ON
v17.6.1 hint off 3225/4 frequency mask is OFF
v17.6.1 hint off 3232/0 frequency mask is ON
v17.7 hint off 3215/1 frequency mask is OFF
v17.7 hint off 3238/3 frequency mask is ON
v17.8 hint off 3222/3 frequency mask is OFF
v17.8 hint off 3229/3 frequency mask is ON
v17.9 hint off 3230/0 frequency mask is ON
v18.0 hint off 3252/2 frequency mask is ON, Harmonics decoding depth = 3

v16.4 hint on    3248/4  *  --- CALL3.TXT/20480 records
v16.6 hint on    3251/4  *  --- CALL3.TXT/20480 records
v16.7 hint on    3272/9  *  --- CALL3.TXT/20480 records
v16.8 hint on    3284/4  *  --- CALL3.TXT/20480 records
v16.9 hint on    3300/7  *  --- CALL3.TXT/20480 records
v16.9.1 hint on  3306/1  *  --- CALL3.TXT/20480 records
v17.0.1 hint on  3304/1  *  --- CALL3.TXT/21570 records
v17.1 hint on    3310/4  *  --- CALL3.TXT/21570 records
v17.2 hint on    3354/3  *  --- CALL3.TXT/21570 records
v17.3 hint on    3376/0  *  --- CALL3.TXT/21570 records
v17.4 hint on    3372/0  *  --- CALL3.TXT/21570 records
v17.5 hint on    3366/1  *  --- CALL3.TXT/21570 records
v17.5.2 hint on  3361/3  *  --- CALL3.TXT/21570 records
v17.6 hint on    3350/1  *  --- CALL3.TXT >25000 records frequency mask is OFF
v17.6 hint on    3349/5  *  --- CALL3.TXT >25000 records frequency mask is ON
v17.7 hint on    3354/2  *  --- CALL3.TXT >25000 records frequency mask is ON
v17.8 hint on    3349/4  *  --- CALL3.TXT >25000 records frequency mask is ON

for decoding attempts=3:
v16.4 hint off  3218 total
v16.6 hint off  3217 total
          correct/ false decodes
v16.7 hint off   3223/4
v16.8 hint off   3225/1
v16.9 hint off   3233/5
v16.9.1 hint off 3247/5
v17.0.1 hint off 3244/2
v17.1 hint off   3255/1
v17.2 hint off   3252/1
v17.3 hint off   3256/0
v17.4 hint off   3256/3
v17.5 hint off   3250/3
v17.5.2 hint off 3245/2
v17.6 hint off   3244/2 frequency mask is OFF
v17.6 hint off   3251/3 frequency mask is ON
v17.7 hint off   3252/1 frequency mask is ON
v17.8 hint off   3248/0 frequency mask is ON
v17.9 hint off   3255/2 frequency mask is ON
v18.0 hint off   3271/0 frequency mask is ON, Harmonics decoding depth = 3

JT9 signals decoding:

17.9 step53 JT9+JT65 mode 0-2400-3500Hz 526 decodes  JT9+JT65 mode 0-2400-3500Hz 543 decodes       JT9 mode 2400-3500Hz   559 decodes

*it is not possible to confirm every hinted CQ/CQ DX decode from these
SDR audio files is correct one.

FTRSD weak signal decoding, -25dB SNR simulated signals, 10 signals in each file,
200 files used for test, all signals are out of RX frequency, decoding probability:
test files: https://cloud.mail.ru/public/7SYw/BNWYg6hTJ

v16.4 hint off   17.0%
v16.6 hint off   17.4%
v16.7 hint off   16.1%
v16.8 hint off   17.1%
v16.9 hint off   16.8%
v16.9.1 hint off 16.3%
v17.0.1 hint off 16.0%
v17.1 hint off   21.1%
v17.2 hint off   21.6%
v17.3 hint off   21.4%
v17.4 hint off   23.0%  # AGCc is OFF
v17.4 hint off   21.6%  # AGCc is ON
v17.5 hint off   23.2%  # AGCc is OFF
v17.5.2 hint off 22.1%  # AGCc is OFF
v17.6 hint off   34.4%  # AGCc is OFF frequency mask is OFF
v17.6.1 hint off 32.6%  # AGCc is OFF frequency mask is OFF
v17.7 hint off   38.0%  # AGCc is OFF frequency mask is OFF
v17.8 hint off   38.3%  # AGCc is OFF frequency mask is OFF

FTRSD weak signal decoding, -25dB SNR simulated signals, 10 signals in each file,
200 files used for test, decoding on the QSO frequency 1000Hz, decoding probability:
test files: https://cloud.mail.ru/public/7SYw/BNWYg6hTJ

v16.8 hint off   20.0%
v16.9 hint off   24.0%
v16.9.1 hint off 24.0%
v17.0.1 hint off 27.0%
v17.1 hint off   28.0%
v17.2 hint off   28.0%
v17.3 hint off   28.0%
v17.4 hint off   29.0%  # AGCc is OFF
v17.4 hint off   28.0%  # AGCc is ON
v17.5 hint off   50.0%  # AGCc is OFF
v17.5.2 hint off 48.5%  # AGCc is OFF
v17.6 hint off   51.0%  # AGCc is OFF frequency mask is OFF
v17.6.1 hint off 48.0%  # AGCc is OFF frequency mask is OFF
v17.7 hint off   52.0%  # AGCc is OFF frequency mask is OFF
v17.8 hint off   53.0%  # AGCc is OFF frequency mask is OFF

JT9 weak signal decoding, -28dB SNR simulated signals, 1 signal in each file,
500 files used for test, decoding on the QSO RX frequency 2750Hz, decoding probability
test files: https://cloud.mail.ru/public/Aabm/mis4SyF7z

v17.6.1  8.6%
v17.7   10.6%
v17.7   12.2%  'decode again' using Decode button

T10 weak signal decoding, -28dB SNR simulated signals, 1 signal in each file,
500 files used for test, decoding on the QSO RX frequency 1500Hz, decoding probability
test files: https://cloud.mail.ru/public/4t6v/tQ6ZFUBsD

v17.8   8.6%

v17.9  10.4%   *new set of files, QSO RX frequency 1750Hz, will upload to the cloud upon request  

T10 weak signal decoding, -26dB SNR simulated signals, 40 signals in each file,
50 files used for test, RX frequency set to 744 Hz, decoding probability
test files: https://cloud.mail.ru/public/KdBH/k29mydxj9

v17.8   81.6%

JT65 per pass decoding statistics, number of decodes, audio files with more than 20 signals
in the file, hint off:

v16.1, number of decodes:
pass 1 subpass 1    2502  80%
pass 1 subpass 2     152   5%
pass 1 total        2654  85%
pass 2               364  11%
pass 3                95   3%
pass 4                34   1%

Upgrade from  JTDX v17.x versions to JTDX v18.0 and backwards:
JTDX.INI file has different structure, it is recommended to delete old JTDX.INI
Also it is recommended to use latest version of the CALL3.TXT file, this file is supplied with
the software package.

Detailed instructions on how to delete JTDX.INI file are published there:

Changing mode name for previously logged JT10 QSOs: in wsjtx_log.adi file using any text editor
replace  <mode:4>JT10   with   <mode:3>T10

Compatibility of JTDX v18.0.0.133 with JTAlert software:

JTDX v18.0.0.133 is being supported by JTAlert v2.10.4.
Please select in the JTAlert settings 'jtdx.exe' as process name to let it work with JTDX.
Since default setting is 'wsjtx.exe' JTAlert can not start with JTDX sofware at first time,
WSJT-X + JTAlert software pair can be used to get to JTAlert settings. 

Recommended settings:

- AGCc button: use it only if AGC being triggered in receiver by JT signals at beginning of the RX interval.
  Noise level change in the waterfall might be used as criterion showing that AGC is triggered in the receiver.
- Hint button: use it to decode signals on the QSO frequency and for wideband hinted decoding of the CQ messages
- Clean DX, use it to clean DX Call DX Grid windows if data there is not required, this way user
  could avoid some false hinted decodes 

Advanced settings tab:

- Number of decoding attempts: set it as per required decoding time. It might be set to 1 if CPU frequency is 2GHz,
  and set to 3 if CPU frequency is equal to 3GHz. Higher values make better decoding performance.

- Number of decoding passes = 4 (may be set to 3 or 2 for CPU frequency less than 2GHz if decoding attempts=1 is
  not enough to get into 10 second decoding time). For VHF usage optimal number of decoding passes = 2, and number
  of decoding attempts may be increased to improve decoding efficiency.

- RX frequency decoding attempts: set it to 1 for slow CPU, 2 for fast CPU. Value 3 may be used for 8+ core CPUs.

- Harmonics decoding depth. Set it to 0 if you would like to turn off this functionality. Value 3 can be used for
  most CPUs and provides good efficiency for decoding of the harmonics, value 4 can be used with fast CPUs.

- Hinted decoding DT range = 1

- use frequency mask decoding: frequency mask being derived from the first decoding pass.
  Frequency mask decoding is enabled in the code by default, depending on number of the signals on the band
  software making decision to turn it OFF (software does recognize band conditions and frequency mask decoding
  can be automatically turned off if there are too many signals on the band). New setting in the Advanced tab
  does prohibit turning frequency mask decoding passes OFF, it makes some benefit for overloaded band scenario
  and shall be used if user has fast CPU.

T10 mode settings:

Set number of decoding attempts to 1, this value can be increased if CPU is fast enough to finish decoding
until expiration of the decoding timer. Too high number of decoding attempts can cause degradation of the decoding
efficiency if list of candidates being cut off by decoding timer.

Frequency range on the waterfall: set waterfall window size to the frequency range you wish to be decoded.
Bins/Pixel settings would let user to choose suitable waterfall window size. Any signal located outside of the
watefall graph WILL NOT be decoded.

  To get proper hinted decoding and FTSRD false decodes filtering operation CALL3.TXT file shall be
copied to the JTDX log directory (from JTDX software do  File -> Open log directory).

  JTDX software is making some false FTRSD and hinted decodes. Any hinted decode marked by asterisk
and FTRSD decodes marked by questionmark, being blocked for sending to the pskreporter.info server,
but can be reported by JTAlert software to the hamspots.net server. 

Warning: high number of decoding attempts setting and SWL mode take high CPU utilisation for prolonged time,
causing greater power consumption and increased power dissipation/CPU cooling requirements.