Buttons v1.4
Published on October 8, 2025 by Erlend Jones & William VikerLast updated on March 25, 2026Product UpdatesRelease NotesButtonsv1.4
Did you know you can use Buttons in production without a license? 😮
Our free tier supports one surface and route 16x16 ports (2110, IPMX, baseband, ..), making it really easy to get started and explore the power of Buttons. Use it in production today!
Release Notes & New Features
You've been asking for it - and our Q4-2025 release is finally here, and it's packed with new features and improvements. Here's a look at what's new since v1.2.
Cue lists - Recall cues step by step
Plan your cues in a list and recall them step by step, with feedbacks and actions, just like in QLab or similar software. Mix and match workflows, cues and regular buttons. Perfect for routine tasks and planned shows. You add actions to each cue just like you create regular buttons. Conditional actions are fully supported!
Conditional Actions & Feedbacks - If this, then that
When you create an action or cue list cue, you can now add a condition to it based on variables, feedbacks or expressions. This makes it easy to create complex logic and automations, without all the clutter.
New variable type: Connection
You can now make dynamic patched actions that trigger the connection based on a variable. This is really powerful if you have multiple production control rooms and multiple studios/racks you want to control dynamically.
More Big Features
- SSL Certificates for the Editor
Protect browser-to-server communication. Upload your own certificates or use self-signed certificates. - NMOS Registry Support
Connect to an NMOS Registry to adopt resources directly from your network infrastructure. - NMOS Substitution Table
Replace unusable IPs/hostnames or ports reported by resources accessed from outside their network - perfect for remote production workflows. - Multi-thread Rendering
Surfaces now use multi-threaded rendering to dramatically increase performance and scalability. - Custom Icon Library and Management
Upload your own icons and use them on buttons, folders, ports, and more. Build your own visual language. - Enhanced Position Editor Tree
Easier navigation between sections, edit icons directly, and improved overall workflow. - Custom Port Selection for the WebUI
Select a custom port and network interface to run the editor from - perfect for complex network setups. - Position Variables Persistence
Current values are now persisted across restarts, so your state is maintained even after a system reboot. - Dismiss Popovers on Click
Automatically close a popover when a button inside is pressed, making interactions more intuitive. - Dashboard Improvements
More space for status monitoring of all resources - perfect for keeping tabs on large setups.
New Workflow Nodes
We've added a comprehensive set of new workflow nodes to give you even more power and flexibility:
StringMerge
Easily merge text variables without needing complex expressions.
WorkflowRouter
Setup input and output variables that can be routed with the router sections from any position.
StaticValue
Just a constant value that can be connected and used as an input.
NFC Reads
Whenever an NFC card gets read, you'll get access to the last event - either for the entire system or a single position.
Expression
Create complex logic in textual form. Do math, lookups, logic operations, and more.
Case Switch
Outputs a single state based on a selection state. The selected input state is forwarded to the output.
Clamp
Restrict a value with max and min clamp values.
Event Gate
Only pass events through if the conditional input is true.
State Gate
Only pass state through if conditional value is true (falls back to cache).
Event Switch
Outputs a value based on what incoming event was most recently received.
Internal Feedback
Respond to feedbacks from the internal features of the system, like salvo being fulfilled.
OSC Listener (Server)
Receive OSC commands from external devices or applications. Customize ports and endpoints.
Priority Stack
Determine what order certain states changed to true. Can be used to determine the winner of a race. Select from 4 strategies: Latest, Most recent, Top, or Bottom.
Other Improvements
- New internal actions
- GitHub repo and bug report button added to connections
- Support for importing unbuilt and packaged connections
- Options to customize the router section styles
- Better selection look for the selected encoder
- Improvements to the Workflow Scheduler Node
- Global custom sorting added to the native router
- Support for Riedel Mediornet in the Router Section
- Support for Imagine LRC Routers in the Router Section
- Reworked quick-navigation between positions, cue lists, and shared sections
- Reworked variable editing dialog
- Improved style of the Web Routing View
- Tag UI: Label selection follows selected bundle/label
- NMOS: Show registry nodes in discovery list
- Improved and much faster connection establishment with surfaces
- Position: Add encoder selector labels to the variable browser
- Surfaces: Reduced redundant messages, increased performance
- Surfaces: Improved status messages and enhanced self-healing for iPad and Custom surfaces
Bug Fixes
We've squashed a lot of bugs in this release. Here are the highlights:
General Fixes
- Conditional actions/feedbacks: Fixed copy/paste issues
- Repeated buttons click-response highlight
- Increased limit for loop-detection in workflows
- Duplicating positions/workflows/shared sections/cue lists
- Web UI loading state fixes
- Imagine LRC Routers at 0 levels
- Editor button rendering issues
- Casting of values and expressions in buttons
- Navigation issues in editor folder sections. Automatic router layout when only one action-button. Duplicating actions with children in inspector
- Adding routes to salvo-list in the execute-view
- Shared Section not opening properly
- Loading modules after importing config from another computer
- Warning signs on buttons with dynamic connection variable
- Text font size not respected on "Big Icon" and "Text and icon" layouts
- Internal feedback watching connection states now ignores disabled connections properly
- Connections not starting if enabling/disabling rapidly
- Internal connection state feedback ignores disabled connections
- Persisting a user session over 24h
- Black buttons rendering on surfaces
- Copy/paste workflow values
- Encoder assignment fix
- Internal set active page action in editor
Position
- Editing some labels
- Internal action "Set Workflow Variable" accepting all input types
- Shift-page button hidden when "Hide shift button" is on
- Copy/paste of gauge values
- Positions sometimes taking time to load on startup
Workflows
- Some edges not clearing properly when deleted
- NFC nodes not working on startup
- Scheduler Node: event output and downstream pass-through fixes
Surfaces
- Enabling/disabling multiple surfaces simultaneously
- Custom Surfaces with >255 buttons not working properly
1.4.1
- Fixes an issue with the SchedulerNode in workflows not always firing if the system is running on high CPU while execution. Now it will rather fire at a later time to make sure an execution is not skipped.
1.4.2
- Fixes an issue with numeric sorting on Japanese language settings on Windows
- Fixes an issue with rendering of buttons in the Web Editor.
- Fixes an issue with creation of buttons inside scrolled sections.
- Fixes an issue with connections-configurations, where input fields may not update to the latest selected item in a combo-field with input and select option.
- Fixes an issue with too many pages being rendered for a scrollable section.
- Removes some verbose log-messages
- Fixes an issue where the position-renderer would not self-heal in the event of a failure.
1.4.3
- Fixes an issue with too many pages being rendered in a scrollable section.
1.4.4
- Fix an issue with restarting of the surface-service
1.4.5
- Fixes an issue with persisting data in Workflow Variable Nodes
- Fixes an issue with Workflow Variable Nodes getting extra "" around strings
1.4.6
- Fix an issue with rendering the very first button in the editor
1.4.7
- Fixes an issue with ports appearing in the ExecuteView after they have been removed
- Makes sure the Workflow label is shown with the ports in the Execute View and the Router Sections
1.4.8
- Fix an issue where expressions would overwrite other changes
- Fix an issue with missing scroll-buttons on a shared section
- Fix an issue with missing nmos source ports
- Fix an issue with updating firmware on surfaces
- Make sure changed section-variables gets pushed to the live position on "Apply"
1.4.9
- Fix an issue with Stream Deck Network Dock, where a connected device could show up multiple times in Buttons
1.4.10
- Fixes a crash when connecting to Stream Deck Mini connected via a Stream Deck Network Dock
- Fixes an issue with using actions with missing defaults in Workflows
- Removes the "Not ideal" warning for manually adding NMOS Registries
1.4.11
- Fixed an issue where external route actions not propagating back into Buttons for the AJA Kumo routers
1.4.12
- Fix Mac Intel installer
- Fix an issue where the Blackmagic Videohub router would not properly provide visual feedback when the destination is locked on take
- Add Router support for Imagine Communications Logical Router Control (LRC) routers
1.4.13
- Added the ability to hide specific output rows in data repeater tables
- Fixed an issue where workflows could deadlock when nodes returned undefined values (e.g., uninitialized OSC Server outputs)
- Workflow Router nodes now accept any input type, improving compatibility with various data sources
- Fixed scrolling not appearing correctly when the number of sources/destinations exactly filled the available grid space
- Fixed repeat index calculation when using action- and feedback-repeaters
- Improved search result scoring and sorting
- Fixed a sorting bug that could cause inconsistent ordering of items
- Hidden items in repeater tables now display with an orange eye icon for better visibility
1.4.14
- Fix missing button variable propagation. Fixed button variables not being propagated correctly; improved variable type change handling to re-initialize the value
- Fix OSC server startup - Fixed an issue with OSC server startup failure and address reuse issue.
1.4.15
- Fix an issue with release actions being fired just after page navigation.
- Security Patches
1.4.16
- Fix Safari paste issues — Resolved clipboard paste not working correctly in Safari
- Fix incompatible module installation — Buttons no longer offers to install modules that are incompatible with the current version
1.4.17
- Fix potential startup hang on poor network connections
- Fix an issue with the Expression Editor not loading
- Performance improvements for internal system communication
- Security Updates
1.4.18
- Fixes an issue with refreshing labels from Meidornet
- Reduces the amount of logs persisted in memory
Thank you for being part of the Bitfocus community. Thanks a lot to everyone who contributed with valuable feedback and suggestions. We hope you enjoy these new updates!
Best regards,
The Buttons team
Happy Automating! 🥳