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#
- Open the connection and select its Module field.
- Select Browse Available Versions.
- 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.
- 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#