Organize changelog entries
This commit is contained in:
+63
-48
@@ -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 client’s 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user