Releases: lucas-romanenko/webatem
Release list
v0.5.2
- The launcher window waits for your interface choice at every launch: it opens on Not running, you pick the interface, the server starts on it. A remembered interface is never applied on its own (0.5.1 still did that when the interface existed). Port, Start minimized and Run at login are remembered.
v0.5.1
Fixes from the first run of 0.5.0 on a Mac:
- Start minimized, Run at login and Quit work again from the launcher window (0.5.0 had lost the CSRF cookie; every change from the window failed as "network error").
- No server until you choose: the first time, and whenever the saved interface is not one of this machine's addresses today (a VPN that is off), nothing listens and the window says so. Pick an interface and the server starts on it. The old silent switch to all interfaces is gone.
- The window appears quickly: it is one process for the life of the app (Show and Hide no longer start a new one), and the macOS app is a normal bundle instead of a self-unpacking executable.
- A failed change reports its HTTP status instead of a generic network error.
v0.5.0
Three Companion-parity changes to the desktop launcher:
- The launcher window is its own panel: no title bar, no minimise or close buttons. Show and hide it from the menu bar / tray icon or its own Hide button; drag it by its body.
- The menu-bar icon is the WebATEM mark in colour (program red over preview green), not a tinted silhouette.
- The connect page no longer has a settings gear. Interface, port, start minimized and run at login live in the launcher window.
Hosting platforms: the server_settings_enabled hook is gone; an override of it is simply unused.
v0.4.2
Two template notes were text on the page
Django's {# #} comment is single-line; a {# whose #} lands on the next line
is emitted as text. The connect page's switcher-list note and the control
page's control_extra note both did that since 0.4.0 — a sentence of
developer prose under the page for everyone, hosts included. Both are
{% comment %} blocks now, and a test scans every template so the third
cannot ship.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
v0.4.1
The socket gate runs off the event loop A host's can_use reads its role tables; the consumer called it straight from async connect(), and Django refuses ORM access there — the first real host closed every socket with SynchronousOnlyOperation. sync_to_async, like every other hook the consumer calls; the test's fake host now touches the database so this cannot come back. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
WebATEM 0.4.0
The control app can now be hosted by another Django project.
atem_control.hooks: everything the app needs from its surroundings — who may open the page and drive the switcher, where operator actions and connections are recorded, what a switcher is called, the switcher list, HyperDeck names, sightings, where a dropped still goes, the clock — goes through oneHooksclass.settings.WEBATEM_HOOKSnames a host's subclass; unset, the defaults are standalone WebATEM. See the README's "Hosting the control app" section.- The app's Django label is
webatem_atemnow, with a fresh migration history; an existing 0.3 data directory's connection log is carried across on first start. - Installing as a library: framework requirements are ranges; the tray and window libraries are the
desktopextra. The launcher ispipx install "webatem[desktop]"; plainwebatemis the headless server. The downloads and the Docker image are unchanged.
Downloads: macOS (Apple silicon / Intel) .dmg, Windows .exe, Linux binary below. Docker: ghcr.io/lucas-romanenko/webatem:0.4.0. Python: pipx install "webatem[desktop]==0.4.0".
macOS shows "Apple could not verify…" for an unsigned app: System Settings → Privacy & Security → Open Anyway.
WebATEM 0.3.0
The brand. webATEM has its identity now — a control panel in miniature for a mark, the webATEM wordmark, and a palette where the state colours carry the brand.
- New icon everywhere: the app icon on macOS (on Apple's grid), Windows and Linux, the favicon, the home-screen icon, and a proper menu-bar template image that macOS tints for light and dark bars.
- The look: ink, surface and raised greys; PROGRAM red and PREVIEW green as the only coloured fills; Archivo for the interface, IBM Plex Mono for anything a machine reported — addresses, ports, source buttons, status. Both fonts ship with the app, so it still works on an air-gapped network.
- The launcher window, the connect page and the control surface are restyled to match; the README has a banner.
- The server runs on a Mac, a Windows PC or a Linux box; control comes from any device on the network — desktop, laptop, tablet or phone.
Independent project. Not affiliated with or endorsed by the switcher manufacturer.
Downloads: macOS (Apple silicon / Intel) .dmg, Windows .exe, Linux binary below. Docker: ghcr.io/lucas-romanenko/webatem:0.3.0. Python: pipx install webatem==0.3.0.
macOS shows "Apple could not verify…" for an unsigned app: System Settings → Privacy & Security → Open Anyway.
WebATEM 0.2.7
Launch GUI opens the address the window shows — nothing else.
- Launch GUI (window and tray) opens exactly the interface and port shown, like Companion. The reachability check and the 127.0.0.1 fallback from 0.2.5 are gone.
- Interface starts on Change network interface… until you pick one; the server runs on all interfaces until then.
- Everything from 0.2.4 – 0.2.6 stays: the window has its own server, a gone interface falls back to all interfaces at the next start, no Dock icon / taskbar button.
Downloads: macOS (Apple silicon / Intel) .dmg, Windows .exe, Linux binary below. Docker: ghcr.io/lucas-romanenko/webatem:0.2.7. Python: pipx install webatem==0.2.7.
macOS shows "Apple could not verify…" for an unsigned app: System Settings → Privacy & Security → Open Anyway.
WebATEM 0.2.6
Only the menu bar / tray icon — nothing in the Dock, nothing on the taskbar.
- macOS: the launcher window no longer puts WebATEM in the Dock. The window still opens and takes focus; the app lives in the menu bar only, like Companion.
- Windows: the launcher window has no taskbar button; the app lives in the notification area.
- Everything from 0.2.4 / 0.2.5 stays: the window has its own server, loopback always answers, Launch GUI opens the address the window shows.
Downloads: macOS (Apple silicon / Intel) .dmg, Windows .exe, Linux binary below. Docker: ghcr.io/lucas-romanenko/webatem:0.2.6. Python: pipx install webatem==0.2.6.
macOS shows "Apple could not verify…" for an unsigned app: System Settings → Privacy & Security → Open Anyway.
WebATEM 0.2.5
Launch GUI opens the address the window shows.
- Launch GUI (in the window and in the tray menu) now opens the real interface and port — the same address other devices use — after checking this machine can reach it. It falls back to 127.0.0.1 only when it cannot (a VPN address is not always reachable from the machine that owns it).
- Everything from 0.2.4 stays: the window has its own server, loopback always answers, a gone interface falls back to all interfaces, icon and window appear before the server boots.
Downloads: macOS (Apple silicon / Intel) .dmg, Windows .exe, Linux binary below. Docker: ghcr.io/lucas-romanenko/webatem:0.2.5. Python: pipx install webatem==0.2.5.
macOS shows "Apple could not verify…" for an unsigned app: System Settings → Privacy & Security → Open Anyway.