Skip to content

Releases: zshall/program-guide

TVS 5.7.2-beta (1-15-2026)

15 Jan 05:31
9119814

Choose a tag to compare

Update Notes - 5.7.2 (2026-01-15)

image

🔧 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)

11 Jan 01:31
9119814

Choose a tag to compare

Update Notes - 5.7.1 (2026-01-10)

Television Simulator's 40th GitHub release!

🔧 Bug Fixes

  • Added a 10-second cooldown when backgroundAudio fails 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.externalListings option 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. The title and description options for channels will also be deprecated in favor of a new info option 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)

28 Dec 20:20
9119814

Choose a tag to compare

Update Notes - 5.7.0 (2025-12-28)

image

✨ New Features

  • Added new TV state messages to the IFrame API: TVS.Volume, TVS.Muting and TVS.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 background option to the PiP layout that allows you to set a background color behind the PiP content.

  • Added aspectRatioBehavior option to the Video engine that allows you to control how videos are displayed in their container. Options are contain, cover and stretch. Default is contain.

- 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)

21 Dec 03:21
872d619

Choose a tag to compare

Update Notes - 5.6.0 (2025-12-20)

new loop placeholder image

Full Changelog

✨ 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 WELCOME channel.

TVS 5.5.0-beta (12-14-2025)

15 Dec 02:55
872d619

Choose a tag to compare

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 limit option 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-2

We'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)

24 Nov 04:36
84f4db3

Choose a tag to compare

Update Notes - 11/23/2025 (5.4.1)

image

📢 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: 0 wasn't actually disabling noise.
    For global noise, noise: 0 will set the default noise to 0 per channel but can still be overridden per-channel,
    while noise: false will 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)

25 Oct 21:36
84f4db3

Choose a tag to compare

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.config for IIS deployments to set correct MIME types for WebP files.

⚙️ Other Changes

  • Updated demo config file with examples of animateChannelChange and changeChannelNoise.

TVS 5.3.1-beta (9-18-2025)

18 Sep 23:30
84f4db3

Choose a tag to compare

Update Notes - 9/18/2025 (5.3.1)

🔧 Bug Fixes

  • Allowed iframe to 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)

14 Sep 17:06
84f4db3

Choose a tag to compare

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 P on the keyboard).
startup:
  content:
    video: placeholders/hypercom-boot.mp4
startup:
  content:
    color: blue
  duration: 5
  displayOnPageLoad: true
  displayOnPowerOn: false

🗜️ Optimizations

  • ❗ Some placeholder images have been converted to WebP format to reduce file size. If you are updating an existing installation and you're using placeholder content, you need to either keep the old GIF files or update your config file to use the WebP versions instead. Affected files are:

    • example-ad.gif -> example-ad.webp
    • example-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)

07 Sep 15:21
84f4db3

Choose a tag to compare

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 + d will now log the current channel properties to the console.