Organize changelog entries

This commit is contained in:
2026-09-04 16:04:15 +01:00
parent 3dfa6ea164
commit 954e0edc3f
+64 -49
View File
@@ -6,36 +6,36 @@ All notable changes to this project will be documented in this file.
### Added
- Added secure administrator invitations that create accounts only after the recipient accepts the invitation.
- Added configurable API progress-bar placeholders with AdminLTE and announcement palette colors, custom colors, striped and animated variants, and quoted numeric literals.
- Added an optional `textless` progress-bar modifier to hide the visible percentage while retaining progress accessibility metadata.
- Added configurable progress-bar radius options including `square`, `pill`, `rounded`, and validated `radius(...)` values.
- Added arithmetic API placeholder transforms for adding, subtracting, multiplying, and dividing numeric values.
- Added time-based progress bars using start and end date/time fields to show elapsed timetable-item progress.
- Added audit events for invitation sending and acceptance, email verification, password-reset requests, and account email changes.
- Added a pending invitations page with invitation-specific Read, Create, Delete, and Allow permissions.
- Added invitation deletion and resend actions with confirmation prompts.
- Added an opt-in Weather audit category for weather-location changes and manually queued refreshes.
- Added opt-in per-command Screen Controls auditing, with forward and back navigation grouped together and disabled by default.
- Secure administrator invitations that create accounts only after the recipient accepts the invitation.
- Configurable API progress-bar placeholders with AdminLTE and announcement palette colors, custom colors, striped and animated variants, and quoted numeric literals.
- An optional `textless` progress-bar modifier to hide the visible percentage while retaining progress accessibility metadata.
- Configurable progress-bar radius options including `square`, `pill`, `rounded`, and validated `radius(...)` values.
- Arithmetic API placeholder transforms for adding, subtracting, multiplying, and dividing numeric values.
- Time-based progress bars using start and end date/time fields to show elapsed timetable-item progress.
- Audit events for invitation sending and acceptance, email verification, password-reset requests, and account email changes.
- A pending invitations page with invitation-specific Read, Create, Delete, and Allow permissions.
- Invitation deletion and resend actions with confirmation prompts.
- An opt-in Weather audit category for weather-location changes and manually queued refreshes.
- Opt-in per-command Screen Controls auditing, with forward and back navigation grouped together and disabled by default.
- The pending invitations list now supports pagination, search, and sorting, with Users, Roles, and Invitations grouped under expandable User management navigation.
- API progress calculations now support object-wrapped amounts.
### Changed
- Updated the invitation registration page to show fields only for valid tokens, use the themed failure state for invalid links, and pre-fill the invited email and display name.
- Made the invited email visibly disabled, kept the display name editable and required, and aligned invitation actions with the existing user forms.
- Added shared pagination, search, and sorting to the pending invitations list and grouped Users, Roles, and Invitations under expandable User management navigation.
- Updated API progress bars to inherit the surrounding WYSIWYG text size and text color, preserve rounded corners, and render consistently in the editor preview, player, and thumbnails.
- Added support for object-wrapped API amounts in player-side progress calculations.
## 2.11.0 - 2026-09-02
### Added
- Added optional account emails with administrator verification bypass, email verification, password recovery, and confirmed email changes.
- Added SMTP configuration and mail delivery for account notifications.
- Optional account emails with administrator verification bypass, email verification, password recovery, and confirmed email changes.
- SMTP configuration and mail delivery for account notifications.
- Autofill restrictions for Bitwarden, LastPass, and 1Password on account profile and new-password fields while preserving current-password autofill.
### Changed
- Added autofill restrictions for Bitwarden, LastPass, and 1Password on account profile and new-password fields while preserving current-password autofill.
- Updated account email templates and previews to support both line breaks and paragraph spacing.
## 2.10.7 - 2026-09-02
@@ -44,6 +44,7 @@ All notable changes to this project will be documented in this file.
- API token authentication now reuses access tokens until their expiry and can renew them with a refresh token, including refresh-token rotation.
- API sources can configure a refresh URL, JSON request body, and refresh-token response path.
- Client status badges now show Live, Paused, and Blackout states in the responsive Connected clients view.
### Changed
@@ -53,16 +54,18 @@ All notable changes to this project will be documented in this file.
### Fixed
- Fixed client screen moves from mobile cards so the next move disables the clients current screen group rather than its previous one.
- Added Live, Paused, and Blackout client status badges to the responsive Connected clients view.
- Removed unused Bootstrap Icons font preloads that triggered browser warnings on pages where icons were not rendered.
## 2.10.6 - 2026-08-29
### Added
- Playlist recovery now uses cached browser and server snapshots, reports offline status, and recovers after cached responses.
### Changed
- Refactored the player runtime into focused animation, media, transition, command, playback, and rendering modules.
- Improved player slide transitions and video playback by preloading media, preserving precise durations, pausing outgoing videos during crossfades, and deferring expensive post-render setup.
- Added resilient playlist recovery through cached browser and server snapshots, offline status reporting, and refresh handling that recovers after cached responses.
### Fixed
@@ -88,6 +91,11 @@ All notable changes to this project will be documented in this file.
## 2.10.3 - 2026-08-28
### Added
- Remote screens now poll periodically to recover from missed refresh commands after bridge reconnects.
- Screens now use cached playlist snapshots while the bridge or web service is temporarily unavailable.
### Fixed
- Fixed the weather edit preview so the daily forecast is shown initially, the 24-hour forecast is hidden until selected, and the redundant hourly heading is removed.
@@ -98,8 +106,6 @@ All notable changes to this project will be documented in this file.
- Fixed remote player heartbeats to update the central onboarding bindings for active browser clients without treating the physical player registry ID as a client binding.
- Fixed targeted commands after browser reconnects by falling back to the stable client ID when a transient connection ID is stale.
- Fixed stale browser command connections remaining active indefinitely when the physical player heartbeat was still healthy.
- Added periodic playlist polling so remote screens recover from missed refresh commands after bridge reconnects.
- Added cached playlist snapshots so screens can continue displaying their last known playlist while the bridge or web service is temporarily unavailable.
- Fixed media synchronization so generated player caches are excluded while remote image caches remain available to players.
- Fixed weather screen notifications so changes in the fetched data or the current forecast hour trigger a refresh.
- Fixed player runtime script loading and slide rendering so region modules, transitions, and cached playlists initialize consistently.
@@ -108,39 +114,42 @@ All notable changes to this project will be documented in this file.
## 2.10.2 - 2026-08-28
### Added
- Onboarding client heartbeats are now persisted so records inactive for 24 hours can be pruned without relying on player connectivity after the fact.
### Fixed
- Fixed the weather forecast preview to show only its first-fetch message until a successful forecast is available.
- Added persisted onboarding client heartbeats so records inactive for 24 hours can be pruned without relying on player connectivity after the fact.
## 2.10.1 - 2026-08-28
### Added
- Added linear gradient backgrounds to templates, including multiple colours and angle control.
- Added a visual gradient stop editor with draggable stops, click-to-add support, and stop reordering.
- Linear gradient backgrounds to templates, including multiple colours and angle control.
- A visual gradient stop editor with draggable stops, click-to-add support, and stop reordering.
## 2.10.0 - 2026-08-28
### Added
- Added secure kiosk onboarding with QR-first and manual pairing flows.
- Added browser-specific pairing sessions with expiring pairing codes.
- Added circular QR presentation and a compatible QR scanner with decoder fallbacks.
- Added responsive player onboarding and a post-pair option to connect another player.
- Added stable player identity bindings for paired players and moved-client aliases.
- Added per-tab client identities backed by browser session storage for commands, pairing, and screen moves.
- Added RBAC protection for player pairing through the `pairing.allow` permission.
- Added a dedicated web onboarding workflow for pairing and managing player setup.
- Secure kiosk onboarding with QR-first and manual pairing flows.
- Browser-specific pairing sessions with expiring pairing codes.
- Circular QR presentation and a compatible QR scanner with decoder fallbacks.
- Responsive player onboarding and a post-pair option to connect another player.
- Stable player identity bindings for paired players and moved-client aliases.
- Per-tab client identities backed by browser session storage for commands, pairing, and screen moves.
- RBAC protection for player pairing through the `pairing.allow` permission.
- A dedicated web onboarding workflow for pairing and managing player setup.
- Pairing entry points now appear in the dashboard and connected clients workflows.
- A mobile-friendly connected clients link is now shown after successful pairing.
- Player keyboard feedback now includes slide navigation, plus `P` pause/unpause and `B` blackout toggles.
### Changed
- Restricted direct screen URLs to the player configured for the requested screen.
- Added pairing entry points to the dashboard and connected clients workflows.
- Made pairing QR codes easier to scan by encoding only the short pairing code.
- Added a mobile-friendly connected clients link after successful pairing.
- Made connected-client controls and player pairing UI render independently according to their permissions.
- Added player keyboard feedback for slide navigation, plus `P` pause/unpause and `B` blackout toggles.
- Removed client identities from onboarding and screen-move URLs; authorized player data now loads after the tab identity handshake.
- Updated connected-client commands and screen moves to resolve tab and registered-player identities reliably.
@@ -149,9 +158,10 @@ All notable changes to this project will be documented in this file.
### Added
- API sources, RSS feeds, and weather locations can be enabled or disabled without deleting their cached data.
- Added Weather slide regions with current, daily, and hourly placeholders, date/time transforms, and Bootstrap weather icon transforms.
- Added multiple saved weather locations with provider, coordinate, unit, and refresh settings.
- Added separate Allow permissions for manually refreshing API sources, RSS feeds, and weather locations.
- Weather slide regions with current, daily, and hourly placeholders, date/time transforms, and Bootstrap weather icon transforms.
- Multiple saved weather locations with provider, coordinate, unit, and refresh settings.
- Separate Allow permissions for manually refreshing API sources, RSS feeds, and weather locations.
- Announcement colour choices and player rendering now include the AdminLTE extended palette colours.
### Changed
@@ -164,7 +174,6 @@ All notable changes to this project will be documented in this file.
- Startup data-source refreshes now respect each API, RSS, and weather source's configured repull interval.
- RSS feeds now persist their last collection timestamp.
- Refreshed the vendored AdminLTE assets to 4.8.5.
- Added AdminLTE extended palette colours to announcement colour choices and player rendering.
- Removed Digital Signage Subheading and top padding.
- API and RSS source saves now preserve cached data without pulling; added explicit manual refresh actions.
@@ -172,13 +181,16 @@ All notable changes to this project will be documented in this file.
### Added
- Added configurable JSON POST requests and two-step login-then-token authentication for API sources.
- Configurable JSON POST requests and two-step login-then-token authentication for API sources.
## 2.8.6 - 2026-08-18
### Added
- URL fields now provide live validation with inline feedback and explicit HTTP or HTTPS scheme enforcement.
### Fixed
- Added live URL validation with inline feedback and explicit HTTP or HTTPS scheme enforcement for URL fields.
- Prevented Enter in slide editor inputs from implicitly saving the slide.
- Collapsed nested API response JSON sections by default while keeping the root response visible.
@@ -193,8 +205,8 @@ All notable changes to this project will be documented in this file.
### Added
- Added local caching for API and RSS image placeholders under `player-cache/remote-images` for offline player playback.
- Added reconciliation of cached remote images so files no longer referenced by slides are removed.
- Local caching for API and RSS image placeholders under `player-cache/remote-images` for offline player playback.
- Reconciliation of cached remote images so files no longer referenced by slides are removed.
### Fixed
@@ -206,8 +218,8 @@ All notable changes to this project will be documented in this file.
### Added
- Added API, RSS, Timetable, and Time / Date placeholder help panels with shared transform and date-token documentation.
- Added render-time API and RSS image placeholders with proportional sizing and preview-only bounding boxes.
- API, RSS, Timetable, and Time / Date placeholder help panels with shared transform and date-token documentation.
- Render-time API and RSS image placeholders with proportional sizing and preview-only bounding boxes.
### Changed
@@ -252,6 +264,7 @@ All notable changes to this project will be documented in this file.
- A permissions-gated System Settings page for announcement icon suggestions, media upload limits and MIME types, session lifetime, and password-change policies.
- Configurable forced password changes for newly created users and administrator password resets.
- The database foundation for key-based application settings, including typed defaults and validation.
- All tables now use numeric auto-increment identifiers while retaining natural or relationship keys as unique constraints.
### Changed
@@ -266,7 +279,6 @@ All notable changes to this project will be documented in this file.
- Replaced password strength presets with customizable length, category, and character requirements.
- Session expiration now uses the configured system setting, and user and role administration is grouped under the Settings area.
- Renamed the system settings permissions to the `system-settings.*` namespace and migrated existing role assignments.
- Added numeric auto-increment identifiers to every table and retained natural or relationship keys as unique constraints.
## 2.7.6 - 2026-08-15
@@ -564,7 +576,7 @@ All notable changes to this project will be documented in this file.
### Added
- Added branded Windows and Linux kiosk launcher downloads on the dashboard, with updated copy that explains the launcher behavior more clearly.
- Branded Windows and Linux kiosk launcher downloads on the dashboard, with updated copy that explains the launcher behavior more clearly.
- Kiosk launchers now start the browser in kiosk mode, suppress notifications for Chromium-based browsers, and use the correct Firefox kiosk flag.
@@ -862,13 +874,13 @@ All notable changes to this project will be documented in this file.
### Added
- Screen and dashboard player links now render the full player URL instead of only the player base host.
- Notes near the singleton-player code paths to make the future multi-player migration work easier to revisit.
### Changed
- The player registry now uses a singleton `d_players` row and `d_screens.player_id` points at that shared player record.
- Player startup is now responsible for creating the shared player record, while onboarding and state polling no longer create extra player rows.
- The screen/player binding path was simplified so opening a screen binds it to the shared player record without trying to re-register the player.
- Added notes near the singleton-player code paths to make the future multi-player migration work easier to revisit.
- Managed fonts now have dedicated editor/player sync handling, including a scheduled font sweep, sorted font-family lists, the TinyMCE fullscreen button, and shared font stylesheet loading in the WYSIWYG editor.
- Text and RSS region types now own their own default style and fallback behavior instead of relying on shared slide helper fallbacks.
- Image and video region handling was also pushed further into modular per-type modules, keeping their editor, preview, and player logic closer to the region itself instead of the shared slide helper layer.
@@ -1141,9 +1153,12 @@ All notable changes to this project will be documented in this file.
## 1.3.3 - 2026-07-21
### Added
- The first round of modular admin-page work, including a shared admin route layer and refreshed dashboard/list rendering.
### Changed
- Added the first round of modular admin-page work, including a shared admin route layer and refreshed dashboard/list rendering.
- Updated the admin shell styling and layout handling for the newer page structure.
- Adjusted package metadata and lockfile state to match the release.
@@ -1229,4 +1244,4 @@ All notable changes to this project will be documented in this file.
### Fixed
- Initial release.
- Initial release.