diff --git a/dev.lizardbyte.app.Sunshine.metainfo.xml b/dev.lizardbyte.app.Sunshine.metainfo.xml
index 89b8bcc..261a8f4 100644
--- a/dev.lizardbyte.app.Sunshine.metainfo.xml
+++ b/dev.lizardbyte.app.Sunshine.metainfo.xml
@@ -33,19 +33,514 @@
flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine
NOTE: Sunshine uses a self-signed certificate. The web browser will report it as not secure, but it is safe.
-NOTE: KMS Grab (Flatpak)
-
- sudo -i PULSE_SERVER=unix:/run/user/$(id -u $whoami)/pulse/native flatpak run dev.lizardbyte.app.Sunshine
-
See the full changelog on GitHub - + ## Attention + +This release contains critical security updates. For more information see the following: + +- [GHSA-ph75-mgxh-mv57](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-ph75-mgxh-mv57) + +Please update as soon as possible! + +## Breaking Changes + +* ViGEmBus is no longer installed automatically. Instead you can install it from the troubleshooting page of the web-ui if needed. +* CSRF protection has been added to web-ui. If you access Sunshine through an address other than localhost you must add this to your sunshine.conf file manually. See https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2configuration.html#csrf_allowed_origins + +## Highlighted Changes + +* Added XDG, Pipewire, and KWin direct screencast capture on Linux +* Added Vulkan encoding on Linux +* Added official OpenSUSE packages to LizardByte copr repos +* Added FreeBSD packages +* Sunshine can now bind to a specific network interface +* Added msi/wix installer for Windows +* Added Windows support for ARM64 +* Added signed dmg package for macOS +* Windows executables and installers are now signed for AMD64 packages +* New endpoints for Rest API [/api/covers] +* Updated icons, added themes, and modernized web-ui +* Capture audio on macOS using Tap API +* Add client enable/disable access control from web-ui +* Support for clients to request fractional NTSC framerates +* Support for split frame encoding on GPUs with 2+ nvenc blocks +* Updated FFmpeg to 8.1 branch + +For a comprehensive list of changes, see below. + +## What's Changed +* ci(copr): Trigger release job only for non-prereleases by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4297](https://github.com/LizardByte/Sunshine/pull/4297) +* build(Linux): Refactor Dockerfiles and build script for multi-stage, step-based builds by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4299](https://github.com/LizardByte/Sunshine/pull/4299) +* build(deps): bump vue from 3.5.21 to 3.5.22 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4301](https://github.com/LizardByte/Sunshine/pull/4301) +* build(linux): update pkg-config systemd variable names by [@PVermeer](https://github.com/PVermeer) in [#4303](https://github.com/LizardByte/Sunshine/pull/4303) +* build(deps): bump third-party/build-deps from `c38829d` to `2840c8a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4307](https://github.com/LizardByte/Sunshine/pull/4307) +* build(packaging/homebrew): Rename class from @PROJECT_NAME@ to Sunshine by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4308](https://github.com/LizardByte/Sunshine/pull/4308) +* build(deps): bump LizardByte/actions from 2025.917.25039 to 2025.927.193939 in the lizardbyte-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4309](https://github.com/LizardByte/Sunshine/pull/4309) +* build(deps): bump LizardByte/actions from 2025.927.193939 to 2025.929.125237 in the lizardbyte-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4313](https://github.com/LizardByte/Sunshine/pull/4313) +* fix(linux): service file for Trixie by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4319](https://github.com/LizardByte/Sunshine/pull/4319) +* build(linux): static link std libraries by [@PVermeer](https://github.com/PVermeer) in [#4321](https://github.com/LizardByte/Sunshine/pull/4321) +* build(linux): enable cpack auto dependencies by [@PVermeer](https://github.com/PVermeer) in [#4323](https://github.com/LizardByte/Sunshine/pull/4323) +* build(linux): explicitely set CC and CXX compilers by [@PVermeer](https://github.com/PVermeer) in [#4325](https://github.com/LizardByte/Sunshine/pull/4325) +* feat(audio): allow sending continuous audio by [@mariotaku](https://github.com/mariotaku) in [#4261](https://github.com/LizardByte/Sunshine/pull/4261) +* build(deps): bump LizardByte/actions from 2025.929.125237 to 2025.1011.184228 in the lizardbyte-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4327](https://github.com/LizardByte/Sunshine/pull/4327) +* feat(fps): support x-nv-video[0].clientRefreshRateX100 for requesting fractional NTSC framerates by [@andygrundman](https://github.com/andygrundman) in [#4019](https://github.com/LizardByte/Sunshine/pull/4019) +* build(deps): bump third-party/build-deps from `2840c8a` to `1dd1b68` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4326](https://github.com/LizardByte/Sunshine/pull/4326) +* fix(web-ui): translation function in DisplayOutputSelector label by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4328](https://github.com/LizardByte/Sunshine/pull/4328) +* build(deps): bump actions/setup-node from 5 to 6 in the github-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4334](https://github.com/LizardByte/Sunshine/pull/4334) +* build(deps): bump LizardByte/actions from 2025.1011.184228 to 2025.1020.14905 in the lizardbyte-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4347](https://github.com/LizardByte/Sunshine/pull/4347) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `231e052` to `6537464` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4346](https://github.com/LizardByte/Sunshine/pull/4346) +* build(deps): bump third-party/build-deps from `1dd1b68` to `6c9ec34` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4345](https://github.com/LizardByte/Sunshine/pull/4345) +* build(rpm): Update Fedora spec and CUDA math_functions.h patch for Fedora 43+ by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4353](https://github.com/LizardByte/Sunshine/pull/4353) +* fix(windows): Memory leak when EnumAdapters1 uses dxgi::adapter_t address as parameter by [@xd-byte](https://github.com/xd-byte) in [#4340](https://github.com/LizardByte/Sunshine/pull/4340) +* build(deps): bump the github-actions group with 2 updates by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4356](https://github.com/LizardByte/Sunshine/pull/4356) +* build(rpm): add OpenSUSE support by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4359](https://github.com/LizardByte/Sunshine/pull/4359) +* ci(copr): fix release event conditions by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4360](https://github.com/LizardByte/Sunshine/pull/4360) +* ci: move bundle analysis to separate job by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4361](https://github.com/LizardByte/Sunshine/pull/4361) +* fix(config): ensure apps.json is writeable by [@SuperSandro2000](https://github.com/SuperSandro2000) in [#4249](https://github.com/LizardByte/Sunshine/pull/4249) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4302](https://github.com/LizardByte/Sunshine/pull/4302) +* build(deps): bump LizardByte/actions from 2025.1020.14905 to 2025.1028.23217 in the lizardbyte-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4365](https://github.com/LizardByte/Sunshine/pull/4365) +* build(flatpak): update org.freedesktop.Platform version by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4382](https://github.com/LizardByte/Sunshine/pull/4382) +* docs(readme): Update for clarity and image sources by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4384](https://github.com/LizardByte/Sunshine/pull/4384) +* build(deps): bump third-party/Simple-Web-Server from `187f798` to `546895a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4370](https://github.com/LizardByte/Sunshine/pull/4370) +* build(deps): bump boost to 1.89 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4253](https://github.com/LizardByte/Sunshine/pull/4253) +* build(deps): bump third-party/build-deps from `6c9ec34` to `bcaf64b` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4375](https://github.com/LizardByte/Sunshine/pull/4375) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6537464` to `8d705c8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4385](https://github.com/LizardByte/Sunshine/pull/4385) +* feat(video): use unified color conversion matrix generator by [@ns6089](https://github.com/ns6089) in [#4387](https://github.com/LizardByte/Sunshine/pull/4387) +* build(deps): bump third-party/build-deps from `bcaf64b` to `ca3f2da` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4392](https://github.com/LizardByte/Sunshine/pull/4392) +* fix(config): Add missing framerateX100 fields at the initializers for the video::config_t literals by [@mcourteaux](https://github.com/mcourteaux) in [#4391](https://github.com/LizardByte/Sunshine/pull/4391) +* fix(video): fix leaky abstraction in ogl luma shader by [@ns6089](https://github.com/ns6089) in [#4404](https://github.com/LizardByte/Sunshine/pull/4404) +* build(deps): bump third-party/moonlight-common-c from `5f22801` to `2d984f4` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4409](https://github.com/LizardByte/Sunshine/pull/4409) +* build: add freebsd support by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4049](https://github.com/LizardByte/Sunshine/pull/4049) +* fix(launch): Fix several launch failure conditions (exceptions thrown in child.wait, and boost::split_unix) by [@mcourteaux](https://github.com/mcourteaux) in [#4390](https://github.com/LizardByte/Sunshine/pull/4390) +* ci: harden workflows by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4412](https://github.com/LizardByte/Sunshine/pull/4412) +* fix(win): Windows.Graphics.Capture API frame rate capped at 60fps by [@StringWeaver](https://github.com/StringWeaver) in [#4424](https://github.com/LizardByte/Sunshine/pull/4424) +* build(deps): bump vmactions/freebsd-vm from 1.2.6 to 1.2.7 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4425](https://github.com/LizardByte/Sunshine/pull/4425) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4386](https://github.com/LizardByte/Sunshine/pull/4386) +* build(packaging/Arch): fix cuda gcc version detection by [@Garmelon](https://github.com/Garmelon) in [#4442](https://github.com/LizardByte/Sunshine/pull/4442) +* build(deps): bump third-party/tray from `0309a7c` to `d43f4c2` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4445](https://github.com/LizardByte/Sunshine/pull/4445) +* build(deps): bump third-party/wayland-protocols from `0091197` to `6141e11` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4446](https://github.com/LizardByte/Sunshine/pull/4446) +* build(deps): bump third-party/build-deps from `ca3f2da` to `afe70fa` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4447](https://github.com/LizardByte/Sunshine/pull/4447) +* build(arch): temporarily disable broken Arch build by [@cgutman](https://github.com/cgutman) in [#4451](https://github.com/LizardByte/Sunshine/pull/4451) +* build(deps): bump third-party/moonlight-common-c from `2d984f4` to `b126e48` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4452](https://github.com/LizardByte/Sunshine/pull/4452) +* build(deps): bump vue-i18n from 11.1.12 to 11.2.2 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4454](https://github.com/LizardByte/Sunshine/pull/4454) +* build(deps): bump vue from 3.5.22 to 3.5.25 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4444](https://github.com/LizardByte/Sunshine/pull/4444) +* build(deps): bump actions/checkout from 5 to 6 in the github-actions group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4435](https://github.com/LizardByte/Sunshine/pull/4435) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ea92dc2` to `fdbe66a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4443](https://github.com/LizardByte/Sunshine/pull/4443) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `8d705c8` to `3456e75` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4431](https://github.com/LizardByte/Sunshine/pull/4431) +* fix(tray): use the blocking event loop to avoid wasting power by [@cgutman](https://github.com/cgutman) in [#4457](https://github.com/LizardByte/Sunshine/pull/4457) +* build(deps): bump vmactions/freebsd-vm from 1.2.7 to 1.2.8 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4463](https://github.com/LizardByte/Sunshine/pull/4463) +* ci(homebrew): enable test coverage on Linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3842](https://github.com/LizardByte/Sunshine/pull/3842) +* ci(windows): Remove unused test preparation by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4467](https://github.com/LizardByte/Sunshine/pull/4467) +* ci(homebrew): free runner space on Linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4477](https://github.com/LizardByte/Sunshine/pull/4477) +* build(deps): bump third-party/build-deps from `afe70fa` to `d65e305` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4472](https://github.com/LizardByte/Sunshine/pull/4472) +* build(linux): add support for self-compiling on ubuntu 25.10 by [@a-turtle9302](https://github.com/a-turtle9302) in [#4471](https://github.com/LizardByte/Sunshine/pull/4471) +* ci(linux): migrate Archlinux build to GitHub workflow by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4478](https://github.com/LizardByte/Sunshine/pull/4478) +* build(tests): static link libgcc and libstdc++ on Linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4485](https://github.com/LizardByte/Sunshine/pull/4485) +* build(homebrew): Run test_sunshine and coverage only for main repo by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4491](https://github.com/LizardByte/Sunshine/pull/4491) +* style(Homebrew): Update Homebrew formula dependencies and conflicts by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4484](https://github.com/LizardByte/Sunshine/pull/4484) +* fix: namespace declaration for boost::process::v1 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4518](https://github.com/LizardByte/Sunshine/pull/4518) +* chore: change libevdev source to LizardByte mirror by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4524](https://github.com/LizardByte/Sunshine/pull/4524) +* chore(homebrew): add bottle do section placeholder by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4525](https://github.com/LizardByte/Sunshine/pull/4525) +* feat(network): allow binding to specific interface by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4481](https://github.com/LizardByte/Sunshine/pull/4481) +* build(deps): bump the github-actions group across 1 directory with 3 updates by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4503](https://github.com/LizardByte/Sunshine/pull/4503) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4486](https://github.com/LizardByte/Sunshine/pull/4486) +* build(deps): bump vmactions/freebsd-vm from 1.2.8 to 1.3.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4489](https://github.com/LizardByte/Sunshine/pull/4489) +* build(deps): bump peter-evans/create-pull-request from 7 to 8 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4496](https://github.com/LizardByte/Sunshine/pull/4496) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `3456e75` to `72028a8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4517](https://github.com/LizardByte/Sunshine/pull/4517) +* build(deps): bump LizardByte/actions from 2025.1221.31807 to 2025.1224.155016 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4533](https://github.com/LizardByte/Sunshine/pull/4533) +* build(deps): bump vue from 3.5.25 to 3.5.26 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4522](https://github.com/LizardByte/Sunshine/pull/4522) +* build(deps): bump vue-i18n from 11.2.2 to 11.2.7 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4529](https://github.com/LizardByte/Sunshine/pull/4529) +* build(deps): bump third-party/wayland-protocols from `6141e11` to `8822301` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4513](https://github.com/LizardByte/Sunshine/pull/4513) +* build(deps): bump third-party/build-deps from `d65e305` to `814fa85` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4526](https://github.com/LizardByte/Sunshine/pull/4526) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4497](https://github.com/LizardByte/Sunshine/pull/4497) +* ci(homebrew): fix formula version patch by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4535](https://github.com/LizardByte/Sunshine/pull/4535) +* ci(homebrew): fix livecheck patch by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4538](https://github.com/LizardByte/Sunshine/pull/4538) +* build(deps): bump LizardByte/actions from 2025.1224.155016 to 2025.1227.191137 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4541](https://github.com/LizardByte/Sunshine/pull/4541) +* build(Archlinux): Update GCC version in PKGBUILD to 15 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4546](https://github.com/LizardByte/Sunshine/pull/4546) +* fix(nvenc): Include bitstream restrictions in H.264/HEVC SPS by [@cgutman](https://github.com/cgutman) in [#4556](https://github.com/LizardByte/Sunshine/pull/4556) +* build(packaging): bash comparison in PKGBUILD by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4565](https://github.com/LizardByte/Sunshine/pull/4565) +* build(vaapi): Add vaMapBuffers2() stub by [@cgutman](https://github.com/cgutman) in [#4581](https://github.com/LizardByte/Sunshine/pull/4581) +* ci: run workflows for any branch by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4584](https://github.com/LizardByte/Sunshine/pull/4584) +* build(deps): bump third-party/build-deps from `814fa85` to `4463f7a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4578](https://github.com/LizardByte/Sunshine/pull/4578) +* build(deps): bump third-party/moonlight-common-c from `b126e48` to `435bc6a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4576](https://github.com/LizardByte/Sunshine/pull/4576) +* build(deps): bump vmactions/freebsd-vm from 1.3.0 to 1.3.7 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4574](https://github.com/LizardByte/Sunshine/pull/4574) +* build(deps): bump vue-i18n from 11.2.7 to 11.2.8 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4553](https://github.com/LizardByte/Sunshine/pull/4553) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `fdbe66a` to `db39dc0` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4550](https://github.com/LizardByte/Sunshine/pull/4550) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `72028a8` to `d1a2cf5` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4575](https://github.com/LizardByte/Sunshine/pull/4575) +* build(deps): bump LizardByte/actions from 2025.1227.191137 to 2026.116.208 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4587](https://github.com/LizardByte/Sunshine/pull/4587) +* build(Archlinux): Switch from calling make directly to using cmake by [@Freakness109](https://github.com/Freakness109) in [#4579](https://github.com/LizardByte/Sunshine/pull/4579) +* fix(linux/wlr): Fix dmabuf buffer params protocol violation/leak by [@Dregu](https://github.com/Dregu) in [#4588](https://github.com/LizardByte/Sunshine/pull/4588) +* fix(config): create apps.json from default after loading file_apps cfg by [@amarshall](https://github.com/amarshall) in [#4568](https://github.com/LizardByte/Sunshine/pull/4568) +* build(linux): Add Fedora 43 support to the build script by [@craimasjien](https://github.com/craimasjien) in [#4532](https://github.com/LizardByte/Sunshine/pull/4532) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4548](https://github.com/LizardByte/Sunshine/pull/4548) +* fix(windows): resolve disappearing cursor after KVM switch by [@tstokes22](https://github.com/tstokes22) in [#4407](https://github.com/LizardByte/Sunshine/pull/4407) +* fix(audio-info): crash when device name contains special characters by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4095](https://github.com/LizardByte/Sunshine/pull/4095) +* fix(macos/input): Fix handling of mouse wheel scroll events by [@andygrundman](https://github.com/andygrundman) in [#4592](https://github.com/LizardByte/Sunshine/pull/4592) +* fix(linux): added support for logical screen size with zxdg_output_v1 by [@juliosanz](https://github.com/juliosanz) in [#4594](https://github.com/LizardByte/Sunshine/pull/4594) +* feat(packaging/linux): enable cuda support for homebrew by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4593](https://github.com/LizardByte/Sunshine/pull/4593) +* build(arch): enhanced arch support for linux build script by [@juliosanz](https://github.com/juliosanz) in [#4595](https://github.com/LizardByte/Sunshine/pull/4595) +* build(windows): fix rc version for llvm clang by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4606](https://github.com/LizardByte/Sunshine/pull/4606) +* build(flatpak): drop libnotify module by [@yakushabb](https://github.com/yakushabb) in [#4604](https://github.com/LizardByte/Sunshine/pull/4604) +* fix(linux): fix issues with rendering and touchscreens when displays are scaled by [@juliosanz](https://github.com/juliosanz) in [#4607](https://github.com/LizardByte/Sunshine/pull/4607) +* build(homebrew): optimize build options by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4612](https://github.com/LizardByte/Sunshine/pull/4612) +* chore: clean up implicit conversions by [@andygrundman](https://github.com/andygrundman) in [#4611](https://github.com/LizardByte/Sunshine/pull/4611) +* feat(macos/build): add basic macOS build script based on linux_build.sh by [@andygrundman](https://github.com/andygrundman) in [#4598](https://github.com/LizardByte/Sunshine/pull/4598) +* perf(threads): implement adjust_thread_priority for macOS and add set_thread_name by [@andygrundman](https://github.com/andygrundman) in [#4605](https://github.com/LizardByte/Sunshine/pull/4605) +* feat(windows): add ViGEmBus driver management API and UI integration by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4625](https://github.com/LizardByte/Sunshine/pull/4625) +* feat(web-ui): render changelog for new release sections by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4629](https://github.com/LizardByte/Sunshine/pull/4629) +* feat(web-ui)!: remove discord widget by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4630](https://github.com/LizardByte/Sunshine/pull/4630) +* fix(linux/kms): skip NVIDIA cards for VAAPI on hybrid GPU laptops by [@coleleavitt](https://github.com/coleleavitt) in [#4473](https://github.com/LizardByte/Sunshine/pull/4473) +* build(deps): bump vue from 3.5.26 to 3.5.27 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4602](https://github.com/LizardByte/Sunshine/pull/4602) +* feat(api): add application image endpoint by [@cilps](https://github.com/cilps) in [#4627](https://github.com/LizardByte/Sunshine/pull/4627) +* fix(web-ui): modernize UI by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4631](https://github.com/LizardByte/Sunshine/pull/4631) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4600](https://github.com/LizardByte/Sunshine/pull/4600) +* build(fedora): use nvm to install npm for rawhide by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4646](https://github.com/LizardByte/Sunshine/pull/4646) +* build(deps): bump third-party/moonlight-common-c from `435bc6a` to `305993b` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4648](https://github.com/LizardByte/Sunshine/pull/4648) +* build(deps): bump @lizardbyte/shared-web from 2025.922.181114 to 2026.125.235713 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4632](https://github.com/LizardByte/Sunshine/pull/4632) +* build(deps): bump vmactions/freebsd-vm from 1.3.7 to 1.3.8 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4643](https://github.com/LizardByte/Sunshine/pull/4643) +* build(deps): bump third-party/build-deps from `4463f7a` to `4f5e8b2` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4609](https://github.com/LizardByte/Sunshine/pull/4609) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `d1a2cf5` to `cb06063` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4644](https://github.com/LizardByte/Sunshine/pull/4644) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `db39dc0` to `216a52e` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4640](https://github.com/LizardByte/Sunshine/pull/4640) +* build(deps): bump LizardByte/actions from 2026.116.208 to 2026.129.194351 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4647](https://github.com/LizardByte/Sunshine/pull/4647) +* build: add --ignore-scripts to npm install commands by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4655](https://github.com/LizardByte/Sunshine/pull/4655) +* build(deps): bump LizardByte/actions from 2026.129.194351 to 2026.203.15239 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4656](https://github.com/LizardByte/Sunshine/pull/4656) +* feat(linux)!: Support streaming through XDG portals and Pipewire by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4417](https://github.com/LizardByte/Sunshine/pull/4417) +* chore: update GitHub Actions to use commit hashes by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4659](https://github.com/LizardByte/Sunshine/pull/4659) +* build(deps): bump babel from 2.17.0 to 2.18.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4653](https://github.com/LizardByte/Sunshine/pull/4653) +* build(deps): bump actions/checkout from 6.0.1 to 6.0.2 in the github-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4663](https://github.com/LizardByte/Sunshine/pull/4663) +* build(deps): bump third-party/doxyconfig from `1188ef2` to `89c8ec9` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4657](https://github.com/LizardByte/Sunshine/pull/4657) +* build(deps): bump third-party/libdisplaydevice from `f31e46d` to `b46492b` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4678](https://github.com/LizardByte/Sunshine/pull/4678) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `cb06063` to `3d87a66` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4683](https://github.com/LizardByte/Sunshine/pull/4683) +* build(deps): bump third-party/moonlight-common-c from `305993b` to `6250fa2` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4682](https://github.com/LizardByte/Sunshine/pull/4682) +* build(deps): bump vmactions/freebsd-vm from 1.3.8 to 1.4.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4676](https://github.com/LizardByte/Sunshine/pull/4676) +* fix(linux/xdgportal): populate host latency statistics by [@psyke83](https://github.com/psyke83) in [#4685](https://github.com/LizardByte/Sunshine/pull/4685) +* fix(linux/xdgportal): flag stream as realtime by [@psyke83](https://github.com/psyke83) in [#4684](https://github.com/LizardByte/Sunshine/pull/4684) +* refactor(packaging/windows): installer script execution by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4675](https://github.com/LizardByte/Sunshine/pull/4675) +* feat(installer/windows): add wix installer by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3916](https://github.com/LizardByte/Sunshine/pull/3916) +* build(windows): add arm64 support by [@rbqvq](https://github.com/rbqvq) in [#3905](https://github.com/LizardByte/Sunshine/pull/3905) +* revert: "fix(linux/xdgportal): flag stream as realtime" by [@psyke83](https://github.com/psyke83) in [#4686](https://github.com/LizardByte/Sunshine/pull/4686) +* docs: miscellaneous updates by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4597](https://github.com/LizardByte/Sunshine/pull/4597) +* build(web-ui): fix rollup failing by [@rbqvq](https://github.com/rbqvq) in [#4687](https://github.com/LizardByte/Sunshine/pull/4687) +* ci(deps): use codecov-action for test results by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4689](https://github.com/LizardByte/Sunshine/pull/4689) +* fix(log): prevent sink destruction caused by backend exceptions by [@Yundi339](https://github.com/Yundi339) in [#4694](https://github.com/LizardByte/Sunshine/pull/4694) +* build(deps): bump vue from 3.5.27 to 3.5.28 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4696](https://github.com/LizardByte/Sunshine/pull/4696) +* build(deps): bump vmactions/freebsd-vm from 1.4.0 to 1.4.1 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4690](https://github.com/LizardByte/Sunshine/pull/4690) +* build(deps): migrate ffmpeg prebuild to downloaded archive by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4699](https://github.com/LizardByte/Sunshine/pull/4699) +* fix(flatpak): Add pipewire access for XDG portal grab by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4704](https://github.com/LizardByte/Sunshine/pull/4704) +* fix(linux/xdgportal): improve thread loop (un)locking & teardown logic by [@psyke83](https://github.com/psyke83) in [#4705](https://github.com/LizardByte/Sunshine/pull/4705) +* build(deps): bump LizardByte/actions from 2026.203.15239 to 2026.212.22356 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4706](https://github.com/LizardByte/Sunshine/pull/4706) +* build(deps): bump vmactions/freebsd-vm from 1.4.1 to 1.4.2 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4707](https://github.com/LizardByte/Sunshine/pull/4707) +* build(deps): bump marked from 17.0.1 to 17.0.2 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4710](https://github.com/LizardByte/Sunshine/pull/4710) +* fix(linux): update systemd service units by [@psyke83](https://github.com/psyke83) in [#4712](https://github.com/LizardByte/Sunshine/pull/4712) +* feat(macos/tray): allow tray icon paths to be set at runtime from .app bundle by [@andygrundman](https://github.com/andygrundman) in [#4711](https://github.com/LizardByte/Sunshine/pull/4711) +* ci: scope workflow permissions to job level by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4717](https://github.com/LizardByte/Sunshine/pull/4717) +* build(deps): bump LizardByte/actions from 2026.212.22356 to 2026.214.14019 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4719](https://github.com/LizardByte/Sunshine/pull/4719) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4725](https://github.com/LizardByte/Sunshine/pull/4725) +* fix(linux/xdgportal): stream scaling and mode change support by [@psyke83](https://github.com/psyke83) in [#4700](https://github.com/LizardByte/Sunshine/pull/4700) +* fix(linux): fix touch misalignment for wlgrab on scaled outputs by [@herboh](https://github.com/herboh) in [#4665](https://github.com/LizardByte/Sunshine/pull/4665) +* fix(gh-pages): style fixes for theme switcher by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4748](https://github.com/LizardByte/Sunshine/pull/4748) +* build(deps): bump third-party/moonlight-common-c from `6250fa2` to `b187204` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4751](https://github.com/LizardByte/Sunshine/pull/4751) +* feat(linux/xdgportal): implement reactive capture with duplicate detection by [@psyke83](https://github.com/psyke83) in [#4740](https://github.com/LizardByte/Sunshine/pull/4740) +* fix(linux/kmsgrab): fix handle leak in update_cursor by [@psyke83](https://github.com/psyke83) in [#4757](https://github.com/LizardByte/Sunshine/pull/4757) +* build(deps): bump LizardByte/build-deps by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4761](https://github.com/LizardByte/Sunshine/pull/4761) +* build(deps): bump third-party/moonlight-common-c from `b187204` to `3fa9191` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4755](https://github.com/LizardByte/Sunshine/pull/4755) +* build(deps): bump lucide-vue-next from 0.563.0 to 0.575.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4752](https://github.com/LizardByte/Sunshine/pull/4752) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `3d87a66` to `55a86b3` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4741](https://github.com/LizardByte/Sunshine/pull/4741) +* build(deps): bump marked from 17.0.2 to 17.0.3 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4744](https://github.com/LizardByte/Sunshine/pull/4744) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `216a52e` to `4d5e760` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4766](https://github.com/LizardByte/Sunshine/pull/4766) +* fix: replace remaining FontAwesome icons and drop shared-web dependency by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4764](https://github.com/LizardByte/Sunshine/pull/4764) +* build(python): migrate to pyproject.toml and bump python to 3.14 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4772](https://github.com/LizardByte/Sunshine/pull/4772) +* docs: add maintainer release instructions by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4773](https://github.com/LizardByte/Sunshine/pull/4773) +* build(deps): bump third-party/moonlight-common-c from `3fa9191` to `6268780` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4765](https://github.com/LizardByte/Sunshine/pull/4765) +* build(deps): bump vue from 3.5.28 to 3.5.29 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4767](https://github.com/LizardByte/Sunshine/pull/4767) +* chore(github): add Qualcomm GPU option to bug report template by [@rbqvq](https://github.com/rbqvq) in [#4733](https://github.com/LizardByte/Sunshine/pull/4733) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4698](https://github.com/LizardByte/Sunshine/pull/4698) +* build(deps): bump third-party/doxyconfig from `89c8ec9` to `ba47416` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4778](https://github.com/LizardByte/Sunshine/pull/4778) +* fix(linux/xdgportal): don't pass `external_only` argument to `eglQueryDmaBufModifiersEXT` by [@leenr](https://github.com/leenr) in [#4754](https://github.com/LizardByte/Sunshine/pull/4754) +* build(deps-dev): bump vite from 6.3.6 to 6.4.1 in the dev-dependencies group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4782](https://github.com/LizardByte/Sunshine/pull/4782) +* build(deps): bump the github-actions group across 1 directory with 2 updates by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4783](https://github.com/LizardByte/Sunshine/pull/4783) +* refactor: replace macros with constexpr/consts by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4791](https://github.com/LizardByte/Sunshine/pull/4791) +* style(cpp): separate multiple variable declarations by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4795](https://github.com/LizardByte/Sunshine/pull/4795) +* build(deps): bump LizardByte/actions from 2026.214.14019 to 2026.227.200013 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4789](https://github.com/LizardByte/Sunshine/pull/4789) +* fix: struct ordering broken in 188f1e2959e44b4a463bf4dee616a5cbee6f3557 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4802](https://github.com/LizardByte/Sunshine/pull/4802) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4807](https://github.com/LizardByte/Sunshine/pull/4807) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `4d5e760` to `5de4612` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4808](https://github.com/LizardByte/Sunshine/pull/4808) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `55a86b3` to `fc11224` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4809](https://github.com/LizardByte/Sunshine/pull/4809) +* feat(web-ui): clipboard copy feedback on Troubleshooting logs by [@eduardomozart](https://github.com/eduardomozart) in [#4803](https://github.com/LizardByte/Sunshine/pull/4803) +* build(deps): bump vue3-simple-icons from 15.6.0 to 16.10.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4804](https://github.com/LizardByte/Sunshine/pull/4804) +* build(deps): bump lucide-vue-next from 0.575.0 to 0.576.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4805](https://github.com/LizardByte/Sunshine/pull/4805) +* feat(macos): build a signed .app bundle in a .dmg by [@andygrundman](https://github.com/andygrundman) in [#4759](https://github.com/LizardByte/Sunshine/pull/4759) +* build(deps): bump the github-actions group across 1 directory with 2 updates by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4810](https://github.com/LizardByte/Sunshine/pull/4810) +* build(deps-dev): bump serve from 14.2.5 to 14.2.6 in the dev-dependencies group by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4814](https://github.com/LizardByte/Sunshine/pull/4814) +* fix(build): ensure libopus is statically linked by [@andygrundman](https://github.com/andygrundman) in [#4819](https://github.com/LizardByte/Sunshine/pull/4819) +* build(fedora): fix rawhide build by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4821](https://github.com/LizardByte/Sunshine/pull/4821) +* fix(macos): hide the Dock icon by [@andygrundman](https://github.com/andygrundman) in [#4823](https://github.com/LizardByte/Sunshine/pull/4823) +* fix(linux/portal): set env_width/env_height so touch input works by [@michalzxc](https://github.com/michalzxc) in [#4822](https://github.com/LizardByte/Sunshine/pull/4822) +* build(deps): bump marked from 17.0.3 to 17.0.4 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4817](https://github.com/LizardByte/Sunshine/pull/4817) +* build(deps): bump actions/setup-dotnet from 5.1.0 to 5.2.0 in the github-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4815](https://github.com/LizardByte/Sunshine/pull/4815) +* ci(macOS): check notary status in separate job by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4820](https://github.com/LizardByte/Sunshine/pull/4820) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4793](https://github.com/LizardByte/Sunshine/pull/4793) +* build(homebrew): dynamic link opus by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4826](https://github.com/LizardByte/Sunshine/pull/4826) +* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp by [@andygrundman](https://github.com/andygrundman) in [#4787](https://github.com/LizardByte/Sunshine/pull/4787) +* fix(linux): use FQDN naming for all Linux packaging types by [@psyke83](https://github.com/psyke83) in [#4779](https://github.com/LizardByte/Sunshine/pull/4779) +* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4818](https://github.com/LizardByte/Sunshine/pull/4818) +* refactor(confighttp): HTML page handlers into generic getPage function by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4645](https://github.com/LizardByte/Sunshine/pull/4645) +* build(deps): move nvapi to official NVIDIA repo and bump to R590 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3725](https://github.com/LizardByte/Sunshine/pull/3725) +* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4828](https://github.com/LizardByte/Sunshine/pull/4828) +* feat(linux/xdgportal): implement event-driven capture by [@psyke83](https://github.com/psyke83) in [#4768](https://github.com/LizardByte/Sunshine/pull/4768) +* build(windows): sign windows executables by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4829](https://github.com/LizardByte/Sunshine/pull/4829) +* build(deps): bump vue from 3.5.29 to 3.5.30 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4834](https://github.com/LizardByte/Sunshine/pull/4834) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4831](https://github.com/LizardByte/Sunshine/pull/4831) +* fix(web-ui): add missing featured apps platform icons by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4837](https://github.com/LizardByte/Sunshine/pull/4837) +* ci(windows): disable signing for arm64 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4838](https://github.com/LizardByte/Sunshine/pull/4838) +* fix(linux/xdgportal): descriptor/pointer cleanups by [@psyke83](https://github.com/psyke83) in [#4840](https://github.com/LizardByte/Sunshine/pull/4840) +* feat(web-ui): add browse feature to find directories/executables/files by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4848](https://github.com/LizardByte/Sunshine/pull/4848) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4844](https://github.com/LizardByte/Sunshine/pull/4844) +* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4842](https://github.com/LizardByte/Sunshine/pull/4842) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4841](https://github.com/LizardByte/Sunshine/pull/4841) +* build(Fedora): Adjust version ranges for GCC selection by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4851](https://github.com/LizardByte/Sunshine/pull/4851) +* fix(linux/xdgportal): avoid duplicate frame insertion by [@psyke83](https://github.com/psyke83) in [#4839](https://github.com/LizardByte/Sunshine/pull/4839) +* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4849](https://github.com/LizardByte/Sunshine/pull/4849) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4850](https://github.com/LizardByte/Sunshine/pull/4850) +* build(linux): generate glad sources at compile time by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4798](https://github.com/LizardByte/Sunshine/pull/4798) +* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4853](https://github.com/LizardByte/Sunshine/pull/4853) +* chore(i18n): clarify cmd notes by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4856](https://github.com/LizardByte/Sunshine/pull/4856) +* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4860](https://github.com/LizardByte/Sunshine/pull/4860) +* build(deps): bump third-party/glad from `dcc4f69` to `73db193` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4858](https://github.com/LizardByte/Sunshine/pull/4858) +* fix(linux/xdgportal): allow unified systemd service for all capture methods by [@psyke83](https://github.com/psyke83) in [#4854](https://github.com/LizardByte/Sunshine/pull/4854) +* feat(linux/keyboard): add F13-F24 keycodes by [@4xMSAA](https://github.com/4xMSAA) in [#4833](https://github.com/LizardByte/Sunshine/pull/4833) +* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4864](https://github.com/LizardByte/Sunshine/pull/4864) +* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4866](https://github.com/LizardByte/Sunshine/pull/4866) +* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4870](https://github.com/LizardByte/Sunshine/pull/4870) +* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4871](https://github.com/LizardByte/Sunshine/pull/4871) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4872](https://github.com/LizardByte/Sunshine/pull/4872) +* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4873](https://github.com/LizardByte/Sunshine/pull/4873) +* fix(linux): use FQDN service name in desktop launcher by [@htrex](https://github.com/htrex) in [#4874](https://github.com/LizardByte/Sunshine/pull/4874) +* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility by [@psyke83](https://github.com/psyke83) in [#4875](https://github.com/LizardByte/Sunshine/pull/4875) +* feat(macOS): Capture audio on macOS using Tap API by [@ThomVanL](https://github.com/ThomVanL) in [#4209](https://github.com/LizardByte/Sunshine/pull/4209) +* feat(linux/glad): implement EGL_IMG_context_priority by [@psyke83](https://github.com/psyke83) in [#4857](https://github.com/LizardByte/Sunshine/pull/4857) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4880](https://github.com/LizardByte/Sunshine/pull/4880) +* build(deps): bump marked from 17.0.4 to 17.0.5 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4881](https://github.com/LizardByte/Sunshine/pull/4881) +* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4888](https://github.com/LizardByte/Sunshine/pull/4888) +* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4887](https://github.com/LizardByte/Sunshine/pull/4887) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4886](https://github.com/LizardByte/Sunshine/pull/4886) +* fix(csrf): make errors more apparent by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4889](https://github.com/LizardByte/Sunshine/pull/4889) +* fix: clear tray icon when unpairing the last paired client by [@aliefe04](https://github.com/aliefe04) in [#4890](https://github.com/LizardByte/Sunshine/pull/4890) +* feat(linux): add thread priority support for POSIX systems by [@psyke83](https://github.com/psyke83) in [#4885](https://github.com/LizardByte/Sunshine/pull/4885) +* build: fix build-deps tag matching by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4899](https://github.com/LizardByte/Sunshine/pull/4899) +* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4894](https://github.com/LizardByte/Sunshine/pull/4894) +* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4893](https://github.com/LizardByte/Sunshine/pull/4893) +* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4905](https://github.com/LizardByte/Sunshine/pull/4905) +* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4903](https://github.com/LizardByte/Sunshine/pull/4903) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4910](https://github.com/LizardByte/Sunshine/pull/4910) +* build(deps): bump vue from 3.5.30 to 3.5.31 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4911](https://github.com/LizardByte/Sunshine/pull/4911) +* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4920](https://github.com/LizardByte/Sunshine/pull/4920) +* test(windows): fix display device tests with clang by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4921](https://github.com/LizardByte/Sunshine/pull/4921) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4916](https://github.com/LizardByte/Sunshine/pull/4916) +* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4913](https://github.com/LizardByte/Sunshine/pull/4913) +* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user by [@chewi](https://github.com/chewi) in [#4915](https://github.com/LizardByte/Sunshine/pull/4915) +* fix: restore stdin-based pairing by [@MrAwesome](https://github.com/MrAwesome) in [#4912](https://github.com/LizardByte/Sunshine/pull/4912) +* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4923](https://github.com/LizardByte/Sunshine/pull/4923) +* feat(api/ui): add client enable/disable access control by [@neatnoise](https://github.com/neatnoise) in [#4771](https://github.com/LizardByte/Sunshine/pull/4771) +* fix(windows): update-path.bat registry command syntax in installer by [@kmzs123](https://github.com/kmzs123) in [#4902](https://github.com/LizardByte/Sunshine/pull/4902) +* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4928](https://github.com/LizardByte/Sunshine/pull/4928) +* feat(linux): Add Vulkan video encoder by [@neatnoise](https://github.com/neatnoise) in [#4603](https://github.com/LizardByte/Sunshine/pull/4603) +* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4930](https://github.com/LizardByte/Sunshine/pull/4930) +* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4917](https://github.com/LizardByte/Sunshine/pull/4917) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4936](https://github.com/LizardByte/Sunshine/pull/4936) +* build(deps): bump vue from 3.5.31 to 3.5.32 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4941](https://github.com/LizardByte/Sunshine/pull/4941) +* build(deps): bump marked from 17.0.5 to 18.0.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4957](https://github.com/LizardByte/Sunshine/pull/4957) +* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4953](https://github.com/LizardByte/Sunshine/pull/4953) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4949](https://github.com/LizardByte/Sunshine/pull/4949) +* fix: redact logging of sensitive config & CSRF validation by [@psyke83](https://github.com/psyke83) in [#4955](https://github.com/LizardByte/Sunshine/pull/4955) +* fix(linux): correct "Pulseadio" typo in PulseAudio log messages by [@atassis](https://github.com/atassis) in [#4956](https://github.com/LizardByte/Sunshine/pull/4956) +* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import by [@neatnoise](https://github.com/neatnoise) in [#4962](https://github.com/LizardByte/Sunshine/pull/4962) +* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays by [@Kishi85](https://github.com/Kishi85) in [#4931](https://github.com/LizardByte/Sunshine/pull/4931) +* fix(linux/postins): allow running on rpm-ostree environments by [@ykshek](https://github.com/ykshek) in [#4963](https://github.com/LizardByte/Sunshine/pull/4963) +* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4970](https://github.com/LizardByte/Sunshine/pull/4970) +* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4964](https://github.com/LizardByte/Sunshine/pull/4964) +* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab by [@Kishi85](https://github.com/Kishi85) in [#4969](https://github.com/LizardByte/Sunshine/pull/4969) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4976](https://github.com/LizardByte/Sunshine/pull/4976) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4983](https://github.com/LizardByte/Sunshine/pull/4983) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4975](https://github.com/LizardByte/Sunshine/pull/4975) +* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4974](https://github.com/LizardByte/Sunshine/pull/4974) +* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4973](https://github.com/LizardByte/Sunshine/pull/4973) +* fix(linux/xdgportal): Additional error handling and minor code improvements by [@Kishi85](https://github.com/Kishi85) in [#4979](https://github.com/LizardByte/Sunshine/pull/4979) +* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding by [@neatnoise](https://github.com/neatnoise) in [#4984](https://github.com/LizardByte/Sunshine/pull/4984) +* build(deps-dev): bump vite from 6.4.1 to 6.4.2 by [@dependabot[bot]](https://github.com/apps/dependabot) in [#4985](https://github.com/LizardByte/Sunshine/pull/4985) +* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" by [@neatnoise](https://github.com/neatnoise) in [#4989](https://github.com/LizardByte/Sunshine/pull/4989) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#4990](https://github.com/LizardByte/Sunshine/pull/4990) +* fix(linux/vulkan): encoder not working on NVIDIA GPUs by [@Signynt](https://github.com/Signynt) in [#4994](https://github.com/LizardByte/Sunshine/pull/4994) +* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 by [@renovate[bot]](https://github.com/apps/renovate) in [#4992](https://github.com/LizardByte/Sunshine/pull/4992) +* chore(deps): update actions/cache action to v5.0.5 by [@renovate[bot]](https://github.com/apps/renovate) in [#4991](https://github.com/LizardByte/Sunshine/pull/4991) +* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock by [@neatnoise](https://github.com/neatnoise) in [#5005](https://github.com/LizardByte/Sunshine/pull/5005) +* chore(deps): update dependency setuptools to v81 by [@renovate[bot]](https://github.com/apps/renovate) in [#5003](https://github.com/LizardByte/Sunshine/pull/5003) +* chore(deps): update lizardbyte/actions action to v2026.417.35446 by [@renovate[bot]](https://github.com/apps/renovate) in [#5012](https://github.com/LizardByte/Sunshine/pull/5012) +* chore(deps): update dependency marked to v18.0.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5011](https://github.com/LizardByte/Sunshine/pull/5011) +* chore(deps): update vmactions/freebsd-vm action to v1.4.5 by [@renovate[bot]](https://github.com/apps/renovate) in [#5001](https://github.com/LizardByte/Sunshine/pull/5001) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5015](https://github.com/LizardByte/Sunshine/pull/5015) +* chore(deps): update msys2/setup-msys2 action to v2.31.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5016](https://github.com/LizardByte/Sunshine/pull/5016) +* chore(deps): update dependency @codecov/vite-plugin to v2 by [@renovate[bot]](https://github.com/apps/renovate) in [#4996](https://github.com/LizardByte/Sunshine/pull/4996) +* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan by [@neatnoise](https://github.com/neatnoise) in [#4961](https://github.com/LizardByte/Sunshine/pull/4961) +* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused by [@Kishi85](https://github.com/Kishi85) in [#5008](https://github.com/LizardByte/Sunshine/pull/5008) +* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5027](https://github.com/LizardByte/Sunshine/pull/5027) +* fix: Resolve minimum_fps_target related issues on all platforms by [@psyke83](https://github.com/psyke83) in [#4967](https://github.com/LizardByte/Sunshine/pull/4967) +* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock by [@neatnoise](https://github.com/neatnoise) in [#5031](https://github.com/LizardByte/Sunshine/pull/5031) +* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks by [@andygrundman](https://github.com/andygrundman) in [#4892](https://github.com/LizardByte/Sunshine/pull/4892) +* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp by [@Kishi85](https://github.com/Kishi85) in [#5026](https://github.com/LizardByte/Sunshine/pull/5026) +* fix(linux/vulkan): change default rate control from VBR to CBR by [@neatnoise](https://github.com/neatnoise) in [#5032](https://github.com/LizardByte/Sunshine/pull/5032) +* chore(deps): update actions/setup-node action to v6.4.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5033](https://github.com/LizardByte/Sunshine/pull/5033) +* chore(deps): update dependency marked to v18.0.2 by [@renovate[bot]](https://github.com/apps/renovate) in [#5022](https://github.com/LizardByte/Sunshine/pull/5022) +* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5035](https://github.com/LizardByte/Sunshine/pull/5035) +* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support by [@neatnoise](https://github.com/neatnoise) in [#5030](https://github.com/LizardByte/Sunshine/pull/5030) +* chore(deps): update apple-actions/import-codesign-certs action to v7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5037](https://github.com/LizardByte/Sunshine/pull/5037) +* fix: touch scaling bug and initialize display variables as 0 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4758](https://github.com/LizardByte/Sunshine/pull/4758) +* fix(network): restore ExternalIP in server info response by [@neatnoise](https://github.com/neatnoise) in [#5043](https://github.com/LizardByte/Sunshine/pull/5043) +* chore(deps): update dependency vue to v3.5.33 by [@renovate[bot]](https://github.com/apps/renovate) in [#5042](https://github.com/LizardByte/Sunshine/pull/5042) +* fix(linux/pipewire): Fix absolute touchinput for multi-monitor by [@Kishi85](https://github.com/Kishi85) in [#5041](https://github.com/LizardByte/Sunshine/pull/5041) +* refactor(linux): remove leftovers from portalgrab -> pipewire split by [@psyke83](https://github.com/psyke83) in [#5039](https://github.com/LizardByte/Sunshine/pull/5039) +* docs(readme): restructure feature compatibility tables by [@neatnoise](https://github.com/neatnoise) in [#5040](https://github.com/LizardByte/Sunshine/pull/5040) +* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t by [@Kishi85](https://github.com/Kishi85) in [#5050](https://github.com/LizardByte/Sunshine/pull/5050) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5052](https://github.com/LizardByte/Sunshine/pull/5052) +* chore(deps): update dependency vue-i18n to v11.4.0 - autoclosed by [@renovate[bot]](https://github.com/apps/renovate) in [#5048](https://github.com/LizardByte/Sunshine/pull/5048) +* feat(linux/xdgportal): Simplify display matching logic by [@Kishi85](https://github.com/Kishi85) in [#5053](https://github.com/LizardByte/Sunshine/pull/5053) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5055](https://github.com/LizardByte/Sunshine/pull/5055) +* feat(linux/pipewire): Add support for pipewire stream selection by object serial by [@Kishi85](https://github.com/Kishi85) in [#5054](https://github.com/LizardByte/Sunshine/pull/5054) +* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5056](https://github.com/LizardByte/Sunshine/pull/5056) +* feat(capture/linux): add KWin direct screencast capture method by [@Kishi85](https://github.com/Kishi85) in [#5009](https://github.com/LizardByte/Sunshine/pull/5009) +* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals by [@garnacho](https://github.com/garnacho) in [#5025](https://github.com/LizardByte/Sunshine/pull/5025) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5073](https://github.com/LizardByte/Sunshine/pull/5073) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5070](https://github.com/LizardByte/Sunshine/pull/5070) +* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5072](https://github.com/LizardByte/Sunshine/pull/5072) +* chore(deps): update dependency marked to v18.0.3 by [@renovate[bot]](https://github.com/apps/renovate) in [#5068](https://github.com/LizardByte/Sunshine/pull/5068) +* feat(input): implement multiseat support and virtual device naming by [@willybarret](https://github.com/willybarret) in [#4954](https://github.com/LizardByte/Sunshine/pull/4954) +* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE by [@psyke83](https://github.com/psyke83) in [#5075](https://github.com/LizardByte/Sunshine/pull/5075) +* feat(linux/wlgrab): match output_name by xdg_output name by [@netanelbi](https://github.com/netanelbi) in [#5071](https://github.com/LizardByte/Sunshine/pull/5071) +* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5077](https://github.com/LizardByte/Sunshine/pull/5077) +* chore(deps): update dependency vue to v3.5.34 by [@renovate[bot]](https://github.com/apps/renovate) in [#5078](https://github.com/LizardByte/Sunshine/pull/5078) +* build(linux): add ubuntu 26.04 support by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5051](https://github.com/LizardByte/Sunshine/pull/5051) +* build(linux): fix gcov detection for ArchLinux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5081](https://github.com/LizardByte/Sunshine/pull/5081) +* chore(deps): update dependency vue-i18n to v11.4.2 by [@renovate[bot]](https://github.com/apps/renovate) in [#5080](https://github.com/LizardByte/Sunshine/pull/5080) +* build(web-ui): commit lock file by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5083](https://github.com/LizardByte/Sunshine/pull/5083) +* fix: show actual bind address in Web UI log message by [@aliefe04](https://github.com/aliefe04) in [#4897](https://github.com/LizardByte/Sunshine/pull/4897) +* build(windows): Always setup Node.js in Windows CI by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5084](https://github.com/LizardByte/Sunshine/pull/5084) +* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc by [@andygrundman](https://github.com/andygrundman) in [#5091](https://github.com/LizardByte/Sunshine/pull/5091) +* fix: building without the system tray enabled by [@chewi](https://github.com/chewi) in [#5092](https://github.com/LizardByte/Sunshine/pull/5092) +* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5097](https://github.com/LizardByte/Sunshine/pull/5097) +* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5098](https://github.com/LizardByte/Sunshine/pull/5098) +* ci: remove moonlight discord release announcement by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5099](https://github.com/LizardByte/Sunshine/pull/5099) +* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option by [@chewi](https://github.com/chewi) in [#5103](https://github.com/LizardByte/Sunshine/pull/5103) +* build(macos): configure C++ standard and ICU root by [@martona](https://github.com/martona) in [#5101](https://github.com/LizardByte/Sunshine/pull/5101) +* fix(macos): preserve modifier state in input events by [@martona](https://github.com/martona) in [#5102](https://github.com/LizardByte/Sunshine/pull/5102) +* build(windows): drop unused boost-locale by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5116](https://github.com/LizardByte/Sunshine/pull/5116) +* ci(windows): add linkage check by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5118](https://github.com/LizardByte/Sunshine/pull/5118) +* chore(deps): update azure/trusted-signing-action action to v2 by [@renovate[bot]](https://github.com/apps/renovate) in [#5117](https://github.com/LizardByte/Sunshine/pull/5117) +* fix(macos): provide left/right identity for modifiers by [@martona](https://github.com/martona) in [#5115](https://github.com/LizardByte/Sunshine/pull/5115) +* feat(web-ui): add logout by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5121](https://github.com/LizardByte/Sunshine/pull/5121) +* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5123](https://github.com/LizardByte/Sunshine/pull/5123) +* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5122](https://github.com/LizardByte/Sunshine/pull/5122) +* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5124](https://github.com/LizardByte/Sunshine/pull/5124) +* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map by [@flibitijibibo](https://github.com/flibitijibibo) in [#5088](https://github.com/LizardByte/Sunshine/pull/5088) +* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5126](https://github.com/LizardByte/Sunshine/pull/5126) +* fix(audio): fix install of Steam Streaming Speakers driver by [@andygrundman](https://github.com/andygrundman) in [#5125](https://github.com/LizardByte/Sunshine/pull/5125) +* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5127](https://github.com/LizardByte/Sunshine/pull/5127) +* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5129](https://github.com/LizardByte/Sunshine/pull/5129) + +## New Contributors +* [@xd-byte](https://github.com/xd-byte) made their first contribution in [#4340](https://github.com/LizardByte/Sunshine/pull/4340) +* [@SuperSandro2000](https://github.com/SuperSandro2000) made their first contribution in [#4249](https://github.com/LizardByte/Sunshine/pull/4249) +* [@mcourteaux](https://github.com/mcourteaux) made their first contribution in [#4391](https://github.com/LizardByte/Sunshine/pull/4391) +* [@StringWeaver](https://github.com/StringWeaver) made their first contribution in [#4424](https://github.com/LizardByte/Sunshine/pull/4424) +* [@Garmelon](https://github.com/Garmelon) made their first contribution in [#4442](https://github.com/LizardByte/Sunshine/pull/4442) +* [@a-turtle9302](https://github.com/a-turtle9302) made their first contribution in [#4471](https://github.com/LizardByte/Sunshine/pull/4471) +* [@Freakness109](https://github.com/Freakness109) made their first contribution in [#4579](https://github.com/LizardByte/Sunshine/pull/4579) +* [@Dregu](https://github.com/Dregu) made their first contribution in [#4588](https://github.com/LizardByte/Sunshine/pull/4588) +* [@amarshall](https://github.com/amarshall) made their first contribution in [#4568](https://github.com/LizardByte/Sunshine/pull/4568) +* [@craimasjien](https://github.com/craimasjien) made their first contribution in [#4532](https://github.com/LizardByte/Sunshine/pull/4532) +* [@tstokes22](https://github.com/tstokes22) made their first contribution in [#4407](https://github.com/LizardByte/Sunshine/pull/4407) +* [@juliosanz](https://github.com/juliosanz) made their first contribution in [#4594](https://github.com/LizardByte/Sunshine/pull/4594) +* [@yakushabb](https://github.com/yakushabb) made their first contribution in [#4604](https://github.com/LizardByte/Sunshine/pull/4604) +* [@coleleavitt](https://github.com/coleleavitt) made their first contribution in [#4473](https://github.com/LizardByte/Sunshine/pull/4473) +* [@cilps](https://github.com/cilps) made their first contribution in [#4627](https://github.com/LizardByte/Sunshine/pull/4627) +* [@Yundi339](https://github.com/Yundi339) made their first contribution in [#4694](https://github.com/LizardByte/Sunshine/pull/4694) +* [@herboh](https://github.com/herboh) made their first contribution in [#4665](https://github.com/LizardByte/Sunshine/pull/4665) +* [@leenr](https://github.com/leenr) made their first contribution in [#4754](https://github.com/LizardByte/Sunshine/pull/4754) +* [@michalzxc](https://github.com/michalzxc) made their first contribution in [#4822](https://github.com/LizardByte/Sunshine/pull/4822) +* [@4xMSAA](https://github.com/4xMSAA) made their first contribution in [#4833](https://github.com/LizardByte/Sunshine/pull/4833) +* [@htrex](https://github.com/htrex) made their first contribution in [#4874](https://github.com/LizardByte/Sunshine/pull/4874) +* [@ThomVanL](https://github.com/ThomVanL) made their first contribution in [#4209](https://github.com/LizardByte/Sunshine/pull/4209) +* [@aliefe04](https://github.com/aliefe04) made their first contribution in [#4890](https://github.com/LizardByte/Sunshine/pull/4890) +* [@MrAwesome](https://github.com/MrAwesome) made their first contribution in [#4912](https://github.com/LizardByte/Sunshine/pull/4912) +* [@neatnoise](https://github.com/neatnoise) made their first contribution in [#4771](https://github.com/LizardByte/Sunshine/pull/4771) +* [@kmzs123](https://github.com/kmzs123) made their first contribution in [#4902](https://github.com/LizardByte/Sunshine/pull/4902) +* [@atassis](https://github.com/atassis) made their first contribution in [#4956](https://github.com/LizardByte/Sunshine/pull/4956) +* [@ykshek](https://github.com/ykshek) made their first contribution in [#4963](https://github.com/LizardByte/Sunshine/pull/4963) +* [@Signynt](https://github.com/Signynt) made their first contribution in [#4994](https://github.com/LizardByte/Sunshine/pull/4994) +* [@renovate[bot]](https://github.com/apps/renovate) made their first contribution in [#4992](https://github.com/LizardByte/Sunshine/pull/4992) +* [@garnacho](https://github.com/garnacho) made their first contribution in [#5025](https://github.com/LizardByte/Sunshine/pull/5025) +* [@willybarret](https://github.com/willybarret) made their first contribution in [#4954](https://github.com/LizardByte/Sunshine/pull/4954) +* [@netanelbi](https://github.com/netanelbi) made their first contribution in [#5071](https://github.com/LizardByte/Sunshine/pull/5071) +* [@martona](https://github.com/martona) made their first contribution in [#5101](https://github.com/LizardByte/Sunshine/pull/5101) +* [@flibitijibibo](https://github.com/flibitijibibo) made their first contribution in [#5088](https://github.com/LizardByte/Sunshine/pull/5088) + +**Full Changelog**: https://github.com/LizardByte/Sunshine/compare/v2025.924.154138...v2026.516.143833 + +--- +## Contributors +<a href="https://github.com/apps/dependabot" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, dependabot[bot]" ><img src="https://avatars.githubusercontent.com/in/29110?size=40" width="40" height="40" alt="dependabot[bot]" title="dependabot[bot]: 146 merges" ></a><a href="https://github.com/ReenigneArcher" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ReenigneArcher" ><img src="https://github.com/ReenigneArcher.png?size=40" width="40" height="40" alt="ReenigneArcher" title="ReenigneArcher: 82 merges" ></a><a href="https://github.com/psyke83" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, psyke83" ><img src="https://github.com/psyke83.png?size=40" width="40" height="40" alt="psyke83" title="psyke83: 20 merges" ></a><a href="https://github.com/LizardByte-bot" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, LizardByte-bot" ><img src="https://github.com/LizardByte-bot.png?size=40" width="40" height="40" alt="LizardByte-bot" title="LizardByte-bot: 18 merges" ></a><a href="https://github.com/apps/renovate" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, renovate[bot]" ><img src="https://avatars.githubusercontent.com/in/2740?size=40" width="40" height="40" alt="renovate[bot]" title="renovate[bot]: 18 merges" ></a><a href="https://github.com/andygrundman" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, andygrundman" ><img src="https://github.com/andygrundman.png?size=40" width="40" height="40" alt="andygrundman" title="andygrundman: 13 merges" ></a><a href="https://github.com/neatnoise" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, neatnoise" ><img src="https://github.com/neatnoise.png?size=40" width="40" height="40" alt="neatnoise" title="neatnoise: 12 merges" ></a><a href="https://github.com/Kishi85" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Kishi85" ><img src="https://github.com/Kishi85.png?size=40" width="40" height="40" alt="Kishi85" title="Kishi85: 10 merges" ></a><a href="https://github.com/PVermeer" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, PVermeer" ><img src="https://github.com/PVermeer.png?size=40" width="40" height="40" alt="PVermeer" title="PVermeer: 4 merges" ></a><a href="https://github.com/cgutman" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, cgutman" ><img src="https://github.com/cgutman.png?size=40" width="40" height="40" alt="cgutman" title="cgutman: 4 merges" ></a><a href="https://github.com/chewi" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, chewi" ><img src="https://github.com/chewi.png?size=40" width="40" height="40" alt="chewi" title="chewi: 3 merges" ></a><a href="https://github.com/juliosanz" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, juliosanz" ><img src="https://github.com/juliosanz.png?size=40" width="40" height="40" alt="juliosanz" title="juliosanz: 3 merges" ></a><a href="https://github.com/martona" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, martona" ><img src="https://github.com/martona.png?size=40" width="40" height="40" alt="martona" title="martona: 3 merges" ></a><a href="https://github.com/rbqvq" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, rbqvq" ><img src="https://github.com/rbqvq.png?size=40" width="40" height="40" alt="rbqvq" title="rbqvq: 3 merges" ></a><a href="https://github.com/aliefe04" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, aliefe04" ><img src="https://github.com/aliefe04.png?size=40" width="40" height="40" alt="aliefe04" title="aliefe04: 2 merges" ></a><a href="https://github.com/mcourteaux" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, mcourteaux" ><img src="https://github.com/mcourteaux.png?size=40" width="40" height="40" alt="mcourteaux" title="mcourteaux: 2 merges" ></a><a href="https://github.com/ns6089" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ns6089" ><img src="https://github.com/ns6089.png?size=40" width="40" height="40" alt="ns6089" title="ns6089: 2 merges" ></a><a href="https://github.com/4xMSAA" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, 4xMSAA" ><img src="https://github.com/4xMSAA.png?size=40" width="40" height="40" alt="4xMSAA" title="4xMSAA: 1 merge" ></a><a href="https://github.com/Dregu" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Dregu" ><img src="https://github.com/Dregu.png?size=40" width="40" height="40" alt="Dregu" title="Dregu: 1 merge" ></a><a href="https://github.com/Freakness109" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Freakness109" ><img src="https://github.com/Freakness109.png?size=40" width="40" height="40" alt="Freakness109" title="Freakness109: 1 merge" ></a><a href="https://github.com/Garmelon" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Garmelon" ><img src="https://github.com/Garmelon.png?size=40" width="40" height="40" alt="Garmelon" title="Garmelon: 1 merge" ></a><a href="https://github.com/MrAwesome" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, MrAwesome" ><img src="https://github.com/MrAwesome.png?size=40" width="40" height="40" alt="MrAwesome" title="MrAwesome: 1 merge" ></a><a href="https://github.com/Signynt" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Signynt" ><img src="https://github.com/Signynt.png?size=40" width="40" height="40" alt="Signynt" title="Signynt: 1 merge" ></a><a href="https://github.com/StringWeaver" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, StringWeaver" ><img src="https://github.com/StringWeaver.png?size=40" width="40" height="40" alt="StringWeaver" title="StringWeaver: 1 merge" ></a><a href="https://github.com/SuperSandro2000" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, SuperSandro2000" ><img src="https://github.com/SuperSandro2000.png?size=40" width="40" height="40" alt="SuperSandro2000" title="SuperSandro2000: 1 merge" ></a><a href="https://github.com/ThomVanL" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ThomVanL" ><img src="https://github.com/ThomVanL.png?size=40" width="40" height="40" alt="ThomVanL" title="ThomVanL: 1 merge" ></a><a href="https://github.com/Yundi339" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Yundi339" ><img src="https://github.com/Yundi339.png?size=40" width="40" height="40" alt="Yundi339" title="Yundi339: 1 merge" ></a><a href="https://github.com/a-turtle9302" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, a-turtle9302" ><img src="https://github.com/a-turtle9302.png?size=40" width="40" height="40" alt="a-turtle9302" title="a-turtle9302: 1 merge" ></a><a href="https://github.com/amarshall" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, amarshall" ><img src="https://github.com/amarshall.png?size=40" width="40" height="40" alt="amarshall" title="amarshall: 1 merge" ></a><a href="https://github.com/atassis" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, atassis" ><img src="https://github.com/atassis.png?size=40" width="40" height="40" alt="atassis" title="atassis: 1 merge" ></a><a href="https://github.com/cilps" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, cilps" ><img src="https://github.com/cilps.png?size=40" width="40" height="40" alt="cilps" title="cilps: 1 merge" ></a><a href="https://github.com/coleleavitt" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, coleleavitt" ><img src="https://github.com/coleleavitt.png?size=40" width="40" height="40" alt="coleleavitt" title="coleleavitt: 1 merge" ></a><a href="https://github.com/craimasjien" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, craimasjien" ><img src="https://github.com/craimasjien.png?size=40" width="40" height="40" alt="craimasjien" title="craimasjien: 1 merge" ></a><a href="https://github.com/eduardomozart" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, eduardomozart" ><img src="https://github.com/eduardomozart.png?size=40" width="40" height="40" alt="eduardomozart" title="eduardomozart: 1 merge" ></a><a href="https://github.com/flibitijibibo" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, flibitijibibo" ><img src="https://github.com/flibitijibibo.png?size=40" width="40" height="40" alt="flibitijibibo" title="flibitijibibo: 1 merge" ></a><a href="https://github.com/garnacho" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, garnacho" ><img src="https://github.com/garnacho.png?size=40" width="40" height="40" alt="garnacho" title="garnacho: 1 merge" ></a><a href="https://github.com/herboh" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, herboh" ><img src="https://github.com/herboh.png?size=40" width="40" height="40" alt="herboh" title="herboh: 1 merge" ></a><a href="https://github.com/htrex" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, htrex" ><img src="https://github.com/htrex.png?size=40" width="40" height="40" alt="htrex" title="htrex: 1 merge" ></a><a href="https://github.com/kmzs123" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, kmzs123" ><img src="https://github.com/kmzs123.png?size=40" width="40" height="40" alt="kmzs123" title="kmzs123: 1 merge" ></a><a href="https://github.com/leenr" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, leenr" ><img src="https://github.com/leenr.png?size=40" width="40" height="40" alt="leenr" title="leenr: 1 merge" ></a><a href="https://github.com/mariotaku" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, mariotaku" ><img src="https://github.com/mariotaku.png?size=40" width="40" height="40" alt="mariotaku" title="mariotaku: 1 merge" ></a><a href="https://github.com/michalzxc" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, michalzxc" ><img src="https://github.com/michalzxc.png?size=40" width="40" height="40" alt="michalzxc" title="michalzxc: 1 merge" ></a><a href="https://github.com/netanelbi" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, netanelbi" ><img src="https://github.com/netanelbi.png?size=40" width="40" height="40" alt="netanelbi" title="netanelbi: 1 merge" ></a><a href="https://github.com/tstokes22" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, tstokes22" ><img src="https://github.com/tstokes22.png?size=40" width="40" height="40" alt="tstokes22" title="tstokes22: 1 merge" ></a><a href="https://github.com/willybarret" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, willybarret" ><img src="https://github.com/willybarret.png?size=40" width="40" height="40" alt="willybarret" title="willybarret: 1 merge" ></a><a href="https://github.com/xd-byte" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, xd-byte" ><img src="https://github.com/xd-byte.png?size=40" width="40" height="40" alt="xd-byte" title="xd-byte: 1 merge" ></a><a href="https://github.com/yakushabb" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, yakushabb" ><img src="https://github.com/yakushabb.png?size=40" width="40" height="40" alt="yakushabb" title="yakushabb: 1 merge" ></a><a href="https://github.com/ykshek" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ykshek" ><img src="https://github.com/ykshek.png?size=40" width="40" height="40" alt="ykshek" title="ykshek: 1 merge" ></a> + + +--- +📦 **Assets:** + +| ⬇️ Download | #️⃣ Download Count | 🛡️ VirusTotal | +|-------------|-------------------|---------------| +| [Sunshine-FreeBSD-14.4-aarch64.pkg](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-FreeBSD-14.4-aarch64.pkg) |  | [](https://www.virustotal.com/gui/file-analysis/YTg2NTIzN2EwZDY0MzQ3ZDkwOGYxNWYwMGU4YjE4Njk6MTc3ODk1NjI5Mg==) | +| [Sunshine-FreeBSD-14.4-amd64.pkg](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-FreeBSD-14.4-amd64.pkg) |  | [](https://www.virustotal.com/gui/file-analysis/Y2I3YjAxYjYzMTgyMGFiZmYyZDg0YTczYjZmNmQ1NTU6MTc3ODk1NjI5NQ==) | +| [Sunshine-Windows-AMD64-debuginfo.7z](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-AMD64-debuginfo.7z) |  | [](https://www.virustotal.com/gui/file-analysis/NzQ3NzVmOGVlNWFhMjdiMDFjNmJjOTI2MDkwMTZhMjA6MTc3ODk1NjI5OA==) | +| [Sunshine-Windows-AMD64-installer.exe](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-AMD64-installer.exe) |  | [](https://www.virustotal.com/gui/file-analysis/Y2FjMDdhNTRmOWU0NGRkYjRmNWNiZWM5YWZmZGMyNzM6MTc3ODk1NjMwMg==) | +| [Sunshine-Windows-AMD64-installer.msi](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-AMD64-installer.msi) |  | [](https://www.virustotal.com/gui/file-analysis/MGFlMTcwYTBjZTgwZDQwYWY4MGUzYzkxZTk2ZWQwYTk6MTc3ODk1NjM1NQ==) | +| [Sunshine-Windows-AMD64-portable.zip](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-AMD64-portable.zip) |  | [](https://www.virustotal.com/gui/file-analysis/ZDM5YTBlYjY4ZGRiODdiMTI3OGEyMDZhZTE5MDZlNzE6MTc3ODk1NjM1OQ==) | +| [Sunshine-Windows-ARM64-debuginfo.7z](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-ARM64-debuginfo.7z) |  | [](https://www.virustotal.com/gui/file-analysis/NjY3ZjBhMzE1MjQyNTJjMWRlYjhhZTIxYTg5NTY4OWE6MTc3ODk1NjM2Mg==) | +| [Sunshine-Windows-ARM64-installer.exe](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-ARM64-installer.exe) |  | [](https://www.virustotal.com/gui/file-analysis/YzIyZmFjMjYxOWE2YTc1NzliYzk4NDQ2ODhjZjMyYWY6MTc3ODk1NjM2NQ==) | +| [Sunshine-Windows-ARM64-installer.msi](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-ARM64-installer.msi) |  | [](https://www.virustotal.com/gui/file-analysis/YWQxMTg4NDY3MjM0OWNlN2JhZDJiYTEyMDZjMzAzMjk6MTc3ODk1NjM2OQ==) | +| [Sunshine-Windows-ARM64-portable.zip](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-Windows-ARM64-portable.zip) |  | [](https://www.virustotal.com/gui/file-analysis/Yjg3MjY1ZmU3ZmRlYTYyMzRkZjM1MzQzODUwMTg2YzU6MTc3ODk1NjQxOQ==) | +| [Sunshine-macOS-arm64.dmg](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-macOS-arm64.dmg) |  | [](https://www.virustotal.com/gui/file-analysis/ZDIyNTUxZTZkYmM5YjY4OTNmYWE0NjYyNmJhYjVmM2Q6MTc3ODk1NjQzMQ==) | +| [Sunshine-macOS-x86_64.dmg](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-macOS-x86_64.dmg) |  | [](https://www.virustotal.com/gui/file-analysis/ZjhjOWI3MTQ1NDM3MWVjMGQ5ZWI5Y2JhMWI2ZThkODg6MTc3ODk1NjQzOA==) | +| [flathub.tar.gz](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/flathub.tar.gz) |  | [](https://www.virustotal.com/gui/file-analysis/ZTE0ODgwMmQ0ZmEwY2IzZmQxYWYyN2Y5MDMxY2RjMzY6MTc3ODk1NjQzOQ==) | +| [sunshine-2026.516.143833-1-x86_64.pkg.tar.zst](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-2026.516.143833-1-x86_64.pkg.tar.zst) |  | [](https://www.virustotal.com/gui/file-analysis/MGEwNjk0ODAwOGU0NWYzYjk5YzNkM2YyNTBlNDMyZTI6MTc3ODk1NjQ0Mw==) | +| [sunshine-debian-trixie-amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-debian-trixie-amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/NjdlOGNlOGE1MTU0MDlhMmEwYjcyY2M1MjlkZjg3Yjg6MTc3ODk1NjQ4Mg==) | +| [sunshine-debian-trixie-arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-debian-trixie-arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/YTkyZDgyNmVlNTNhNmQzY2MzOWI0YzJjNDkzZTZhNDU6MTc3ODk1NjQ4NA==) | +| [sunshine-ubuntu-22.04-amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-ubuntu-22.04-amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/YTQ4NjYyYzQ0MzliYjE1YzY2MDBiNTRkYjE1MzQ0ZDQ6MTc3ODk1NjQ4OA==) | +| [sunshine-ubuntu-22.04-arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-ubuntu-22.04-arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/MGRmYWVlMmJmMWVjNjhiZGY3MWIzOTFjZWMzMWE4ZTA6MTc3ODk1NjUwMw==) | +| [sunshine-ubuntu-24.04-amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-ubuntu-24.04-amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/MzQ0MmZjMGQ3MDE4NDRiYWI4ZTQ3ODdiMjllY2FjOGE6MTc3ODk1NjUxOA==) | +| [sunshine-ubuntu-24.04-arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-ubuntu-24.04-arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/MjE4NDM5MTFhMzdlMzViM2Y2ZTQ2ZTViYzUzODQ0NTc6MTc3ODk1NjU0NA==) | +| [sunshine-ubuntu-26.04-amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-ubuntu-26.04-amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/NDhjNGMxNDJmNzk0YmRkMDllZWIyZjFjMjVlZjQ3ZTQ6MTc3ODk1NjU0OA==) | +| [sunshine-ubuntu-26.04-arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine-ubuntu-26.04-arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/MzEyOWM2ZjQ4ZjYxZjBjYWMyYTk3MjBmYmM2M2U0Yjk6MTc3ODk1NjU2Mw==) | +| [sunshine.AppImage](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine.AppImage) |  | [](https://www.virustotal.com/gui/file-analysis/ZjU5MmJkNmI3MGIwNzFjOGQ3ZDY0YzE2YTY4ZWE1NDU6MTc3ODk1NjU3OA==) | +| [sunshine.pkg.tar.gz](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine.pkg.tar.gz) |  | [](https://www.virustotal.com/gui/file-analysis/MzJjYTA0YWRiOGM3MDU0OWFhZTgwNDM1Y2FmMmY4OWY6MTc3ODk1NjU5MQ==) | +| [sunshine.rb](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine.rb) |  | [](https://www.virustotal.com/gui/file-analysis/YzFlOTcxNjdhZTM2ZTI2ODExODE5ZjNmYzQwZjI4M2Y6MTc3ODk1NjYwNg==) | +| [sunshine_aarch64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine_aarch64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/YjQ4ZmUxY2Y4MTdhN2Q1YjIyMWYyMWNlYmIwOGIyYmU6MTc3ODk1NjYyNA==) | +| [sunshine_debug_aarch64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine_debug_aarch64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/YTQ5NzVjMTk1YjczMmQ2YjhhMGQ3MzM5MTYwN2QxN2Q6MTc3ODk1NjYzOA==) | +| [sunshine_debug_x86_64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine_debug_x86_64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/YzA4NGJmY2M1OTRiYzY5OGYyN2M3Nzc5Y2UzMjI1YzI6MTc3ODk1NjY1Mg==) | +| [sunshine_x86_64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/sunshine_x86_64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/YTMxNzJmYWRjMjdiMzY0NGM5NmE4YjBiM2Y5ZjdjNzA6MTc3ODk1NjY2OQ==) | +| [Sunshine-2026.516.143833-1.fc42.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc42.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/MDg2ZDFhMTgzZGYyYWJkMGQ0ZTUxYWI3NDYxOWM3YTY6MTc3ODk1OTEzMg==) | +| [Sunshine-2026.516.143833-1.fc42.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc42.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/NDk3MDE4YzIzNjYzNjU0YzkzMDMxZGZmNmI1Yzc0YWI6MTc3ODk1OTEzMw==) | +| [Sunshine-2026.516.143833-1.fc43.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc43.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/NjE3ODZlZGZlZTVjZTBiYzE5YTY4NmI5ZWFiMjQ1ODg6MTc3ODk1OTEzNQ==) | +| [Sunshine-2026.516.143833-1.fc43.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc43.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/NDdhYzE4MTYxZjBmZTk5NzU0NzIwNmE5OTkyMTliZDY6MTc3ODk1OTEzNw==) | +| [Sunshine-2026.516.143833-1.fc44.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc44.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/ODI2MThmMWEyMWRiMzc1YTczOThiY2RlZDZlNzY2NDk6MTc3ODk1OTE5Mg==) | +| [Sunshine-2026.516.143833-1.fc44.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc44.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/MDM2ZTlkNGQ1OTM3NjUxNmVkODJhNTdhNTBlNzJiNzI6MTc3ODk1OTE5Mw==) | +| [Sunshine-2026.516.143833-1.fc45.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc45.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/MDk1NmMwYThhMDZhMmJhYzk0NGMxNTA4ZDc5MTM1OTE6MTc3ODk1OTE5NQ==) | +| [Sunshine-2026.516.143833-1.fc45.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.fc45.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/OGEzZDM3YTI5ODdiNjY4Y2I3YTViM2NhOGJmZjM1ZmU6MTc3ODk1OTE5Ng==) | +| [Sunshine-2026.516.143833-1.suse.lp156.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.suse.lp156.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/YjllZTNjYTZlZmZhNzllNTBhOGUzYzE4ODljMDViYjE6MTc3ODk1OTIwOA==) | +| [Sunshine-2026.516.143833-1.suse.lp156.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.516.143833/Sunshine-2026.516.143833-1.suse.lp156.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/Yzg4ZDZmN2NhYzg0NWQ4YjA2N2QxNDA4OWNkYzIxNjI6MTc3ODk1OTI1NA==) |