v2026.906.222525
LizardByte/Sunshinev2026.906.222525Sep 6, 2026by LizardByte-bot
AI Summary
This release addresses critical security vulnerabilities and introduces a major overhaul of the input system via `libvirtualhid`, replacing previous backends like Inputtino and ViGEmBus. It brings significant improvements to Wayland and PipeWire support, Linux display management, and macOS integration, alongside breaking changes to Windows installers and configuration paths.
Key Highlights
- Critical security updates addressing multiple GitHub Security Advisories (GHSA-6w33-pjh7-p77c, etc.)
- Introduction of `libvirtualhid` for expanded virtual gamepad support (Xbox Series, DualSense, Switch Pro, etc.)
- Major Wayland and PipeWire improvements including DMA-BUF modifiers, variable-rate capture, and fractional refresh rates
- Improved Linux display selection using connector names (DP-1, HDMI-A-1) instead of unstable numeric indices
- Native aarch64 AppImage support and Qt-based system tray across all platforms
Breaking Changes
- Windows NSIS (`.exe`) installers have been discontinued; use WiX-based `.msi` installer instead.
- Windows portable packages renamed from `portable.zip` to `lite.zip`.
- Linux KMS display indices may reorder; use connector names like `DP-1` or `HDMI-A-1`.
- Migrated to `libvirtualhid`, replacing Inputtino and ViGEmBus as the primary input backend.
- ViGEmBus Web API endpoints replaced with `/api/virtual-input/status` and `/api/virtual-input/license`.
- Linux release filenames changed (AppImage versioned/arch specific, DEB/Ubuntu versioned).
- Sunshine no longer opens the Web UI automatically on startup.
- Log files now rotate at startup (retaining .1 through .5).
New Features
- Expanded virtual input profiles including Xbox Series, DualShock 4, DualSense, and Nintendo Switch Pro.
- Continued NVENC support for older NVIDIA GPUs via dynamic Video Codec SDK version selection.
- Hardware YUV 4:4:4 and HDR encoding support on NVIDIA Linux systems.
- New VA-API control options for rate, quality, and block-level bitrate.
- Improved macOS display management using `libdisplaydevice` integration.
- Configurable RTSP packet size option to improve network compatibility.
- Per-session client identification via the `SUNSHINE_CLIENT_NAME` environment variable.
- Easier Linux installation and updates via Cloudsmith repositories (stable and beta channels).
Full Release Notes
## ‼️ Attention
This release contains critical security updates. For more information see the following:
* [GHSA-6w33-pjh7-p77c](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-6w33-pjh7-p77c)
* [GHSA-6jvv-jqr7-m6m3](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-6jvv-jqr7-m6m3)
* [GHSA-36ff-frg7-492f](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-36ff-frg7-492f)
* [GHSA-26q2-58j6-qmvv](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-26q2-58j6-qmvv)
* [GHSA-c428-87f8-rrv5](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-c428-87f8-rrv5)
Please update as soon as possible!
## ⚠️ Breaking changes and migration notes
- **Windows NSIS (`.exe`) installers have been discontinued.** Use the WiX-based `.msi` installer instead.
- **Windows portable packages were renamed.** `Sunshine-Windows-{arch}-portable.zip` is now `Sunshine-Windows-{arch}-lite.zip`. Update any fixed download URLs or automation. ([#5405](https://github.com/LizardByte/Sunshine/pull/5405))
- **Linux KMS display indices may be reordered.** Configurations using a numeric `output_name` may need to reselect their display. Connector names such as `DP-1` or `HDMI-A-1` are now recommended. ([#5489](https://github.com/LizardByte/Sunshine/pull/5489))
- **Sunshine has migrated to libvirtualhid.** It replaces Inputtino on Linux and ViGEmBus as the primary input backend on Windows AMD64, and also handles additional input functionality on macOS. Virtual-device names, controller identities, permissions, and application-specific mappings may change. ([#5368](https://github.com/LizardByte/Sunshine/pull/5368))
- On Windows, full driver-backed gamepad, Raw Input keyboard, and Raw Input mouse support requires the separately installed Virtual HID Driver, an active machine license, and driver version `2026.905.2300.20` or newer. You can purchase a license from the Sunshine web-ui or our [store](https://app.lizardbyte.dev/store). Lifetime and yearly subscription options are available.
- Existing ViGEmBus installations remain available only as a limited Xbox 360 and DualShock 4 fallback. Sunshine no longer bundles or installs ViGEmBus.
- Automatic gamepad emulation may now expose an Xbox Series controller instead of the previous Windows Xbox 360 or Linux Xbox One controller. Games and controller profiles may need to be reconfigured.
- See the [Introducing libvirtualhid and Virtual HID Driver](https://app.lizardbyte.dev/2026-08-16-introducing-libvirtualhid-and-virtual-hid-driver/) blog post for more information.
- **The input configuration key `ds5_inputtino_randomize_mac` was renamed to `virtualhid_randomize_mac`.** The old key is no longer recognized.
- **The ViGEmBus Web API was replaced.** `GET /api/vigembus/status` and `POST /api/vigembus/install` were removed. Integrations should migrate to `GET /api/virtual-input/status` and the new `/api/virtual-input/license` endpoints.
- **Linux release filenames changed.**
- `sunshine.AppImage` is now versioned and architecture-specific, for example `Sunshine_2026.906.222525_x86_64.AppImage`.
- Debian and Ubuntu packages now use native versioned filenames, for example `sunshine_2026.906.222525-1+ubuntu24.04_amd64.deb`.
- Automation using fixed GitHub release URLs must be updated.
- **The prebuilt platform matrix changed.**
- The minimum supported FreeBSD release increased from 14.4 to 15.1.
- Prebuilt FreeBSD aarch64 packages were removed; aarch64 users must compile Sunshine themselves. ([#5516](https://github.com/LizardByte/Sunshine/pull/5516))
- Fedora 42 and openSUSE Leap 15.6 RPMs are no longer attached to GitHub releases.
- **Sunshine no longer opens the Web UI automatically at startup.** Open it manually when configuration is needed. ([#5329](https://github.com/LizardByte/Sunshine/pull/5329))
- **Log files now rotate at startup.** Previous logs are retained as `.1` through `.5`; log collectors may need rotation-aware handling. ([#5485](https://github.com/LizardByte/Sunshine/pull/5485))
### Source builders and downstream packagers
- The minimum required CMake version increased from 3.20 to 3.24.
- The system tray migrated to Qt on every platform. Downstream packages must provide the applicable Qt Widgets and SVG dependencies. ([#5260](https://github.com/LizardByte/Sunshine/pull/5260))
- Python development dependencies moved from pip extras to `uv` dependency groups. Existing `pip install ".[test]"`, `.[lint]`, and similar workflows must migrate to `uv sync` and `uv run`. ([#5222](https://github.com/LizardByte/Sunshine/pull/5222))
- Several build paths and submodules were removed or relocated, including Inputtino, GoogleTest, nanors, nv-codec-headers, the Flatpak shared-modules checkout, and the version-specific Ubuntu Dockerfiles. Downstream scripts and patches referencing these paths must be updated.
## ✨ Highlights
- **Expanded virtual input support.** The new libvirtualhid integration adds Xbox 360, Xbox One, Xbox Series, DualShock 4, DualSense, Nintendo Switch Pro, and generic virtual gamepad profiles, along with broader keyboard, mouse, touchscreen, pen, and trackpad support. ([#5368](https://github.com/LizardByte/Sunshine/pull/5368))
- **Continued NVENC support for older NVIDIA GPUs on Windows.** Sunshine now dynamically selects a compatible NVIDIA Video Codec SDK version at runtime, preserving hardware encoding support on older NVIDIA cards while retaining support for newer hardware. ([#5451](https://github.com/LizardByte/Sunshine/pull/5451))
- **Hardware YUV 4:4:4 and HDR encoding on NVIDIA Linux systems.** CUDA and CUDA-GL capture paths can now provide higher-quality chroma reproduction, including HDR configurations. ([#4965](https://github.com/LizardByte/Sunshine/pull/4965), [#5315](https://github.com/LizardByte/Sunshine/pull/5315))
- **Improved VA-API controls.** New rate-control, quality, and block-level bitrate-control options provide greater control over AMD and Intel encoding behavior. ([#5388](https://github.com/LizardByte/Sunshine/pull/5388))
- **Major Wayland and PipeWire improvements.** This release improves DMA-BUF modifier support, display switching, variable-rate capture, fractional refresh rates, unpaced capture, software-encoder buffers, and compatibility with KWin and other compositors.
- **More reliable Linux display selection.** Connector names such as `DP-1` and `HDMI-A-1` can now be used instead of unstable numeric display indices. ([#5423](https://github.com/LizardByte/Sunshine/pull/5423))
- **Qt-based system tray across all platforms.** Sunshine now uses a unified, cross-platform tray implementation with improved behavior on Linux, macOS, Windows, AppImage, and Flatpak installations. ([#5260](https://github.com/LizardByte/Sunshine/pull/5260))
- **Improved macOS display management.** Sunshine now uses libdisplaydevice to enumerate displays and apply or restore display changes, alongside improved scroll handling, display wake behavior, and microphone permission support. ([#5338](https://github.com/LizardByte/Sunshine/pull/5338))
- **Native aarch64 AppImage support.** Linux ARM64 users can now download an official AppImage. ([#5627](https://github.com/LizardByte/Sunshine/pull/5627))
- **Better Web UI application management.** The Applications page now supports filtering and searching, with refreshed Add, Edit, and Delete workflows and broader layout improvements.
- **More resilient streaming behavior.** Highlights include automatic SDR fallback when HDR is unavailable, improved video reinitialization, corrected fractional frame pacing, better modifier-key handling, and use of the configured Windows audio sink.
- **Rotating logs and improved diagnostics.** Startup logs are preserved across multiple runs, making crashes and initialization failures easier to troubleshoot. ([#5485](https://github.com/LizardByte/Sunshine/pull/5485))
- **Per-session client identification.** Launched applications can read the connected client name from the new `SUNSHINE_CLIENT_NAME` environment variable. ([#5465](https://github.com/LizardByte/Sunshine/pull/5465))
- **Configurable RTSP packet size.** The new `packetsize` option can improve compatibility with clients or networks that cannot configure an appropriate packet size themselves. ([#5153](https://github.com/LizardByte/Sunshine/pull/5153))
- **Easier Linux installation and updates through Cloudsmith.** Official Sunshine DEB and RPM repositories are now available in stable and beta channels, allowing updates through `apt`, `dnf`, or `zypper`. See [Introducing LizardByte's Cloudsmith repositories](https://app.lizardbyte.dev/2026-09-05-introducing-lizardbyte-cloudsmith-repositories/) for setup instructions.
For a comprehensive list of changes, see below.
## What's Changed
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5135](https://github.com/LizardByte/Sunshine/pull/5135)
* fix(macos): scale remote scroll input using macOS scroll speed by [@martona](https://github.com/martona) in [#5133](https://github.com/LizardByte/Sunshine/pull/5133)
* chore(deps): update dependency vue-i18n to v11.4.3 by [@renovate[bot]](https://github.com/apps/renovate) in [#5139](https://github.com/LizardByte/Sunshine/pull/5139)
* chore: fixes for release automation by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5142](https://github.com/LizardByte/Sunshine/pull/5142)
* chore(deps): update dependency vue-i18n to v11.4.4 by [@renovate[bot]](https://github.com/apps/renovate) in [#5143](https://github.com/LizardByte/Sunshine/pull/5143)
* chore(deps): update dependency date-fns to v4.2.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5145](https://github.com/LizardByte/Sunshine/pull/5145)
* chore(deps): update codecov/codecov-action action to v6.0.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5149](https://github.com/LizardByte/Sunshine/pull/5149)
* fix(web): disconnect only the disabled client instead of all sessions by [@neatnoise](https://github.com/neatnoise) in [#5138](https://github.com/LizardByte/Sunshine/pull/5138)
* chore(deps): update dependency marked to v18.0.4 by [@renovate[bot]](https://github.com/apps/renovate) in [#5151](https://github.com/LizardByte/Sunshine/pull/5151)
* chore: rename copilot-instructions.md to AGENTS.md by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5156](https://github.com/LizardByte/Sunshine/pull/5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5157](https://github.com/LizardByte/Sunshine/pull/5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it by [@httpstorm](https://github.com/httpstorm) in [#5153](https://github.com/LizardByte/Sunshine/pull/5153)
* feat(web-ui): Added Filtering & Searching to the Apps page by [@Noklef](https://github.com/Noklef) in [#5158](https://github.com/LizardByte/Sunshine/pull/5158)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5155](https://github.com/LizardByte/Sunshine/pull/5155)
* chore(crowdin): set commit message by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5160](https://github.com/LizardByte/Sunshine/pull/5160)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5161](https://github.com/LizardByte/Sunshine/pull/5161)
* fix(web): the packetsize upper limit is 65535 by [@httpstorm](https://github.com/httpstorm) in [#5167](https://github.com/LizardByte/Sunshine/pull/5167)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5162](https://github.com/LizardByte/Sunshine/pull/5162)
* chore(deps): update dependency date-fns to v4.3.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5172](https://github.com/LizardByte/Sunshine/pull/5172)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5165](https://github.com/LizardByte/Sunshine/pull/5165)
* chore(deps): update lizardbyte/actions action to v2026.522.121358 by [@renovate[bot]](https://github.com/apps/renovate) in [#5173](https://github.com/LizardByte/Sunshine/pull/5173)
* fix(web-ui): add documentation link and version-aware URLs by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5176](https://github.com/LizardByte/Sunshine/pull/5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 by [@renovate[bot]](https://github.com/apps/renovate) in [#5177](https://github.com/LizardByte/Sunshine/pull/5177)
* chore(deps): migrate from lucide-vue-next to @lucide/vue by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5179](https://github.com/LizardByte/Sunshine/pull/5179)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5178](https://github.com/LizardByte/Sunshine/pull/5178)
* chore: Add CLion run configuration for 'sunshine' by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5181](https://github.com/LizardByte/Sunshine/pull/5181)
* build(freebsd): fix npm install by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5182](https://github.com/LizardByte/Sunshine/pull/5182)
* fix(linux): migrate to qt tray by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4907](https://github.com/LizardByte/Sunshine/pull/4907)
* fix: explicitly check construct function error in thread_safe.h by [@Kishi85](https://github.com/Kishi85) in [#5184](https://github.com/LizardByte/Sunshine/pull/5184)
* build(macos): quote SHOULD_SIGN env expansion in install script by [@Nottlespike](https://github.com/Nottlespike) in [#5185](https://github.com/LizardByte/Sunshine/pull/5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register by [@Nottlespike](https://github.com/Nottlespike) in [#5186](https://github.com/LizardByte/Sunshine/pull/5186)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5193](https://github.com/LizardByte/Sunshine/pull/5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output by [@hebo6](https://github.com/hebo6) in [#5130](https://github.com/LizardByte/Sunshine/pull/5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING by [@Nottlespike](https://github.com/Nottlespike) in [#5200](https://github.com/LizardByte/Sunshine/pull/5200)
* chore(deps): update dependency vue to v3.5.35 by [@renovate[bot]](https://github.com/apps/renovate) in [#5204](https://github.com/LizardByte/Sunshine/pull/5204)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5196](https://github.com/LizardByte/Sunshine/pull/5196)
* build(Archlinux): Shallow clone dependent submodules by [@alexytomi](https://github.com/alexytomi) in [#5206](https://github.com/LizardByte/Sunshine/pull/5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5210](https://github.com/LizardByte/Sunshine/pull/5210)
* chore(deps): update actions/setup-dotnet action to v5.3.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5208](https://github.com/LizardByte/Sunshine/pull/5208)
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa by [@Kishi85](https://github.com/Kishi85) in [#5211](https://github.com/LizardByte/Sunshine/pull/5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux by [@Kishi85](https://github.com/Kishi85) in [#5212](https://github.com/LizardByte/Sunshine/pull/5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow by [@Noklef](https://github.com/Noklef) in [#5166](https://github.com/LizardByte/Sunshine/pull/5166)
* chore(deps): bump wayland-protocols to 1.48 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5219](https://github.com/LizardByte/Sunshine/pull/5219)
* chore(deps): update dependency date-fns to v4.4.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5215](https://github.com/LizardByte/Sunshine/pull/5215)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5220](https://github.com/LizardByte/Sunshine/pull/5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5221](https://github.com/LizardByte/Sunshine/pull/5221)
* build(python): migrate to uv by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5222](https://github.com/LizardByte/Sunshine/pull/5222)
* build(homebrew): fix service install on linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5223](https://github.com/LizardByte/Sunshine/pull/5223)
* chore(gh-pages): remove unused jquery dependency by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5235](https://github.com/LizardByte/Sunshine/pull/5235)
* docs(contributing): refresh clang-format guidance by [@Sev7een](https://github.com/Sev7een) in [#5233](https://github.com/LizardByte/Sunshine/pull/5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 by [@renovate[bot]](https://github.com/apps/renovate) in [#5226](https://github.com/LizardByte/Sunshine/pull/5226)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5229](https://github.com/LizardByte/Sunshine/pull/5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5239](https://github.com/LizardByte/Sunshine/pull/5239)
* chore(deps): update dependency vite to v6.4.3 by [@renovate[bot]](https://github.com/apps/renovate) in [#5238](https://github.com/LizardByte/Sunshine/pull/5238)
* chore(deps): update official github actions to v6.0.3 by [@renovate[bot]](https://github.com/apps/renovate) in [#5242](https://github.com/LizardByte/Sunshine/pull/5242)
* chore(deps): update dependency simple-icons to v13 by [@renovate[bot]](https://github.com/apps/renovate) in [#5243](https://github.com/LizardByte/Sunshine/pull/5243)
* chore(deps): update dependency simple-icons to v16 by [@renovate[bot]](https://github.com/apps/renovate) in [#5248](https://github.com/LizardByte/Sunshine/pull/5248)
* chore(deps): use lizardbyte-common for python helpers by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5250](https://github.com/LizardByte/Sunshine/pull/5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 by [@renovate[bot]](https://github.com/apps/renovate) in [#5253](https://github.com/LizardByte/Sunshine/pull/5253)
* chore(deps): update dependency marked to v18.0.5 by [@renovate[bot]](https://github.com/apps/renovate) in [#5251](https://github.com/LizardByte/Sunshine/pull/5251)
* chore(deps): update astral-sh/setup-uv action to v8.2.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5245](https://github.com/LizardByte/Sunshine/pull/5245)
* chore(deps): update codecov/codecov-action action to v7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5262](https://github.com/LizardByte/Sunshine/pull/5262)
* chore(deps): update dependency vue-i18n to v11.4.5 by [@renovate[bot]](https://github.com/apps/renovate) in [#5256](https://github.com/LizardByte/Sunshine/pull/5256)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5263](https://github.com/LizardByte/Sunshine/pull/5263)
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5271](https://github.com/LizardByte/Sunshine/pull/5271)
* chore(homebrew): bump ubuntu to 24.04 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5272](https://github.com/LizardByte/Sunshine/pull/5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture by [@joeknock90](https://github.com/joeknock90) in [#5132](https://github.com/LizardByte/Sunshine/pull/5132)
* chore(deps): bump libdisplaydevice by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5280](https://github.com/LizardByte/Sunshine/pull/5280)
* chore(deps): update vue monorepo to v3.5.37 by [@renovate[bot]](https://github.com/apps/renovate) in [#5281](https://github.com/LizardByte/Sunshine/pull/5281)
* fix(tray): fix compiling without system tray enabled by [@Kishi85](https://github.com/Kishi85) in [#5284](https://github.com/LizardByte/Sunshine/pull/5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5285](https://github.com/LizardByte/Sunshine/pull/5285)
* chore(deps): update lucide monorepo to v1.18.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5287](https://github.com/LizardByte/Sunshine/pull/5287)
* chore(deps): update vue monorepo to v3.5.38 by [@renovate[bot]](https://github.com/apps/renovate) in [#5283](https://github.com/LizardByte/Sunshine/pull/5283)
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5295](https://github.com/LizardByte/Sunshine/pull/5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) by [@Sheynar](https://github.com/Sheynar) in [#4965](https://github.com/LizardByte/Sunshine/pull/4965)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5269](https://github.com/LizardByte/Sunshine/pull/5269)
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5296](https://github.com/LizardByte/Sunshine/pull/5296)
* chore(deps): update lucide monorepo to v1.20.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5297](https://github.com/LizardByte/Sunshine/pull/5297)
* fix(macos): wake sleeping display at the beginning of capture session by [@martona](https://github.com/martona) in [#5291](https://github.com/LizardByte/Sunshine/pull/5291)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5254](https://github.com/LizardByte/Sunshine/pull/5254)
* chore(deps): update vmactions/freebsd-vm action to v1.4.7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5301](https://github.com/LizardByte/Sunshine/pull/5301)
* chore(deps): update dependency vue-i18n to v11.4.6 by [@renovate[bot]](https://github.com/apps/renovate) in [#5300](https://github.com/LizardByte/Sunshine/pull/5300)
* chore(deps): update official github actions to v7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5307](https://github.com/LizardByte/Sunshine/pull/5307)
* chore(deps): update vmactions/freebsd-vm action to v1.4.8 by [@renovate[bot]](https://github.com/apps/renovate) in [#5303](https://github.com/LizardByte/Sunshine/pull/5303)
* chore(deps): update lucide monorepo to v1.21.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5304](https://github.com/LizardByte/Sunshine/pull/5304)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5311](https://github.com/LizardByte/Sunshine/pull/5311)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5314](https://github.com/LizardByte/Sunshine/pull/5314)
* feat(linux/pipewire): add fallback to node id if connection via object serial fails by [@Kishi85](https://github.com/Kishi85) in [#5302](https://github.com/LizardByte/Sunshine/pull/5302)
* build(deps): bump third-party/lizardbyte-common from `c049430` to `8d7dcc9` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5306](https://github.com/LizardByte/Sunshine/pull/5306)
* build(deps): fix building on Linux with DRM capture disabled by [@chewi](https://github.com/chewi) in [#5224](https://github.com/LizardByte/Sunshine/pull/5224)
* build(homebrew): fix formula audit by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5317](https://github.com/LizardByte/Sunshine/pull/5317)
* feat(linux/xdgportal): Add support for pipewire-serial by [@Kishi85](https://github.com/Kishi85) in [#5060](https://github.com/LizardByte/Sunshine/pull/5060)
* feat(linux/kwin): log object serial when available on stream creation by [@Kishi85](https://github.com/Kishi85) in [#5299](https://github.com/LizardByte/Sunshine/pull/5299)
* chore(deps): update devdependencies (non-major) by [@renovate[bot]](https://github.com/apps/renovate) in [#5320](https://github.com/LizardByte/Sunshine/pull/5320)
* build(deps): bump third-party/build-deps from `fce763b` to `9d09f31` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5324](https://github.com/LizardByte/Sunshine/pull/5324)
* chore(deps): update official github actions by [@renovate[bot]](https://github.com/apps/renovate) in [#5325](https://github.com/LizardByte/Sunshine/pull/5325)
* chore(deps): update official github actions (major) by [@renovate[bot]](https://github.com/apps/renovate) in [#5326](https://github.com/LizardByte/Sunshine/pull/5326)
* build(deps): bump third-party/moonlight-common-c from `2600bea` to `47b4d33` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5327](https://github.com/LizardByte/Sunshine/pull/5327)
* build(deps): bump third-party/nvapi from `9b181ea` to `cd6918f` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5328](https://github.com/LizardByte/Sunshine/pull/5328)
* fix(crypto): OpenSSL 4.x compatibility by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5330](https://github.com/LizardByte/Sunshine/pull/5330)
* fix(linux/cuda-gl): gl:[00000501] error regression by [@Sheynar](https://github.com/Sheynar) in [#5310](https://github.com/LizardByte/Sunshine/pull/5310)
* feat(linux/cuda-gl): Allow YUV4:2:0 HDR and YUV4:4:4 HDR on nvidia cards by [@Sheynar](https://github.com/Sheynar) in [#5315](https://github.com/LizardByte/Sunshine/pull/5315)
* fix(input): don't send ALT when right-alt is remapped to meta by [@ap-1](https://github.com/ap-1) in [#5318](https://github.com/LizardByte/Sunshine/pull/5318)
* build(homebrew): reduce test duplication and add test coverage for macOS by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5331](https://github.com/LizardByte/Sunshine/pull/5331)
* chore(deps): update dependency vue to v3.5.39 by [@renovate[bot]](https://github.com/apps/renovate) in [#5333](https://github.com/LizardByte/Sunshine/pull/5333)
* chore(deps): update dependency vite-plugin-ejs to v1.8.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5334](https://github.com/LizardByte/Sunshine/pull/5334)
* fix(web-ui): don't open ui automatically on app start by [@s-h-a-d-o-w](https://github.com/s-h-a-d-o-w) in [#5329](https://github.com/LizardByte/Sunshine/pull/5329)
* chore(deps): update lizardbyte/actions action to v2026.625.20301 by [@renovate[bot]](https://github.com/apps/renovate) in [#5335](https://github.com/LizardByte/Sunshine/pull/5335)
* docs(doxygen): enforce warn if undocumented by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5337](https://github.com/LizardByte/Sunshine/pull/5337)
* chore(deps): update dependency vite-plugin-ejs to v2 by [@renovate[bot]](https://github.com/apps/renovate) in [#5336](https://github.com/LizardByte/Sunshine/pull/5336)
* fix(video): fix video stream freezing on capture re-init (e.g. pipewire display switch) by [@Kishi85](https://github.com/Kishi85) in [#5249](https://github.com/LizardByte/Sunshine/pull/5249)
* build(homebrew): fix build with cuda on linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5342](https://github.com/LizardByte/Sunshine/pull/5342)
* feat(web-ui): UI consistency / layout uplifts by [@Noklef](https://github.com/Noklef) in [#5225](https://github.com/LizardByte/Sunshine/pull/5225)
* docs(gh-pages): add Moonlight Tizen to clients by [@eduardomozart](https://github.com/eduardomozart) in [#5343](https://github.com/LizardByte/Sunshine/pull/5343)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5344](https://github.com/LizardByte/Sunshine/pull/5344)
* chore(deps): update actions/setup-dotnet action to v5.4.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5339](https://github.com/LizardByte/Sunshine/pull/5339)
* build(homebrew): force cuda on Linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5345](https://github.com/LizardByte/Sunshine/pull/5345)
* chore(deps): update vmactions/freebsd-vm action to v1.4.9 by [@renovate[bot]](https://github.com/apps/renovate) in [#5348](https://github.com/LizardByte/Sunshine/pull/5348)
* chore(deps): update actions/cache action to v6.1.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5349](https://github.com/LizardByte/Sunshine/pull/5349)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5347](https://github.com/LizardByte/Sunshine/pull/5347)
* chore(deps): update vmactions/freebsd-vm action to v1.5.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5352](https://github.com/LizardByte/Sunshine/pull/5352)
* fix(video): avoid UAF crashes during video reinit (reproducible on Vulkan) by [@psyke83](https://github.com/psyke83) in [#5346](https://github.com/LizardByte/Sunshine/pull/5346)
* build(FreeBSD): adjust CI Python dependency groups by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5355](https://github.com/LizardByte/Sunshine/pull/5355)
* fix(video): avoid nullptr deref segfault on encode session teardown by [@Kishi85](https://github.com/Kishi85) in [#5257](https://github.com/LizardByte/Sunshine/pull/5257)
* fix(flatpak): system tray permission by [@haroldm](https://github.com/haroldm) in [#5354](https://github.com/LizardByte/Sunshine/pull/5354)
* feat(linux): pace capture at exact fractional NTSC framerates by [@djadjka](https://github.com/djadjka) in [#5282](https://github.com/LizardByte/Sunshine/pull/5282)
* chore: use lizardbyte-common in c++ by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5356](https://github.com/LizardByte/Sunshine/pull/5356)
* chore(deps): update dependency @lucide/vue to v1.22.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5358](https://github.com/LizardByte/Sunshine/pull/5358)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5359](https://github.com/LizardByte/Sunshine/pull/5359)
* build(linux): avoid network for appstream cli & add missing deps by [@HurricanePootis](https://github.com/HurricanePootis) in [#5363](https://github.com/LizardByte/Sunshine/pull/5363)
* fix(linux/pipewire): avoid memory leaks by [@Kishi85](https://github.com/Kishi85) in [#5360](https://github.com/LizardByte/Sunshine/pull/5360)
* feat(macOS): libdispalydevice integration by [@martona](https://github.com/martona) in [#5338](https://github.com/LizardByte/Sunshine/pull/5338)
* perf(deps): switch to upstream nanors runtime dispatching by [@cgutman](https://github.com/cgutman) in [#5369](https://github.com/LizardByte/Sunshine/pull/5369)
* chore(deps): update dependency @lucide/vue to v1.23.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5365](https://github.com/LizardByte/Sunshine/pull/5365)
* build(deps): bump third-party/moonlight-common-c from `99c45d3` to `1f76427` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5375](https://github.com/LizardByte/Sunshine/pull/5375)
* build(deps): bump third-party/nanors from `57ee5e9` to `c3529fd` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5376](https://github.com/LizardByte/Sunshine/pull/5376)
* chore(deps): update astral-sh/setup-uv action to v8.3.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5379](https://github.com/LizardByte/Sunshine/pull/5379)
* build(Linux): Allow building with Vulkan but without Wayland by [@chewi](https://github.com/chewi) in [#5377](https://github.com/LizardByte/Sunshine/pull/5377)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5383](https://github.com/LizardByte/Sunshine/pull/5383)
* chore: revise bug report template for clarity and rules by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5387](https://github.com/LizardByte/Sunshine/pull/5387)
* chore(sonar): ignore submodules by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5390](https://github.com/LizardByte/Sunshine/pull/5390)
* ci: fix PR checkouts on arch and flatpak by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5391](https://github.com/LizardByte/Sunshine/pull/5391)
* chore: Remove setuptools from glad dependencies by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5392](https://github.com/LizardByte/Sunshine/pull/5392)
* build(deps): bump third-party/moonlight-common-c from `1f76427` to `2ea4775` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5382](https://github.com/LizardByte/Sunshine/pull/5382)
* chore: move nanors to moonlight-common-c submodule by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5393](https://github.com/LizardByte/Sunshine/pull/5393)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5386](https://github.com/LizardByte/Sunshine/pull/5386)
* chore(deps): update astral-sh/setup-uv action to v8.3.2 by [@renovate[bot]](https://github.com/apps/renovate) in [#5389](https://github.com/LizardByte/Sunshine/pull/5389)
* fix(linux): drop implicit DRM master for card fds by [@sakinami0839](https://github.com/sakinami0839) in [#5286](https://github.com/LizardByte/Sunshine/pull/5286)
* refactor(sonar): migrate worker threads to std::jthread by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5398](https://github.com/LizardByte/Sunshine/pull/5398)
* chore(packaging): Drop Windows NSIS builds and rename ZIP to lite by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5405](https://github.com/LizardByte/Sunshine/pull/5405)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5403](https://github.com/LizardByte/Sunshine/pull/5403)
* build(deps): bump third-party/moonlight-common-c from `2ea4775` to `82e2514` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5402](https://github.com/LizardByte/Sunshine/pull/5402)
* chore(deps): update dependency @lucide/vue to v1.24.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5396](https://github.com/LizardByte/Sunshine/pull/5396)
* chore(deps): update dependency marked to v18.0.6 - autoclosed by [@renovate[bot]](https://github.com/apps/renovate) in [#5395](https://github.com/LizardByte/Sunshine/pull/5395)
* fix(linux): avoid memory leak from unnecessary encoder re-probing by [@neatnoise](https://github.com/neatnoise) in [#5404](https://github.com/LizardByte/Sunshine/pull/5404)
* chore(deps): Update build-deps to v2026.713.132551 by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5409](https://github.com/LizardByte/Sunshine/pull/5409)
* chore(sonar): change NOSONAR comment style by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5410](https://github.com/LizardByte/Sunshine/pull/5410)
* chore(deps): update actions/setup-node action to v7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5413](https://github.com/LizardByte/Sunshine/pull/5413)
* feat(linux/vaapi): VAAPI encoder improvements by [@psyke83](https://github.com/psyke83) in [#5388](https://github.com/LizardByte/Sunshine/pull/5388)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.8 by [@renovate[bot]](https://github.com/apps/renovate) in [#5418](https://github.com/LizardByte/Sunshine/pull/5418)
* fix(docs/linux): add Portal and EGL context tips by [@psyke83](https://github.com/psyke83) in [#5419](https://github.com/LizardByte/Sunshine/pull/5419)
* fix(packaging/windows): Allow WiX installer downgrades by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5435](https://github.com/LizardByte/Sunshine/pull/5435)
* feat(linux): use connector name as default display name on linux by [@Kishi85](https://github.com/Kishi85) in [#5423](https://github.com/LizardByte/Sunshine/pull/5423)
* chore(deps): update actions/checkout action to v7.0.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5412](https://github.com/LizardByte/Sunshine/pull/5412)
* chore(deps): update actions/setup-dotnet action to v6 by [@renovate[bot]](https://github.com/apps/renovate) in [#5422](https://github.com/LizardByte/Sunshine/pull/5422)
* chore(deps): update vmactions/freebsd-vm action to v1.5.1 by [@renovate[bot]](https://github.com/apps/renovate) in [#5426](https://github.com/LizardByte/Sunshine/pull/5426)
* chore(deps): update dependency marked to v18.0.7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5433](https://github.com/LizardByte/Sunshine/pull/5433)
* chore(deps): update dependency @lucide/vue to v1.25.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5424](https://github.com/LizardByte/Sunshine/pull/5424)
* chore(deps): update dependency vue-i18n to v11.4.7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5434](https://github.com/LizardByte/Sunshine/pull/5434)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5431](https://github.com/LizardByte/Sunshine/pull/5431)
* build(deps): bump third-party/moonlight-common-c from `82e2514` to `703a069` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5428](https://github.com/LizardByte/Sunshine/pull/5428)
* chore(deps): update dependency vue to v3.5.40 by [@renovate[bot]](https://github.com/apps/renovate) in [#5421](https://github.com/LizardByte/Sunshine/pull/5421)
* chore(deps): update vmactions/freebsd-vm action to v1.5.2 by [@renovate[bot]](https://github.com/apps/renovate) in [#5436](https://github.com/LizardByte/Sunshine/pull/5436)
* chore(deps): update actions/setup-python action to v7 by [@renovate[bot]](https://github.com/apps/renovate) in [#5437](https://github.com/LizardByte/Sunshine/pull/5437)
* chore(deps): update astral-sh/setup-uv action to v9 by [@renovate[bot]](https://github.com/apps/renovate) in [#5438](https://github.com/LizardByte/Sunshine/pull/5438)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5420](https://github.com/LizardByte/Sunshine/pull/5420)
* build(deps): bump third-party/moonlight-common-c from `703a069` to `e41355e` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5439](https://github.com/LizardByte/Sunshine/pull/5439)
* chore(deps): update dependency @lucide/vue to v1.26.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5440](https://github.com/LizardByte/Sunshine/pull/5440)
* refactor: clients section to dynamically fetch from app-directory by [@eduardomozart](https://github.com/eduardomozart) in [#5380](https://github.com/LizardByte/Sunshine/pull/5380)
* fix(amf): wire h264_amf coder and profile mapping by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5442](https://github.com/LizardByte/Sunshine/pull/5442)
* chore: bump FreeBSD version from 14.4 to 15.1 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5445](https://github.com/LizardByte/Sunshine/pull/5445)
* chore: move nv-codec-headers to build-deps submodule by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5449](https://github.com/LizardByte/Sunshine/pull/5449)
* fix(linux/kms): use same methodology for display name matching and list generation by [@Kishi85](https://github.com/Kishi85) in [#5448](https://github.com/LizardByte/Sunshine/pull/5448)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5450](https://github.com/LizardByte/Sunshine/pull/5450)
* fix(nvenc): dynamic nv codec sdk selection by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5451](https://github.com/LizardByte/Sunshine/pull/5451)
* chore(deps): update dependency @lucide/vue to v1.27.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5452](https://github.com/LizardByte/Sunshine/pull/5452)
* chore(deps): update dependency vue-i18n to v11.4.8 - autoclosed by [@renovate[bot]](https://github.com/apps/renovate) in [#5453](https://github.com/LizardByte/Sunshine/pull/5453)
* chore(deps): Update build-deps to v2026.724.203728 by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5446](https://github.com/LizardByte/Sunshine/pull/5446)
* build(deps): bump third-party/lizardbyte-common from `06cd442` to `011ad2b` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5457](https://github.com/LizardByte/Sunshine/pull/5457)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5455](https://github.com/LizardByte/Sunshine/pull/5455)
* chore: migrate to qt tray for all platforms by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5260](https://github.com/LizardByte/Sunshine/pull/5260)
* fix(FreeBSD): Qt6 tray dependency package by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5458](https://github.com/LizardByte/Sunshine/pull/5458)
* chore(deps): update lizardbyte/actions action to v2026.728.214955 by [@renovate[bot]](https://github.com/apps/renovate) in [#5459](https://github.com/LizardByte/Sunshine/pull/5459)
* test(tray): add system tray tests by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4221](https://github.com/LizardByte/Sunshine/pull/4221)
* fix(web-ui): Welcome page styling by [@Noklef](https://github.com/Noklef) in [#5466](https://github.com/LizardByte/Sunshine/pull/5466)
* chore(deps): update vmactions/freebsd-vm action to v1.5.3 by [@renovate[bot]](https://github.com/apps/renovate) in [#5478](https://github.com/LizardByte/Sunshine/pull/5478)
* chore(deps): update dependency @lucide/vue to v1.28.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5463](https://github.com/LizardByte/Sunshine/pull/5463)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5470](https://github.com/LizardByte/Sunshine/pull/5470)
* chore(deps): update dependency marked to v18.0.9 by [@renovate[bot]](https://github.com/apps/renovate) in [#5473](https://github.com/LizardByte/Sunshine/pull/5473)
* chore(deps): update dependency vue to v3.5.41 by [@renovate[bot]](https://github.com/apps/renovate) in [#5475](https://github.com/LizardByte/Sunshine/pull/5475)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5479](https://github.com/LizardByte/Sunshine/pull/5479)
* chore(docker): fix hadolint SC3014 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5482](https://github.com/LizardByte/Sunshine/pull/5482)
* build(macOS): fix macOS framework signing glob by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5483](https://github.com/LizardByte/Sunshine/pull/5483)
* build(macOS): sign only valid framework bundles by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5484](https://github.com/LizardByte/Sunshine/pull/5484)
* feat(logging): rotating log files by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5485](https://github.com/LizardByte/Sunshine/pull/5485)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5487](https://github.com/LizardByte/Sunshine/pull/5487)
* chore(deps): update dependency @lucide/vue to v1.30.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5486](https://github.com/LizardByte/Sunshine/pull/5486)
* build(unix): add nv-codec-headers include path by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5488](https://github.com/LizardByte/Sunshine/pull/5488)
* ci: add workflow to publish PR artifacts by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5491](https://github.com/LizardByte/Sunshine/pull/5491)
* chore(deps): update dependency @lucide/vue to v1.31.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5493](https://github.com/LizardByte/Sunshine/pull/5493)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5492](https://github.com/LizardByte/Sunshine/pull/5492)
* fix(linux/kms)!: Use connector type index from KMS instead of self calculation by [@Kishi85](https://github.com/Kishi85) in [#5489](https://github.com/LizardByte/Sunshine/pull/5489)
* build(windows): default to qt6-static by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5497](https://github.com/LizardByte/Sunshine/pull/5497)
* feat(input): implement libvirtualhid adding new gamepad styles by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5368](https://github.com/LizardByte/Sunshine/pull/5368)
* ci(FreeBSD): remove aarch64 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5516](https://github.com/LizardByte/Sunshine/pull/5516)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5514](https://github.com/LizardByte/Sunshine/pull/5514)
* fix(virtual-hid): remove license expiration by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5517](https://github.com/LizardByte/Sunshine/pull/5517)
* build(homebrew): normalize remapped LCOV source paths by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5518](https://github.com/LizardByte/Sunshine/pull/5518)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5507](https://github.com/LizardByte/Sunshine/pull/5507)
* fix(macOS): update build script and ci with explicit Qt6 paths by [@eduardomozart](https://github.com/eduardomozart) in [#5502](https://github.com/LizardByte/Sunshine/pull/5502)
* chore(deps): update astral-sh/setup-uv action to v10 by [@renovate[bot]](https://github.com/apps/renovate) in [#5501](https://github.com/LizardByte/Sunshine/pull/5501)
* chore(deps): update dependency marked to v18.0.10 by [@renovate[bot]](https://github.com/apps/renovate) in [#5521](https://github.com/LizardByte/Sunshine/pull/5521)
* fix(linux/pipewire): restore dummy buffer for software encoders and fix buffer ownership by [@luanweslley77](https://github.com/luanweslley77) in [#5495](https://github.com/LizardByte/Sunshine/pull/5495)
* fix(linux/freebsd): truncate thread names to 15 characters by [@psyke83](https://github.com/psyke83) in [#5527](https://github.com/LizardByte/Sunshine/pull/5527)
* chore(deps): update dependency @lucide/vue to v1.32.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5528](https://github.com/LizardByte/Sunshine/pull/5528)
* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5525](https://github.com/LizardByte/Sunshine/pull/5525)
* chore(deps): update dependency @lucide/vue to v1.33.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5533](https://github.com/LizardByte/Sunshine/pull/5533)
* fix(macOS): System tray icon disappears when restarting Sunshine by [@eduardomozart](https://github.com/eduardomozart) in [#5504](https://github.com/LizardByte/Sunshine/pull/5504)
* fix(input): preserve aux gamepad data and bump libvirtualhid by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5531](https://github.com/LizardByte/Sunshine/pull/5531)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5535](https://github.com/LizardByte/Sunshine/pull/5535)
* fix(wayland): use the current wl_output mode by [@zacharydenton](https://github.com/zacharydenton) in [#5150](https://github.com/LizardByte/Sunshine/pull/5150)
* feat(amf): add amd_max_au_size option by [@pollopopo](https://github.com/pollopopo) in [#4926](https://github.com/LizardByte/Sunshine/pull/4926)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5539](https://github.com/LizardByte/Sunshine/pull/5539)
* chore: update Virtual HID requirements and mouse refresh by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5547](https://github.com/LizardByte/Sunshine/pull/5547)
* chore(deps): update vmactions/freebsd-vm action to v1.5.4 by [@renovate[bot]](https://github.com/apps/renovate) in [#5540](https://github.com/LizardByte/Sunshine/pull/5540)
* build(deps): bump third-party/moonlight-common-c from `e41355e` to `874ac95` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5541](https://github.com/LizardByte/Sunshine/pull/5541)
* chore(deps): update dependency vue-i18n to v11.4.9 by [@renovate[bot]](https://github.com/apps/renovate) in [#5546](https://github.com/LizardByte/Sunshine/pull/5546)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5543](https://github.com/LizardByte/Sunshine/pull/5543)
* fix(linux/publish): release the Avahi client when the poll loop stops by [@nikzasel](https://github.com/nikzasel) in [#5545](https://github.com/LizardByte/Sunshine/pull/5545)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5548](https://github.com/LizardByte/Sunshine/pull/5548)
* build(deps): bump third-party/lizardbyte-common from `011ad2b` to `ffc027d` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5550](https://github.com/LizardByte/Sunshine/pull/5550)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5551](https://github.com/LizardByte/Sunshine/pull/5551)
* chore: add branding images by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5552](https://github.com/LizardByte/Sunshine/pull/5552)
* fix(pipewire): gate variable rate capture and fix fractional framerates by [@psyke83](https://github.com/psyke83) in [#5538](https://github.com/LizardByte/Sunshine/pull/5538)
* chore(deps): update dependency marked to v18.0.11 by [@renovate[bot]](https://github.com/apps/renovate) in [#5555](https://github.com/LizardByte/Sunshine/pull/5555)
* chore(deps): update dependency vue-i18n to v11.4.10 by [@renovate[bot]](https://github.com/apps/renovate) in [#5556](https://github.com/LizardByte/Sunshine/pull/5556)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5557](https://github.com/LizardByte/Sunshine/pull/5557)
* feat(input): update libvirtualhid integration by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5563](https://github.com/LizardByte/Sunshine/pull/5563)
* chore(deps): update vmactions/freebsd-vm action to v1.5.5 by [@renovate[bot]](https://github.com/apps/renovate) in [#5561](https://github.com/LizardByte/Sunshine/pull/5561)
* chore(deps): update dependency vue to v3.5.42 by [@renovate[bot]](https://github.com/apps/renovate) in [#5560](https://github.com/LizardByte/Sunshine/pull/5560)
* chore(deps): update dependency @lucide/vue to v1.35.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5565](https://github.com/LizardByte/Sunshine/pull/5565)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5559](https://github.com/LizardByte/Sunshine/pull/5559)
* chore(deps): add vite override for codecov plugin by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5576](https://github.com/LizardByte/Sunshine/pull/5576)
* chore(deps): update lizardbyte/actions action to v2026.829.140353 by [@renovate[bot]](https://github.com/apps/renovate) in [#5577](https://github.com/LizardByte/Sunshine/pull/5577)
* chore(deps): update dependency vite to v8 by [@renovate[bot]](https://github.com/apps/renovate) in [#5578](https://github.com/LizardByte/Sunshine/pull/5578)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5579](https://github.com/LizardByte/Sunshine/pull/5579)
* fix(linux/pipewire): try variable rate for non-KWin compositors by [@psyke83](https://github.com/psyke83) in [#5569](https://github.com/LizardByte/Sunshine/pull/5569)
* chore(deps): update dependency @lucide/vue to v1.37.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5581](https://github.com/LizardByte/Sunshine/pull/5581)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5582](https://github.com/LizardByte/Sunshine/pull/5582)
* feat(session): add SUNSHINE_CLIENT_NAME environment variable by [@oryschakj](https://github.com/oryschakj) in [#5465](https://github.com/LizardByte/Sunshine/pull/5465)
* fix(windows/installer): PATH update reg add /f option ordering by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5584](https://github.com/LizardByte/Sunshine/pull/5584)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#5588](https://github.com/LizardByte/Sunshine/pull/5588)
* chore(deps): update dependency @lucide/vue to v1.38.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5587](https://github.com/LizardByte/Sunshine/pull/5587)
* fix(video): fall back to SDR when HDR isn't supported by [@matix753](https://github.com/matix753) in [#5429](https://github.com/LizardByte/Sunshine/pull/5429)
* fix(windows): capture the configured audio sink instead of the default device by [@tonyctalope](https://github.com/tonyctalope) in [#5408](https://github.com/LizardByte/Sunshine/pull/5408)
* fix(input): track/release client keycode for modifiers by [@sethdmoore](https://github.com/sethdmoore) in [#5558](https://github.com/LizardByte/Sunshine/pull/5558)
* ci: sonar fixes by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5594](https://github.com/LizardByte/Sunshine/pull/5594)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5583](https://github.com/LizardByte/Sunshine/pull/5583)
* docs: fix typo automaticaly -> automatically by [@vaibhav8a](https://github.com/vaibhav8a) in [#5573](https://github.com/LizardByte/Sunshine/pull/5573)
* fix: iterator/stat utility edge cases and add tests by [@dasepmoch](https://github.com/dasepmoch) in [#5308](https://github.com/LizardByte/Sunshine/pull/5308)
* build(Linux): use compiler-selected libgcov for coverage by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5597](https://github.com/LizardByte/Sunshine/pull/5597)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ac5a296` to `1fc3219` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5595](https://github.com/LizardByte/Sunshine/pull/5595)
* chore(deps): update dependency @lucide/vue to v1.39.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5596](https://github.com/LizardByte/Sunshine/pull/5596)
* build(Windows): resolve system Node.js package by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5599](https://github.com/LizardByte/Sunshine/pull/5599)
* refactor: pairing flow, pairing tests, and inline struct comments by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5602](https://github.com/LizardByte/Sunshine/pull/5602)
* chore(deps): update dependency @lucide/vue to v1.40.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5606](https://github.com/LizardByte/Sunshine/pull/5606)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5600](https://github.com/LizardByte/Sunshine/pull/5600)
* build(docker): add bake config by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5607](https://github.com/LizardByte/Sunshine/pull/5607)
* chore(deps): update dependency @lucide/vue to v1.41.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#5609](https://github.com/LizardByte/Sunshine/pull/5609)
* build(flatpak): drop imagemagick dep by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5610](https://github.com/LizardByte/Sunshine/pull/5610)
* ci: add Cloudsmith packaging support by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5611](https://github.com/LizardByte/Sunshine/pull/5611)
* ci(release): avoid workflow concurrency deadlock by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5612](https://github.com/LizardByte/Sunshine/pull/5612)
* chore(deps): update lizardbyte/actions action to v2026.905.43751 by [@renovate[bot]](https://github.com/apps/renovate) in [#5614](https://github.com/LizardByte/Sunshine/pull/5614)
* chore: update global workflows by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5616](https://github.com/LizardByte/Sunshine/pull/5616)
* style(homebrew): fix homebrew validation by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5620](https://github.com/LizardByte/Sunshine/pull/5620)
* build(deps): bump third-party/lizardbyte-common from `ffc027d` to `f9d91e1` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5624](https://github.com/LizardByte/Sunshine/pull/5624)
* chore(deps): bump libvirtualhid by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5585](https://github.com/LizardByte/Sunshine/pull/5585)
* fix(macOS): enable microphone permission flow by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5621](https://github.com/LizardByte/Sunshine/pull/5621)
* build(deps): bump third-party/tray from `1d0d696` to `c329d9f` by [@dependabot[bot]](https://github.com/apps/dependabot) in [#5630](https://github.com/LizardByte/Sunshine/pull/5630)
* build(Linux): add aarch64 AppImage by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5627](https://github.com/LizardByte/Sunshine/pull/5627)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#5626](https://github.com/LizardByte/Sunshine/pull/5626)
* ci(FreeBSD): enable docs by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#5631](https://github.com/LizardByte/Sunshine/pull/5631)
* feat(linux/pipewire): add support for unpaced capture when appropriate by [@psyke83](https://github.com/psyke83) in [#5629](https://github.com/LizardByte/Sunshine/pull/5629)
## New Contributors
* [@httpstorm](https://github.com/httpstorm) made their first contribution in [#5153](https://github.com/LizardByte/Sunshine/pull/5153)
* [@Noklef](https://github.com/Noklef) made their first contribution in [#5158](https://github.com/LizardByte/Sunshine/pull/5158)
* [@Nottlespike](https://github.com/Nottlespike) made their first contribution in [#5185](https://github.com/LizardByte/Sunshine/pull/5185)
* [@hebo6](https://github.com/hebo6) made their first contribution in [#5130](https://github.com/LizardByte/Sunshine/pull/5130)
* [@alexytomi](https://github.com/alexytomi) made their first contribution in [#5206](https://github.com/LizardByte/Sunshine/pull/5206)
* [@Sev7een](https://github.com/Sev7een) made their first contribution in [#5233](https://github.com/LizardByte/Sunshine/pull/5233)
* [@joeknock90](https://github.com/joeknock90) made their first contribution in [#5132](https://github.com/LizardByte/Sunshine/pull/5132)
* [@Sheynar](https://github.com/Sheynar) made their first contribution in [#4965](https://github.com/LizardByte/Sunshine/pull/4965)
* [@ap-1](https://github.com/ap-1) made their first contribution in [#5318](https://github.com/LizardByte/Sunshine/pull/5318)
* [@s-h-a-d-o-w](https://github.com/s-h-a-d-o-w) made their first contribution in [#5329](https://github.com/LizardByte/Sunshine/pull/5329)
* [@haroldm](https://github.com/haroldm) made their first contribution in [#5354](https://github.com/LizardByte/Sunshine/pull/5354)
* [@djadjka](https://github.com/djadjka) made their first contribution in [#5282](https://github.com/LizardByte/Sunshine/pull/5282)
* [@HurricanePootis](https://github.com/HurricanePootis) made their first contribution in [#5363](https://github.com/LizardByte/Sunshine/pull/5363)
* [@sakinami0839](https://github.com/sakinami0839) made their first contribution in [#5286](https://github.com/LizardByte/Sunshine/pull/5286)
* [@luanweslley77](https://github.com/luanweslley77) made their first contribution in [#5495](https://github.com/LizardByte/Sunshine/pull/5495)
* [@zacharydenton](https://github.com/zacharydenton) made their first contribution in [#5150](https://github.com/LizardByte/Sunshine/pull/5150)
* [@pollopopo](https://github.com/pollopopo) made their first contribution in [#4926](https://github.com/LizardByte/Sunshine/pull/4926)
* [@nikzasel](https://github.com/nikzasel) made their first contribution in [#5545](https://github.com/LizardByte/Sunshine/pull/5545)
* [@oryschakj](https://github.com/oryschakj) made their first contribution in [#5465](https://github.com/LizardByte/Sunshine/pull/5465)
* [@matix753](https://github.com/matix753) made their first contribution in [#5429](https://github.com/LizardByte/Sunshine/pull/5429)
* [@tonyctalope](https://github.com/tonyctalope) made their first contribution in [#5408](https://github.com/LizardByte/Sunshine/pull/5408)
* [@sethdmoore](https://github.com/sethdmoore) made their first contribution in [#5558](https://github.com/LizardByte/Sunshine/pull/5558)
* [@vaibhav8a](https://github.com/vaibhav8a) made their first contribution in [#5573](https://github.com/LizardByte/Sunshine/pull/5573)
* [@dasepmoch](https://github.com/dasepmoch) made their first contribution in [#5308](https://github.com/LizardByte/Sunshine/pull/5308)
**Full Changelog**: https://github.com/LizardByte/Sunshine/compare/v2026.516.143833...v2026.906.222525
---
## Contributors
<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]: 101 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: 71 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: 34 merges" ></a><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]: 23 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: 13 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: 7 merges" ></a><a href="https://github.com/Noklef" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Noklef" ><img src="https://github.com/Noklef.png?size=40" width="40" height="40" alt="Noklef" title="Noklef: 4 merges" ></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: 4 merges" ></a><a href="https://github.com/Nottlespike" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Nottlespike" ><img src="https://github.com/Nottlespike.png?size=40" width="40" height="40" alt="Nottlespike" title="Nottlespike: 3 merges" ></a><a href="https://github.com/Sheynar" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Sheynar" ><img src="https://github.com/Sheynar.png?size=40" width="40" height="40" alt="Sheynar" title="Sheynar: 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/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: 2 merges" ></a><a href="https://github.com/httpstorm" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, httpstorm" ><img src="https://github.com/httpstorm.png?size=40" width="40" height="40" alt="httpstorm" title="httpstorm: 2 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: 2 merges" ></a><a href="https://github.com/HurricanePootis" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, HurricanePootis" ><img src="https://github.com/HurricanePootis.png?size=40" width="40" height="40" alt="HurricanePootis" title="HurricanePootis: 1 merge" ></a><a href="https://github.com/Sev7een" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, Sev7een" ><img src="https://github.com/Sev7een.png?size=40" width="40" height="40" alt="Sev7een" title="Sev7een: 1 merge" ></a><a href="https://github.com/alexytomi" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, alexytomi" ><img src="https://github.com/alexytomi.png?size=40" width="40" height="40" alt="alexytomi" title="alexytomi: 1 merge" ></a><a href="https://github.com/ap-1" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ap-1" ><img src="https://github.com/ap-1.png?size=40" width="40" height="40" alt="ap-1" title="ap-1: 1 merge" ></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: 1 merge" ></a><a href="https://github.com/dasepmoch" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, dasepmoch" ><img src="https://github.com/dasepmoch.png?size=40" width="40" height="40" alt="dasepmoch" title="dasepmoch: 1 merge" ></a><a href="https://github.com/djadjka" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, djadjka" ><img src="https://github.com/djadjka.png?size=40" width="40" height="40" alt="djadjka" title="djadjka: 1 merge" ></a><a href="https://github.com/haroldm" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, haroldm" ><img src="https://github.com/haroldm.png?size=40" width="40" height="40" alt="haroldm" title="haroldm: 1 merge" ></a><a href="https://github.com/hebo6" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, hebo6" ><img src="https://github.com/hebo6.png?size=40" width="40" height="40" alt="hebo6" title="hebo6: 1 merge" ></a><a href="https://github.com/joeknock90" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, joeknock90" ><img src="https://github.com/joeknock90.png?size=40" width="40" height="40" alt="joeknock90" title="joeknock90: 1 merge" ></a><a href="https://github.com/luanweslley77" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, luanweslley77" ><img src="https://github.com/luanweslley77.png?size=40" width="40" height="40" alt="luanweslley77" title="luanweslley77: 1 merge" ></a><a href="https://github.com/matix753" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, matix753" ><img src="https://github.com/matix753.png?size=40" width="40" height="40" alt="matix753" title="matix753: 1 merge" ></a><a href="https://github.com/nikzasel" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, nikzasel" ><img src="https://github.com/nikzasel.png?size=40" width="40" height="40" alt="nikzasel" title="nikzasel: 1 merge" ></a><a href="https://github.com/oryschakj" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, oryschakj" ><img src="https://github.com/oryschakj.png?size=40" width="40" height="40" alt="oryschakj" title="oryschakj: 1 merge" ></a><a href="https://github.com/pollopopo" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, pollopopo" ><img src="https://github.com/pollopopo.png?size=40" width="40" height="40" alt="pollopopo" title="pollopopo: 1 merge" ></a><a href="https://github.com/s-h-a-d-o-w" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, s-h-a-d-o-w" ><img src="https://github.com/s-h-a-d-o-w.png?size=40" width="40" height="40" alt="s-h-a-d-o-w" title="s-h-a-d-o-w: 1 merge" ></a><a href="https://github.com/sakinami0839" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, sakinami0839" ><img src="https://github.com/sakinami0839.png?size=40" width="40" height="40" alt="sakinami0839" title="sakinami0839: 1 merge" ></a><a href="https://github.com/sethdmoore" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, sethdmoore" ><img src="https://github.com/sethdmoore.png?size=40" width="40" height="40" alt="sethdmoore" title="sethdmoore: 1 merge" ></a><a href="https://github.com/tonyctalope" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, tonyctalope" ><img src="https://github.com/tonyctalope.png?size=40" width="40" height="40" alt="tonyctalope" title="tonyctalope: 1 merge" ></a><a href="https://github.com/vaibhav8a" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, vaibhav8a" ><img src="https://github.com/vaibhav8a.png?size=40" width="40" height="40" alt="vaibhav8a" title="vaibhav8a: 1 merge" ></a><a href="https://github.com/zacharydenton" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, zacharydenton" ><img src="https://github.com/zacharydenton.png?size=40" width="40" height="40" alt="zacharydenton" title="zacharydenton: 1 merge" ></a>
---
📦 **Assets:**
| ⬇️ Download | #️⃣ Download Count | 🛡️ VirusTotal |
|-------------|-------------------|---------------|
| [Sunshine-FreeBSD-15.1-amd64.pkg](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-FreeBSD-15.1-amd64.pkg) |  | [](https://www.virustotal.com/gui/file-analysis/ODk2YzMyZWU0MzRhNWIyOTI1YWI0MDhhYTg3NDRmMWM6MTc4ODczNzEzOA==) |
| [Sunshine-Windows-AMD64-debuginfo.7z](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-Windows-AMD64-debuginfo.7z) |  | [](https://www.virustotal.com/gui/file-analysis/YTcwZjc3YzRiY2I3OGFiZTEyYzQ4OGNmZWZhNjhmMWY6MTc4ODczNzE0MQ==) |
| [Sunshine-Windows-AMD64-installer.msi](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-Windows-AMD64-installer.msi) |  | [](https://www.virustotal.com/gui/file-analysis/Nzk0NzMyMmMwNGJmNGVhNjU0ZWQ0YWVkNzY4NGZiZWI6MTc4ODczNzE0Mg==) |
| [Sunshine-Windows-AMD64-lite.zip](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-Windows-AMD64-lite.zip) |  | [](https://www.virustotal.com/gui/file-analysis/ZmQxMDlmNGE5OTI3NDkyOGUxMjA0ODg1NjU4NjkxYzg6MTc4ODczNzE0NA==) |
| [Sunshine-Windows-ARM64-debuginfo.7z](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-Windows-ARM64-debuginfo.7z) |  | [](https://www.virustotal.com/gui/file-analysis/MDFjZWRiNDNlOGFjYmMwMWVkZjJiZGU2MDI1YWFhNzU6MTc4ODczNzE5OA==) |
| [Sunshine-Windows-ARM64-installer.msi](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-Windows-ARM64-installer.msi) |  | [](https://www.virustotal.com/gui/file-analysis/NzdlNDE1NTYxY2U2ZGUwYTY3MTY3ZmJmMmFmNzRhNmI6MTc4ODczNzIwMg==) |
| [Sunshine-Windows-ARM64-lite.zip](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-Windows-ARM64-lite.zip) |  | [](https://www.virustotal.com/gui/file-analysis/ZTQ1NDQ3ODJhYTQ0NGI1Y2VhOGZlMmFkOWYzMzFiMmU6MTc4ODczNzIwNw==) |
| [Sunshine-macOS-arm64.dmg](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-macOS-arm64.dmg) |  | [](https://www.virustotal.com/gui/file-analysis/NmQyOWNlMjBiNTc0YjNkOTI1N2RiYjA4NjEzMDQwNDU6MTc4ODczNzIwOQ==) |
| [Sunshine-macOS-x86_64.dmg](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-macOS-x86_64.dmg) |  | [](https://www.virustotal.com/gui/file-analysis/OTFmY2NiYWI2YWE2OTE4YmZhN2Y5NmU2ZjM2ZTFiOWI6MTc4ODczNzIxMw==) |
| [Sunshine_2026.906.222525_aarch64.AppImage](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine_2026.906.222525_aarch64.AppImage) |  | [](https://www.virustotal.com/gui/file-analysis/MGQ0NjNiOGZhODhiZjE4OTc0MjIwODAyNjVmOGI4Yzc6MTc4ODczNzI2MA==) |
| [Sunshine_2026.906.222525_x86_64.AppImage](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine_2026.906.222525_x86_64.AppImage) |  | [](https://www.virustotal.com/gui/file-analysis/NTVkNWFhNWJmNWZlNmY2MTBiZGE0YTFiMTYzNmMyOGE6MTc4ODczNzI2Mg==) |
| [flathub.tar.gz](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/flathub.tar.gz) |  | [](https://www.virustotal.com/gui/file-analysis/MmU5YmFkMDVjYWFiOGE5OTZhZGIxMzU5YjhhMGNkZTc6MTc4ODczNzI2Mw==) |
| [sunshine-2026.906.222525-1-x86_64.pkg.tar.zst](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine-2026.906.222525-1-x86_64.pkg.tar.zst) |  | [](https://www.virustotal.com/gui/file-analysis/Mjg1MWE2MmM4ZDQ5NmZhY2ZjNDI3MDk1M2I5MGIxOWY6MTc4ODczNzI3Mw==) |
| [sunshine.pkg.tar.gz](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine.pkg.tar.gz) |  | [](https://www.virustotal.com/gui/file-analysis/OTgxM2E4NjYxMDM1NTA5ZTg0ZDY0ZTY5NjY4MTZmNjQ6MTc4ODczNzI4Ng==) |
| [sunshine.rb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine.rb) |  | [](https://www.virustotal.com/gui/file-analysis/M2ZhMDQ4YzhiMTRjMjVmOTUwOGNhZTUxYjFjZWFmNWM6MTc4ODczNzMyMQ==) |
| [sunshine_2026.906.222525-1+debiantrixie_amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+debiantrixie_amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/NDRlOGRjZWIyODE5NmMzOWUzN2ZlNGE5YWQzNzQzNTk6MTc4ODczNzMyNA==) |
| [sunshine_2026.906.222525-1+debiantrixie_arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+debiantrixie_arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/MmE5ZjUyNjM1OTZlN2U5Y2JiZTVmMzI4MTczNDUxMjA6MTc4ODczNzMzMw==) |
| [sunshine_2026.906.222525-1+ubuntu22.04_amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+ubuntu22.04_amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/ZjFjODYwMThkNzIwNTQyOWU2MmRhNWZlMTYwYTgyMTU6MTc4ODczNzM0OA==) |
| [sunshine_2026.906.222525-1+ubuntu22.04_arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+ubuntu22.04_arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/Y2U0NjNkOWY3ZmJhMGNiYWM4YTBkMTQzY2Y4ZjVkZGE6MTc4ODczNzM2Mw==) |
| [sunshine_2026.906.222525-1+ubuntu24.04_amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+ubuntu24.04_amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/M2JhNDZiNjRhN2ZjNTMyYjhkOWVjZmFkYmEwZDMwMWE6MTc4ODczNzM4Mw==) |
| [sunshine_2026.906.222525-1+ubuntu24.04_arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+ubuntu24.04_arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/OTVhMDlhNzdhZDdkM2U0YjljYzY4MDQ1MmQyNzg2M2E6MTc4ODczNzM5NA==) |
| [sunshine_2026.906.222525-1+ubuntu26.04_amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+ubuntu26.04_amd64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/MjE2OWM0NDUxYjg2MDMyZDlmNjFiNzQxZWEwYzkyOTk6MTc4ODczNzQxMA==) |
| [sunshine_2026.906.222525-1+ubuntu26.04_arm64.deb](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_2026.906.222525-1+ubuntu26.04_arm64.deb) |  | [](https://www.virustotal.com/gui/file-analysis/ZjI3YzRiNDkxMTJmODU1NDdiYTQ4MTkyZjgyMDNkMjY6MTc4ODczNzQyNA==) |
| [sunshine_aarch64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_aarch64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/ZGM1ZjJlOTdhYWQ2MjFkNzNhMDdhYWI5OTU4MGM1MGQ6MTc4ODczNzQzOQ==) |
| [sunshine_debug_aarch64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_debug_aarch64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/MzViNjY0MjZhMmM4NWI1ZjNmM2U1ZDU3NTdkYmU1ZTM6MTc4ODczNzQ1Mw==) |
| [sunshine_debug_x86_64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_debug_x86_64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/MTM3YmQ5M2Q4NTY2ZGE5M2I1ZGM0YzJiNTQwMmQ4NzU6MTc4ODczNzQ2OA==) |
| [sunshine_x86_64.flatpak](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/sunshine_x86_64.flatpak) |  | [](https://www.virustotal.com/gui/file-analysis/MTczM2I2NGQ0YzI4ZDc3ZmZhMzkzN2I0MGZiYTg0MGY6MTc4ODczNzQ4NA==) |
| [Sunshine-2026.906.222525-1.fc43.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc43.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/YTYzZTE2ZmUyYzRhODE2MDE2MDE3ODU2ZDMyMTkzMmE6MTc4ODczOTkwOQ==) |
| [Sunshine-2026.906.222525-1.fc43.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc43.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/MzljNzhkNzczNzRhZjRlZTFkODIxZGIwODYxZjBiODE6MTc4ODczOTkxMA==) |
| [Sunshine-2026.906.222525-1.fc44.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc44.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/MDNhMGM0ZjFlZDVkYTVlMzI5ZjM3NzJlZTM3NDcxZGE6MTc4ODczOTkxMg==) |
| [Sunshine-2026.906.222525-1.fc44.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc44.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/Zjg5MTE4ZmM4MWJhYmRmMDA4NGUzY2I2ODBjZGExNmQ6MTc4ODczOTkxMw==) |
| [Sunshine-2026.906.222525-1.fc45.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc45.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/NGUwZTc0YTA2MTlmNTVhMWNjYjYzZTFmY2MxMWNkZTQ6MTc4ODczOTk2OQ==) |
| [Sunshine-2026.906.222525-1.fc45.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc45.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/OGY5NjcwM2U5Y2YzZDlmMTQzZjhhZDQ3ZDM1MjkyODc6MTc4ODczOTk3MA==) |
| [Sunshine-2026.906.222525-1.fc46.aarch64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc46.aarch64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/NzM4NDc4Mjk5YTM4MzYyMGJkODU1ZTk5NDdmODdkOGI6MTc4ODczOTk3MQ==) |
| [Sunshine-2026.906.222525-1.fc46.x86_64.rpm](https://github.com/LizardByte/Sunshine/releases/download/v2026.906.222525/Sunshine-2026.906.222525-1.fc46.x86_64.rpm) |  | [](https://www.virustotal.com/gui/file-analysis/OGE1MDAzYzg5OTRjOGQ2YmJhNTU4ODM3ZWI2NzI2ZjI6MTc4ODczOTk3Mg==) |