11 KiB
11 KiB
Changelog
All notable changes to this project will be documented in this file.
2.0.0 - 2026-07-28
Breaking Changes
- Breaking database schema changes were introduced in this release; existing databases may require migration or recreation before upgrading.
Added
- Broader player and admin release coverage across onboarding, playlist playback, background task handling, and media-region support.
Changed
- The database bootstrap and migration flow were reorganized, with shared DB helpers split out to support the newer schema layout.
- Admin and signage views were updated around the newer list, playlist, and RBAC behavior, including playlist scheduling and screen/client actions.
- Player runtime, onboarding, and region rendering were tightened so HTML, image, RSS, RTMP, text, video, and webpage regions follow the newer playback flow.
- Background task, upload sync, and data-source refresh handling were refined across the web app and startup paths.
- Docker, environment, README, and websocket/api documentation were refreshed to match the current release structure.
Fixed
- Client name checks, playlist editing, and slide/media synchronization paths were adjusted to better preserve existing references during admin and player updates.
1.5.16 - 2026-07-26
Added
- Background task handling was split into dedicated handler and scheduling modules, with startup data-source refreshes and unused-upload cleanup wired through the shared setup flow.
Changed
- The admin shell, shared theme, and toast presentation were refreshed to match the newer layout and notification styling.
- Playlist scheduling now handles video-duration toggles and already-assigned slides more clearly in the picker and editor UI.
- RBAC and settings views were updated to align with the revised admin layout and shared table behavior.
Fixed
- Template and slide thumbnail refreshes now run through the background task queue so template-wide thumbnail regeneration stays consistent.
1.5.15 - 2026-07-26
Changed
- Player slide transitions now start and pause video playback around the fade window so video regions stay aligned with the slide boundary.
- Dashboard action cards now use a three-column grid on wider layouts.
Fixed
- Slide video duration probes now preserve sub-second precision instead of rounding to whole seconds.
1.5.14 - 2026-07-26
Fixed
- Dashboard client action icons now render valid Bootstrap Icon classes without duplicating the
bi-prefix.
1.5.13 - 2026-07-26
Added
- Shared table helpers for pagination, search, and sorting across the admin and signage views.
Changed
- Refreshed the shared admin shell and moved common UI behavior into shared layout and helper modules.
- Reworked dashboard, background tasks, RBAC, and signage list pages to use the newer shared table and state flow.
- Updated the admin and player branding assets and tightened the page scripts around the new layout structure.
1.5.12 - 2026-07-26
Changed
- Shared web UI helpers are now loaded once in the admin shell and reused across the dashboard, admin, and template editor.
- Template lists now show slide counts, and the template editor tracks which regions are already in use.
Fixed
- Template editing now blocks removal of regions that are still referenced by slides.
1.5.11 - 2026-07-26
Added
- Video regions are now supported end to end, including player rendering, admin editing, playlist scheduling, and player sync.
Changed
- The slide, template, and playlist flows were updated so video content can be created, configured, and scheduled alongside existing region types.
- Player rendering and related media handling now recognize the new video region implementation.
Fixed
- Region and upload handling were adjusted so video media syncs cleanly through the player and web admin paths.
1.5.10 - 2026-07-26
Added
- Scheduled background tasks now have their own settings page, separate permission gate, and manual run action alongside the main queue view.
- The slide editor now includes a refreshed preview/sidebar layout and a cropper-based image upload flow.
Changed
- Background task and admin list views now use richer pagination and filtering so queue state, task sources, and recurring jobs stay easier to navigate.
- The admin shell and shared styling were refreshed to support the updated settings pages, slide editor layout, and task table presentation.
Fixed
- Upload sync and slide thumbnail refresh handling were tightened so slide changes queue follow-up work more reliably.
1.5.9 - 2026-07-26
Fixed
- User creation now keeps the role checkboxes inside the add-user form so selected roles are submitted correctly.
1.5.8 - 2026-07-25
Fixed
- Upload removal requests now authenticate correctly when a deployed player parses a bodyless
DELETErequest as an empty object, which could cause 401s for newly uploaded images.
1.5.6 - 2026-07-25
Changed
- Playlist slide picker now uses a button to reveal already added slides, while still defaulting to showing only available slides.
- Already-added slides in the picker are now labeled and visually muted to make them easier to spot.
Fixed
- Thumbnails in slide and playlist tables now follow the slide canvas ratio and cap at 5.5rem tall.
- Thumbnail-only table columns are no longer sortable.
1.5.5 - 2026-07-25
Fixed
- Fixed a migration gap that could leave
slides.thumbnail_pathmissing on upgraded databases.
1.5.4 - 2026-07-25
Added
- Cropper.js has been added to aid with image uploading.
Changed
- Upgraded Multer to 2.x to remove the deprecated 1.x dependency warning.
- Tightened a few admin UI details, including slide editor and RBAC list spacing/typography adjustments.
1.5.3 - 2026-07-25
Added
- A modal-based slide picker for playlist editing with search, multi-select, and slide thumbnails.
- Reusable modal and table-pagination helpers for the admin UI.
- Slide thumbnail previews in playlist schedules, with image fallbacks when a thumbnail is missing.
Changed
- RTMP playback now probes session readiness more aggressively and retries startup before surfacing failures.
- Playlist editing now includes richer scheduling controls, live slide counts, and support for skipping unavailable RTMP slides.
- Admin lists and background task pages now preserve filter and pagination state during AJAX navigation.
- Shared admin shell styling and helpers were refreshed to support the newer list, modal, and pagination UI.
Fixed
- Player upload sync and route handling now degrade more gracefully when backend services are unavailable.
- RTMP and playlist playback now recover more cleanly when a stream fails to initialize or respond in time.
1.5.2 - 2026-07-25
Fixed
- Fixed player media upload sync so signed upload requests are verified after the request body has been parsed.
1.5.1 - 2026-07-25
Fixed
- Fixed the account page so it can save changes again.
1.5.0 - 2026-07-25
Added
- RTMP slide regions with ffmpeg-to-HLS playback support in the player.
- Service-worker-backed player caching and offline recovery paths for playlists and playback state.
- Broader slide, template, playlist, RSS, and API source support, including richer region handling and background refresh processing.
Changed
- Reworked the web admin app around a newer modular route and view layout, with shared helpers moving into
src/web/lib,src/web/pages, andsrc/web/views. - Refreshed the admin shell styling and theme bootstrapping, including local AdminLTE assets, vendored Bootstrap Icons, and earlier theme initialization on first paint.
- Rebuilt RBAC around CRUD permissions and updated the admin screens for roles, users, and action gating.
- Refactored the player onboarding flow, client-name handling, and runtime storage so screen identities persist more reliably across refreshes.
- Tightened duplicate-name checks and other admin-side validation paths.
Fixed
- Improved player fallback behavior when the database is unavailable.
- Cleaned up player runtime and routing paths so screen lookups and live updates degrade more gracefully.
Docs and Ops
- Updated Docker, environment, and documentation files to match the current release structure and player/web APIs.
1.4.6 - 2026-07-22
Changed
- Refined RBAC enforcement across the admin UI and route layer, especially for list actions and edit screens.
- Updated the dashboard and admin styling to match the revised permission model and page layout.
- Adjusted database helpers and admin data views to support the newer RBAC and list rendering behavior.
1.4.5 - 2026-07-21
Changed
- Renamed the admin screen commands route to client commands and aligned the dashboard copy with client-focused terminology.
- Updated the RBAC and database helpers to support the revised client command flow.
- Refined the client list view and dashboard interactions around the new client command behavior.
1.4.4 - 2026-07-21
Fixed
- Rendered 404 pages for unmatched routes.
1.4.3 - 2026-07-21
Fixed
- Fixed RBAC client action visibility.
1.4.2 - 2026-07-21
Fixed
- Fixed duplicate permissions cleanup.
1.4.1 - 2026-07-21
Added
- RBAC roles system support.
Changed
- Version bump to 1.4.1.
Fixed
- Schema migration audit columns.
1.3.4 - 2026-07-21
Fixed
- Fixed duplicate onboarding client names.
1.3.3 - 2026-07-21
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.
1.3.2 - 2026-07-21
Changed
- Version bump to 1.3.2.
1.3.0 - 2026-07-20
Added
- Split shared helpers, bootstrap logic, route groups, and upload-sync behavior out of
web.js. - Split websocket and runtime handling into
runtime.js. - Split playlist assembly and revision hashing into
playlist.js. - Split onboarding and player HTTP routes into dedicated modules.
- Split render utilities and template loading into
render-helpers.js.
Changed
- Kept
web.jsfocused on wiring and server startup. - Kept
player.jsmostly as startup and orchestration.
Fixed
- Fixed screen playlist reassignment so changing a screen's playlist now triggers a refresh.
- Fixed single-slide playlist refresh behavior so updates do not get stuck behind the current slide.
1.1.5 - 2026-07-15
Fixed
- Fixed text pasting in the admin UI.
1.1.4 - 2026-07-15
Fixed
- Fixed the admin table and playlist reorder UI.
1.1.3 - 2026-07-15
Added
- Playlist drag sorting.
- Local SortableJS.
- Playlist UI updates.
1.1.2 - 2026-07-14
Changed
- Updated the admin layout and frame shell styling.
- Refined
src/web/view.jsso view rendering handles the revised shell structure. - Adjusted package metadata for the release.
1.1.1 - 2026-07-14
Changed
- Refreshed favicon and layout assets.
1.1.0 - 2026-07-14
Changed
- Refactored the web server and release workflow.
1.0.2 - 2026-07-14
Fixed
- Handled player redirects on screen slug change.
1.0.1 - 2026-07-14
Changed
- Made screen slugs editable.
1.0.0 - 2026-07-14
Fixed
- Initial release.