From d327aca6ccdcda2bb1f9ea8a69d704a21958a207 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Jul 2026 18:18:50 +0000 Subject: [PATCH 1/4] chore(license): standardize flights, music, stocks to GPL-3.0 Completes the repo-wide MIT -> GPL-3.0 pass for the plugins not covered by the other audit PRs. All first-party: - ledmatrix-flights (1.10.0 -> 1.10.1): manifest "license" + README MIT -> GPL-3.0 (its LICENSE file was already GPL). - ledmatrix-music (1.0.6 -> 1.0.7): LICENSE file + manifest "license" + README MIT -> GPL-3.0. - ledmatrix-stocks (2.3.0 -> 2.3.1): manifest "license" MIT -> GPL-3.0 (its LICENSE file was already GPL). No code changes. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01F9Saiat9CQmNi3DeDdvacB --- plugins.json | 14 ++++++------ plugins/ledmatrix-flights/README.md | 2 +- plugins/ledmatrix-flights/manifest.json | 12 +++++++--- plugins/ledmatrix-music/LICENSE | 30 +++++++++++-------------- plugins/ledmatrix-music/README.md | 2 +- plugins/ledmatrix-music/manifest.json | 12 +++++++--- plugins/ledmatrix-stocks/manifest.json | 12 +++++++--- 7 files changed, 49 insertions(+), 35 deletions(-) diff --git a/plugins.json b/plugins.json index c54ca1a4..c8a43ca5 100644 --- a/plugins.json +++ b/plugins.json @@ -1,6 +1,6 @@ { "version": "1.0.0", - "last_updated": "2026-07-08", + "last_updated": "2026-07-09", "plugins": [ { "id": "7-segment-clock", @@ -381,10 +381,10 @@ "plugin_path": "plugins/ledmatrix-flights", "stars": 0, "downloads": 0, - "last_updated": "2026-06-15", + "last_updated": "2026-07-08", "verified": true, "screenshot": "", - "latest_version": "1.10.0" + "latest_version": "1.10.1" }, { "id": "march-madness", @@ -475,10 +475,10 @@ "plugin_path": "plugins/ledmatrix-music", "stars": 0, "downloads": 0, - "last_updated": "2026-05-15", + "last_updated": "2026-07-08", "verified": true, "screenshot": "", - "latest_version": "1.0.6" + "latest_version": "1.0.7" }, { "id": "news", @@ -774,10 +774,10 @@ "plugin_path": "plugins/ledmatrix-stocks", "stars": 0, "downloads": 0, - "last_updated": "2026-05-28", + "last_updated": "2026-07-08", "verified": true, "screenshot": "", - "latest_version": "2.3.0", + "latest_version": "2.3.1", "icon": "fas fa-chart-line" }, { diff --git a/plugins/ledmatrix-flights/README.md b/plugins/ledmatrix-flights/README.md index 29f235fd..5e56b510 100644 --- a/plugins/ledmatrix-flights/README.md +++ b/plugins/ledmatrix-flights/README.md @@ -205,7 +205,7 @@ Configuration has been flattened - remove the `flight_tracker` wrapper from your ## License -MIT +Released under the GNU General Public License v3.0 — see [LICENSE](LICENSE). ## Author diff --git a/plugins/ledmatrix-flights/manifest.json b/plugins/ledmatrix-flights/manifest.json index dab2a9c6..fecf0b8c 100644 --- a/plugins/ledmatrix-flights/manifest.json +++ b/plugins/ledmatrix-flights/manifest.json @@ -1,7 +1,7 @@ { "id": "ledmatrix-flights", "name": "Flight Tracker", - "version": "1.10.0", + "version": "1.10.1", "description": "Real-time aircraft tracking with ADS-B/FlightRadar24/OpenSky/adsb.fi/adsb.lol data, map backgrounds, area mode, flight tracking, anchor airport, and flight records", "author": "ChuckBuilds", "entry_point": "manager.py", @@ -27,13 +27,19 @@ ], "homepage": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-flights", "website": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-flights", - "license": "MIT", + "license": "GPL-3.0", "compatible_versions": [ ">=2.0.0" ], "min_ledmatrix_version": "2.0.0", "max_ledmatrix_version": "3.0.0", "versions": [ + { + "released": "2026-07-08", + "version": "1.10.1", + "notes": "Set the license to GPL-3.0 (project standard). The LICENSE file was already GPL; the manifest field previously said MIT.", + "ledmatrix_min": "2.0.0" + }, { "released": "2026-06-15", "version": "1.10.0", @@ -134,5 +140,5 @@ "ledmatrix_min_version": "2.0.0" } ], - "last_updated": "2026-06-15" + "last_updated": "2026-07-08" } diff --git a/plugins/ledmatrix-music/LICENSE b/plugins/ledmatrix-music/LICENSE index b5a96de3..e653a0c1 100644 --- a/plugins/ledmatrix-music/LICENSE +++ b/plugins/ledmatrix-music/LICENSE @@ -1,21 +1,17 @@ -MIT License +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 -Copyright (c) 2025 ChuckBuilds +Copyright (C) 2025 LEDMatrix Team -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/plugins/ledmatrix-music/README.md b/plugins/ledmatrix-music/README.md index dc6073da..d0b08e7c 100644 --- a/plugins/ledmatrix-music/README.md +++ b/plugins/ledmatrix-music/README.md @@ -307,7 +307,7 @@ For issues, feature requests, or questions: ## License -This plugin is licensed under the MIT License. See the LICENSE file for details. +This plugin is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details. ## Contributing diff --git a/plugins/ledmatrix-music/manifest.json b/plugins/ledmatrix-music/manifest.json index 19a753cb..dca9d3dd 100644 --- a/plugins/ledmatrix-music/manifest.json +++ b/plugins/ledmatrix-music/manifest.json @@ -1,7 +1,7 @@ { "id": "ledmatrix-music", "name": "Music Player - Now Playing", - "version": "1.0.6", + "version": "1.0.7", "description": "Real-time now playing display for Spotify and YouTube Music with album art, scrolling text, and progress bars", "author": "ChuckBuilds", "entry_point": "manager.py", @@ -28,7 +28,7 @@ ], "homepage": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-music", "website": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-music", - "license": "MIT", + "license": "GPL-3.0", "compatible_versions": [ ">=2.0.0" ], @@ -66,6 +66,12 @@ } ], "versions": [ + { + "released": "2026-07-08", + "version": "1.0.7", + "notes": "Set the license to GPL-3.0 (project standard; both the LICENSE file and the manifest field previously said MIT).", + "ledmatrix_min": "2.0.0" + }, { "released": "2026-05-15", "version": "1.0.6", @@ -92,7 +98,7 @@ "ledmatrix_min_version": "2.0.0" } ], - "last_updated": "2026-05-15", + "last_updated": "2026-07-08", "stars": 0, "downloads": 0, "verified": true, diff --git a/plugins/ledmatrix-stocks/manifest.json b/plugins/ledmatrix-stocks/manifest.json index 43563bd3..1fa8fb35 100644 --- a/plugins/ledmatrix-stocks/manifest.json +++ b/plugins/ledmatrix-stocks/manifest.json @@ -1,7 +1,7 @@ { "id": "ledmatrix-stocks", "name": "Stock & Crypto Ticker", - "version": "2.3.0", + "version": "2.3.1", "description": "Displays stock tickers with prices, changes, and optional charts for stocks and cryptocurrencies. Supports scroll and switch display modes.", "author": "LEDMatrix Team", "homepage": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-stocks", @@ -39,6 +39,12 @@ } ], "versions": [ + { + "released": "2026-07-08", + "version": "2.3.1", + "notes": "Set the license to GPL-3.0 (project standard). The LICENSE file was already GPL; the manifest field previously said MIT.", + "ledmatrix_min": "2.0.0" + }, { "released": "2026-05-28", "version": "2.3.0", @@ -75,10 +81,10 @@ "ledmatrix_min_version": "2.0.0" } ], - "last_updated": "2026-05-28", + "last_updated": "2026-07-08", "stars": 0, "downloads": 0, "verified": true, "screenshot": "", - "license": "MIT" + "license": "GPL-3.0" } From 24de0f61cb206692ce934b9dc8afd04f1ac9852a Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Jul 2026 18:26:39 +0000 Subject: [PATCH 2/4] fix(ledmatrix-stocks): guard process_deferred_updates for harness compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The plugin-safety harness renders each changed plugin, and its BoundsCheckingDisplayManager does not implement process_deferred_updates(), so stocks crashed at every size once the license bump made it a "changed" plugin. Guard the call with hasattr — production DisplayManager still runs it; harness/other managers that lack it are skipped. No production behavior change. Note: leaderboard, odds-ticker, news, and stock-news call the same method and would hit this too when next touched — the core harness double is missing it. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01F9Saiat9CQmNi3DeDdvacB --- plugins/ledmatrix-stocks/manager.py | 5 ++++- plugins/ledmatrix-stocks/manifest.json | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/ledmatrix-stocks/manager.py b/plugins/ledmatrix-stocks/manager.py index a4ac47e6..efc2b999 100644 --- a/plugins/ledmatrix-stocks/manager.py +++ b/plugins/ledmatrix-stocks/manager.py @@ -136,7 +136,10 @@ def _display_scrolling(self, force_clear: bool = False) -> None: # Signal scrolling state self.display_manager.set_scrolling_state(True) - self.display_manager.process_deferred_updates() + # Guard for display managers that don't implement deferred updates + # (e.g. the plugin-safety harness's bounds-checking display manager). + if hasattr(self.display_manager, "process_deferred_updates"): + self.display_manager.process_deferred_updates() # Update scroll position using the scroll helper self.scroll_helper.update_scroll_position() diff --git a/plugins/ledmatrix-stocks/manifest.json b/plugins/ledmatrix-stocks/manifest.json index 1fa8fb35..dd472b4c 100644 --- a/plugins/ledmatrix-stocks/manifest.json +++ b/plugins/ledmatrix-stocks/manifest.json @@ -42,7 +42,7 @@ { "released": "2026-07-08", "version": "2.3.1", - "notes": "Set the license to GPL-3.0 (project standard). The LICENSE file was already GPL; the manifest field previously said MIT.", + "notes": "Set the license to GPL-3.0 (project standard; the LICENSE file was already GPL, the manifest field said MIT). Guard the display_manager.process_deferred_updates() call with hasattr so the plugin renders under display managers that don't implement it (e.g. the plugin-safety harness).", "ledmatrix_min": "2.0.0" }, { From b0e4f73901e1a72f85ae11f539ab4a2237e30069 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Jul 2026 18:32:24 +0000 Subject: [PATCH 3/4] chore: defer ledmatrix-music relicense (pre-existing 64px overflow) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Relicensing made music a "changed" plugin, so the safety harness rendered it and caught a PRE-EXISTING overflow on the 64px-wide panels ([FAIL] 64x32 / 64x64 now_playing overflow bbox=(64,...)) — album-art + text don't fit a 64px width. That's a narrow-panel layout bug, not a licensing issue, and needs a real rendering fix (best verified against the core harness). Revert music to its current state so this PR (flights + stocks -> GPL-3.0) can land; music's relicense will follow once the overflow is fixed. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01F9Saiat9CQmNi3DeDdvacB --- plugins.json | 4 ++-- plugins/ledmatrix-music/LICENSE | 30 +++++++++++++++------------ plugins/ledmatrix-music/README.md | 2 +- plugins/ledmatrix-music/manifest.json | 12 +++-------- 4 files changed, 23 insertions(+), 25 deletions(-) diff --git a/plugins.json b/plugins.json index c8a43ca5..b13fad0e 100644 --- a/plugins.json +++ b/plugins.json @@ -475,10 +475,10 @@ "plugin_path": "plugins/ledmatrix-music", "stars": 0, "downloads": 0, - "last_updated": "2026-07-08", + "last_updated": "2026-05-15", "verified": true, "screenshot": "", - "latest_version": "1.0.7" + "latest_version": "1.0.6" }, { "id": "news", diff --git a/plugins/ledmatrix-music/LICENSE b/plugins/ledmatrix-music/LICENSE index e653a0c1..b5a96de3 100644 --- a/plugins/ledmatrix-music/LICENSE +++ b/plugins/ledmatrix-music/LICENSE @@ -1,17 +1,21 @@ -GNU GENERAL PUBLIC LICENSE -Version 3, 29 June 2007 +MIT License -Copyright (C) 2025 LEDMatrix Team +Copyright (c) 2025 ChuckBuilds -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -You should have received a copy of the GNU General Public License -along with this program. If not, see . +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugins/ledmatrix-music/README.md b/plugins/ledmatrix-music/README.md index d0b08e7c..dc6073da 100644 --- a/plugins/ledmatrix-music/README.md +++ b/plugins/ledmatrix-music/README.md @@ -307,7 +307,7 @@ For issues, feature requests, or questions: ## License -This plugin is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details. +This plugin is licensed under the MIT License. See the LICENSE file for details. ## Contributing diff --git a/plugins/ledmatrix-music/manifest.json b/plugins/ledmatrix-music/manifest.json index dca9d3dd..19a753cb 100644 --- a/plugins/ledmatrix-music/manifest.json +++ b/plugins/ledmatrix-music/manifest.json @@ -1,7 +1,7 @@ { "id": "ledmatrix-music", "name": "Music Player - Now Playing", - "version": "1.0.7", + "version": "1.0.6", "description": "Real-time now playing display for Spotify and YouTube Music with album art, scrolling text, and progress bars", "author": "ChuckBuilds", "entry_point": "manager.py", @@ -28,7 +28,7 @@ ], "homepage": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-music", "website": "https://github.com/ChuckBuilds/ledmatrix-plugins/tree/main/plugins/ledmatrix-music", - "license": "GPL-3.0", + "license": "MIT", "compatible_versions": [ ">=2.0.0" ], @@ -66,12 +66,6 @@ } ], "versions": [ - { - "released": "2026-07-08", - "version": "1.0.7", - "notes": "Set the license to GPL-3.0 (project standard; both the LICENSE file and the manifest field previously said MIT).", - "ledmatrix_min": "2.0.0" - }, { "released": "2026-05-15", "version": "1.0.6", @@ -98,7 +92,7 @@ "ledmatrix_min_version": "2.0.0" } ], - "last_updated": "2026-07-08", + "last_updated": "2026-05-15", "stars": 0, "downloads": 0, "verified": true, From 329100336c29e7cff2247cff3cf4baf20c0c4f21 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Jul 2026 17:02:30 +0000 Subject: [PATCH 4/4] Use non-deprecated ledmatrix_min_version in flights + stocks manifests Follows the maintainer's correction on #175: the core's manifest validator flags `ledmatrix_min` as deprecated and expects `ledmatrix_min_version`. Normalize every versions[] entry in the flights and stocks manifests to `ledmatrix_min_version` so device installs don't log deprecated-field warnings. (Latest main, incl. #174/#175, was merged in the preceding commit.) Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01F9Saiat9CQmNi3DeDdvacB --- plugins/ledmatrix-flights/manifest.json | 34 ++++++++++++------------- plugins/ledmatrix-stocks/manifest.json | 6 ++--- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/plugins/ledmatrix-flights/manifest.json b/plugins/ledmatrix-flights/manifest.json index bb2797fb..b9b756b6 100644 --- a/plugins/ledmatrix-flights/manifest.json +++ b/plugins/ledmatrix-flights/manifest.json @@ -41,102 +41,102 @@ "released": "2026-07-09", "version": "1.12.3", "notes": "Set the license to GPL-3.0 (project standard). The LICENSE file was already GPL; the manifest field previously said MIT.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-07-09", "version": "1.12.2", "notes": "Airport Weather now uses the crisp 6x10 bitmap font (bundled from the LEDMatrix font set) for the weather cards, replacing the soft anti-aliased 5x7 TTF. FreeType renders the .bdf pixel-exact at its native size, so the METAR/TAF/PIREP/SIGMET text is sharp on the LED grid. Falls back gracefully if a build lacks BDF support.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-07-09", "version": "1.12.1", "notes": "Airport Weather legibility: the 5x7 weather text is now drawn in 1-bit 'mono' mode (grid-snapped, no anti-aliasing) at a slightly larger size, so it stays crisp on the LED grid instead of looking soft/blurry. Other flight-tracker views are unchanged.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-07-09", "version": "1.12.0", "notes": "Airport Weather enhancements: the decoded METAR card now shows the observation age and flags stale reports (older than ~75 min) in amber; and new unit options let weather display in US (inHg/SM/kt/degC) or international style (hPa 'Q' code, metres/km, mph/kmh/ms, degF).", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-07-09", "version": "1.11.2", "notes": "Airport Weather robustness: the weather refresh now services one HTTP request per update cycle (incremental) so a slow or failed fetch can't stall the aircraft loop; METAR config init is guarded so a bad weather config only disables the feature instead of crashing the plugin; added config-value guards and docstrings.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-07-09", "version": "1.11.1", "notes": "Airport Weather view now renders in the cleaner, more legible 5x7 font (bundled) instead of the blocky PressStart2P/4x6, so METAR/TAF/PIREP/SIGMET text reads like text at small panel sizes.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-07-09", "version": "1.11.0", "notes": "Add optional Airport Weather add-on: a new 'metar' rotation view that shows METAR (color-coded decoded card plus raw page), TAF, PIREP, and SIGMET/AIRMET for airports you choose, using the free NOAA Aviation Weather Center API (no API key). Enable via the new 'metar' config section and add 'metar' to Rotation Views.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-15", "version": "1.10.0", "notes": "Apply config changes live via on_config_change (data source, center/radius/zoom, units, filters, proximity); rebuilds the fetcher, route enrichment and renderer and invalidates the cached map so edits take effect without a display restart.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-14", "version": "1.9.2", "notes": "Expand bundled airline logo coverage: add 17 carriers (Horizon, Endeavor, Mesa, Jazz, Sun Country, Condor, Finnair, Icelandair, Asiana, China Airlines, EVA Air, Hainan, Philippine, Starlux, Zipair, Aeromexico, Volaris) so more overhead flights render with their operator logo instead of a fallback.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-08", "version": "1.9.1", "notes": "Fix: the overhead / live-priority view is now governed solely by proximity_distance_miles, independent of map_radius_miles. Previously a small map_radius_miles silently capped the overhead trigger radius (the candidate pool was filtered to the map radius before the proximity check), so aircraft inside proximity_distance_miles but outside the map view never triggered the live overhead card. The fetch radius now also covers proximity_distance_miles.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-05", "version": "1.9.0", "notes": "Overhead (live-priority) card now alternates its shared secondary row between the flight route (e.g. SEA>PHX) and the aircraft model instead of always showing the route. The model is rendered as a friendly name (e.g. 'Boeing 737-900') via a new bundled ICAO type-designator lookup, falling back to the raw type code when unknown. New 'overhead_alt_interval' config option controls the swap cadence (default 4s; 0 disables alternation).", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-02", "version": "1.8.2", "notes": "Redesign the overhead (plane-overhead / live-priority) view as a size-adaptive 'card' and move it into the shared renderer alongside area/stats. Compact 128x32: airline logo + colored callsign hero, altitude/speed value strip, route + progress, and a heading-arrow + distance badge. Narrow (<96px wide): drop the logo and badge, full-width text. Spacious (>=48px tall, e.g. 256x64): large font, tall logo, inline heading arrow, metric values justified across the width, and flight progress as a bar across the bottom with a triangle marker. Logo width is capped so wide wordmark logos (e.g. SkyWest) don't crowd the text; when there's no logo the friendly airline name is shown next to the callsign. Fixes the duplicate airline tag (the old 'UAL360 UAL') and the unrenderable degree glyph in the heading ('HDG:227deg').", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-01", "version": "1.7.0", "notes": "Overhead live-priority behavior: lock onto the specific flight that enters the radius (no longer hops to whatever is momentarily closest); duration_seconds is now a hard cap measured from lock-on (a lingering plane no longer overstays); add proximity_alert.cooldown_seconds to guarantee the normal rotation screen time after each flight; add live_update_interval for a faster fetch (default 2s) while a flight is locked on so altitude/distance update smoothly.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-06-01", "version": "1.6.0", "notes": "Add configurable rotation views (rotation_views: pick which of map/stats/area/flight_tracking cycle, or none) and overhead live-priority preempt (live_priority: a plane entering the proximity radius cuts in to the overhead view for the proximity_alert window, then releases). Empty rotation_views + live_priority gives a blank-until-overhead board. Fully backward compatible: unset rotation_views keeps the legacy single display_mode behavior.", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-05-31", "version": "1.5.5", "notes": "Fix adsb.fi data source returning no aircraft: parse the 'aircraft' response key (adsb.fi opendata) in addition to 'ac' (adsb.lol)", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-05-19", "version": "1.5.4", "notes": "Reduce log spam and gate enrichment API calls (FR24 details, FlightAware) when plugin is not on screen", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-05-15", "version": "1.5.3", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-05-06", diff --git a/plugins/ledmatrix-stocks/manifest.json b/plugins/ledmatrix-stocks/manifest.json index dd472b4c..c14399f9 100644 --- a/plugins/ledmatrix-stocks/manifest.json +++ b/plugins/ledmatrix-stocks/manifest.json @@ -43,17 +43,17 @@ "released": "2026-07-08", "version": "2.3.1", "notes": "Set the license to GPL-3.0 (project standard; the LICENSE file was already GPL, the manifest field said MIT). Guard the display_manager.process_deferred_updates() call with hasattr so the plugin renders under display managers that don't implement it (e.g. the plugin-safety harness).", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-05-28", "version": "2.3.0", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "released": "2026-05-15", "version": "2.2.1", - "ledmatrix_min": "2.0.0" + "ledmatrix_min_version": "2.0.0" }, { "version": "2.2.0",