Version 16.5.3 β June 10, 2026
Bug Fixes
- WC-1535: Fixed unable to login to Facebook destination on Windows.
- WC-1527: Fixed a rare crash when starting an RTMP output.
yarn build for dev modules in docker #4177Full Changelog: v4.3.3...v4.3.4
Full Changelog: v4.3.2...v4.3.3
Full Changelog: v4.3.1...v4.3.2
allowInvalidValues: true should not show error on value previewFull Changelog: v4.3.0...v4.3.1
the project at
The biggest change in 4.3 is that surface support is now delivered through a downloadable module system β the same approach already used for connections.
Previously, support for every surface was baked into Companion itself, meaning you needed a full Companion update to get support for a new Stream Deck model or a surface bug fix.
This means:
We hope this will encourage others to add support for new types of surfaces. The development experience is similar to that of connection modules.
Surfaces can now be individually enabled or disabled from the Surfaces page. Disabling a surface stops Companion from claiming it, but preserves its configuration for when you want to re-enable it.
This is useful when running Companion alongside other software (such as the Elgato Stream Deck app) β you can pick which devices each application manages.
The connection module API has had a major revision in this release. The main change is to make it possible for any action or feedback input field to support expressions. Where supported, a toggle button next to the input field lets you switch it into expression mode.
Unfortunately, this requires modules to update to the latest version of the module-api making this opt in. We hope to see many modules start to support this in the coming months β it greatly increases the flexibility of Companion.
The Elgato Stream Deck plugin has been updated to support connecting over the Satellite API making it the preferred way for the plugin to connect to Companion.
Previously, the plugin communicated with Companion using an older, Elgato plugin-specific protocol. The Satellite API is a more modern, general-purpose alternative that is already used by the Satellite application and other third party software and hardware. Using it for the plugin means consistent behaviour across all surface types and a simpler integration overall.
If you are currently using the Elgato plugin, you can continue using it as before; however, we intend to remove support for the old protocol in a couple of Companion releases' time. When setting up a new connection, the plugin will now guide you toward using the Satellite API instead.
The plugin has also received a number of UI bug fixes.
SENTRY_DISABLE environment variable, to disable sentry reporting--use-system-ca flag (#4060)Full Changelog: v4.2.6...v4.3.0
Full Changelog: v4.2.5...v4.2.6
Full Changelog: v4.2.4...v4.2.5
Full Changelog: v4.2.3...v4.2.4
Full Changelog: v4.2.2...v4.2.3
Full Changelog: v4.2.1...v4.2.2
Full Changelog: v4.2.0...v4.2.1
This is a slightly smaller release than usual, focussing more on smaller improvements.
This version of Companion requires macOS 12 or later
The Companion User Guide has been rewritten to use a new rendering system.
This allows us to host a new publicly available version of the documentation online which is versioned per release, as well as building it in a simplified form within Companion
The new tools allow us to do more with the documentation and will make it easier for us to keep up to date too!
The expression editor input field has been rebuilt, making it easier to use with functionality you would expect from a code editor. This includes functions and keyword suggestions, and better handling of multi-line expressions.
surface_set_position with the UI terminology (#3761)Full Changelog: v4.1.6...v4.2.0
Full Changelog: v4.1.5...v4.1.6
Full Changelog: v4.1.4...v4.1.5
Full Changelog: v4.1.3...v4.1.4
Full Changelog: v4.1.2...v4.1.3
last_page_id or name #3650Full Changelog: v4.1.1...v4.1.2
internal: Wait action #3645Full Changelog: v4.1.0...v4.1.1
This is the last version of Companion to support macOS 11. Starting with Companion 4.2 you will need to be running macOS 12 or later.
This release focuses on polishing the UI.
A major addition is "collections" β a way to group connections, triggers, or custom variables so you can manage or enable/disable them together. Collections make organising complex setups and toggling related items during events much easier.
We also made a number of small adjustments to improve clarity and flow, such as reworking table layouts in many places.
These changes prioritise organisation and usability so you can work more quickly.
On each button or trigger you can now define local variables. These variables are scoped to that single button or trigger β they do not exist outside of it. Local variables can be configured in a few ways:
A key point: not all actions and feedbacks support local variables. Supported items will show a globe icon to indicate compatibility. We're working to broaden support; modules will add compatibility over time and further improvements are planned for 4.2.
Expressions let you build more complex configurations and transform data flowing into or out of connections. They allow you to normalise, combine, or conditionally modify values before they're consumed or sent.
The new Expression Variables page lets you define variables computed from expressions. These can be referenced wherever connection or custom variables are accepted; their value is calculated from the expression you provide.
Expression variables can:
Notes:
Companion now supports custom backup rules, allowing you to schedule backups, and keep more restore points.
You can pick how often to run, where to store them, choose how many to keep (auto-pruned), and select the file format.
Tip: Saving backups to a synced folder (Dropbox, OneDrive, or similar), automatically keeps an off-site copy β great for extra safety and easy access across machines.
Full Changelog: v4.0.3...v4.1.0
Full Changelog: v4.0.2...v4.0.3