mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-09 16:46:37 +00:00
chore: prepare the 3.8.3 release (#784)
Bumps src.__version__ to 3.8.3 and turns Unreleased into ## 3.8.3, adding entries for what merged since 3.8.2: the installer's desktop check (#780, #781) -- 3.8.2 stops fresh Raspberry Pi OS Lite installs with "Desktop environment detected", and the one-shot installer installs the newest release, so the fix only reaches users once it is tagged -- the ESPN scoreboard payload slimming (#749), the Vegas static-pause and store restart fixes (#753), and plugin-computed display modes in the web UI (#769). scripts/check_release_version.py v3.8.3 passes. Claude-Session: https://claude.ai/code/session_01VZNWFWprcFYGfuf1JAyrBJ Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
+57
-1
@@ -19,6 +19,60 @@ accepts both, but the store flags the old spelling as deprecated
|
||||
|
||||
## Unreleased
|
||||
|
||||
## 3.8.3
|
||||
|
||||
Fresh installs on Raspberry Pi OS Lite work again: 3.8.2's installer reported
|
||||
a desktop on Lite and stopped (#780, #781). Also lighter cached ESPN
|
||||
scoreboard windows (#749), a Vegas static-pause fix and a store reinstall
|
||||
restart prompt (#753), and display modes a plugin computes from its config in
|
||||
the web UI (#769).
|
||||
|
||||
### Install
|
||||
|
||||
- The installer no longer stops Raspberry Pi OS Lite with "Desktop environment
|
||||
detected". Its package check searched whole `dpkg -l` lines, and `.*kde`
|
||||
matched inside `libblockdev` ("bloc**kde**v"), which Lite ships; it now
|
||||
matches installed package names from their start (#780). Desktop
|
||||
metapackages and session managers are matched as whole names, so
|
||||
`gnome-keyring` and similar standalone parts no longer count, and the list
|
||||
now includes Raspberry Pi OS Trixie's `rpd-wayland-core` / `rpd-x-core`
|
||||
(which replaced `raspberrypi-ui-mods`), Debian's `task-*-desktop` and
|
||||
multi-arch names (#781).
|
||||
- Only a **running** desktop stops the install: a display manager that
|
||||
`systemctl is-active` reports (`display-manager`, lightdm, gdm, sddm,
|
||||
lxdm), with directions to boot to the console instead. Desktop packages or
|
||||
session files on a Pi that boots to the console print a warning and the
|
||||
install continues (#781).
|
||||
|
||||
### Fixed
|
||||
|
||||
- A Vegas static pause no longer ends at once for a plugin whose
|
||||
`display_duration` is not a number (a string such as `"20"` or `null` from
|
||||
config.json, as clock-simple, calendar and countdown return it). The pause
|
||||
reads the duration the way the rotation does, with the same fallbacks: 30 s
|
||||
for anything that is not a number, 15 s for zero or less. The helper moved
|
||||
from `display_controller._finite_seconds` to `base_plugin.finite_seconds`,
|
||||
unchanged (#753).
|
||||
- Reinstalling an enabled plugin from the store now asks for a restart for
|
||||
plugins that install under their manifest id (Weather as
|
||||
`ledmatrix-weather`, Music, Stocks, Leaderboard): the route checked the
|
||||
enabled flag under the registry id (#753).
|
||||
- `/display/modes`, the on-demand dialog and `on-demand/start` by mode see the
|
||||
modes a plugin computes from its config (soccer-scoreboard's custom
|
||||
leagues), which no manifest can list. The display records the modes it
|
||||
registered in the runtime snapshot, and the web catalog prefers them while
|
||||
the plugin is loaded, falling back to the manifest otherwise. No manifest or
|
||||
plugin change needed (#769, fixes #668).
|
||||
|
||||
### Performance
|
||||
|
||||
- `BackgroundDataService` drops the parts of an ESPN `/scoreboard` response no
|
||||
scoreboard reads (stat leaders, athlete cards, links, headlines, highlights,
|
||||
geo broadcasts) before caching it (`src/common/espn_payload.py`,
|
||||
core-internal). Measured on one Pi (hdpi), the five scoreboard windows went
|
||||
from 10.6 MB to 3.0 MB of JSON and ~40 MB to ~12 MB of parsed objects.
|
||||
`submit_fetch_request(slim_payload=False)` caches a response whole (#749).
|
||||
|
||||
### Tooling
|
||||
|
||||
- `test/test_sports_helpers.py`'s parity tests pass again with
|
||||
@@ -27,7 +81,9 @@ accepts both, but the store flags the old spelling as deprecated
|
||||
(ledmatrix-plugins #563/#564), and the 19 tests still expected them. A copy
|
||||
that is gone now counts as adopted when the plugin imports
|
||||
`src.common.sports_helpers`, as the stage 3/4 and game-over parity tests
|
||||
already do; a copy that remains must still match.
|
||||
already do; a copy that remains must still match. (#777)
|
||||
- `src/common/README.md` lists `espn_payload`, which
|
||||
`test_common_readme_lists_every_module` requires (#782).
|
||||
|
||||
## 3.8.2
|
||||
|
||||
|
||||
+1
-1
@@ -4,5 +4,5 @@ LEDMatrix Display System
|
||||
Core source package for the LED Matrix Display project.
|
||||
"""
|
||||
|
||||
__version__ = "3.8.2"
|
||||
__version__ = "3.8.3"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user