Activator Toolkit for Summits on the Air (SOTA)

Changelog

1.1.6

  • 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

1.1.1

  • New: Granular cache management tab — view, filter, and delete cached callsign locations individually
  • Improve: Plugin UI icons replaced with a consistent minimalist SVG icon set
  • Improve: Visual refresh across stats display and settings pages
  • Fix: Contact map fitBounds timing corrected for reliable initial zoom on all themes

1.1.0

  • New: Callook.info lookup — automatic, free, no account needed; resolves US callsigns from FCC data
  • New: HamQTH lookup — free account, international coverage; runs after Callook for non-US callsigns
  • Improve: Callsign lookup now tries Callook → HamQTH → QRZ in priority order before marking a contact unresolved
  • Improve: Settings page reorganized into tabs: Display, Callsign Lookup, GPX Track, Developer
  • 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
  • NEW: Self-contained Leaflet 1.9.4 map replaces WP-GPX Maps dependency
  • NEW: Elevation profile chart (Chart.js 4.4.0) below the map with hover-to-map interaction
  • NEW: “Zoom to Activation Zone” button above the map
  • NEW: Three selectable base layers — Topographic, OpenStreetMap, CartoDB Minimal
  • NEW: Activation zone overlay uses precise red polygon (API) or orange circle (fallback)
  • IMPROVED: All map libraries (Leaflet, Chart.js) bundled locally — no CDN calls
  • IMPROVED: GPX track points sampled to max 800 for efficient JSON delivery
  • IMPROVED: Summit coordinates fall back to highest track point when CSV is absent
  • FIXED: Removed all dependency on WP-GPX Maps plugin
  • FIXED: Decimal-precision hack and .wpgpxmaps CSS workarounds removed

0.607 Beta

  • Manual override fields for hiking distance, time, activation time, rest breaks, total time
  • Force-radius toggle to skip activation.zone API per block
  • Help modal explaining how each statistic is calculated
  • Debug mode for admins showing API call results

0.517 Beta

  • Methodology indicator on Activation Time stat box
  • Shows API-based vs radius method in the UI
  • Links to activation.zone when API is active

0.512 Beta

  • Visual activation zone overlay on GPX maps (via WP-GPX Maps + Leaflet interception)
  • Red polygon when using activation.zone API; orange dashed circle for radius fallback
  • Summit peak 🏔️ marker on map

0.511 Beta

  • Integration with activation.zone API (by N6ARA)
  • Point-in-polygon algorithm for accurate zone detection
  • Automatic fallback to radius method

0.510 Beta

  • Rest breaks now included in hiking time with separate sub-note display
  • All time properly accounted for across hiking + activation + rest

0.509 Beta

  • Complete rewrite of GPX analysis algorithm
  • Activation zone detection using summit peak location
  • Configurable activation zone radius and rest break threshold

0.508 Beta

  • Intelligent GPX track analysis: hiking vs activation time
  • Statistics grid with icons
  • Configurable stationary speed threshold

0.507 Beta

  • Responsive table design with horizontal scrolling
  • Long comments wrap within column

Plugin Website
Visit website

Author
KI6CR-Chris
Version:
1.1.6
Last Updated
May 28, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.