What's New
v2.3.0​
v2.3.0 introduces TrackAudio radio integration, call status tracking in the history list, and several stability fixes.
A complete list of changes is available in the v2.3.0 release notes on our GitHub repository. Below is a summary of the most important changes.
TrackAudio radio integration​
vacs now includes a dedicated Radio page that connects to TrackAudio and lets you manage your radio stack without leaving the vacs window. From the Radio page you can see all currently tuned frequencies, toggle receive and transmit on individual frequencies, and manage your station list - all in one place.
The Radio page is only available when TrackAudio is running and connected. If you are using Audio for VATSIM (AFV) or another transmit mode, the page remains inactive.
Call status in the call history​
The call history list now shows the outcome of each call at a glance. Each entry is marked as accepted, rejected, or not answered.
Login confirmation page​
After completing VATSIM Connect login in the browser, you are now shown a clear confirmation page confirming that login was successful, instead of a blank screen.
Bug fixes​
- DA keys not callable until reconnect - Fixed a server-side issue where station coverage was not correctly updated when a controller changed position, causing neighboring controllers to see your DA keys as inactive until a reconnect. This was a persistent issue that continued to affect some setups after v2.1.0.
- Empty stations list when connecting early - Connecting before the VATSIM datafeed had registered your own frequency no longer results in an empty initial stations list, further improving the online state of other controllers around you.
- "Use default call sources" not applied on first startup - The automatic default call sources setting now correctly takes effect when connecting for the very first time after a fresh install.
- DA subpage buttons missing color - Buttons on DA key subpages now correctly display their assigned background color.
- UI freezes on Linux (Wayland) - Fixed random interface freezes when running vacs under a Wayland compositor.
- Missing call sounds after reconnect - Call start and end sounds now play correctly when a reconnect happens during an active call.
- Audio device fallback - Fixed an issue where the playback device fallback logic could select the wrong output when the primary device became unavailable.
- Call display not updating on remote control - Fixed the active call display on the remote control not clearing correctly when a call ended with an error.
v2.2.0​
v2.2.0 brings custom button colors, a dedicated speaker output for ringtones and UI sounds, improved list scrolling, and more reliable audio device handling.
A complete list of changes is available in the v2.2.0 release notes on our GitHub repository. Below is a summary of the most important changes.
Custom button colors​
Station buttons on both the GEO and Tabbed layouts can now display custom background colors. Dataset maintainers for your FIR can assign colors from a curated palette to individual buttons, making it easier to visually group or distinguish stations at a glance.
Separate speaker device for ringtones and UI sounds​
You can now select a separate audio output device for ringtones/chimes and UI click sounds, allowing you to separate coordination audio from notifications.
The new speaker device can be configured in the Audio Settings. If no separate speaker device is selected, all sounds will continue to play through your main headset output as before.
Improved list scrolling​
Scrollable lists throughout vacs, such as the Telephone Directory and the call history, now feature significantly improved scrolling. Holding a scroll button triggers continuous scrolling instead of requiring repeated clicks, and a visible scrollbar shows your current position within the list. You can also drag the scrollbar to quickly navigate through long lists.
Improved audio device handling​
Audio device selection is now more reliable across application restarts. vacs now identifies devices by a unique device ID rather than just the device name, which prevents issues when multiple devices share similar names or when devices are reconnected in a different order. On Linux, ALSA device detection has also been improved to avoid issues with exclusive audio devices.
Your existing device selections will be migrated automatically.
v2.1.0​
v2.1.0 adds remote control support, new integration options for third-party developers, and several quality-of-life improvements.
A complete list of changes is available in the v2.1.0 release notes on our GitHub repository. Below is a summary of the most important changes.
Remote control​
The headline feature of v2.1.0: you can now control vacs from a browser on any device. Open the remote control URL on a tablet, a second monitor, or even your phone, and you get the full vacs interface - make and receive calls, change your settings and interact with the application - all without touching the main window.
This is especially useful if you don't want to use your primary screen for coordination and want a dedicated panel on a separate screen or tablet. See the Remote Control guide to get started.
Additionally, v2.1.0 exposes a WebSocket-based remote control API that third-party tools and developers can use to interact with vacs programmatically. A detailed spec of the Remote Control API is available for developers.
Automatic default call source​
When connecting to a position, vacs can now automatically set your default call source based on the position you are logged in with. This is configured in the dataset by your vACC and means you no longer need to manually select a call source at the beginning of each session in most cases.
If the automatic selection doesn't match your preference, you can still override it at any time by manually selecting a different call source. The feature can also be disabled entirely in the Call Settings.
Station assignment on GEO page buttons​
Users of our GEO layout will be happy to know that buttons on the main page can now be directly assigned to stations, allowing for quick calls right from the geographic, customized layout. This gives FIR dataset maintainers additional flexibility in creating intuitive, custom call interfaces for their controllers.
Token-based authentication for third-party clients​
Developers can now authenticate against the vacs signaling server using VATSIM OAuth Access Tokens, enabling fully custom third-party clients that integrate with the vacs backend without needing to run the vacs desktop application locally. This opens the door for community-built tools and alternative interfaces.
Other improvements​
- Clock now shows seconds - The clock in the top status bar now displays seconds for more precise time tracking. Clicking the clock toggles between realtime updates (every second), a "zen" mode that only updates every 10 seconds, and the previous current day display.
- Sorted telephone directory - The Telephone Directory is now sorted by position ID, making it easier to find specific stations.
- Persisted zoom level - Your window zoom level is now saved and restored across restarts. Previously, adjusting the zoom with
Ctrl +/Ctrl -would reset when you closed and reopened vacs.
Bug fixes​
- Automatic session recovery on connection loss - If your internet connection drops briefly, vacs now automatically terminates the old session and reconnects cleanly. Previously, a flakey connection could result in an "already logged in" error that required manual intervention.
- Fixed station handoffs - When a controller changes position or goes offline, all other controllers should now see consistent updates to station coverage. No more relogs required for others to correctly appear as online or offline on vacs.
- Consistent phone button state during calls - Fixed an issue where a phone button could blink in an inconsistent state when an outgoing and incoming call overlapped. Outgoing call state now correctly takes priority.
- Duplicate clients after VATSIM sync - Fixed a bug where clients could appear multiple times on the client page if they changed position of primary frequency.
v2.0.0​
v2.0.0 is a major release featuring a completely reworked calling system and a brand-new interface.
A complete list of changes is available in the v2.0.0 release notes on our GitHub repository. Below is a summary of the most important changes.
Station-based calling​
The biggest change in v2.0.0 is how you initiate calls.
Previously, you would select a specific client - a VATSIM controller connected to vacs - to call. This meant you had to know which controller was responsible for a certain sector and find them in the list of connected clients. While already an improvement over the TeamSpeak and Discord workarounds, this was still cumbersome and different from how real-life coordination works.
In v2.0.0, you now call a station instead. Simply select the ATC station you want to reach (e.g., "TWR LOWL", "N1 ACC", "DEL LOWW"), and vacs will automatically route your call to the controller currently in charge of that station. Top-down coverage and sector inheritance typical to VATSIM are handled automatically, ensuring your call always reaches the right person. If a station is covered by multiple controllers (e.g., during a coordinator/mentoring session), they will all receive the call and can choose to answer it. Note that this is not a conference call - only one controller can answer and receive it.
This brings coordination much closer to its real-life equivalent - you dial a position rather than a specific person.
Additionally, you can now select the station you are calling from. This gives the recipient more context, indicating which region they should expect to coordinate with you on.
- Single click on a station you control sets it as a temporary call source. Your next call will originate from this station, then reset automatically.
- Double click (clicking the same key again) sets it as the default source, which persists across calls.
- Clicking again unsets it.
You can have both a temporary and a default source selected at the same time. The temporary source takes priority for the next call and then reverts to the default.
- Button that does not reference a station (disabled button with grey text)
- Station that is online and callable (enabled button with black text)
- Button referencing a station not currently online on vacs (disabled button with black text)
- Temporary call source (enabled button with grey text and peach background color)
- Default call source (enabled button with grey text and honey background color)
- Station currently controlled by your position (enabled button with grey text)
- Target station of incoming or accepted call (enabled button with grey text and sage background color)
Redesigned interface​
To properly support station-based calling, the interface has been redesigned from the ground up. Depending on your VATSIM connection, vacs will automatically select the most suitable layout for you, as defined by your FIR's responsible staff.
Two main layouts are currently supported:
- GEO layout: stations are arranged geographically, giving you a spatial overview of neighbouring units and making it quick and intuitive to find the station you want to call. See the GEO layout documentation for more details.
- Tabbed layout: stations are organised into named tabs, allowing them to be grouped logically. See the Tabbed layout documentation for more details.
Call sounds​
v2.0.0 adds subtle audio cues when a call connects or ends. No more watching the connection status indicator to know when your call has been answered - you'll hear it right away.
These sounds can be toggled individually on the Call subpage of the Settings page.
Priority calls​
You can now mark calls as priority when coordination is urgent. Priority calls appear visually distinct on the receiving end and trigger a more attention-grabbing ringtone to ensure they don't go unnoticed.
See the Making a call section for details on how to initiate a priority call.
Priority calls can be disabled locally on the Call subpage of the Settings page. When disabled, all incoming priority calls will be treated as normal calls.
Window zoom hotkeys​
You can now adjust the zoom level of the vacs window using the familiar Ctrl + and Ctrl - keyboard shortcuts. This is especially useful if you've resized the window and want to ensure the best readability and layout. Ctrl 0 resets the zoom level to its default.
Migrating from v1.x to v2.0.0​
v2.0.0 introduces breaking changes that affect how clients communicate with the server. You must update before you can connect - older clients are not compatible with the v2.0.0 server.
Your client will automatically prompt you to update and will refuse to connect until you do. See the Updating guide for instructions.
Your local settings and Configuration will be preserved during the update and will largely continue to work as expected. However, the previous stations.toml and its associated custom stations configuration have been removed in favour of the new interface. Refer to our Clients page for details on the latest UI and how to configure it.
You can find a migration guide for the new client page configuration in our GitHub repository.