This release adds 3 notable features for engineering teams evaluating rollout.
Published 16d
Home Automation
✓ No known CVEs patched
✓ No known CVEs patched in this version
Summary
AI summaryBroad release touches Input Injection, Discovery & Connection, Input Capture, and Installer.
Full changelog
Spud v1.0.1
Overview
Bug-fix release for all supported platforms. Resolves rendering issues on Linux and Windows, fixes macOS mouse injection reliability, improves Windows hotkey handling, and corrects discovery/connection edge cases when servers advertise hostname-only endpoints.
Cross-Platform
Renderer
- Switched Iced backend from tiny-skia to wgpu to eliminate progressive darkening of cards and dialogs caused by alpha-compositing bugs in the software renderer.
Discovery & Connection
- Fixed
sync_selection_from_inputso that a discovered server remains visually selected when its address is hostname-based (e.g.mydesktop.local) rather than a raw IP. - When falling back to DNS resolution for a hostname, non-loopback addresses are now preferred. This avoids "connection refused" errors caused by connecting to
127.0.1.1when/etc/hostsmaps the system hostname to loopback. - Added discovery logging when mDNS returns addresses but they are all filtered out (loopback, multicast, link-local, or unspecified), making it easier to diagnose stale or incomplete mDNS records.
Linux
Window Integration
- Set
application_id(WM_CLASSon X11,app_idon Wayland) tospudso the window title appears correctly in alt-tab switchers and window manager task lists.
macOS
Input Injection
- Restored IOKit HID (
IOHIDPostEvent) as the primary mouse injection path, replacing Core Graphics event posting.- Relative mouse motion now populates both the
pointparameter and theNXEventDataMouseMoveunion for compatibility across macOS versions. - Games and applications that read raw HID input now correctly see injected movement.
- Relative mouse motion now populates both the
- Restored the fullscreen hotkey fallback so that when the Core Graphics EventTap fails or accessibility permissions are revoked, the client can still toggle capture via Iced keyboard events.
Windows
Input Capture
- Added
#![windows_subsystem = "windows"]to prevent a console window from appearing alongside the GUI. - Fixed hotkey capture in window mode by adding a
RegisterHotKey-based fallback on a dedicated message-only window. This works around interference betweenWH_KEYBOARD_LLhooks and Iced'sevent::listen_rawwhen the GUI subsystem suppresses the console.
Installer
- Switched Windows MSI creation from
cargo-bundle's experimentalwxsmsibackend to cargo-wix, which uses the WiX Toolset v3 directly. - The MSI now displays a properly formatted GPLv3 EULA via
wix/gpl-3.0.rtf(set via[package.metadata.wix]).cargo-wixuses the pre-formatted RTF as-is instead of re-encoding plain text, so the license dialog renders correctly.
Packaging
- Normalised artifact naming across all CI platforms for consistent release downloads.
Known Issues & Limitations
- The Wayland capture backend still requires compositor support for
pointer-constraintsandrelative-pointerprotocols; minimal compositors may not support these. - macOS input capture requires manual permission grants in System Settings before the app can capture input. Rebuilding or re-signing the binary may revoke previously granted Accessibility permissions.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Spud
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]