This version of Companion requires macOS 13.5 or later
Shell command execution and installing modules over the network from another machine are now disabled by default, and must be explicitly enabled. Installing modules from the store, or from the local machine, is unaffected. (#4252)
The dedicated Elgato plugin server has been removed (#4123)
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:
New Stream Deck models (and other surfaces) can be supported by updating just the surface module, without waiting for a Companion release.
Each surface module can be updated independently, so a fix for one device doesn't require touching anything else.
The same module management UI used for connections applies to surfaces. See the Modules documentation for details.
We hope this will encourage others to add support for new types of surfaces. The development experience is similar to that of connection modules.
Enable and Disable Individual Surfaces
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.
Expressions in Any Action or Feedback Field
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.
Sidebar and Header Bar Improvements
Sidebar.mp4
Add a help menu in the header bar
Add a context menu for managing the sidebar
Free up space by removing the now-redundant sidebar help section
Reduce the number of items in the Variables sidebar group
Manage expand/collapse of sidebar groups (Auto-close aka. Accordion Mode)
Add a new "Always-Narrow" sidebar mode
Modernising the Elgato Plugin
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.
And more
Surfaces are now implemented through a module system, similar to connections.
Option to enable/disable individual surfaces
This allows Companion to run alongside other software with each using just some of the connected stream decks
Support expressions in any action/feedback field
This requires modules to opt into supporting it for now
This is a slightly smaller release than usual, focussing more on smaller improvements.
End of support for macOS 11
This version of Companion requires macOS 12 or later
Rebuilt Documentation
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!
Improved Expression Editor
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.
And more
The old xkeys $(internal:tbar) and similar variables have been removed, and they should now be bound to custom variables in the config of each surface (#3716)
WC-1151 / 1130 / 1125: Fixed issues with connecting to destinations that require Adobe authentication. This fixes connecting to ChurchStreaming.tv, AWS and Wowza servers that require Adobe authentication among others.
WC-1138: Fixed several crashes with certain audio devices that use unsupported sample rates on macOS. The minimum supported sample rate is 8 kHz, and the maximum is 192 kHz for System Devices.
WC-1136: Fixed hold behavior when playing media files.
WC-934: Fixed issue with single frame of black video during a media file loop or transitioning between different media files.