From 8d3b7d557bee831aaa38b6edef2704aebc4c0e09 Mon Sep 17 00:00:00 2001 From: Mark Rapson Date: Sat, 25 Jul 2026 02:27:06 +0100 Subject: [PATCH] Release v1.5.0 --- CHANGELOG.md | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 5 +- 2 files changed, 181 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..79d15e2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,178 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## Unreleased + +- No unreleased changes recorded yet. + +## 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`, and `src/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.js` focused on wiring and server startup. +- Kept `player.js` mostly 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.js` so 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. \ No newline at end of file diff --git a/package.json b/package.json index a139747..cd70c67 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "pulse-signage", - "version": "1.4.6", + "version": "1.5.0", "private": false, - "description": "Pulse Signage application with MySQL and media uploads", + "description": "Pulse Signage application with MySQL and media storage", "repository": { "type": "git", "url": "https://git.lzstealth.com/LZStealth/pulse-signage.git" @@ -19,6 +19,7 @@ "bootstrap-icons": "1.11.3", "dotenv": "^17.4.2", "express": "^4.21.2", + "hls.js": "^1.5.15", "handlebars": "^4.7.8", "multer": "^1.4.5-lts.1", "mysql2": "^3.14.3",