# Sunshine patch notes
> A self-hosted game-stream host for Moonlight.
- Vendor: LizardByte
- Category: Games
- Platforms: Desktop
- Official site: https://app.lizardbyte.dev/Sunshine
- Tracked by: What's New (https://whatsnew.fyi/product/sunshine)
- Harvested from: GitHub (LizardByte/Sunshine)
- Entries below: 10 (newest first)
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
## Releases
### v2026.726.710
- Date: 2026-07-26
- Version: v2026.726.710
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2026.726.710
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2026.726.710
- Labels: Pre-release; Platforms: Desktop
- **fixed** — scale remote scroll input using macOS scroll speed
- **fixed** — disconnect only the disabled client instead of all sessions
- **fixed** — move ViGEmBus to ThirdParty group in Windows installer
- **added** — add option to limit packetsize for clients that cannot configure it in RTSP
- **added** — add filtering and searching to the Apps page in web UI
- **fixed** — set packetsize upper limit to 65535
- **fixed** — add documentation link and version-aware URLs in web UI
- **fixed** — migrate to Qt tray on Linux
- **fixed** — explicitly check construct function error in thread_safe.h
- **fixed** — quote SHOULD_SIGN env expansion in macOS install script
- **fixed** — add NSLocalNetworkUsageDescription so Bonjour can register on macOS
- **fixed** — preserve host aspect ratio in encoder output on Linux with Vulkan
- **fixed** — drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING on macOS
##### 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/Suns
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2026.726.710]_
### v2026.725.25407
- Date: 2026-07-25
- Version: v2026.725.25407
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2026.725.25407
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2026.725.25407
- Labels: Pre-release; Platforms: Desktop
- **fixed** — Scale remote scroll input using macOS scroll speed
- **fixed** — Disconnect only the disabled client instead of all sessions
- **added** — Add option to limit packetsize for RTSP clients that cannot configure it
- **added** — Add filtering and searching to the apps page in web UI
- **fixed** — The packetsize upper limit is 65535
- **fixed** — Add documentation link and version-aware URLs in web UI
- **fixed** — Migrate Linux system tray to Qt
- **fixed** — Explicitly check construct function error in thread_safe.h
- **fixed** — Quote SHOULD_SIGN env expansion in macOS install script
- **fixed** — Add NSLocalNetworkUsageDescription so Bonjour can register on macOS
- **fixed** — Preserve host aspect ratio in Linux Vulkan encoder output
- **fixed** — Drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING on macOS
- **changed** — Migrate from lucide-vue-next to @lucide/vue
- **fixed** — Fix npm install on FreeBSD
- **fixed** — Move ViGEmBus to ThirdParty group in Windows installer
##### 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/Suns
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2026.725.25407]_
### v2026.516.143833
- Date: 2026-05-16
- Version: v2026.516.143833
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2026.516.143833
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2026.516.143833
- Labels: Platforms: Desktop
- **security** — Critical security update for GHSA-ph75-mgxh-mv57
- **removed** — ViGEmBus is no longer installed automatically
- **changed** — CSRF protection has been added to web-ui
- **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
- **added** — 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
- **changed** — Windows executables and installers are now signed for AMD64 packages
- **added** — New endpoints for Rest API /api/covers
- **changed** — Updated icons, added themes, and modernized web-ui
- **added** — Capture audio on macOS using Tap API
- **added** — Add client enable/disable access control from web-ui
- **added** — Support for clients to request fractional NTSC framerates
- **added** — Support for split frame encoding on GPUs with 2+ nvenc blocks
- **changed** — Updated FFmpeg to 8.1 branch
- **fixed** — Memory leak when EnumAdapters1 uses dxgi::adapter_t address as parameter on Windows
##### 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-action
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2026.516.143833]_
### v2025.924.154138
- Date: 2025-09-24
- Version: v2025.924.154138
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.924.154138
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2025.924.154138
- Labels: Platforms: Desktop
##### What's Changed
* fix(windows): Correct binPath syntax in install-service.bat by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4290](https://github.com/LizardByte/Sunshine/pull/4290)
* build(macos): Remove XCode dependency by [@eduardomozart](https://github.com/eduardomozart) in [#4293](https://github.com/LizardByte/Sunshine/pull/4293)
##### New Contributors
* [@eduardomozart](https://github.com/eduardomozart) made their first contribution in [#4293](https://github.com/LizardByte/Sunshine/pull/4293)
**Full Changelog**: https://github.com/LizardByte/Sunshine/compare/v2025.923.33222...v2025.924.154138
---
##### Contributors


---
🛡️ **VirusTotal Results:**
- [Sunshine-Windows-AMD64-debuginfo.7z](https://www.virustotal.com/gui/file-analysis/ZWU3ODk3MTcwNjllYjNmYzQ0ZGNmNzBkZjI4MzQzODc6MTc1ODczODI1OA==)
- [Sunshine-Windows-AMD64-installer.exe](https://www.virustotal.com/gui/file-analysis/ZTgwMDJjNmUyMDgwYTBiMzgxNzg4ZjY1Y2VkMmI1NDM6MTc1ODczODI2MA==)
- [Sunshine-Windows-AMD64-portable.zip](https://www.virustotal.com/gui/file-analysis/MTU1NjA1NmJiOTg3OWFhNzU2MGE0YmE2OGRhYWNkYzI6MTc1ODczODI2NA==)
- [flathub.tar.gz](https://www.virustotal.com/gui/file-analysis/ODU0MmI5YWVhOWFjMTBiZmVhM2E4NGQxZGJkNWQ4ZDQ6MTc1ODczODI2NQ==)
- [sunshine-debian-trixie-amd64.deb](https://www.virustotal.com/gui/file-analysis/ODIxMzhmNDRhYjljOTM0NGJjMzk4ZTgxNjJkN2ZmMTk6MTc1ODczODMxOA==)
- [sunshine-debian-trixie-arm64.deb](https://www.virustotal.com/gui/file-analysis/NzU5OTk4MWMyOTc0ODg4YTg0ZWZmMGQ0NWNiNTAxOTE6MTc1ODczODMxOQ==)
- [sunshine-ubuntu-22.04-amd64.deb](https://www.virustotal.com/gui/file-analysis/MWY5M2JkNTM0MjYxZTAzZWIwN2Q5MDVlYzgxOTExYzE6MTc1ODczODMyMQ==)
- [sunshine-ubuntu-22.04-arm64.deb](https://www.virustotal.com/gui/file-analysis/OTVhYzI3NjhmOTFiYjA2MTlkNDEwZGM5MzBmYjkxNGE6MTc1ODczODMyMw==)
- [sunshine-ubuntu-24.04-amd64.deb](https://www.virustotal.com/gui/file-analysis/ZDUzN2U1MTlmNTA5MWRlZTRjZTYzMDA5OTc4MjNiNjY6MTc1ODczODMzMw==)
- [sunshine-ubuntu-24.04-arm64.deb](https://www.virustotal.com/gui/file-analysis/YTU4YjkxZDkxYzU2MzhjNjdjZWJlMTQ0NmJiZjgwYWE6MTc1ODczODM4MA==)
- [sunshine.AppImage](https://www.virustotal.com/gui/file-analysis/MjBkZDgxODBhZjFjODc4ODk3ZmM2NjkxZWE0MjkzNTY6MTc1ODczODM4Mg==)
- [sunshine.pkg.tar.gz](https://www.virustotal.com/gui/file-analysis/ZjVlMDUyMmNkNjI5NDRiNTc0NGNiN2YwOTFiZGIyODU6MTc1ODczODM4Mg==)
- [sunshine.pkg.tar.zst](https://www.virustotal.com/gui/file-analysis/OTBiNzYxMTQ4ZmQyYTlhMjgyN2JkMzUyODljOGI0ZTc6MTc1ODczODM5Mw==)
- [sunshine.rb](https://www.virustotal.com/gui/file-analysis/ZDJmYzYzMjhkMWNhN2IyODVhZWE1YzAwYjQ1YmFmZDc6MTc1ODczODQwNg==)
- [sunshine_aarch64.flatpak](https://www.virustotal.com/gui/file-analysis/Y2YzODk1MDhkZmZjZGJhMjZlMzFjYzcxMjVhYWUzYTU6MTc1ODczODQ0Mg==)
- [sunshine_debug_aarch64.flatpak](https://www.virustotal.com/gui/file-analysis/YmNiYjYzZDY4NWI5M2YwZWY3MWViNjRjMjE2YWQzNDY6MTc1ODczODQ0NA==)
- [sunshine_debug_x86_64.flatpak](https://www.virustotal.com/gui/file-analysis/MjMyZTQ4ODg5ZWVlNGZiYjQ4N2IzNzUxMzY2YWRiYjA6MTc1ODczODQ1Mw==)
- [sunshine_x86_64.flatpak](https://www.viru
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.924.154138]_
### v2025.923.33222
- Date: 2025-09-23
- Version: v2025.923.33222
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.923.33222
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2025.923.33222
- Labels: Platforms: Desktop
##### Attention
This release contains critical security updates. For more information see the following:
- [GHSA-6p7j-5v8v-w45h](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-6p7j-5v8v-w45h)
Please update as soon as possible!
For a comprehensive list of user-facing changes, see below.
##### What's Changed
* fix(power): don't wake up every 500ms to poll while not streaming by [@cgutman](https://github.com/cgutman) in [#4051](https://github.com/LizardByte/Sunshine/pull/4051)
* fix(amf): attempt to use level 5.1/5.2 for hevc by [@mariotaku](https://github.com/mariotaku) in [#3888](https://github.com/LizardByte/Sunshine/pull/3888)
* fix(display): Restore Checkbox import for display device opts by [@VMFortress](https://github.com/VMFortress) in [#4076](https://github.com/LizardByte/Sunshine/pull/4076)
* fix(windows): bundle vigembus instead of downloading it by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4088](https://github.com/LizardByte/Sunshine/pull/4088)
* fix(api): don't require content type for apps delete endpoint by [@doxxx](https://github.com/doxxx) in [#4093](https://github.com/LizardByte/Sunshine/pull/4093)
* fix(video): restore the ability to set a minimum fps target by [@andygrundman](https://github.com/andygrundman) in [#4114](https://github.com/LizardByte/Sunshine/pull/4114)
* fix(packaging/linux): depend on libgbm by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4113](https://github.com/LizardByte/Sunshine/pull/4113)
* build(linux): compile with gcc13+ and bump cuda by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4136](https://github.com/LizardByte/Sunshine/pull/4136)
* build(deps): Update to FFmpeg 8.0 branch by [@cgutman](https://github.com/cgutman) in [#4143](https://github.com/LizardByte/Sunshine/pull/4143)
* feat(input/linux): allow ds5 gamepads to have a fixed device mac based on controller index by [@Kishi85](https://github.com/Kishi85) in [#4158](https://github.com/LizardByte/Sunshine/pull/4158)
* fix(input): Cleanup and show additional gamepad options correctly on linux (DS5) by [@Kishi85](https://github.com/Kishi85) in [#4169](https://github.com/LizardByte/Sunshine/pull/4169)
* fix(input): Add missing default value for ds5_inputtino_randomize_mac by [@Kishi85](https://github.com/Kishi85) in [#4207](https://github.com/LizardByte/Sunshine/pull/4207)
* fix(tray): optionally run tray in main event loop enabling support for macOS by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3818](https://github.com/LizardByte/Sunshine/pull/3818)
* feat(tray): Add runtime config option to enable/disable system tray by [@Kishi85](https://github.com/Kishi85) in [#4208](https://github.com/LizardByte/Sunshine/pull/4208)
* fix(packaging/Arch): make cuda and unit tests optional by [@FineWolf](https://github.com/FineWolf) in [#4254](https://github.com/LizardByte/Sunshine/pull/4254)
* fix(packaging/Arch): do not fail if cuda was freshly installed by [@FineWolf](https://github.com/FineWolf) in [#4257](https://github.com/LizardByte/Sunshine/pull/4257)
* fix(Linux): udev rules style issues by [@Revival8697](https://github.com/Revival8697) in [#4276](https://github.com/LizardByte/Sunshine/pull/4276)
* build(packaging/Linux): remove cuda as required dependency on aur by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#4278](https://github.com/LizardByte/Sunshine/pull/4278)
* fix(packaging/Linux): ensure that uhid is loaded automatically by [@gschintgen](https://github.com/gschintgen) in [#2906](https://github.com/LizardByte/Sunshine/pull/2906)
##### New Contributors
* [@mengyanshou](https://github.com/mengyanshou) made their first contribution in [#3741](https://github.com/LizardByte/Sunshine/pull/3741)
* [@doxxx](https://github.com/doxxx) made their first contribution in [#4092](https://github.com/LizardByte/Sunshine/pull/4092)
* [@erikmagkekse](https://github.com/erikmagkekse) made their first contribution in [#3986](h
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.923.33222]_
### v2025.628.4510
- Date: 2025-06-28
- Version: v2025.628.4510
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.628.4510
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2025.628.4510
- Labels: Platforms: Desktop
##### Attention
This release contains critical security updates. For more information see the following:
- [GHSA-39hj-fxvw-758m](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-39hj-fxvw-758m)
- [GHSA-x97g-h2vp-g2c5](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-x97g-h2vp-g2c5)
Please update as soon as possible!
This release also contains many new features and bug fixes, including:
- Encoder probing fixes.
- Display automation is now disabled by default, you can re-enable it in the Sunshing config UI.
- RestAPI improvements.
- Async encode added for NVENC.
- Native DualSense support on Linux.
- Headless monitor support on Wayland Linux.
- Minimum FPS is now be based on client framerate.
- New languages and updated translations.
- Many behind the scene updates to the build, ci, and dependencies.
For a more comprehensive list of user-facing changes, see below.
##### What's Changed
* fix(video): prevent encoder probing with no active displays by [@FrogTheFrog](https://github.com/FrogTheFrog) in [#3592](https://github.com/LizardByte/Sunshine/pull/3592)
* fix(video): allow encoder probing when there are no devices at all by [@FrogTheFrog](https://github.com/FrogTheFrog) in [#3594](https://github.com/LizardByte/Sunshine/pull/3594)
* feat(display): Add revert display config on disconnect option by [@VMFortress](https://github.com/VMFortress) in [#3613](https://github.com/LizardByte/Sunshine/pull/3613)
* fix(api): return proper json objects by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3544](https://github.com/LizardByte/Sunshine/pull/3544)
* fix(ui): properly handle boolean json responses by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3626](https://github.com/LizardByte/Sunshine/pull/3626)
* fix(dd_config)!: disable by default by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3639](https://github.com/LizardByte/Sunshine/pull/3639)
* feat(nvenc): implement async encode by [@cgutman](https://github.com/cgutman) in [#3629](https://github.com/LizardByte/Sunshine/pull/3629)
* fix(linux/inputtino): DualSense native support without Steam Input by [@ABeltramo](https://github.com/ABeltramo) in [#3600](https://github.com/LizardByte/Sunshine/pull/3600)
* feat: Add Max Bitrate option by [@utkarshdalal](https://github.com/utkarshdalal) in [#3628](https://github.com/LizardByte/Sunshine/pull/3628)
* fix: add missing strings for max_bitrate setting, and improved logging for bitrate by [@utkarshdalal](https://github.com/utkarshdalal) in [#3656](https://github.com/LizardByte/Sunshine/pull/3656)
* feat(display): expose HDR toggle workaround delay to user by [@FrogTheFrog](https://github.com/FrogTheFrog) in [#3579](https://github.com/LizardByte/Sunshine/pull/3579)
* fix(http): lower TLS to v1.2 for downloading covers by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3691](https://github.com/LizardByte/Sunshine/pull/3691)
* fix(packaging/windows): add Sunshine directories to system PATH by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3727](https://github.com/LizardByte/Sunshine/pull/3727)
* fix(linux): update sunshine rules by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3748](https://github.com/LizardByte/Sunshine/pull/3748)
* feat(input/linux): DualSense adaptive trigger support by [@ABeltramo](https://github.com/ABeltramo) in [#3738](https://github.com/LizardByte/Sunshine/pull/3738)
* style(Web UI): Add 1rem margin between Save and Apply buttons for better UI/UX by [@richardziegler](https://github.com/richardziegler) in [#3762](https://github.com/LizardByte/Sunshine/pull/3762)
* fix(config): parse config after logging initialized by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3769](https://github.com/LizardByte/Sunshine/pull/3769)
* fix(config): fix parse error when list ends on last line of config file by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3772](https://gith
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.628.4510]_
### v2025.122.141614
- Date: 2025-01-22
- Version: v2025.122.141614
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.122.141614
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2025.122.141614
- Labels: Platforms: Desktop
##### What's Changed
* build(linux)!: remove legacy input option by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3562](https://github.com/LizardByte/Sunshine/pull/3562)
* fix(flatpak): fix broken desktop file, icons, and service by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3561](https://github.com/LizardByte/Sunshine/pull/3561)
* fix(web-ui): fix new version notification conditions by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3577](https://github.com/LizardByte/Sunshine/pull/3577)
* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#3563](https://github.com/LizardByte/Sunshine/pull/3563)
##### New Contributors
* [@CodyManess](https://github.com/CodyManess) made their first contribution in [#3558](https://github.com/LizardByte/Sunshine/pull/3558)
**Full Changelog**: https://github.com/LizardByte/Sunshine/compare/v2025.118.151840...v2025.122.141614
---
##### Contributors



### v2025.118.151840
- Date: 2025-01-18
- Version: v2025.118.151840
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.118.151840
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v2025.118.151840
- Labels: Platforms: Desktop
##### Attention
This release contains critical security updates. For more information see
[GHSA-3hrw-xv8h-9499](https://github.com/LizardByte/Sunshine/security/advisories/GHSA-3hrw-xv8h-9499).
Please update as soon as possible!
This release also contains many new features and bug fixes, including:
- Implemented automatic resolution and HDR mode changing on Windows.
- Implemented YUV 4:4:4 encoding support for Intel and NVIDIA GPUs on Windows.
- Implemented automatic discovery support for macOS hosts.
- Added support for capturing displays other than the main display on macOS.
- Added support for emulating DS5, Nintendo Switch Pro, and Xbox One controllers on Linux.
- Removed the limit on concurrent streaming sessions.
- Eliminated the need for driver patching to use NvFBC capture on Linux.
- Significantly reduced CPU usage for encoding when using AMD GPUs (RDNA or later) on Windows.
- Fixed video traffic timeout error when streaming from a Hyper-V VM using GPU Paravirtualization.
- Fixed inability to stream from a Windows machine when using the Microsoft Basic Display Adapter driver.
- Optimized internal frame handling by eliminating redundant data copies and using functions optimized for SSSE3,
AVX2, and AVX512.
- Implemented flow control to reduce the chance of dropped packets by overwhelmed routers or network switches.
- Reworked the video encoding rate control logic for VA-API to improve bitrate efficiency on Linux.
- New capture method using Windows.Graphics.Capture API on Windows.
This is an experimental feature and requires running Sunshine manually.
It is not compatible with running Sunshine as a service.
- Clients can now be named and unpaired individually.
- The web UI now supports dark mode.
- Checkboxes replace select menus for boolean settings in the web UI.
- RestAPI improvements.
For a more comprehensive list of user-facing changes, see below.
##### What's Changed
* feat(macos/capture): support for capture display other than main display by [@TimmyOVO](https://github.com/TimmyOVO) in [#2449](https://github.com/LizardByte/Sunshine/pull/2449)
* fix(macos/input): incorrect mouse input for non-main display by [@TimmyOVO](https://github.com/TimmyOVO) in [#2461](https://github.com/LizardByte/Sunshine/pull/2461)
* webui: Update resolution automation example text with auto refresh rate by [@cgarst](https://github.com/cgarst) in [#2503](https://github.com/LizardByte/Sunshine/pull/2503)
* fix(linux): add frame processing latency and logging improvements by [@gschintgen](https://github.com/gschintgen) in [#2502](https://github.com/LizardByte/Sunshine/pull/2502)
* AppImage: add needed VA-API libraries (Intel & AMD) by [@gschintgen](https://github.com/gschintgen) in [#2429](https://github.com/LizardByte/Sunshine/pull/2429)
* Allow a custom FFmpeg build to be provided using CMake variables by [@chewi](https://github.com/chewi) in [#1970](https://github.com/LizardByte/Sunshine/pull/1970)
* Fix log message for Periodic Ping by [@c3m3gyanesh](https://github.com/c3m3gyanesh) in [#2538](https://github.com/LizardByte/Sunshine/pull/2538)
* feat(ui): Dark Mode by [@Hazer](https://github.com/Hazer) in [#2493](https://github.com/LizardByte/Sunshine/pull/2493)
* build(win): use UCRT64 environment instead of MinGW64. by [@tez011](https://github.com/tez011) in [#2323](https://github.com/LizardByte/Sunshine/pull/2323)
* feat(win): new capture method, Windows.Graphics.Capture by [@tez011](https://github.com/tez011) in [#2580](https://github.com/LizardByte/Sunshine/pull/2580)
* Name and unpair individual clients by [@xanderfrangos](https://github.com/xanderfrangos) in [#2042](https://github.com/LizardByte/Sunshine/pull/2042)
* feat(audio): custom surround-params by [@mariotaku](https://github.com/mariotaku) in [#2424](https://github.com/LizardByte/Sunshine/pull/2424)
* Remove the need for a patched nvidia library for NvFBC. by [@hgaiser](https://github.com/hgaiser) in [#2471](https://g
_[Truncated at 4000 characters — full notes: https://github.com/LizardByte/Sunshine/releases/tag/v2025.118.151840]_
### v0.23.1
- Date: 2024-04-21
- Version: v0.23.1
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v0.23.1
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v0.23.1
- Labels: Platforms: Desktop
**Fixed**
- (Capture/Windows) Disable HRD and CBR encoding options by default for AMD GPUs due to video quality regressions in v0.23.0
- (UI) Fix incorrect strings for QuickSync 'fast' and 'faster' presets
- (UI/Linux) Fix update prompt appearing even when running the latest version
- (Input) Fix crash when absolute input events are received prior to the display viewport being set
- (Input/Linux) Fix missing clamping of rumble intensity to valid range
- (Build/Tests) Fix error when attempting to disable compilation of tests
- (Build/Linux) Fix some compilation errors when using Musl libc
- (Logging) Fix broken debug messages for codec capability flags
- (Logging/Linux) Fix log messages to include the correct setcap command for resolving KMS permission errors
**Added**
- (Capture/Linux) Improve frame time consistency for all capture backends
- (UI) Set focus to the PIN textbox when navigating to the PIN tab
**Dependencies**
- Remove libavdevice dependency
**Misc**
- (Linux) Prefer ayatana-appindicator3 over appindicator3 if both are available
### v0.23.0
- Date: 2024-04-07
- Version: v0.23.0
- Original notes: https://github.com/LizardByte/Sunshine/releases/tag/v0.23.0
- Permalink: https://whatsnew.fyi/product/sunshine/releases/v0.23.0
- Labels: Platforms: Desktop
Attention, this release contains critical security fixes. Please update as soon as possible.
**Breaking**
- (Linux) Drop support for Ubuntu 20.04
- (Linux) No longer provide arm64 rpm packages, due to extreme compile time on GitHub hosted runners
**Fixed**
- (Network) Ensure unpairing takes effect without restart
- (Capture/Linux) Fix logical comparison of texture size
- (Service/Windows) Quote the path to sunshinesvc.exe when launching the termination helper
**Added**
- (WebUI) Localization support
- (Capture/Linux) Populate host latency for kmx/x11 grab
- (Capture/Windows) AMF rate control improvements
- (Linux) Add support for Ubuntu 24.04 (x86_64 only)
**Dependencies**
- Bump rstcheck from 6.2.0 to 6.2.1
- Bump org.flatpak.Builder.BaseApp from 644487f to 6e295e6
- Bump ffmpeg
- Bump @fortawesome/fontawesome-free from 6.5.1 to 6.5.2
**Misc**
- (Style) Refactored video encoder declarations
- (CI) Refactored Linux build in CI
- (CI) Added unit testing and code coverage
- (Docs/macOS) Update curl command for Portfile install
- (Style) Refactor logging initialization