{"name": "FortyGuard Temperature Intelligence Layer", "package_name": "fortyguard_heatmap", "version": "0.5.4", "experimental": false, "qgis_min": "3.34.0", "qgis_max": "3.99.0", "downloads": 46, "uploaded_by": "mustafahamdy-FG", "upload_datetime": "2026-10-26T06:41:28.147233", "changelog": "0.5.4 - Research re-check against the FortyGuard documentation, pricing page, quickstart and production API: default date is now two weeks back (the data feed had not advanced for 13 days); a verified sample live area (Phoenix, AZ) can be added with one click because the API no longer covers the lower-Manhattan demo area; the \"outside supported U.S. coverage\" answer is explained; dates before 2021 (catalog start) get a warning; the new Basic and Pro plan names map to the documented allowances.\n0.5.3 - Independent code review before the next test round: Check Again on an earlier activity restores that request's own analysis type, threshold and area (a stopped Exceedance fetched after a Temperature run is styled as Exceedance); the analysis type of any result is taken from the API's stats_data; a cancelled or blocked request no longer replaces the context of the previous job; results are saved to disk before styling, so a paid result is never lost; Restyle survives a removed layer and rebuilds the smooth surface for the new measure; legend classes never contain an empty zero-width class; 3-D (Z/M) polygons are sent as 2-D; date pickers end today; Enter in a text field no longer triggers Generate; Check Again refuses demo activities and uses the key currently in the field; very large areas get a coarser smooth surface instead of an error.\n0.5.2 - Second internal testing round (Windows): legend classes are computed from numeric values only (a tile without a value no longer stretches the lowest class to 0); the default output folder is the Documents folder reported by the system (OneDrive-redirected Documents on Windows); Check Again accepts any activity ID pasted into the Activity ID field, so a stopped request can be fetched after later requests; the status line updates in place instead of repeating \"Processing\" in the log; gateway errors (HTTP 502/503/504) while submitting are explained as server-side and uncertain, not as a key problem; the Appearance option no longer refers to the dashboard; the API environment selector is hidden in the public build; the plugin description is split into short sections.\n0.5.1 - Legend classes option (3 to 20, default 10, remembered) so the tiles layer can show finer temperature differences; identical classes are still merged. Requested after the first report review.\n0.5.0 - Fixes from the FortyGuard internal testing round (macOS, Windows, Linux). Dates: defaults to one week ago because the API has no data for the most recent days; the HTTP 400 \"Temperature data is unavailable\" answer is explained in plain words (free of charge); Calendar month clips to the available days; Range of days counts both dates (1st to 1st of the next month is rejected before a 7-minute server failure). Credits: \"Check key and credits\" shows the live balance (total remaining) instead of a frozen billing-cycle figure; the confirmation states the cost for your plan. Pre-checks before a paid request: areas outside the United States are blocked (they completed with 0 tiles and were charged), areas smaller than one tile or above the plan allowance are warned about, areas above 500 square miles are blocked (never finished, charged), an identical request already completed in this session or found in the output folder is warned about, and a previous unfinished activity is pointed out. Empty \"Completed\" results are reported as charged and a record file is kept. Legends: label precision follows the data spread (no more identical \"21.9 - 21.9\" classes), uniform results get one class, Peak temperature time hours 4/8/12/16/20 fall in the right class, the smooth surface legend is titled with the quantity and unit and spans at least 1 degree. Robustness: Stop Waiting during submission keeps the activity ID, a cut-off status answer is retried, a 404 on an old activity stops after 3 checks with a clear message, NaN values are saved as null, file names are shortened and sidecars are never overwritten. UI: Getting started steps on separate lines, no orphan Start date label in month mode, Demo Mode stop message, analysis settings remembered, narrow windows wrap instead of clipping. No longer marked experimental.\n0.4.3 - Re-upload through the main upload form so the listing title changes to FortyGuard Temperature Intelligence Layer. No code change.\n0.4.2 - Renamed to FortyGuard Temperature Intelligence Layer. No functional change.\n0.4.1 - Security-scan fix (one try/except/pass in the legend code); no functional change.\n0.4.0 - Smooth surface appearance (default): the API tiles are interpolated into a fine raster with a continuous colour ramp, clipped to the area, like the FortyGuard dashboard; the tiles layer is kept hidden for exact values. Tiles-only option remains. Not applied to Peak temperature time (cyclic hours).\n0.3.6 - Renamed to FortyGuard Temperature Intelligence Layer; new description and about text (FortyGuard products, data-center example, API documentation link). No functional change.\n0.3.5 - Getting-started text readable in dark themes.\n0.3.4 - Dialog fits laptop screens: settings scroll, Generate/Stop/status stay visible at the bottom; window is resizable and maximisable.\n0.3.3 - Passes the plugins.qgis.org security scan: removed try/except/pass blocks (contextlib.suppress) and a help-text wording that matched a SQL-injection pattern; no functional change.\n0.3.2 - Fixed metadata.txt parsing on plugins.qgis.org (a percent sign in the changelog); no code change.\n0.3.1 - Time zones confirmed by FortyGuard: start/end times are the local time of the area, peak temperature hours are UTC; dialog text and docs updated.\n0.3.0 - Heat-analysis modes from the FortyGuard Forma extension: Temperature/Snapshot, Exceedance (total hours above a threshold), Persistence (longest continuous run above it) and Peak temperature time (hour of day, UTC), each as its own styled layer with the right legend units; threshold input in \u00b0C (default 35, sent with direction \"above\"); Calendar month time option (submitted as a range of days, leap years and partial months handled); analysis-specific summaries (valid tiles, share of valid tiles above 0 h, maximum duration, most common peak hour); synthetic demo fixtures for all modes.\n0.2.0 - Release candidate for external users: FortyGuard icon, getting-started help with documentation links, \"Check key and credits\" button, production API by default with the development environment moved to a separate Developer settings section (key is cleared when the environment changes), safer default output folder, clearer error and credit messages, real dialog request verified. Icon now PNG.\n0.1.0 - First prototype: live request path (submit + bounded polling), Demo Mode, graduated styling, encrypted optional key storage.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/fortyguard_heatmap/version/0.5.4/download/"}