Releases: bethropolis/kcd
Release list
v1.15.0
kcd v1.15.0
Headless KDE Connect daemon for Linux.
Installation
Arch Linux:
yay -S kcd-binDebian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.15.0/kcd_1.15.0_x86_64.deb
sudo dpkg -i kcd_1.15.0_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.15.0/kcd_1.15.0_x86_64.rpm
sudo rpm -i kcd_1.15.0_x86_64.rpmDocker:
docker pull ghcr.io/bethropolis/kcd:latestHomebrew:
brew install bethropolis/tap/kcdQuick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.15.0/kcd_1.15.0_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Changelog
Other Changes
- b661890: Release v1.15.0 (#23) (@bethropolis)
- 5cc2ead: style: fix gofmt alignment in config.go (#21) (@bethropolis)
Full Changelog: v1.14.0...v1.15.0
v1.14.0
kcd v1.14.0
Headless KDE Connect daemon for Linux.
Installation
Arch Linux:
yay -S kcd-binDebian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.14.0/kcd_1.14.0_x86_64.deb
sudo dpkg -i kcd_1.14.0_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.14.0/kcd_1.14.0_x86_64.rpm
sudo rpm -i kcd_1.14.0_x86_64.rpmDocker:
docker pull ghcr.io/bethropolis/kcd:latestHomebrew:
brew install bethropolis/tap/kcdQuick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.14.0/kcd_1.14.0_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Changelog
New Features
- fd8e80f: feat: add Nix flake for package distribution (@bethropolis)
- 72f7192: feat: auto-prune stale unpaired devices (#17) (@bethropolis)
Bug Fixes
- b65798c: fix: clean Nix build artifacts before GoReleaser (#18) (@bethropolis)
- 29127b2: fix: restore flake.lock from HEAD instead of index (#19) (@bethropolis)
- 0f776ab: fix: set vendorHash to actual Go module hash (@bethropolis)
- 7162359: fix: use env.CGO_ENABLED to avoid nixpkgs assertion (@bethropolis)
Full Changelog: v1.13.0...v1.14.0
v1.13.0
kcd v1.13.0
Headless KDE Connect daemon for Linux.
Installation
Arch Linux:
yay -S kcd-binDebian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.13.0/kcd_1.13.0_x86_64.deb
sudo dpkg -i kcd_1.13.0_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.13.0/kcd_1.13.0_x86_64.rpm
sudo rpm -i kcd_1.13.0_x86_64.rpmDocker:
docker pull ghcr.io/bethropolis/kcd:latestHomebrew:
brew install bethropolis/tap/kcdQuick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.13.0/kcd_1.13.0_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Changelog
Bug Fixes
- ecd44ef: fix(mpris): guard stale remote state in watch dump and add waybar reconnection (@bethropolis)
- baf6ca1: fix(mpris): publish album art updates (@bethropolis)
- 53d8566: fix(runcommand): add debug log and error handling for output notification (@bethropolis)
- f8b5744: fix(runcommand): synchronize background goroutine in tests via WaitGroup (@bethropolis)
- 9a78444: fix(runcommand): synchronize test goroutines, restrict release to main tags (@bethropolis)
- ce0db06: fix(service): remove NoNewPrivileges to allow fusermount3 (@bethropolis)
- 18d9996: fix(sftp): mount directly to storage volume instead of root (@bethropolis)
- 50f9857: fix(sftp): navigate to storage volume, graceful shutdown, upstream sshfs flags (@bethropolis)
- 8655af2: fix(waybar): clear song info when playback stops (@bethropolis)
- e28ad92: fix: address review findings (@bethropolis)
Other Changes
- fa7ece6: Release v1.13.0 (@bethropolis)
Full Changelog: v1.12.5...v1.13.0
v1.12.5
kcd v1.12.5
Headless KDE Connect daemon for Linux.
Installation
Docker:
docker pull ghcr.io/bethropolis/kcd:latestArch Linux:
yay -S kcd-binQuick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.12.5/kcd_1.12.5_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.12.5/kcd_1.12.5_x86_64.deb
sudo dpkg -i kcd_1.12.5_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.12.5/kcd_1.12.5_x86_64.rpm
sudo rpm -i kcd_1.12.5_x86_64.rpmChangelog
New Features
- e66b54e: feat(battery): send local battery state to paired devices (@bethropolis)
- 04bc3c8: feat(runcommand): per-device remote command configuration (@bethropolis)
- 5bb4601: feat(runcommand): send command output as notification to phone (@bethropolis)
Bug Fixes
- a7fa371: fix(watch): deduplicate noisy connectivity and mpris events (@bethropolis)
- b5aff89: fix: kill kcd watch immediately when Waybar restarts the script (@bethropolis)
- ecca21b: fix: use $'...' for Nerd Font icons in Waybar script so \u escapes are interpreted (@bethropolis)
- 6ca2156: fix: use correct Nerd Font battery codepoints in Waybar script (@bethropolis)
Performance
- 5556668: perf: eliminate intermediate bash process in Waybar script (@bethropolis)
- 884d1fd: perf: prefer nc/socat over kcd watch for Waybar event stream (@bethropolis)
Full Changelog: v1.12.1...v1.12.5
v1.12.1
kcd v1.12.1
Headless KDE Connect daemon for Linux.
Installation
Docker:
docker pull ghcr.io/bethropolis/kcd:latestArch Linux:
yay -S kcd-binQuick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.12.1/kcd_1.12.1_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.12.1/kcd_1.12.1_x86_64.deb
sudo dpkg -i kcd_1.12.1_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.12.1/kcd_1.12.1_x86_64.rpm
sudo rpm -i kcd_1.12.1_x86_64.rpmChangelog
Bug Fixes
- 4d6351e: fix: set git user config in AUR push script to fix commit identity (@bethropolis)
Full Changelog: v1.12.0...v1.12.1
v1.12.0
kcd v1.12.0
Headless KDE Connect daemon for Linux.
Installation
Docker:
docker pull ghcr.io/bethropolis/kcd:latestArch Linux:
yay -S kcd-binQuick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.12.0/kcd_1.12.0_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.12.0/kcd_1.12.0_x86_64.deb
sudo dpkg -i kcd_1.12.0_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.12.0/kcd_1.12.0_x86_64.rpm
sudo rpm -i kcd_1.12.0_x86_64.rpmChangelog
Bug Fixes
- e8670ca: fix: use separate Dockerfile for GoReleaser to avoid missing go.sum in build context (@bethropolis)
Full Changelog: v1.11.1...v1.12.0
v1.11.1
kcd v1.11.1
Headless KDE Connect daemon for Linux.
Installation
Quick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.11.1/kcd_1.11.1_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.11.1/kcd_1.11.1_x86_64.deb
sudo dpkg -i kcd_1.11.1_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.11.1/kcd_1.11.1_x86_64.rpm
sudo rpm -i kcd_1.11.1_x86_64.rpmChangelog
New Features
- f1993f7: feat: automate AUR publishing via goreleaser (@bethropolis)
Other Changes
- 5ba4a5f: style: go fmt and whitespace alignment (@bethropolis)
Full Changelog: v1.11.0...v1.11.1
v1.11.0
kcd v1.11.0
Headless KDE Connect daemon for Linux.
Installation
Quick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.11.0/kcd_1.11.0_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.11.0/kcd_1.11.0_x86_64.deb
sudo dpkg -i kcd_1.11.0_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.11.0/kcd_1.11.0_x86_64.rpm
sudo rpm -i kcd_1.11.0_x86_64.rpmChangelog
New Features
- f223576: feat: add --connected flag to kcd devices (@bethropolis)
- fbb7721: feat: add --json flag to mpris list for scripting (@bethropolis)
- 40d4cce: feat: add MPRIS now-playing to Waybar tooltip + fix config (@bethropolis)
- 0eedb22: feat: add kcd-pkg.service for distro package installs (@bethropolis)
- 3c6bc83: feat: filter non-clearable notifications (media playback) (@bethropolis)
- f9528e8: feat: phone-side MPRIS control + dual packet send + periodic refresh (@bethropolis)
- 571bf05: feat: sms receive, findthisdevice alarm, remove sendnotification stub (@bethropolis)
Bug Fixes
- cc47d9e: fix: apply review feedback — system service template naming, drop user service namespace hardening (@bethropolis)
- 4ed1263: fix: clean watch exit on Ctrl+C and dual-stack share binding (@bethropolis)
- 8e193e1: fix: fish completions only show connected devices for most commands (@bethropolis)
- b105821: fix: ignore python cache files (@bethropolis)
- 81cd581: fix: install kcd-pkg.service as plain kcd.service, not template (@bethropolis)
- 18ca3f2: fix: ship kcd-pkg.service in deb/rpm and archives (@bethropolis)
- 8bde935: fix: unpair now closes TCP connection, removing ghost connected entries (@bethropolis)
Full Changelog: v1.10.0...v1.11.0
v1.10.0
kcd v1.10.0
Headless KDE Connect daemon for Linux.
Installation
Quick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.10.0/kcd_1.10.0_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.10.0/kcd_1.10.0_x86_64.deb
sudo dpkg -i kcd_1.10.0_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.10.0/kcd_1.10.0_x86_64.rpm
sudo rpm -i kcd_1.10.0_x86_64.rpmChangelog
New Features
- cfcaf00: feat(battery): support configurable notifications and urgency levels (@bethropolis)
- 6d98acb: feat(cli): make device-id optional for findmyphone command by auto-selecting first connected device (@bethropolis)
- d4f3742: feat(clipboard): add --watch flag, remove broken daemon-side watcher (@bethropolis)
- 445c295: feat(clipboard): automatic background sync for Wayland (@bethropolis)
- 9cfda79: feat(config): expand schema with plugin-specific settings and validation (@bethropolis)
- 5993497: feat(daemon): SIGHUP hot-reload, atomic log level, CmdStatus handler (@bethropolis)
- 31d76d4: feat(doctor): add 'kcd doctor' runtime environment checker (@bethropolis)
- eae20f1: feat(mousepad): achieve 100% C++ client feature parity (@bethropolis)
- d783df9: feat(mousepad): add uinput backend for direct virtual device emulation (@bethropolis)
- d6fed8d: feat(mpris): match official KDE Connect C++ behavior for player naming, SetPosition, and album art validation (@bethropolis)
- 43f85fd: feat(mpris): migrate from godbus to playerctl (@bethropolis)
- 2121c81: feat(mpris): migrate from godbus to playerctl (part 2) (@bethropolis)
- feef94f: feat(mpris): migrate from godbus to playerctl (part 3) (@bethropolis)
- d49a84e: feat(mpris): replace playerctl subprocesses with native D-Bus bindings (@bethropolis)
- 5b56ce0: feat(mpris): support precise player capabilities and local file metadata fallbacks (@bethropolis)
- 994cd5a: feat(mpris): use native D-Bus for player list watching and handle browser proxies (@bethropolis)
- c5036b6: feat(notification): add per-app notification filters (@bethropolis)
- 4f5b8b9: feat(notification): implement icon caching and body length limits (@bethropolis)
- 72105e2: feat(plugins): refactor Ping, Pair, and Mousepad for dynamic config (@bethropolis)
- 490fff9: feat(sftp): support custom mount points and keepalive settings (@bethropolis)
- 87ab695: feat(share): add side-channel port ranges and auto-open support (@bethropolis)
- 79f1350: feat(status): add CmdStatus IPC command and StatusResponse type (@bethropolis)
- b85b17a: feat: add kcd mpris status CLI command for debugging MPRIS plugin state (@bethropolis)
- 0f7fa45: feat: broadcast only during pair listen mode, replace enable_broadcast config (@bethropolis)
- f0fc19b: feat: extend MPRIS plugin with shuffle/loop support and album art transfer via side-channel (@bethropolis)
- 036f186: feat: implement active player polling and cache-busting for album art in MPRIS plugin (@bethropolis)
- 7ce45a6: feat: implement comprehensive fish shell completions for kcd subcommands and arguments (@bethropolis)
- 89fb5af: feat: presenter plugin, sftp volumes, pair listen mode + modularization (@bethropolis)
- 68e29dd: feat: volume.update event, devices --watch flag, config improvements (@bethropolis)
Bug Fixes
- b04f135: fix(clipboard): add lastPushedContent to prevent echo-back; request clipboard on connect (@bethropolis)
- 13d5155: fix(clipboard): pass Wayland env vars to spawned wl-paste/wl-copy subprocesses (@bethropolis)
- 971925e: fix(mousepad): use wtype for text input on Wayland even when uinput is active (@bethropolis)
- d21ac8c: fix(mpris): apply action mappings and playback capability indices (@bethropolis)
- 165662f: fix(mpris): debounce album art requests and graceful TLS EOF handling (@bethropolis)
- 5f88f2e: fix(mpris): fix album art glitching and slider controls (@bethropolis)
- 10a0b9e: fix(mpris): fix empty device list and album art not showing up (@bethropolis)
- 1e73ab2: fix(mpris): fix player resolution and signal tracking (@bethropolis)
- c39c647: fix(mpris): fix signal name matching and volume slider reset (@bethropolis)
- 623da4f: fix(mpris): populate uniqueToWellKnown for existing players and fix playerNameToBus initialization (@bethropolis)
- a4a7d5d: fix(mpris): prevent player list widget from disappearing (@bethropolis)
- a3d9260: fix(mpris): track unique D-Bus names and remove post-action polling (@bethropolis)
- 3653634: fix(mpris): use per-player D-Bus signal matches to fix state updates (@bethropolis)
- dab14d5: fix: update install script to correctly set executable permissions for binary installation (@bethropolis)
Performance
- c4b5059: perf(events): increase watch subscriber buffer to 256 (@bethropolis)
- fb097ef: perf(mousepad): replace goroutine-per-packet with single worker (@bethropolis)
- 66a74fd: perf(protocol): add packet pool telemetry via atomic counters (@bethropolis)
- fc071ec: perf(sftp): add auto_cache and kernel_cache to sshfs mount (@bethropolis)
- c8b907d: perf(share): add progress throttling to prevent event flooding (@bethropolis)
- 6ee866c: perf: implement zero-allocation packet reads (@bethropolis)
Other Changes
- 50503b7: build: remove darwin support from goreleaser configuration (@bethropolis)
- bd07458: chore(release): prepare v1.0.5 (@bethropolis)
- 9633e05: refactor(mpris): single watcher, signal-based metadata, incremental player state (@bethropolis)
- f10f251: refactor(plugins): thread-safe RunCommand command map for hot-reload (@bethropolis)
Full Changelog: v1.0.2...v1.10.0
v1.0.5
kcd v1.0.5
Headless KDE Connect daemon for Linux.
Installation
Quick install (Linux amd64):
curl -sSL https://github.com/bethropolis/kcd/releases/download/v1.0.5/kcd_1.0.5_x86_64.tar.gz | tar -xz
sudo mv kcd /usr/local/bin/Debian / Ubuntu:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.0.5/kcd_1.0.5_x86_64.deb
sudo dpkg -i kcd_1.0.5_x86_64.debFedora / RHEL:
curl -LO https://github.com/bethropolis/kcd/releases/download/v1.0.5/kcd_1.0.5_x86_64.rpm
sudo rpm -i kcd_1.0.5_x86_64.rpmChangelog
New Features
- 5993497: feat(daemon): SIGHUP hot-reload, atomic log level, CmdStatus handler (@bethropolis)
- 31d76d4: feat(doctor): add 'kcd doctor' runtime environment checker (@bethropolis)
- c5036b6: feat(notification): add per-app notification filters (@bethropolis)
- 79f1350: feat(status): add CmdStatus IPC command and StatusResponse type (@bethropolis)
- 68e29dd: feat: volume.update event, devices --watch flag, config improvements (@bethropolis)
Bug Fixes
- 8cfaa73: fix(clipboard): add lastPushedContent to prevent echo-back; request clipboard on connect ( <>)
Performance
- 8ecdaea: perf(events): increase watch subscriber buffer to 256 ( <>)
- fb097ef: perf(mousepad): replace goroutine-per-packet with single worker (@bethropolis)
- ef524ba: perf(protocol): add packet pool telemetry via atomic counters ( <>)
- 8ee3b90: perf(sftp): add auto_cache and kernel_cache to sshfs mount ( <>)
- 71034a7: perf(share): add progress throttling to prevent event flooding ( <>)
Other Changes
- 0e0fce4: chore(release): prepare v1.0.5 ( <>)
- f10f251: refactor(plugins): thread-safe RunCommand command map for hot-reload (@bethropolis)
Full Changelog: v1.0.2...v1.0.5