v4.9.5 - 2026-05-25
Added
- Added channel logo to be displayed in "Current Program" information area.
- Added channel logo support to the
/api/current_programresponse.- The endpoint now returns a top-level
logofield for the requested channel. - If a channel has no logo, the endpoint returns an empty string instead of omitting the field.
- Added regression coverage in
tests/test_current_program_logo.pyto ensure the logo field is present without breaking existing program metadata.
- The endpoint now returns a top-level
- Added ability to hide channels per user.
- Users can right-click any channel name in the guide grid to access a context menu with Hide Channel / Unhide Channel options; hidden channels are persisted server-side per user account.
- Added Show/Hide Hidden Channels toggle to the Guide Preferences submenu in the Settings menu (desktop and mobile) so users can reveal or re-hide all their hidden channels with one click.
- Admins can now view a summary of hidden channels per user and set hidden channels directly from the Manage Users preferences panel using a multi-select channel picker — selecting channels marks them as hidden, deselecting all clears the list.
- Added IPTV Backends wiki page (
docs/wiki/IPTV-Backends.md) listing compatible IPTV server software that provides HLS segmenter streams (#189).- Documents Tunarr, dizqueTV, Channels DVR, TVHeadend, Jellyfin, Plex, and Emby as ErsatzTV alternatives.
- Includes an FFmpeg direct-segmenter example for advanced users.
- Includes guidance on using the built-in stream detector to verify backend compatibility.
- Updated
README.mdanddocs/wiki/FAQ.mdto reference the new page and broaden ErsatzTV-specific language.
Removed
- Removed Sizzle Reels feature (hover-to-preview channel stream). The
sizzle_reels_enabledpreference key has been retired; any stored values are silently ignored going forward.
Fixed
- Fixed virtual channel standalone pages not fitting the viewport on mobile devices.
- Updated
weather.html,news.html,status.html,traffic.html,nasa.html, andon_this_day.htmlto useheight: 100vh(instead ofmin-height: 100vh) so the page fills the screen without overflow. - Added
calc(100vh * 16 / 9)as an additional constraint to each channel frame'swidth: min(...)so the 16:9 frame stays fully visible and correctly proportioned on landscape mobile screens. This brings these pages in line withsports.htmlandupdates.html.
- Updated
- Improved mobile layout of the Virtual Channels admin page (
/virtual_channels):- Channel list items now wrap gracefully on narrow screens instead of overflowing.
- Channel names allow wrapping on very small viewports.
- Per-channel preferences fields stack vertically at ≤ 700 px.
- Traffic demo city table gains horizontal scrolling so all columns remain accessible on narrow screens.
- Audio file list items stack vertically on mobile so filenames and audio controls are readable.
- Drag handles in the Channel Order list are larger for easier touch interaction.
- Page title font size is reduced slightly on narrow screens to prevent overflow.