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.
Open the connection and select its Config tab. The Module field shows the module's manufacturer, product, and installed version.
Select the Module field to open the module dialog. It shows the Current version, a Swap with list, and a Browse Available Versions button.
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.
Changing version is a two-part job: first make sure the version is downloaded to this Buttons installation, then swap the connection to it.
Open the connection and select its Module field.
Select Browse Available Versions. The list shows every published version with its release date. Installed versions have a green check mark and their install date; the others have a Download button. Some versions carry a tag, such as Pre-release, Legacy or Dev.
If the version you want isn't installed yet, select Download next to it.
Open the Swap with list and choose the version. The list only shows installed versions. The one in use is marked (current), and versions that this Buttons installation can't run are marked (Not supported) and can't be selected.
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 a module version, from Browse Available Versions or in bulk from the module browser's own update check, doesn't change any existing connection; it only fetches the files. Each connection still needs to be swapped individually, as above, before it actually uses the new version.
In Browse Available Versions, installed versions have a Delete button. It's unavailable for a version that a connection is still using, and for the last installed version of a module.
Use the same flow and choose an older version in Swap with instead of a newer one, downloading it first if it isn't installed: 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 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.
A connection shows "This module version is not compatible with the current system."
Download a compatible version from Browse Available Versions, then choose it in Swap with: incompatible versions are marked (Not supported) and can't be selected.
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.