v0.1.105-preview
Pre-release
Pre-release
·
56 commits
to main
since this release
This preview focuses on reliable fresh provisioning, a consolidated Client
Bluetooth HID path, stronger Host/Client runtime handoff, and clearer Studio
feedback throughout setup.
Highlights
Consolidated Bluetooth HID support
- Updated Client Bluetooth compatibility for current Raspberry Pi OS images
based on Debian Trixie. Testing after the OS/kernel and BlueZ upgrade exposed
unreliable advertisement registration, discovery, and Windows pairing in the
older mixed Bluetooth implementation. - Replaced that legacy path with a dedicated BlueZ BLE HID-over-GATT service,
including explicit adapter setup, pairing-agent ownership, managed
advertising, and a stable local report handoff from the Client runtime. This
updates the complete integration rather than treating the observed regression
as a kernel-only issue. - Consolidated Client keyboard and mouse output on the standalone BlueZ BLE HID
backend and removed the superseded Bluetooth daemon and legacy helper path. - BlueZ BLE is now the default Client Bluetooth mode. The radio and helper stay
dormant while no Bluetooth route uses them, so an enabled Client reports an
idle state without keeping the Bluetooth runtime active. - Improved BLE advertising, Windows pairing, reconnect behavior, and backend
readiness reporting. - Client provisioning now configures the Bluetooth controller consistently for
the BLE HID path and deploys the required Python, D-Bus, and systemd support. - Host Bluetooth pairing now attempts to connect the device and refreshes the
Host inventory so newly connected controllers can appear under Add Input
Source without a service restart. - Studio now distinguishes Bluetooth disabled, enabled-idle, active, and
genuinely unavailable states more accurately.
Safer and clearer provisioning
- Host and Client provisioning now both schedule and monitor the required
reboot before reporting the device fully online. - Reboot progress is split into clear stages: Reboot scheduled, Device offline,
SSH restored, Service active, and API responding. - Added Stop Waiting, which stops Studio monitoring without cancelling or
damaging the installation already running on the Pi. - Preflight now warns before replacing an existing Host installation with a
Client, or an existing Client installation with a Host. - Provisioning actions are locked after installation begins to prevent duplicate
SSH or bootstrap submissions. - Failure results now include the failed stage, last successful stage, target
address, and a Copy Diagnostics action. - After provisioning, Studio refreshes Client and Host discovery, versions,
device counts, selectors, and About-page inventory automatically. - A newly provisioned Client becomes active automatically when no Client is
selected; otherwise Studio asks whether to switch from the current Client.
Installation and runtime reliability
- Aligned standalone Host installation with Studio provisioning, including
consistent service files, runtime packages, udev access, and service-account
permissions. - Added the Host service account to the required input and audio groups so
Bluetooth controllers and ALSA playback devices work after fresh provisioning. - Hardened Client profile handoff and status refresh after route changes and
service restarts. - Replacement Host stream requests now stop omitted speaker or microphone relay
workers and clear their telemetry, so disabling a relay is reflected
immediately. - Improved Bluetooth route readiness refresh after applying a profile.
Studio and documentation polish
- Renamed the Devices navigation page to Device Routing to make its
purpose clearer alongside Client, Host, and Bluetooth device management. - Updated setup, Bluetooth, provisioning, troubleshooting, and Audio Relay
documentation for the current workflows. - Added Bluetooth headset Audio Relay guidance: BlueALSA normally uses classic
A2DP, which adds latency; larger playback buffers can improve stability at the
cost of additional delay.
Upgrade notes
This release changes Client Bluetooth service layout and provisioning behavior.
Update Studio and its bundled Host/Client payloads together. The supported
Client Bluetooth choices are now Disabled and BlueZ BLE; removed legacy
backends are no longer accepted.
Reapplying the current Host or Client package is recommended for existing Pis so
the updated systemd units, Bluetooth configuration, udev rules, and service
account permissions are installed. Studio provisioning performs and monitors
the required reboot automatically.