==============================
JS8Spotter v1.21.0 — Changelog
==============================

Original author: Joe Lyman, KF7MIX. MIT License (see LICENSE.txt).


Version 1.21.0  (2026-10-21)
-----------------------------
Added
  - Refresh Datecode and Refresh All Datecodes buttons in Expect, to
    re-stamp posted form replies with the current time (Stephen KN4AM)
  - File>Settings option to hide the "Audio not loaded" startup message
    (Stephen KN4AM)
  - File>Settings option to hide the "Expect Replies Paused" and
    "Expect Auto TX Paused" startup messages, for stations where
    SitRepMapper answers Expect requests (Stephen KN4AM)
  - "Send as MSG" checkbox on the Add/Edit Expect Entry form. When
    checked, Expect replies and Auto TX for that entry are sent as a
    JS8Call MSG (store-and-forward), and Send Now starts with Send as
    MSG checked. Matches SitRepMapper's Send as MSG option (Adam KJ5MIW)
  - Status bar warns "CALLSIGN MISMATCH" when the callsign in
    File>Settings differs from JS8Call's, since requests addressed to
    you are ignored until they match (Bill KC9MTP)
  - Status bar shows "EXPECT repeat ignored" when a repeat request
    inside the 5-minute window gets no reply, so it doesn't look like
    Expect failed (Bill KC9MTP)

Changed
  - Restructured the program from a single js8spotter.py into the
    js8spotter/ folder; js8spotter.py is now only the launcher. When
    upgrading, copy the whole new program folder, not just js8spotter.py
    (Stephen KN4AM)
  - Version numbers now use three parts (1.21.0)
  - New Expect entries now default to TX speed "Unchanged" (v1.20
    defaulted to Slow by mistake) (Adam KJ5MIW)
  - A request heard both directly and via a relay is now answered only
    once (Stephen KN4AM)
  - Relayed Expect replies and Auto TX no longer freeze the program or
    pause other traffic processing while they wait to send (Stephen
    KN4AM)
  - Update check now only offers versions newer than the one running
    (Stephen KN4AM)
  - Help>About and the docs now point to sitrepnet.com
  - Window title now reads "de KF7MIX (v...) - updates by KN4AM"
  - Remaining database statements parameterized (Stephen KN4AM)
  - MCForms updated for SitRepNet: retired F!720 and F!BDN; added F!109,
    F!506, F!701A/B/C, and F!704; revised F!104, F!106, F!306, F!309,
    and F!504 (Stephen KN4AM)
  - The PDF manuals are being replaced by the text docs (README.txt,
    HELP.txt)

Fixed
  - Expect/Auto TX speed switching back to Normal partway through a
    transmission (and sometimes back again). The speed is now restored
    after JS8Call finishes transmitting, and to your original speed
    rather than always Normal (Adam KJ5MIW)
  - Expect replies set to TX speed "Unchanged" were sent at Normal
    (Adam KJ5MIW)
  - Relayed Expect requests (E? ... *DE*) were treated as direct, which
    sent the reply to the relay station instead of the requester (Andy
    WM8Q, Stephen KN4AM)
  - A request sent through a relay ("<RELAY>> <YOU> E? KEY") was
    answered directly as soon as it was overheard, before the relay
    forwarded it, which also blocked the relayed reply. It is now left
    for the relay's forward (Bill KC9MTP)
  - The first station in an Expect entry's Sent To list was saved
    without its date and time (Stephen KN4AM)
  - The status bar now shows [EXPECT Updated] when an Expect reply is
    sent, not only after an entry is edited (Stephen KN4AM)
  - Starting without JS8Call no longer prints an error; the status bar
    shows NOT CONNECTED TO JS8CALL. Better handling when JS8Call
    disconnects or sends incomplete API messages (Stephen KN4AM)
  - If the connection to JS8Call drops without JS8Call closing normally
    (a crash, or its computer going down), JS8Spotter now says JS8Call
    was closed and exits. Before, it kept running without sending or
    receiving and used a full CPU core (Stephen KN4AM)
  - Added a timeout to relayed form gateway posts (Stephen KN4AM)
  - Typo in the "Expect Auto TX Paused" message ("entires")
  - A new install with no js8spotter.db no longer crashes on first
    start; the database is created from js8spotter.db.blank (Stephen
    KN4AM)
  - Windows with a fixed size (Waterfall, Grid Map, Search Term
    Activity, Add/Edit Expect Entry, and others) cut off part of their
    bottom or right edge. They now grow to fit their contents, which
    also covers larger fonts and display scaling (Stephen KN4AM)
  - Tools>Visualize Waterfall crashed on opening (Stephen KN4AM)

Notes
  - One new Expect column (msgmode, for Send as MSG) and one new
    setting are added automatically at startup; no need to run the
    database tool


Version 1.20  (2026-08-05)
---------------------------
Added
  - Added automatic version-update check on startup, plus a manual
    "Check for Updates" item under Help (Stephen KN4AM)
  - Modifiable window title via title.txt (Ryan, KC7HES)
  - Added no-speed-change option to expect auto-tx (John W2KI)
  - Added DEBUG flag for additional non-error output on the command line
  - Added gateway timeout and error handling (Stephen KN4AM)

Changed
  - Audited direct concat SQL statements for input security (Stephen
    KN4AM)
  - Improved error handling/debug in rx thread (Stephen KN4AM)
  - Modified CommStat regex to work with v2.x and v3.x, and new CommStat
    format (Stephen KN4AM)
  - Cleaned up some of the speed setting code (Steve KB7ITU, John W2KI,
    Joe K0OG)
  - Enabled journaling on database connection so other software could
    use db (Stephen KN4AM)

Fixed
  - Corrected highlight_new settings excess updates (Stephen KN4AM)
  - Corrected from callsign not showing in matched activity for some
    records (Keith AD0RS)

Notes
  - DB structure unchanged


Version 1.19  (2026-05-27)
---------------------------
Added
  - Added API call to clear message pane before all TX commands
  - Added window title bar icon (Stephen KN4AM)
  - Added a script by Stephen for setting up a desktop icon (Stephen
    KN4AM)
  - Added support for Subspace and Ultra modes in the interface (Andy
    WM8Q)
  - Added support for new API shutdown call (warn use JS8Call was
    closed)

Changed
  - Program now restores your previous window size (Stephen KN4AM)
  - Updated speeds to match new v3.0.2 selections

Fixed
  - Fixed a bug where you couldn't disable highlights (Billy N4WXI)
  - Fix for window naming and grouping (Scott, W8UFO)
  - Fixed a bug where auto_tx variable wasn't updating after updating a
    form
  - Fixed regex bugs that caused many functions not to work in v3.x.x
    (Billy N4WXI and Phil K1YE)

Notes
  - DB structure unchanged, DB updated not needed from 1.17 or 1.18


Version 1.18  (2026-01-29)
---------------------------
Added
  - Added click on status bar to clear all notification messages
  - Added Export Simple Offline Maps data (W8JB, Jim)
  - Added APRS WhatsAPP (Magnum, KJ5CCS)
  - Added allow spaces at the end of search terms (AC0MZ, Nathan)
  - Added handle unknown commstat status values (KN4AM, Stephen)
  - Added ability to set TX speed for expect statements (compatible only
    with JS8Call-Improved v2.4.0 or later)
  - Added right-click to paste in form fields (James, KF4LXS)

Changed
  - Users manual with corrections (Richard, KC9ZFC; David KD4E)
  - Updated Expect Import error statements to be more clear (David,
    KD4E)
  - Updated MCForms Response Import to use tabs instead of spaces

Fixed
  - Fixed small bug in expect, highlighting red when set to 99/inf
  - Fixed small bug (depricated function) in highlight code

Notes
  - DB structure unchanged, DB updated not needed from 1.17


Version 1.17  (2025-08-21)
---------------------------
Added
  - Added error handling for profile database table error (KN4AM)
  - Added better instructions on MCForms Responses import screen
  - Added simple APRS-only messages (S51SG, Andrej)
  - Added option to TX immediately when posting a form to Expect (N5DOM)
  - Added rudimentary map zoom (multiple)
  - Added norther and southern Africa to map system (KJ5CCS)
  - Added Auto TX schedule to Expect (multiple)
  - Added components to set TX speed, but not supported by functional
    API at this time (2.3.1)
  - Added new F!107 form and updated quickstart docs (KN4AM)

Changed
  - Updated map tiles for better visibility of political borders
  - Redesigned Expect system screens

Notes
  - DB structure *changed*, DB updated REQUIRED


Version 1.16  (2025-04-25)
---------------------------
Added
  - Added SNR color option map view (Darrell, KI4RXJ)
  - Added MCForms Primary/Most Used flagged forms (KN4AM)
  - Added datecode encode/decode in tools menu
  - Added ability to sort profile entries
  - Added auto-save last manual Expect target (KN4AM)

Changed
  - Re-organized MCForms menu (KN4AM)
  - Only prompt for restart on settings changes that require a restart

Fixed
  - Fixed scrollwheel binding bug in forms
  - Fixed extra space bug in some form fill-outs
  - Fixed SNR column sorting in map view
  - Corrected map sorting and options
  - Corrected bug in datecode, 11pm was getting cut off

Notes
  - DB structure *changed*, DB updated REQUIRED


Version 1.15  (2025-03-06)
---------------------------
Added
  - Add copy button to manual expect send
  - Added new forms feature, freeform (Ron K7RIE)
  - Added ability to include text at the end of forms (Stephen, KF4AM)
  - Added ability to process MCForms stored as a msg on 3rd party
    station

Fixed
  - Fixed a small bug in form responses import


Version 1.14b  (2025-02-06)
----------------------------
Added
  - Added more time limits to highlight feature (MJ, KW3KW)
  - Added clear filter button (MJ, KW3KW)
  - Added alternate view modes for Matched Activity list (MJ, KW3KW)
  - Added variable / user input dial frequency on visualize waterfall
    (Can't recall who asked for this!)
  - Added raw format to text form response report

Fixed
  - Corrected various small UI issues
  - Corrected bugs in form responses when associated forms aren't
    present in the forms folder (Bert, N0YJ)

Notes
  - DB structure unchanged, DB updated not needed from 1.13


Version 1.13b  (2025-01-31)
----------------------------
Added
  - Added sorting for "Search Terms" treeview, map treeview,
    response/statrep treeview (Jeff KC7HES)
  - Added filter duplicates to form resp window (Ron K7RIE)
  - Added comments column (Manuel N0DDK)
  - Added user defined setting for default allowed list (Paul KI6QDB)
  - Additional documents added, and MCForms naming standardized (Stephen
    KN4AM)

Changed
  - Adjusted checks so that in future upgrades db update not required if
    table structure not modified
  - Changed search terms add method
  - Modified expect to reply to sender not group, when responding to
    item sent to group, (Scott N1ROG)
  - Preserve allowed list and txlist when posting new form answers to
    expect (Ryan KC7HES)

Fixed
  - Corrected bug in time shortcode for MCForms (Stephen KN4AM)

Notes
  - DB structure was changed, DB update required


Version 1.12b  (2024-11-25)
----------------------------
Added
  - Added error handling for broken forms (KG5VPF)
  - Added preserve settings for disable sound and highlighs
  - Added ability to search/filter visualize waterfall by callsign

Changed
  - Changed APRS SMS phone input to allow phone or alias (K0RPG)


Version 1.11b  (2024-09-30)
----------------------------
Added
  - Added a few basic CommStatOne capabilities, for those that don't
    want to (or can't) install CommStatOne/CommStatX (KE0VCD)
  - Added basic database trim feature

Changed
  - Removed 3 character MCForms descriptor limit (KE0VCD)
  - Using simplesound for Windows, TKSnack for Linux. Both should be
    obtainable on those platforms
  - Small improvements and new code comments added

Fixed
  - Fixed bug in expect_update (N0YJ)
  - Fixed crash when invalid forms are found (KE0VCD)


Version 1.10b  (2024-03-28)
----------------------------
Added
  - Added quickfilter for activity treeview
  - Added "pause" menu feature for Expect
  - Added ability to disable expect items by setting max replies to 0,
    updated dialog
  - Added Expect blocklist
  - Added basic database search, for those who don't want to
    download/install db tools
  - Added 12h option in visualize waterfall
  - Added ability to highlight search terms with activity in last n
    minutes
  - Added settings warning check for database version mistmatch
  - Added database migration tool with GUI
  - Added notification sounds, set per profile

Changed
  - Changed "TCP Active" to "waiting for data", which is more accurate


Version 1.09b  (2024-01-29)
----------------------------
Added
  - Added Indonesia and Australia maps (Tom VK5TOM)
  - Added export in detail log view
  - Added import/export in Expect


Version 1.08b  (2024-01-16)
----------------------------
Added
  - Re-enabled APRS SMS with new gateway (http://aprs.wiki/SMS/)

Changed
  - Allow select multiple items in Form Responses, delete multiple items

Fixed
  - Fixed a bug in MCForms window scrolling canvas size
  - Fixed a bug in forms import
  - Fixed error loading form response when form template changed


Version 1.07b  (2023-10-24)
----------------------------
Added
  - Added ability to clear Sent To list in Expect
  - Added ability to set default form response with * at start of answer
    text (as in "@Y *Yes")
  - Added ability to include instructional text and headings (levels
    1,2,3) in forms
  - Added ability to view form responses in GUI similar to fill-out mode
    (select a response row and right-click)

Changed
  - Made 99=inifite in allowed expect responses
  - Changed form response view to add decoded timestamps

Fixed
  - Fixed failure when form timestamp is incomplete
  - Fixed timestamp encoding oversight
  - Fixed bug crash with incorrect gateway URL
  - Fixed visualize waterfall display, math was off


Version 1.06b  (2023-10-14)
----------------------------
Added
  - Added ability to hide rx.activity and rx.directed in main window
  - Added ability to import/add form responses
  - Added APRSIS POTAGW function

Changed
  - Modified MCForms datecode for 2min resolution instead of 15min
  - Removed defunct APRSIS sms messaging

Fixed
  - Fixed bug when older versions submit an MCForm with shorter datecode
  - Fixed issue with detecting /P and other tactical calls


Version 1.05b  (2023-03-24)
----------------------------
Added
  - Added warning on startup if callsign or grid aren't set
  - Added lines to prevent expect from sending when callsign isn't set
  - Added manual

Changed
  - Renamed the "allowed" input in Expect to match the list view name
  - Adjusted frame/grid to help with text cutoff on some systems
  - Setup github release (Dan KI6ESH)

Fixed
  - Fixed bug with spaces in expect allowed list


Version 1.04b  (2023-03-07)
----------------------------
Added
  - Added missing comments to report output
  - Added ability to hide RX.SPOT in view menu
  - Added <return> bindings to some list views
  - Added right-click copy activity info to clipboard
  - Added freq,offset,speed to activity database, updated migration
    script & initdb
  - Added simulated waterfall for visualization of band activity
  - Added some auto database cleanup
  - Added internet gateway for forms reporting, user configurable
    optional

Changed
  - Improvements in activity detail info

Fixed
  - Fixed bug in export saveas function


Version 1.03b  (2023-02-23)
----------------------------
Added
  - Added status bar for incoming expect requests and form responses
  - Added ability to load a previously posted form answers from expect
    system into forms
  - Added missing "Export All" in form responses
  - Added copy/export buttons and right-click copy popup to form
    response pages
  - Added notes & date to form files

Changed
  - Improved the appearance of the double-click activity view

Fixed
  - Fixed bug in short datecode generator


Version 1.02b  (2023-02-14)
----------------------------
Added
  - Added manual send to expect
  - Added datetime to expect sent record
  - Added MCForms subsystem (multiple choice forms) - Includes new
    database table

Changed
  - Re-arranged map lookup tables to match actual map layout
  - Modified * handling in expect to allow groups+* as from
  - Cleaned up code & comments a bit, reorganized many functions
  - Cleaned up some methods around focus() for a little more consistency
  - Preserve expect sent record when updating expect entry
  - Changed expect view to scrollable window

Fixed
  - Fixed scrollbar display issues
  - Fixed row coloring issues
  - Fixed bug when search string was a number
  - Fixed error when right-clicking inside export dialogs with nothing
    selected
  - Corrected some window size issues, made more windows resizeable


Version 1.01b  (2023-01-26)
----------------------------
Added
  - Added APRS commands to tools menu. Enabled ability to resize the
    main window


Version 0.99b  (2023-01-22)
----------------------------
Fixed
  - Cleaned up some bugs in the expect system, and some Windows-specific
    bugs in the maps and other areas


Version 0.97b  (2022-12-19)
----------------------------
Added
  - Added TCP settings and network check


Version 0.96b  (2022-12-15)
----------------------------
Changed
  - Improved grid map. Added Europe; Added ability to remove items from
    grid map; Corrected several bugs


Version 0.95b  (2022-12-09)
----------------------------
Added
  - Added a simple offline maidenhead grid map, and fixed some button
    alignment in Linux


Version 0.93a  (2022-01-25)
----------------------------
Fixed
  - Fixed race condition in matching, and error handling, which were
    both causing the program to hang and not record matches


Version 0.92a  (2022-01-20)
----------------------------
Changed
  - Switched from UDP to TCP


Version 0.91a  (2022-01-17)
----------------------------
Changed
  - Updated initdb program, fixed theme items


Version 0.90a  (2022-01-14)
----------------------------
Fixed
  - Bug fix impacting background search


Version 0.89a  (2022-01-14)
----------------------------
Added
  - Added external theme, light and dark, bug fixes


Version 0.88a  (2022-01-13)
----------------------------
Added
  - Added import/export and multi-delete for search terms


Version 0.87a  (2022-01-12)
----------------------------
Changed
  - Some new key bindings, save as dialog in export


Version 0.85a  (2022-01-11)
----------------------------
Notes
  - First public release


================================================================================
  End of JS8Spotter Changelog
================================================================================
