Skip to content

Releases: JosephMaynard/playoverlay

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 19:52
Immutable release. Only release title and notes can be modified.
v0.20.0
7d3a947

A foundation and operator quality-of-life release, focused on making a live match safer and easier to run.

Highlights

  • Undo and redo. Reverse and replay live match actions with Ctrl/Cmd+Z and Ctrl/Cmd+Shift+Z, or the buttons in the control rail. It is careful with the clock: undoing a goal reverts only the score and leaves the running clock alone, while undoing a phase change correctly restores both the phase and its clock.
  • Go live check. A one-click checklist to run before kickoff: display connected and on a separate screen, output window ready, OBS browser source and phone remote actually running if enabled, missing team logos or graphics, keyboard shortcut conflicts, low disk space, and any unresolved crash-recovery snapshot. It only looks, it never changes anything.
  • Diagnostics export. A one-click support bundle in System Settings with app and system info, sanitized settings, recent logs, and recent actions. Safe to share and it contains no passwords, so it is easy to attach when reporting a problem.

Also in this release

  • Persistent logging, so a problem can be diagnosed after the fact instead of vanishing to a console no one sees.
  • The on-screen goal button now behaves like the keyboard, Stream Deck, and phone paths: clearer undo labels and no risk of clobbering a goal added from another device.
  • Refreshed documentation screenshots for the current interface.

Notes

  • The binaries are not code-signed or notarized (signing certificates cost money and this is a free project), so your operating system will warn you the first time you run each one. It only comes up once. See the notes below for the one-time steps per platform.
  • The interface and on-air graphics ship in eight languages. The translations are machine-generated, so if you spot a wording issue please open an issue.

Downloads

Platform File
Windows PlayOverlay-...Setup.exe
macOS (Apple Silicon) PlayOverlay-darwin-arm64-....zip
macOS (Intel) PlayOverlay-darwin-x64-....zip
Linux (Debian/Ubuntu) playoverlay_..._amd64.deb
Linux (Fedora/RHEL) playoverlay-...x86_64.rpm

Windows: SmartScreen may show "Windows protected your PC". Click More info, then Run anyway.

macOS: after unzipping, move PlayOverlay.app to Applications, then right-click it and choose Open and confirm once. If macOS still reports the app is damaged, remove the quarantine attribute it added on download and open it again: xattr -cr /Applications/PlayOverlay.app.

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 16:38
Immutable release. Only release title and notes can be modified.
v0.19.0
60d5a97

What's Changed

  • Relicense under MIT with separate trademark terms by @JosephMaynard in #22
  • Clarify README languages section, add Linux downloads by @JosephMaynard in #21
  • v0.19.0: LAN phone remote, reliability, data-integrity, accessibility, licence notices by @JosephMaynard in #23

Full Changelog: v0.18.0...v0.19.0

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 08:34
Immutable release. Only release title and notes can be modified.
eb88c57

PlayOverlay now speaks eight languages. The interface and the on-air graphics can both be shown in French, German, Italian, Spanish, and Portuguese, alongside English.

Languages

  • Eight languages: English, French, German, Italian, Spanish (Spain and Latin America), and Portuguese (Portugal and Brazil). The regional variants use the right wording for each region, including the football terms.
  • Pick a language on first launch. PlayOverlay suggests one based on your system, and you can change it any time under System Settings > Language. Your choice applies to both the operator dashboard and the on-air graphics, so a French match can go out with French phase names and labels.
  • Team names, abbreviations, and venues are always shown exactly as you type them.

The translations are machine-generated and have not been checked by native speakers, so some wording may read a little off, especially the on-air football terms. If you spot a mistake, please open an issue and it will get fixed.

Tidier settings

The settings menus were reorganised. Language, Scoreboard Clock, OBS Browser Source, and Keyboard Shortcuts now live in System Settings, each in its own collapsible panel. Window Settings keeps the key colour and the window controls. Nothing changed about how any of it works.

Install notes

Binaries are unsigned. On first launch:

  • Windows: if SmartScreen appears, click More info, then Run anyway.

  • macOS: unzip, move PlayOverlay.app to Applications, then if it is reported as damaged or unidentified run once in Terminal:

    xattr -cr /Applications/PlayOverlay.app
    
  • Linux: install the .deb with sudo apt install ./playoverlay*.deb or the .rpm with sudo dnf install ./playoverlay*.rpm.

Prefer building from source? See the README.

Privacy

No telemetry or crash reporting. The only network request is the update check against the public GitHub API.

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 17:32
Immutable release. Only release title and notes can be modified.
978e50b

New ways to use PlayOverlay across multiple outputs, plus reliability and platform work. Now with Linux builds.

Highlights

  • Pinned browser-source views. One running app can now feed different screens to different places at the same time. Add ?screen=scoreboard (or any built-in screen) to the OBS browser-source URL to pin that page, so OBS can show the score bug while a venue TV shows the spectator scoreboard, both from the same app. Window Settings has a ready-made copyable scoreboard URL.
  • Stream Deck pagination. The deck now pages through every match phase and every screen instead of stopping at five, so the scoreboard screen and generic-mode periods are all reachable. The page selection also stays safe if you change match settings while paged.
  • Kick-off countdown. Set a kick-off time and the match title screen shows a live "Starts in M:SS" countdown before the match.
  • Better crash recovery. The restore-previous-match snapshot now remembers the match settings it was taken with, so the clock and phases come back correct even if you had changed settings since.

Platforms

  • Linux builds are now published: .deb (Debian/Ubuntu) and .rpm (Fedora/RHEL) alongside Windows and macOS.

Under the hood

  • The match clock was reworked for robustness, stricter type checks were turned on across the codebase to catch bugs earlier, and the app moved to Vite 7. None of this changes how the app behaves, but it makes future releases safer.

Install notes

Binaries are unsigned. On first launch:

  • Windows: if SmartScreen appears, click More info, then Run anyway.

  • macOS: unzip, move PlayOverlay.app to Applications, then if it is reported as damaged or unidentified run once in Terminal:

    xattr -cr /Applications/PlayOverlay.app
    
  • Linux: install the .deb with sudo apt install ./PlayOverlay*.deb or the .rpm with sudo dnf install ./PlayOverlay*.rpm.

Prefer building from source? See the README.

Privacy

No telemetry or crash reporting. The only network request is the update check against the public GitHub API.

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 13:25
Immutable release. Only release title and notes can be modified.
96bc17e

A new spectator scoreboard plus a large batch of reliability fixes from a deep review of the whole codebase.

New: spectator scoreboard

Some venues use PlayOverlay to show the score directly to spectators on a big screen. The new Scoreboard screen fills the whole display with no key colour visible: both teams in their club colours with logos and scores, a labelled TIME clock showing the time of day (24-hour or AM/PM, configurable under Window Settings), and a labelled MATCH clock. It scales to any resolution and is designed for 16:9 but flexes to other shapes.

Tip for scoreboard-only venues: turn off "Auto switch screens" so starting a half does not switch the display to the score bug.

Reliability fixes

  • Upgrading from 0.14 with an old encrypted config no longer crash-loops the app; the unreadable config is set aside and the app starts cleanly.
  • The match clock now survives laptop sleep and system clock corrections without leaping or going negative.
  • Keyboard shortcuts now respect the "Auto switch screens" toggle (they previously used a stale value).
  • The restore-previous-match prompt can no longer roll back a live match after play has started, and no longer hides behind the update notification.
  • The "Restore Saved Match Settings" dialog can now be cancelled, and restoring a save fully replaces the current settings instead of part-merging them.
  • Buttons respond to normal clicks and keyboard activation, and no longer trigger on right-click.
  • Typing in the timer settings can no longer stop a running clock mid-keystroke; values commit when you finish editing.
  • The score bug no longer clips double-digit scores or stoppage-time chips.
  • Match Title and End Screen no longer flash on screen when the display or an OBS browser source first loads.
  • The OBS browser source now exchanges heartbeats, so idle connections stay healthy and dead ones reconnect within seconds.
  • The display window recreates itself if closed accidentally during a stream.
  • Settings storage is validated and written far less often during matches, and corrupt settings degrade gracefully instead of crashing shortcut registration.

Housekeeping

  • Update checks understand pre-release tags.
  • Security hardening around file deletion, URL opening, and the local browser-source server.
  • Dependency and CI updates.

Install notes

Binaries are unsigned; see the v0.15.0 notes or the README for the one-time Windows SmartScreen and macOS quarantine steps.

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 12:57
Immutable release. Only release title and notes can be modified.
d5cfac7

The first public release of PlayOverlay: a free desktop app for adding live score and match clock graphics to sports streams. Built for community football, now open to everyone, and free to use for anything, including commercial streaming work.

Highlights

  • OBS browser source output. Skip the second display and chroma key entirely: enable the local server in Window Settings and add http://127.0.0.1:4750/ as an OBS Browser Source. The graphics render on a transparent background and update live. Off by default, localhost only.
  • Team logos on the score bug. Upload a logo per team in Match Settings and it appears beside the team name, in the app and in the browser source.
  • Generic timer mode. Not playing halves? Switch the timer to a configurable number of named periods (for example 4 x 12 minute quarters) for other sports.
  • Match options. Extra time and the penalty shootout tracker can now be toggled off per match, and a kick-off time can be shown on the match title screen.
  • Rebindable keyboard shortcuts. Change the next phase and goal shortcuts in Window Settings. Defaults are unchanged, and each shortcut also gets a system-wide variant with Alt added so it works while OBS is focused.

Reliability

  • The match clock is now driven by the system clock, so it cannot drift over a half.
  • Crash recovery: score, clock, and match state are saved continuously. If the app closes mid-match, you are offered a restore on relaunch, with the clock paused.
  • Keyboard shortcuts are fully disabled while typing in a text field, and a stray next phase press after full time no longer resets the match.
  • Stream Deck connection failures are handled cleanly instead of crashing when no deck is plugged in.

Install notes

These binaries are not code-signed or notarized, so your OS will warn you on first launch:

  • Windows (playoverlay-...Setup.exe): if SmartScreen appears, click More info, then Run anyway.

  • macOS (playoverlay-darwin-arm64 for Apple Silicon, playoverlay-darwin-x64 for Intel): unzip, move PlayOverlay.app to Applications, then if macOS reports the app is damaged or unidentified, run once in Terminal:

    xattr -cr /Applications/PlayOverlay.app
    

Prefer not to trust an unsigned binary? Building from source takes a few minutes; see the README.

Privacy

PlayOverlay contains no telemetry or crash reporting. The only network request is an update check against the public GitHub API, which downloads nothing automatically.

Licence

Free to use, modify, and redistribute, including commercially. You may not sell the software itself or rebrand it. See LICENSE for the exact terms.