Table of Contents

OnAirScreen 0.9.8 — Release Notes

Release date: July 2026
Previous baseline: 0.9.6 (beta)


A Major Milestone Release

OnAirScreen 0.9.8 is not just another incremental update — it is the largest release in the project's history. What started as a focused on-air display tool has evolved into a fully connected, remotely controllable broadcast companion with a modern web interface, smart home integration, and a dramatically more robust codebase under the hood.

Since version 0.9.6, hundreds of commits have landed across remote control, automation, studio workflow, security, and code quality. Whether you run OnAirScreen on a studio PC, a Raspberry Pi, or headless in the rack — this release brings features that studios have been asking for, fixes long-standing annoyances, and lays a solid foundation for everything that comes next.

If you have been waiting for the right moment to upgrade: this is it.


Highlights at a Glance

Area What's new
Web-UI Full browser-based remote control with real-time WebSocket updates
Smart Home MQTT integration with Home Assistant Autodiscovery
Studio Workflow Top-of-Hour countdown, configuration presets, event logging
Warnings Priority-based warning system with NTP support
API TOGGLE commands, REST endpoints, expanded status JSON
Quality 580+ unit tests, unified error handling, security hardening
Docs Complete English and German user manuals

New Features

Web-Based Remote Control

The headline feature of this release cycle is a complete Web-UI accessible from any browser on your network:

WebSocket support replaces HTTP polling for status updates — changes appear on screen instantly, with no refresh lag.

Dark Mode is fully supported: toggle via button, preference is saved automatically, and the theme is applied immediately on page load (no flash of light mode).

The Web-UI layout has been redesigned for clarity and compactness: status rows for LEDs and AIR timers, side-by-side NOW/NEXT fields, and timer labels (Mic, Phone, etc.) shown directly on control buttons.


MQTT & Home Assistant Integration

OnAirScreen now speaks MQTT — perfect for studios that already run Home Assistant or any MQTT broker:

MQTT settings (server, port, credentials, device name) are configurable in the settings dialog. The base topic is auto-generated from onairscreen plus a unique device ID derived from the MAC address.


Top-of-Hour Countdown (AIR3)

A studio-focused feature for radio workflows: a wall-clock synchronized countdown to the next full hour, displayed on the Radio Timer (AIR3) in M:SS format.

Control options:

Method Command / Action
Hotkey T Toggle countdown
UDP / HTTP AIR3TOH:ON, AIR3TOH:OFF, AIR3TOH:TOGGLE
Web-UI "Top of Hour" button at AIR3
MQTT Publish to {base_topic}/air3/toh
Home Assistant "AIR3 Top of Hour" button (autodiscovery)

Warning Priority System

Warnings are no longer a single flat message. The new priority system supports four levels:

Priority Type Behaviour
-1 NTP Shown in blue; hidden when higher-priority warnings exist
0 Normal Standard warning
1 Medium Higher visibility
2 High Highest priority

Configuration Presets

Save and restore complete OnAirScreen configurations as JSON preset files:


Event Logging

A new event logging system tracks everything that happens in your session:

Configurable log levels: DEBUG, INFO, WARNING, ERROR, CRITICAL, NONE — set in General settings or override temporarily via --loglevel on the command line.


API Enhancements


User Experience Improvements


Bug Fixes

Issue Fix
Text clock in 24h mode showed 24-hour numbers (e.g. "12 minutes to 16") Text clock now always uses spoken 12-hour form (e.g. "12 minutes to 4")
Web-UI template not found in PyInstaller builds Correct template path resolution for packaged builds
LED toggle status not updating in Web-UI Status now refreshes correctly after LED toggles
Autoflash LED blinking broken in Web-UI Autoflash behaviour restored in browser control
Digital clock second LEDs lagged at second rollover Repaint aligned to wall-clock second boundaries
Weather widget made API calls when disabled or without API key API calls suppressed when widget is off or unconfigured
Crash when UDP/HTTP ports were left empty Graceful handling of empty port configuration
IP addresses not shown correctly at startup Fixed IP display on launch
HTTP command URL decoding Correct decoding of URL-encoded command parameters
PyQt6 compatibility issues Compatibility fixes across the application
MQTT client restart logic Improved reconnect and autodiscovery re-publishing
get_default() font constants Correct default font values after refactoring

Under the Hood

This release includes a major internal refactoring that does not change how OnAirScreen looks on air, but makes it far more maintainable and testable:


Upgrade Notes


Thank You

OnAirScreen 0.9.8 represents years of feature requests, bug reports, and real-world studio feedback distilled into one release. A special thanks to everyone who tested beta builds, reported issues, and helped shape this version.

Happy broadcasting!

— Sascha Ludwig / astrastudio.de


OnAirScreen is open source. Support the project via PayPal, Buy Me a Coffee, or Ko-fi.