github timmo001/system-bridge 5.20.0

latest release: 5.21.0
4 hours ago

Adds control over each media player, each app's sound, the power profile, keeping awake and the clipboard, and notifications with urgency, buttons and click events. Home Assistant can now discover System Bridge over mDNS. NixOS is supported with a flake, and releases ship Linux and Windows archives for mise and manual installs.

Media

  • Read and control media over MPRIS on Linux, instead of through playerctl.
  • List every player in players, with the one described in player, and add SEEK, SET_VOLUME, SET_SHUFFLE and SET_REPEAT to MEDIA_CONTROL, with a player to control one other than the reported player. See controlling playback.
  • Report is_seek_enabled, and whether a player can skip, so Home Assistant shows next and previous.
  • Resolve local cover art URLs into data URLs, so clients can show the artwork, thanks to @eikw (#4501).

Audio

  • List the apps playing sound in apps on Linux, and turn each one up, down or mute it, or move it to another output with output on AUDIO_CONTROL. See audio.

System

  • Report the active power_profile and power_profiles, and add SYSTEM_SET_POWER_PROFILE to switch through power-profiles-daemon. See power profiles.
  • Report keep_awake and keep_awake_until, and add SYSTEM_SET_KEEP_AWAKE to keep the system from idling, optionally for a duration, through Omarchy's switch or a logind inhibitor. See keeping awake.
  • List which package updates are waiting in package_update_list, with each one's version, not just how many.

Notifications

  • Add urgency and up to three buttons to notifications. NOTIFICATION_SENT now replies with an id, and NOTIFICATION_DISMISS closes the notification. Clients hear NOTIFICATION_ACTION when it's clicked and NOTIFICATION_CLOSED when it closes. See buttons, clicks and dismissing.

Clipboard

  • Add CLIPBOARD_SET_TEXT to put text on the clipboard on Linux. See clipboard.

Desktop

  • Read and switch keyboard layouts on Sway and niri.

Discovery

  • Advertise the IP, port and UUID Home Assistant needs in the mDNS record, on the primary IPv4 address rather than a bridge's such as Docker's.

Windows

  • Send notifications through COM with go-toast v2, never PowerShell.
  • Print CLI output in the console the app is started from.

Linux

  • Add a Nix flake for NixOS, built in CI (#3387). See install.
  • List every optional dependency in the docs and the packages, and describe System Bridge in its desktop entry.

Web client

  • Add seek, shuffle, repeat and other players to the Media page.
  • Add per-app sound, the power profile and keep awake, and notification urgency.

CLI

  • Add clipboard set, system power-profile and system keep-awake, with --for.
  • Add seek, set_volume, set_shuffle and set_repeat to media, with --player.

MCP

  • Add system_bridge_set_clipboard, system_bridge_set_power_profile, system_bridge_set_keep_awake, system_bridge_open, system_bridge_keyboard_keypress, system_bridge_keyboard_text, system_bridge_discord_control and system_bridge_lock.
  • Add per-app sound to system_bridge_audio_control, the new actions and player to system_bridge_media_control, and urgency to system_bridge_send_notification.

Connector

  • Add every new event, reply and field to the Python and TypeScript connectors.

Install

  • Attach Linux and Windows archives to releases, for mise and manual installs, and document installing with them. See install.

Fixes

  • Keep starting when another process writes the default settings first.

Moved

  • Drop SSDP discovery and SYSTEM_BRIDGE_SSDP_PORT. Nothing used it, and it announced the wrong address. Use mDNS instead.
  • Stop using playerctl on Linux, as media now goes through MPRIS directly.

Dependencies

  • Move to go-viper/mapstructure, as mitchellh's is archived, and find the config, logs and user folders with adrg/xdg. The folders stay the same.
  • Update @effect/tsgo to v0.62.0 (#4499) and wrangler to v4.153.0 (#4500).

Maintenance

  • Track quickshell, BlueZ, dnf5, the desktop portal, winget and Omarchy prereleases in the tooling drift workflow.
  • Refresh the Nix hashes on Renovate branches and after dependency commits.

Full Changelog: 5.19.0...5.20.0

Don't miss a new system-bridge release

NewReleases is sending notifications on new releases.