Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Update a connection's module safely
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Connections
Next
Monitor and troubleshoot a connection →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Connections/Update a connection's module safely

Update a connection's module safely

Every connection is powered by a module: a small piece of software targeting a specific version of the module SDK ("Module API"). This guide covers checking what's installed, updating or rolling back a module version, and what happens if Buttons encounters a module it can't run.

Before you begin#

  • The connection you want to check or update, already added.

Check what's currently installed#

Open the connection's configuration and find the Module field: it shows the module's manufacturer, product, and installed version. Selecting it opens a dialog showing the Current version, with a Browse Available Versions option.
If the installed version isn't compatible with this Buttons installation, a warning appears directly on the connection: "This module version is not compatible with the current system. It may not function correctly. Consider upgrading to a compatible version."

Note

Buttons doesn't display a literal "Module API version" number anywhere in the interface; compatibility is shown as a plain compatible/incompatible state instead, driven by whether the module's declared API version falls in the range this Buttons installation supports.

Update to a newer version#

  1. Open the connection and select its Module field.
  2. Select Browse Available Versions.
  3. Choose a version from the list: each shows its release date and any relevant status (Pre-release, Legacy, Dev, or Not Supported if incompatible). Incompatible versions can't be selected.
  4. Select Swap.
Buttons shows a direct warning before swapping: "Important: Back up your system before doing this. Swapping versions will disable the connection, and interrupt any buttons or workflows using it. Verify your setup work as expected after the upgrade. Be careful with downgrading, as some features might not be available in older versions."
Swapping briefly disables the connection, runs the module's own upgrade scripts to migrate its actions and feedbacks to the new version, then re-enables it: expect a short interruption to anything using this connection.

Note

Downloading newer module versions in bulk (from the module browser's own update-check) does not update any existing connection automatically; it only fetches the files. Each connection still needs to be swapped individually, as above, before it actually uses the new version.

Roll back to an older version#

Use the same Swap flow and pick an older installed version instead of a newer one: there's no separate "rollback" action. The same warning about verifying your setup afterward applies, with extra emphasis on downgrading specifically: some features in a newer version may simply not exist in the one you're rolling back to.

Check compatibility and support for a specific module#

From the connection's edit page, use the Github button to open the module's own repository, or Bug Report to open its issues page directly: useful for checking whether an odd behavior is a known issue, or reporting a new one.

Note

Buttons doesn't show a "deprecated" or "maintained" status badge for a module in the interface; a deprecated version is simply left out of the available-versions list rather than flagged. If you're troubleshooting an old or unusual module, check its repository directly for maintenance status.

If a module can't run at all#

If a connection's module declares an API version this Buttons installation doesn't support, the connection fails to start and shows an error status with a message beginning "Crashed, ...": treat this the same as any other connection failure: it isn't a special state, just a startup failure with that specific cause. Update the module to a compatible version to resolve it.
A related but different problem (the module's files are missing entirely, for example after removing the wrong version) shows its own distinct state: "Module not found," with the message "Warning: The module ({module}) required by this connection could not be found. You will need to download the correct version of the module." and a direct option to download the correct version.

If you get stuck#

What you see
What to try
A connection shows "This module version is not compatible with the current system."
Open Browse Available Versions and swap to a compatible one: incompatible versions are marked and can't be selected here.
Swapping a module version interrupts buttons using that connection.
That's expected: swapping briefly disables and re-enables the connection to apply the change. Plan the change for a moment that interruption is acceptable.
A newer module version was downloaded, but the connection is still on the old one.
Bulk downloading only fetches the files: you still need to swap this specific connection to the new version yourself.
A connection shows "Crashed, Failed to validate module info after registration."
The module's declared API version isn't supported by this installation: swap it to a compatible version.
A connection shows "Module not found."
Download the correct module version directly from that state, or pick a different installed version if one's available.

Where to go next#

  • Monitor and troubleshoot a connection

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful