All notable changes to Stage Timer Pro are documented here.
The format follows Keep a Changelog, and this project adheres to Semantic Versioning.
-
Video software integration. The panel offered capture presets for 1920×1080, 1280×720 and 1024×768, plus guidance for OBS and Resolume. It never worked reliably, and a feature that half-works in a live show is worse than one that was never offered — the operator plans around a promise the app cannot keep.
Gone with it: the
set_stage_for_captureandreset_stage_windowcommands in the Rust shell, and every documentation claim about NDI, DirectShow, virtual cameras and chromakey that the application never actually implemented.Capturing the stage window in OBS still works — it is an ordinary window, like any other. It just no longer pretends to be a feature.
- The stage display is now black by default, and the state colour paints the countdown instead of the background. A full-screen wash of saturated green or red on a 65" panel a metre from the speaker's face is punishing to look at for forty minutes. The colour still carries the same information — it just stops being a floodlight. The previous behaviour is one checkbox away: turn off Fondo negro in the branding panel.
- Cue messages follow the same rule, so the timer and the message always read as one surface.
- A state colour too dark to survive on black — the grey used when the timer is stopped, or a dark brand colour — now falls back to white. Legibility wins over palette fidelity: a countdown nobody can read from the back of the room is worse than one without colour.
website/, an unfinished React landing page for the product. It was never part of the application build. Recoverable from git history.
- MIT license. The app is now free and open source for the live event
community. It previously shipped an end-user license agreement that
reserved all rights, which contradicted the
MITdeclared in the crate manifest.
- On-screen messages: an expiring message no longer clears a newer one. The timeout that hid a message after its TTL was never cancelled, so sending a short message after a long one — or a message marked as persistent — could see it wiped from the stage display without the operator touching anything.
- Version aligned across
package.json,tauri.conf.jsonandCargo.toml, which previously declared1.0.3,1.0.3and0.1.0. - Build dependencies updated: 9 of 11 reported advisories resolved. The two remaining affect only the Vite development server and never reach a packaged build.
- Repository cleaned up: 15 internal working notes and empty placeholder
documents removed, and the user documentation consolidated under
docs/.
- Global hotkeys conflicted with the Windows keyboard layout switcher.
They are now dedicated function keys:
F9start/pause,F10reset,F11toggle the stage display full screen. - Pressing space while typing a message no longer starts or pauses the timer. Hotkeys are suppressed whenever the focus is in an input, a textarea, or any editable element.
- A shortcut that fails to register no longer prevents the app from starting. It is reported and the app continues.
- NSIS installer (
.exe) alongside the existing MSI for Windows. unregister_all_shortcutscommand, with cleanup when the window closes.
Note. The
v1.0.3release published on 2025-08-11 carried1.0.2binaries: the tag was pushed but the code above was never committed. The corrected build ships inv1.0.4.
First public release with Windows and macOS installers.