Skip to content

Releases: BaudBound/baudbound

v1.1.7 — WebSocket Triggers & Console Commands

Choose a tag to compare

@NATroutter NATroutter released this 03 Apr 12:11

What's New

WebSocket Trigger Source

  • Events can now be triggered by incoming WebSocket messages in addition to serial input
  • Built-in WebSocket server with optional token authentication (AUTH:<token> handshake)
  • New WebSocket panel under the Triggers menu to configure host/port and connection status

Console Command System

  • New interactive console with a modular command framework
  • Commands: devices, simulate, send, reload, events, webhook, ports, states, programs, exit
  • All command actions are silently logged to the log file

GUI Improvements

  • All panels refactored from modal dialogs to floating, moveable windows — they can now be open simultaneously
  • New Simulate panel to inject test events from any trigger source
  • New States panel showing currently active event states
  • Logs viewer added under the Debug menu
  • Debug tools reorganized under a dedicated Debug menu

v1.1.6 — Console Command System & GUI Debug Tools

Choose a tag to compare

@NATroutter NATroutter released this 31 Mar 06:48

What's New

Console Command System

A fully modular console command system is now built into BaudBound. Type commands directly
into the terminal where the app is running. All commands support quoted names with
spaces
(e.g. devices connect "My Device"), and every action is silently logged to the
application log file.

Available commands:

Command Description
help List all available commands
version Show running version and build date
status [get|set <name>] Read or toggle named boolean statuses (e.g. status set gui false hides the window)
devices [connect|disconnect <name>] List devices with connection status, or connect/disconnect by name
ports List all serial ports currently visible to the OS
events List configured events with condition and action counts
simulate [<device>] <input> Inject a fake serial line through the event system — useful for testing without hardware
send <device> <text> Write raw text to a connected serial device
webhook [fire <name> [input]] List configured webhooks or fire one manually
programs List configured programs
states [clear <name>|all] Inspect or clear the runtime event state map
reload Reload storage.json from disk without restarting
update [check|install] Check for or download and install the latest release
exit Save configuration, disconnect devices, and exit

GUI — Simulate Dialog

A Simulate dialog is now available under the Debug menu. Select an optional device
context, type an input string, and click Fire to push it through the event system — same
as real serial input.

GUI — Debug Menu

The Debug menu consolidates all developer and diagnostic tools: Simulate, Logs, States,
and Debug Overlay.

Bug Fix

Fixed SocketTimeoutException on Linux when the background update checker ran at startup.
Caused by a 5-second HTTP timeout in the underlying library — bumped to 15 seconds via
foxlib 1.4.1.

v1.1.5 — Fix update check timeout on Linux

Choose a tag to compare

@NATroutter NATroutter released this 31 Mar 04:20

Bug fixes

  • Fixed SocketTimeoutException: Read timeout when checking for updates on Linux — the
    GitHub API request timeout was 5 s which was too short on some systems. Bumped to 15 s via
    foxlib 1.4.1.

Improvements

  • Fixed SocketTimeoutException on Linux when checking for updates — request timeout raised
    from 5 s to 15 s
  • Added Logs viewer under Help → Logs — shows the in-session log with color-coded
    entries (red for errors, yellow for warnings, green for info)

v1.1.4 — Auto-updater, CLI flags & Linux fixes

Choose a tag to compare

@NATroutter NATroutter released this 31 Mar 03:44

What's new

Auto-updater

  • Background update check on startup (toggle in Settings → General)
  • In-app download with progress bar and automatic restart via platform script
  • Manual Check for Updates in the Help menu
  • Update dialog shows current/latest version and full release notes

CLI flags

  • --nogui — headless mode, full serial processing with no window or tray icon
  • --hidden — start minimized to the system tray
  • --debug — enable the debug overlay on launch
  • --version — print version and exit

Fixes & improvements

  • Config directory moved to the platform standard location (%APPDATA%\BaudBound /
    ~/.config/BaudBound / ~/Library/Application Support/BaudBound) so autostart and manual
    launches always share the same config
  • Linux: UI now scales correctly on HiDPI / fractional-scaled displays via
    glfwGetWindowContentScale
  • Linux: fixed white border bleed-through on window edges
  • Debug overlay toggle added to the Help menu as a quick shortcut
  • Settings dialog now always reflects the current saved state when reopened

v1.1.3 — Debug Overlay, Graphics Settings & Linux Serial Fixes

Choose a tag to compare

@NATroutter NATroutter released this 30 Mar 22:45

What's New

Debug Overlay

A real-time debug overlay can now be enabled under Settings → Debug.
When active, two pinned windows appear on screen:

  • Info panel — FPS (min/max/avg), frame time, heap & non-heap memory, JVM
    runtime/threads/GC, OS/CPU info, connected devices, and event/state counts
  • Graphs panel — rolling plots for FPS, frame time, and heap memory usage

The graph sample interval is configurable in Settings so spikes are easier to catch.

Graphics Settings

A new Settings → Graphics section lets you control rendering performance:

  • VSync toggle — locks the frame rate to your monitor's refresh rate
  • FPS Limit slider (1–240) — caps the frame rate when VSync is disabled, reducing idle
    CPU usage from 70–80% to near zero

Performance Improvements

  • Regex patterns used in event conditions are now cached, avoiding recompilation on every
    serial input
  • Event sort order is cached and only recomputed when events are modified

Bug Fixes

Linux Serial Port Fixes

  • Fixed a crash on Linux when opening the device editor (ImGui BeginDisabled/EndCombo
    assertion)
  • Port dropdown now shows the system port name (e.g. ttyUSB0) alongside the descriptive
    name, making devices with misleading USB product strings (e.g. "USB Keyboard")
    identifiable
  • Added an Info button next to Refresh that shows full port details: system name,
    path, VID/PID, serial number, and location

Multi-Device Support & Event System Improvements

Choose a tag to compare

@NATroutter NATroutter released this 27 Mar 03:05

v1.1.2 — Multi-Device Support & Event System Improvements

New Features

Multi-Device Support

  • Devices are now managed through a dedicated Devices dialog (Settings menu)
  • Add, edit, and delete multiple serial devices, each with its own name, port, baud rate,
    and serial settings
  • Connect and disconnect each device independently from the Devices dialog
  • Auto-connect on startup works per device
  • Ports already assigned to another device are shown as disabled in the editor to prevent
    conflicts

New Conditions

  • Device Equals — trigger only when input arrives from one or more specific devices; uses
    a multi-select combo
  • Device Not Equals — trigger when input did not come from any of the selected devices
  • State Not Equals — the inverse of State Equals; fires when the named state does not
    match the expected value

New Action: Send to Device

  • Write a command or data string to any connected serial device
  • Supports {input} and {timestamp} substitution in the data field

Improvements

Event Editor — split inputs for multi-value fields
Previously several fields required manually typing a |-separated string. These are now
separate labelled inputs:

  • Show Notification — notification type dropdown (INFO / WARNING / ERROR / NONE) + message
    field
  • Write to File / Append to File — file path field + optional content template field
  • Set State — optional state name field + value field
  • State Equals / State Not Equals — optional state name field + expected value field

Crash-safe single instance detection
The single-instance lock now uses a loopback socket handshake instead of a lock file, so a
crash or forced shutdown no longer prevents the app from starting again on next boot.

Release v1.1.1

Choose a tag to compare

@NATroutter NATroutter released this 15 Mar 09:03
  • Fixed auto start not working the the pc crashes
  • Renamed the main jar file to not have a version number for easier updates

Usage:

  • Download the 'BaudBound.jar' file
  • Run command 'java -jar BaudBound.jar'
  • When the app starts to to settings and create shortcut

Release v1.1.0

Choose a tag to compare

@NATroutter NATroutter released this 14 Mar 03:53

What's New in 1.1.0

State System

Events can now share context across serial scans using named states.

  • Set State action — stores a value under a named state (or the default state)
  • Clear State action — removes a named or default state
  • State Equals condition — matches when a named state holds a specific value
  • State Is Empty condition — matches when a named state is unset

States use a name|value format. Omitting the name targets the built-in default state, so simple
use cases need no extra configuration.

Example use case: Scan a "move" command QR code to arm the move state, then scan an item QR code
— BaudBound will call a webhook instead of opening the URL. Scanning the item QR without the move
command behaves as normal.

States Dialog

A new States entry in the menu bar opens a live view of all currently active states. Individual
states can be cleared on the fly, or all states can be wiped at once.

Webhook URL Encoding

Webhooks now have a URL-encode variables checkbox. When enabled, the values substituted for
{input} and {timestamp} are percent-encoded before being inserted into the URL, headers, and body
— useful when passing serial data as a query parameter or path segment.

Release v1.0.0

Choose a tag to compare

@NATroutter NATroutter released this 12 Mar 15:13

First Release

Using instructions:

  • Download the baudbound-1.0.0.jar file
  • Make a new directory somewhere where you want to keep the app
  • Move the baudbound-1.0.0.jar file to that folder you created
  • Open terminal in that folder and run this command java -jar baudbound-1.0.0.jar
  • After the app launches go to settings in the top menu and press the create shortcut button then you don't have to run this command anymore you can just use the shortcut