Improve: Contact location lookup now checks ADIF gridsquare field before falling back to comments or callsign lookup services
Improve: Summit-to-Summit contacts are now prioritized first in location lookup hierarchy; grid square (ADIF field or comments) comes second; callsign lookup services are used only when no grid is available
Improve: Settings → Callsign Lookup tab now explains the full location lookup hierarchy in plain language
Improve: ADIF frequency values are normalized to a minimum of 3 decimal places (144.2 → 144.200); up to 5 decimal places are preserved when present
1.1.5
Improve: WordPress 7.0 compatibility — block editor uses current wp.blockEditor API instead of deprecated wp.editor for MediaUpload
Improve: Block editor buttons use current variant prop instead of deprecated isPrimary/isSecondary
Improve: Block category updated from deprecated ‘common’ to ‘text’
Improve: Tested up to WordPress 7.0
Improve: Contact table now shows your summit reference as a subtitle above the table; “My Summit” column removed from individual rows to reduce clutter
Improve: Block Width setting now offers pixel presets (700–1200px) and a custom pixel input, in addition to the existing Wide and Full options
Improve: Contact map loading animation now appears immediately when the iframe loads; callsign lookups happen in the background instead of blocking the initial render
1.1.4
New: ADIF log file support — upload .adif or .adi files in addition to SOTA CSV; format is detected automatically
New: Modal prompts for summit reference when log file does not include one (works for both CSV and ADIF)
New: Summit Reference field in block inspector sidebar for easy review and correction after upload
New: Hovering a row in the contacts table highlights the corresponding marker on the contact map
Improve: Contacts table sorted oldest-to-newest regardless of order in the source file
Fix: Contact map markers now reliably open on first click (polylines were intercepting click events)
Fix: Contact map zoom now correctly fits all contacts without clipping at the edges
1.1.3
Improve: Hike statistics tiles now display in a fixed 2×3 grid for a cleaner, balanced layout
1.1.2
Improve: Summit marker on GPX map and contact map now uses minimalist SVG mountain icon instead of emoji
Improve: Contact map loading overlay now uses SVG mountain icon instead of emoji
Improve: Activation Zone button now toggles between “Zoom to Activation Zone” and “Zoom to Full Track”
Fix: Removed artificial maxZoom cap on Activation Zone button zoom
Fix: Contact map initial zoom now correctly fits all contacts within the visible frame
Improve: Cache clearing now preserves S2S summit location cache; only callsign lookup entries are cleared
Fix: Debug Mode (public) checkbox was not being saved — now works correctly
1.0.7
Fix: QRZ password now preserved exactly as entered — special characters no longer stripped before encryption
1.0.6
Fix: Contact map assets now use wp_enqueue_style(), wp_enqueue_script(), and wp_add_inline_script() with wp_print_styles()/wp_print_scripts() called manually — correct WordPress API usage for a standalone HTML page served via wp_ajax_*
1.0.5
Fix: Contact map JS moved to external contact-map.js; inline script reduced to a single JSON data assignment (wp_localize_script pattern)
Fix: phpcs:ignore annotations added for stylesheet/script tags in standalone AJAX page where wp_enqueue hooks are unavailable
Fix: Stable tag updated to match plugin version header
Improve: Block name updated to “SOTA Activator Toolkit”
Improve: Settings page explains QRZ XML subscription requirement with link to QRZ.com
Improve: Settings page explains why QRZ locations are cached permanently (historical accuracy at time of activation)
Improve: QRZ cache clear button moved from block editor to Settings page with nuclear-option warning
Improve: Plugin logo updated to new 128×128 artwork
1.0.4
IMPROVED: Plugin renamed to Activator Toolkit for SOTA; all files and references updated from sota-magic to activator-toolkit
IMPROVED: All remote HTTP calls replaced with wp_remote_get() / wp_remote_post() (WordPress HTTP API)
IMPROVED: All inline styles and scripts replaced with wp_enqueue_style(), wp_add_inline_style(), and wp_add_inline_script()
IMPROVED: Contact map served via admin-ajax.php instead of direct file access
IMPROVED: Added sanitize callbacks to all register_setting() calls
IMPROVED: Chart.js updated from 4.4.0 to 4.5.1
FIXED: All WordPress Plugin Check tool errors and warnings resolved — passes clean with no ERRORs
1.0.3
FIXED: Contact map initial zoom now fits all contacts and summit optimally — map waits for container to fully render before fitting bounds
1.0.2
NEW: Persistent location cache using a dedicated wp_sota_magic_locations database table — QRZ callsign locations stored permanently for historical accuracy; SOTA summit coordinates cached 90 days
NEW: “No location found” panel on contact map — contacts that could not be located are listed rather than silently dropped
NEW: Debug Mode split into two options — admin-only (safe to leave on) and public (for testing while logged out)
IMPROVED: QRZ callsign lookups now include a user-agent header, fixing lookups that were silently failing
IMPROVED: Settings page version number is now read dynamically from the plugin header — always stays in sync
IMPROVED: Debug panel now shows unresolved contact count, reason per callsign, and raw QRZ XML response for failed lookups
FIXED: Hiking speed statistic not recalculating when hiking distance or time manual overrides were applied
FIXED: QRZ password now stored encrypted (AES-256-CBC) rather than plain text
1.0.1
NEW: Per-post “Hide GPX hike statistics from post” checkbox in block editor — suppresses stats display while keeping map, activation zone, and contact map fully functional
FIXED: Contact map lines not drawing — SOTA API summit lookup was broken by missing stream context and user-agent header
FIXED: Elevation chart showing dead space on the right — Chart.js was auto-extending x-axis beyond actual track length
ADDED: Admin-only debug panel on the contact map (visible only when Debug Mode is enabled in Settings)
1.0.0
MAJOR: Plugin is now fully standalone — no other plugins required