Releases: zshall/program-guide
TVS 5.7.2-beta (1-15-2026)
Update Notes - 5.7.2 (2026-01-15)
🔧 Bug Fixes
- Fixed a longstanding issue where the Web Remote QR code doesn't display the Peer ID correctly.
- Fixed issue where the Web Remote QR code would display on localhost or 127.0.0.1, which can't be reached from other devices. The pairing code is still shown in these cases.
- Changed Web Remote pairing code to be alphanumeric to further prevent collisions.
TVS 5.7.1-beta (1-10-2026)
Update Notes - 5.7.1 (2026-01-10)
Television Simulator's 40th GitHub release!
🔧 Bug Fixes
- Added a 10-second cooldown when
backgroundAudiofails to load before retrying to prevent potentially thousands of requests in a short period of time if the audio source isn't available.
❗ Deprecation Notice
- Television Simulator 6.0.0 will replace the external listing feature of the program guide with a new system designed to work with the currently-in-development Television Simulator Studio companion server. The
guide.externalListingsoption will be removed in 6.0.0 and in its place will be a new API to sync guide data from an external source. More details will be provided closer to release. Thetitleanddescriptionoptions for channels will also be deprecated in favor of a newinfooption that will include more advanced functionality; more information will be provided later.
⚙️ Example Config File Changes
- Added TVS Update Channel (feed reader of the latest changelog updates) on channel 4.
- Changed the "no content" channel to channel 8.
TVS 5.7.0-beta (12-28-2025)
Update Notes - 5.7.0 (2025-12-28)
✨ New Features
-
Added new TV state messages to the IFrame API:
TVS.Volume,TVS.MutingandTVS.Power.
These messages inform IFrame applications about changes in volume, mute and power states, respectively. See the TVS IFrame API documentation for more details on how to use these new messages. -
Added
backgroundoption to the PiP layout that allows you to set a background color behind the PiP content. -
Added
aspectRatioBehavioroption to the Video engine that allows you to control how videos are displayed in their container. Options arecontain,coverandstretch. Default iscontain.
- number: 2
name: You're Watching Television Simulator
abbr: TVS
video:
src: placeholders/tvs-loop.mp4
aspectRatioBehavior: cover # Optional. The aspect ratio behavior of the video. Values are contain, cover, or stretch. Defaults to contain.TVS 5.6.0-beta (12-20-2025)
Update Notes - 5.6.0 (2025-12-20)
✨ New Features
- Added the beginnings of a new IFrame API that allows web applications embedded in an IFrame engine to access options defined in the TVS config file. See the TVS IFrame API documentation for more details on how to use this feature.
⚙️ Other Changes
- Added new placeholder video loop:
placeholders/tvs-loop.mp4, a seamless 4:3 loop of the TVS logo. - Updated the example config file to include the placeholder loop on channel 2. Channel 3 is the new
WELCOMEchannel.
TVS 5.5.0-beta (12-14-2025)
Update Notes - 12/14/2025 (5.5.0)
📢 Get the new Television Simulator Launcher over at its GitHub release page.
View the entire Changelog here!
✨ New Features
- Added a new
limitoption to the loop engine that allows for more advanced content selection capabilities.
Consider this example:
refs:
loop-1:
loop:
shuffle: random
limit: 1
content:
- image: placeholders/sequence/1.jpg
duration: 3
- image: placeholders/sequence/2.jpg
duration: 3
loop-2:
loop:
shuffle: random
limit: 2
content:
- image: placeholders/sequence/3.jpg
duration: 3
- image: placeholders/sequence/4.jpg
duration: 3
- image: placeholders/sequence/5.jpg
duration: 3
channels:
- number: 185
loop:
- ref: loop-1
- ref: loop-2We'll loop from loop-1 to loop-2 then back again, but each time we start up one of these, we'll choose only
one item from loop-1 and only two items from loop-2. The nested loops and shuffling makes it work!
🔧 Bug Fixes
- Fixed an issue where parents of nested loops (loops within loops) would advance to the next content after the default duration (30 seconds) instead of waiting for an inner loop to finish.
TVS 5.4.1-beta (11-23-2025)
Update Notes - 11/23/2025 (5.4.1)
📢 Get the new Television Simulator Launcher over at its GitHub release page.
View the entire Changelog here!
🔧 Bug Fixes
-
Picture static (noise) loads more efficiently by caching noise frames and reusing them, reducing CPU usage and improving animation smoothness.
We render at 60fps instead of as fast as possible. -
Fixed #103 where
noise: 0wasn't actually disabling noise.
For global noise,noise: 0will set the default noise to 0 per channel but can still be overridden per-channel,
whilenoise: falsewill globally disable noise no matter what. -
Basic Text engine now supports custom aspect ratios properly.
-
Video engine better supports custom aspect ratios as we removed a hard-coded reference to 4:3 aspect ratio.
TVS 5.4.0-beta (10-25-2025)
Update Notes - 10/25/2025 (5.4.0)
View the entire Changelog here!
✨ New Features
- Added Picture-In-Picture (PiP) layout. You can use it to overlay one piece of content on top of another in a smaller window. You can specify the position and size of the PiP window, including a border color and thickness.
- number: 132
name: PIP Layout
pip:
a:
image: placeholders/example-program.webp
b:
generator: test-pattern- number: 134
name: Lots of Layouts
pip:
borderColor: yellowgreen
borderSize: 8
bottom: 40
right: 20
a:
h-split:
gapSize: 8
gapColor: white
splitPercentage: 0.75
a:
v-split:
splitPercentage: 0.75
gapSize: 8
gapColor: white
a:
image: placeholders/example-ad.webp
b:
color: red
b:
color: yellow
b:
generator:
type: test-pattern
volume: false- Added configurable split percentages (0.0 -> 1.0) for HSplit and VSplit layouts.
🔧 Bug Fixes
- Custom aspect ratios are supported for Mix layout.
- Fixed a bug in calculating layer sizes regarding quoted numbers.
- Abstract backgrounds cover their available container size.
- Updated
web.configfor IIS deployments to set correct MIME types for WebP files.
⚙️ Other Changes
- Updated demo config file with examples of
animateChannelChangeandchangeChannelNoise.
TVS 5.3.1-beta (9-18-2025)
Update Notes - 9/18/2025 (5.3.1)
🔧 Bug Fixes
- Allowed
iframeto be used with custom aspect ratios. They'll now fill the screen properly instead of being forced to 4:3.
TVS 5.3.0-beta (9-14-2025)
Update Notes - 9/14/2025 (5.3.0)
✨ New Features
- Added startup video feature. You can now specify content to show when the TV is powered on before the regular channels are shown. This can be a video, image, or any other content type. You can specify a duration for how long to show it or have it display until you interact with the TV (by changing the channel). You can have it display whenever the page loads or whenever the power state is changed (pressing
Pon the keyboard).
startup:
content:
video: placeholders/hypercom-boot.mp4startup:
content:
color: blue
duration: 5
displayOnPageLoad: true
displayOnPowerOn: false🗜️ Optimizations
-
❗ Some placeholder images have been converted to
WebPformat to reduce file size. If you are updating an existing installation and you're using placeholder content, you need to either keep the oldGIFfiles or update your config file to use theWebPversions instead. Affected files are:example-ad.gif->example-ad.webpexample-program.gif->example-program.webp
-
Removed the full-size welcome video since it's quite large and wasn't ever used in the default config file.
-
Compressed all background images to further reduce file size.
⚙️ Other Changes
- Added documentation links in help, setup and about screens.
TVS 5.2.1-beta (9-7-2025)
Update Notes - 9/7/2025 (5.2.1)
🔧 Bug Fixes
- Fixed an issue where the YouTube player would not properly seek to the correct video index when resuming playback. #61
- Improved error handling for YouTube API requests.
Troubleshooting Improvements
- Pressing
alt + dwill now log the current channel properties to the console.