{"id":299413,"date":"2026-05-13T21:33:55","date_gmt":"2026-05-13T21:33:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sota-magic\/"},"modified":"2026-05-14T03:21:59","modified_gmt":"2026-05-14T03:21:59","slug":"activator-toolkit-for-sota","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/activator-toolkit-for-sota\/","author":419379,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Activator Toolkit for SOTA","header_author":"KI6CR","header_description":"Display your SOTA activation data beautifully \u2014 GPX track maps with elevation chart, hiking statistics, contact tables, and an interactive contact map. No other plugins required.","assets_banners_color":"f0eeea","last_updated":"2026-05-14 03:21:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.ki6cr.com\/sota-magic-plugin-for-wordpress\/","header_author_uri":"https:\/\/ki6cr.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"creddick","date":"2026-05-14 03:21:59"}},"upgrade_notice":{"1.0.0":"<p>Major release. The WP-GPX Maps plugin dependency has been completely removed. If you had WP-GPX Maps installed only for SOTA Magic, you may now deactivate it. All map and chart functionality is now built in.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3531421,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3531421,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3531421,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3531421,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"ki6cr\/sota-data":{"name":"ki6cr\/sota-data","title":"Ki Cr Sota Data"}},"tagged_versions":["1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-2.png":{"filename":"screenshot-2.png","revision":3531539,"resolution":"2","location":"plugin","width":2000,"height":1410},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3531539,"resolution":"5","location":"plugin","width":1460,"height":1548},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3531539,"resolution":"4","location":"plugin","width":2000,"height":1310},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3531539,"resolution":"1","location":"plugin","width":2000,"height":1480},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3531539,"resolution":"3","location":"plugin","width":2000,"height":1590},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3531539,"resolution":"6","location":"plugin","width":2714,"height":1514}},"screenshots":{"1":"GPX track map with elevation chart and \"Zoom to Activation Zone\" button","2":"Hiking statistics grid showing time, distance, elevation, and speed","3":"Contact table with S2S highlighting","4":"Interactive contact map showing QSO locations by band","5":"Block editor interface with file upload and manual override panel","6":"Settings page"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3616,10682,3615,4605,262846],"plugin_category":[49],"plugin_contributors":[262847],"plugin_business_model":[],"class_list":["post-299413","plugin","type-plugin","status-publish","hentry","plugin_tags-amateur-radio","plugin_tags-gpx","plugin_tags-ham-radio","plugin_tags-mapping","plugin_tags-sota","plugin_category-maps-and-location","plugin_contributors-creddick","plugin_committers-creddick"],"banners":{"banner":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/assets\/banner-772x250.png?rev=3531421","banner_2x":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/assets\/banner-1544x500.png?rev=3531421","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/assets\/icon-128x128.png?rev=3531421","icon_2x":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/assets\/icon-256x256.png?rev=3531421","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/trunk\/screenshot-1.png?rev=3531539","caption":"GPX track map with elevation chart and \"Zoom to Activation Zone\" button"},{"src":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/trunk\/screenshot-2.png?rev=3531539","caption":"Hiking statistics grid showing time, distance, elevation, and speed"},{"src":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/trunk\/screenshot-3.png?rev=3531539","caption":"Contact table with S2S highlighting"},{"src":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/trunk\/screenshot-4.png?rev=3531539","caption":"Interactive contact map showing QSO locations by band"},{"src":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/trunk\/screenshot-5.png?rev=3531539","caption":"Block editor interface with file upload and manual override panel"},{"src":"https:\/\/ps.w.org\/activator-toolkit-for-sota\/trunk\/screenshot-6.png?rev=3531539","caption":"Settings page"}],"raw_content":"<!--section=description-->\n<p>Activator Toolkit for SOTA is a WordPress plugin for amateur radio operators participating in Summits On The Air (SOTA). Add the Activator Toolkit block to any post or page, upload your GPX track and SOTA CSV log, and the plugin automatically generates:<\/p>\n\n<ul>\n<li>An interactive GPX track map with three selectable base layers (Topographic, OpenStreetMap, Minimal)<\/li>\n<li>An elevation profile chart with hover-to-map interaction<\/li>\n<li>A \"Zoom to Activation Zone\" button showing the precise activation boundary<\/li>\n<li>Hiking statistics: time, distance, elevation gain\/loss, average speed, and peak elevation<\/li>\n<li>A contacts table with automatic Summit-to-Summit (S2S) highlighting<\/li>\n<li>An interactive contact map showing where your QSOs were located<\/li>\n<\/ul>\n\n<p><strong>No other plugins required.<\/strong> All map libraries (Leaflet 1.9.4, Chart.js 4.5.1) are bundled with the plugin.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Standalone GPX Map<\/strong> \u2014 Interactive Leaflet map with Topographic, OpenStreetMap, and CartoDB Minimal base layers<\/li>\n<li><strong>Elevation Chart<\/strong> \u2014 Profile chart below the map; hover to see a position dot track across the map<\/li>\n<li><strong>Activation Zone Overlay<\/strong> \u2014 Precise terrain-based polygon from the Activation.Zone API (by N6ARA), or a radius circle fallback<\/li>\n<li><strong>Zoom to Activation Zone<\/strong> \u2014 One-click button to zoom the map to the activation zone boundary<\/li>\n<li><strong>Summit Peak Marker<\/strong> \u2014 \ud83c\udfd4\ufe0f marker at the highest point in your track<\/li>\n<li><strong>Intelligent Track Analysis<\/strong> \u2014 Automatically calculates hiking time vs. activation time using the Activation.Zone API or a configurable radius fallback<\/li>\n<li><strong>Rest Break Tracking<\/strong> \u2014 Tracked separately and shown as a sub-note under hiking time<\/li>\n<li><strong>Metric or Imperial Units<\/strong> \u2014 Choose km\/m\/km\/h or mi\/ft\/mph in settings<\/li>\n<li><strong>Contact Log Tables<\/strong> \u2014 Responsive, horizontally-scrollable tables showing all contacts<\/li>\n<li><strong>S2S Highlighting<\/strong> \u2014 Automatic detection and custom color highlighting for Summit-to-Summit contacts<\/li>\n<li><strong>Interactive Contact Map<\/strong> \u2014 Shows contact locations by band, with lines to the summit; contacts with a grid square in Comments are plotted without any external service; S2S contacts use the free SOTA API; all other contacts use QRZ.com XML lookups (requires a QRZ XML subscription)<\/li>\n<li><strong>Maidenhead Grid Support<\/strong> \u2014 Contacts with a grid square in the comments field are plotted automatically<\/li>\n<li><strong>Fully Customizable<\/strong> \u2014 Colors, fonts, headlines, and display options in Settings \u2192 Activator Toolkit for SOTA<\/li>\n<li><strong>Block Editor Compatible<\/strong> \u2014 Simple Gutenberg block with file upload and manual override fields<\/li>\n<li><strong>Responsive Design<\/strong> \u2014 Works on mobile and desktop<\/li>\n<\/ul>\n\n<h4>How Activation Time is Calculated<\/h4>\n\n<p>The plugin uses two methods to determine the activation zone, applied in priority order:<\/p>\n\n<p><strong>Method 1: Activation.Zone API (Primary)<\/strong>\nQueries api.activation.zone (by N6ARA) using your summit reference from the CSV file. The API returns a precise polygon based on terrain elevation data and the official SOTA 25m vertical drop rule. All time spent inside this polygon counts as activation time.<\/p>\n\n<p><strong>Method 2: Radius Fallback (Automatic)<\/strong>\nIf the API is disabled or unavailable, the plugin draws a configurable circle (default 50m) around the highest GPS point. Configurable in Settings \u2192 Activator Toolkit for SOTA (20\u2013200m).<\/p>\n\n<h4>CSV Format<\/h4>\n\n<p>The plugin expects SOTA CSV v2 format:\n    V2, MyCall, MySummit, Date (DD\/MM\/YY), Time, Frequency, Mode, TheirCall, TheirSummit, Comments<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or later<\/li>\n<li>PHP 7.4 or later<\/li>\n<li>QRZ.com XML subscription (optional \u2014 only needed for contact map location lookups)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the following external services. By using this plugin you agree to their respective terms.<\/p>\n\n<p><strong>SOTA API<\/strong> (api2.sota.org.uk)\nUsed to retrieve official summit coordinates (for the summit marker and S2S contact locations). No authentication required. No personal data is sent.\nTerms: https:\/\/www.sota.org.uk<\/p>\n\n<p><strong>Activation.Zone API<\/strong> (api.activation.zone)\nUsed to retrieve the precise SOTA activation zone polygon for a given summit reference. No authentication required. The summit reference, coordinates, and elevation are sent to the API. Created by N6ARA.\nTerms: https:\/\/activation.zone<\/p>\n\n<p><strong>QRZ.com XML API<\/strong> (xmldata.qrz.com)\nUsed to look up contact operator locations for the contact map. Only contacted when the contact map is enabled and QRZ credentials are provided in settings. Your QRZ username and password are sent to QRZ.com for authentication.\nTerms: https:\/\/www.qrz.com\/page\/terms_of_service.html<\/p>\n\n<p><strong>OpenStreetMap tile servers<\/strong> ({s}.tile.openstreetmap.org)\nUsed as a base map layer option. Standard tile requests including your IP address are sent to OpenStreetMap servers.\nTerms: https:\/\/wiki.osmfoundation.org\/wiki\/Terms_of_Use<\/p>\n\n<p><strong>OpenTopoMap tile servers<\/strong> ({s}.tile.opentopomap.org)\nUsed as the default base map layer (topographic). Standard tile requests are sent to OpenTopoMap servers.\nTerms: https:\/\/opentopomap.org\/about<\/p>\n\n<p><strong>CartoDB\/CARTO tile servers<\/strong> ({s}.basemaps.cartocdn.com)\nUsed as a minimal base map layer option. Standard tile requests are sent to CARTO servers.\nTerms: https:\/\/carto.com\/legal\/<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>SOTA Magic does not collect, store, or transmit any personal data beyond what is described in the External Services section above. GPX files and CSV files are stored in your WordPress media library and processed on your own server. QRZ.com credentials are stored in your WordPress options table and are never transmitted to anyone other than QRZ.com.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Navigate to Plugins \u2192 Add New<\/li>\n<li>Search for \"SOTA Magic\"<\/li>\n<li>Click \"Install Now\" then \"Activate\"<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Navigate to Plugins \u2192 Add New \u2192 Upload Plugin<\/li>\n<li>Upload the zip and click \"Install Now\"<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h4>After Installation<\/h4>\n\n<ol>\n<li>Go to Settings \u2192 Activator Toolkit for SOTA and configure your preferences<\/li>\n<li>In any post or page, add the \"Activator Toolkit\" block<\/li>\n<li>Upload your GPX file and\/or SOTA CSV file<\/li>\n<li>Publish or preview \u2014 your activation data appears automatically<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20any%20other%20plugins%3F\"><h3>Do I need any other plugins?<\/h3><\/dt>\n<dd><p>No. As of version 1.0.0, SOTA Magic is fully standalone. All mapping libraries are bundled with the plugin. No WP GPX Maps or any other plugin is required.<\/p><\/dd>\n<dt id=\"how%20does%20the%20plugin%20determine%20hiking%20vs.%20activation%20time%3F\"><h3>How does the plugin determine hiking vs. activation time?<\/h3><\/dt>\n<dd><p><strong>Primary method \u2014 Activation.Zone API:<\/strong>\nQueries api.activation.zone (by N6ARA) for a precise terrain-based zone polygon. Requires a summit reference in your CSV file. All time inside the polygon = activation time.<\/p>\n\n<p><strong>Fallback method \u2014 Radius approximation:<\/strong>\nA circle of configurable radius (default 50m) around the highest GPS point. Used automatically if the API is disabled or unavailable.<\/p><\/dd>\n<dt id=\"what%20is%20activation.zone%3F\"><h3>What is Activation.Zone?<\/h3><\/dt>\n<dd><p>Activation.Zone is a free tool by N6ARA that calculates the precise SOTA activation zone for any summit using Digital Elevation Model (DEM) data and the official 25m vertical drop rule. SOTA Magic integrates with their public API. No account required.<\/p><\/dd>\n<dt id=\"what%20if%20the%20activation.zone%20api%20is%20unavailable%3F\"><h3>What if the Activation.Zone API is unavailable?<\/h3><\/dt>\n<dd><p>The plugin automatically falls back to the radius method. Statistics are still calculated; the activation zone will show as an orange dashed circle instead of a red polygon.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20qrz%20subscription%3F\"><h3>Do I need a QRZ subscription?<\/h3><\/dt>\n<dd><p>Only for the contact map's fallback location lookup. The contact map resolves locations in priority order: (1) Maidenhead grid squares in the Comments field \u2014 no QRZ needed; (2) S2S contacts via the free SOTA API \u2014 no QRZ needed; (3) all other contacts via the QRZ.com XML API.<\/p>\n\n<p>QRZ XML access requires a paid QRZ subscription \u2014 either the \"XML Logbook Data\" plan (~$35.95\/year) or the Platinum plan. A free QRZ account does not include XML access. Contacts that cannot be located are shown in a \"No location found\" panel on the map rather than silently dropped.<\/p><\/dd>\n<dt id=\"can%20i%20use%20maidenhead%20grid%20squares%20for%20contact%20locations%3F\"><h3>Can I use Maidenhead grid squares for contact locations?<\/h3><\/dt>\n<dd><p>Yes. If a 4- or 6-character grid square appears anywhere in the contact's Comments field, SOTA Magic will use it to plot the contact on the map. This works without QRZ credentials.<\/p><\/dd>\n<dt id=\"can%20i%20override%20the%20calculated%20statistics%3F\"><h3>Can I override the calculated statistics?<\/h3><\/dt>\n<dd><p>Yes. The Activator Toolkit block editor panel includes manual override fields for hiking distance, hiking time, activation time, rest breaks, and total time. Check the box next to a field to enable the override.<\/p><\/dd>\n<dt id=\"can%20i%20force%20the%20radius%20method%20instead%20of%20the%20api%3F\"><h3>Can I force the radius method instead of the API?<\/h3><\/dt>\n<dd><p>Yes. In the block editor, check \"Activation Zone: Radius-based (API skipped)\" in the Manual Overrides panel. Or disable the API globally in Settings \u2192 Activator Toolkit for SOTA.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20blocks%20on%20one%20page%3F\"><h3>Can I use multiple blocks on one page?<\/h3><\/dt>\n<dd><p>Yes. Each Activator Toolkit block is fully independent. Multiple activations can appear on the same post or page.<\/p><\/dd>\n<dt id=\"can%20i%20switch%20between%20metric%20and%20imperial%20units%3F\"><h3>Can I switch between metric and imperial units?<\/h3><\/dt>\n<dd><p>Yes \u2014 Settings \u2192 Activator Toolkit for SOTA \u2192 Unit System. All statistics and the elevation chart convert automatically.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20appearance%3F\"><h3>Can I customize the appearance?<\/h3><\/dt>\n<dd><p>Yes \u2014 Settings \u2192 Activator Toolkit for SOTA lets you set background color, text color, transparent background, S2S highlight colors, and whether to use your theme's font.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>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 \u2014 correct WordPress API usage for a standalone HTML page served via wp_ajax_*<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fix: Contact map JS moved to external contact-map.js; inline script reduced to a single JSON data assignment (wp_localize_script pattern)<\/li>\n<li>Fix: phpcs:ignore annotations added for stylesheet\/script tags in standalone AJAX page where wp_enqueue hooks are unavailable<\/li>\n<li>Fix: Stable tag updated to match plugin version header<\/li>\n<li>Improve: Block name updated to \"SOTA Activator Toolkit\"<\/li>\n<li>Improve: Settings page explains QRZ XML subscription requirement with link to QRZ.com<\/li>\n<li>Improve: Settings page explains why QRZ locations are cached permanently (historical accuracy at time of activation)<\/li>\n<li>Improve: QRZ cache clear button moved from block editor to Settings page with nuclear-option warning<\/li>\n<li>Improve: Plugin logo updated to new 128x128 artwork<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>IMPROVED: Plugin renamed to Activator Toolkit for SOTA; all files and references updated from sota-magic to activator-toolkit<\/li>\n<li>IMPROVED: All remote HTTP calls replaced with wp_remote_get() \/ wp_remote_post() (WordPress HTTP API)<\/li>\n<li>IMPROVED: All inline styles and scripts replaced with wp_enqueue_style(), wp_add_inline_style(), and wp_add_inline_script()<\/li>\n<li>IMPROVED: Contact map served via admin-ajax.php instead of direct file access<\/li>\n<li>IMPROVED: Added sanitize callbacks to all register_setting() calls<\/li>\n<li>IMPROVED: Chart.js updated from 4.4.0 to 4.5.1<\/li>\n<li>FIXED: All WordPress Plugin Check tool errors and warnings resolved \u2014 passes clean with no ERRORs<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>FIXED: Contact map initial zoom now fits all contacts and summit optimally \u2014 map waits for container to fully render before fitting bounds<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>NEW: Persistent location cache using a dedicated <code>wp_sota_magic_locations<\/code> database table \u2014 QRZ callsign locations stored permanently for historical accuracy; SOTA summit coordinates cached 90 days<\/li>\n<li>NEW: \"No location found\" panel on contact map \u2014 contacts that could not be located are listed rather than silently dropped<\/li>\n<li>NEW: Debug Mode split into two options \u2014 admin-only (safe to leave on) and public (for testing while logged out)<\/li>\n<li>IMPROVED: QRZ callsign lookups now include a user-agent header, fixing lookups that were silently failing<\/li>\n<li>IMPROVED: Settings page version number is now read dynamically from the plugin header \u2014 always stays in sync<\/li>\n<li>IMPROVED: Debug panel now shows unresolved contact count, reason per callsign, and raw QRZ XML response for failed lookups<\/li>\n<li>FIXED: Hiking speed statistic not recalculating when hiking distance or time manual overrides were applied<\/li>\n<li>FIXED: QRZ password now stored encrypted (AES-256-CBC) rather than plain text<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>NEW: Per-post \"Hide GPX hike statistics from post\" checkbox in block editor \u2014 suppresses stats display while keeping map, activation zone, and contact map fully functional<\/li>\n<li>FIXED: Contact map lines not drawing \u2014 SOTA API summit lookup was broken by missing stream context and user-agent header<\/li>\n<li>FIXED: Elevation chart showing dead space on the right \u2014 Chart.js was auto-extending x-axis beyond actual track length<\/li>\n<li>ADDED: Admin-only debug panel on the contact map (visible only when Debug Mode is enabled in Settings)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>MAJOR: Plugin is now fully standalone \u2014 no other plugins required<\/li>\n<li>NEW: Self-contained Leaflet 1.9.4 map replaces WP-GPX Maps dependency<\/li>\n<li>NEW: Elevation profile chart (Chart.js 4.4.0) below the map with hover-to-map interaction<\/li>\n<li>NEW: \"Zoom to Activation Zone\" button above the map<\/li>\n<li>NEW: Three selectable base layers \u2014 Topographic, OpenStreetMap, CartoDB Minimal<\/li>\n<li>NEW: Activation zone overlay uses precise red polygon (API) or orange circle (fallback)<\/li>\n<li>IMPROVED: All map libraries (Leaflet, Chart.js) bundled locally \u2014 no CDN calls<\/li>\n<li>IMPROVED: GPX track points sampled to max 800 for efficient JSON delivery<\/li>\n<li>IMPROVED: Summit coordinates fall back to highest track point when CSV is absent<\/li>\n<li>FIXED: Removed all dependency on WP-GPX Maps plugin<\/li>\n<li>FIXED: Decimal-precision hack and .wpgpxmaps CSS workarounds removed<\/li>\n<\/ul>\n\n<h4>0.607 Beta<\/h4>\n\n<ul>\n<li>Manual override fields for hiking distance, time, activation time, rest breaks, total time<\/li>\n<li>Force-radius toggle to skip activation.zone API per block<\/li>\n<li>Help modal explaining how each statistic is calculated<\/li>\n<li>Debug mode for admins showing API call results<\/li>\n<\/ul>\n\n<h4>0.517 Beta<\/h4>\n\n<ul>\n<li>Methodology indicator on Activation Time stat box<\/li>\n<li>Shows API-based vs radius method in the UI<\/li>\n<li>Links to activation.zone when API is active<\/li>\n<\/ul>\n\n<h4>0.512 Beta<\/h4>\n\n<ul>\n<li>Visual activation zone overlay on GPX maps (via WP-GPX Maps + Leaflet interception)<\/li>\n<li>Red polygon when using activation.zone API; orange dashed circle for radius fallback<\/li>\n<li>Summit peak \ud83c\udfd4\ufe0f marker on map<\/li>\n<\/ul>\n\n<h4>0.511 Beta<\/h4>\n\n<ul>\n<li>Integration with activation.zone API (by N6ARA)<\/li>\n<li>Point-in-polygon algorithm for accurate zone detection<\/li>\n<li>Automatic fallback to radius method<\/li>\n<\/ul>\n\n<h4>0.510 Beta<\/h4>\n\n<ul>\n<li>Rest breaks now included in hiking time with separate sub-note display<\/li>\n<li>All time properly accounted for across hiking + activation + rest<\/li>\n<\/ul>\n\n<h4>0.509 Beta<\/h4>\n\n<ul>\n<li>Complete rewrite of GPX analysis algorithm<\/li>\n<li>Activation zone detection using summit peak location<\/li>\n<li>Configurable activation zone radius and rest break threshold<\/li>\n<\/ul>\n\n<h4>0.508 Beta<\/h4>\n\n<ul>\n<li>Intelligent GPX track analysis: hiking vs activation time<\/li>\n<li>Statistics grid with icons<\/li>\n<li>Configurable stationary speed threshold<\/li>\n<\/ul>\n\n<h4>0.507 Beta<\/h4>\n\n<ul>\n<li>Responsive table design with horizontal scrolling<\/li>\n<li>Long comments wrap within column<\/li>\n<\/ul>","raw_excerpt":"Display your SOTA activation data beautifully \u2014 GPX maps, elevation charts, hiking stats, contact tables, and a contact map. No other plugins needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/299413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=299413"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/creddick"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=299413"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=299413"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=299413"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=299413"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=299413"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=299413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}