diff --git a/_posts/releases/sunshine/2025-06-28-v2025.628.4510.md b/_posts/releases/sunshine/2025-06-28-v2025.628.4510.md new file mode 100644 index 00000000..45f5a3cb --- /dev/null +++ b/_posts/releases/sunshine/2025-06-28-v2025.628.4510.md @@ -0,0 +1,90 @@ +--- +layout: release +title: Sunshine v2025.628.4510 Released +release-tag: v2025.628.4510 +gh-repo: LizardByte/Sunshine +gh-badge: [follow, fork, star] +tags: [release, sunshine] +comments: true +author: LizardByte-bot +--- + +## 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://github.com/LizardByte/Sunshine/pull/3772) +* fix(config): ensure logging config settings are properly loaded by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3777](https://github.com/LizardByte/Sunshine/pull/3777) +* fix(linux): headless monitors on wayland by [@gorgbus](https://github.com/gorgbus) in [#3783](https://github.com/LizardByte/Sunshine/pull/3783) +* fix(audio): set the bits-per-sample of Steam Streaming Speakers to 16-bit when the default audio device is 16-bit by [@andygrundman](https://github.com/andygrundman) in [#3704](https://github.com/LizardByte/Sunshine/pull/3704) +* fix(apps): exit steam big picture mode on session end by [@eaglesemanation](https://github.com/eaglesemanation) in [#3808](https://github.com/LizardByte/Sunshine/pull/3808) +* fix(homebrew): enable system tray for linux by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3819](https://github.com/LizardByte/Sunshine/pull/3819) +* feat(audio): add an option to disable sound streaming by [@Clutchnp](https://github.com/Clutchnp) in [#3833](https://github.com/LizardByte/Sunshine/pull/3833) +* fix(linux/input): improve input rules by [@jbellionjourdan](https://github.com/jbellionjourdan) in [#3857](https://github.com/LizardByte/Sunshine/pull/3857) +* fix(web-ui): Change Pin to PIN by [@karasuhebi](https://github.com/karasuhebi) in [#3872](https://github.com/LizardByte/Sunshine/pull/3872) +* fix(rtp): improve timestamp accuracy for video by [@andygrundman](https://github.com/andygrundman) in [#3883](https://github.com/LizardByte/Sunshine/pull/3883) +* fix(installer/windows): remember service start type by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3902](https://github.com/LizardByte/Sunshine/pull/3902) +* fix(package/linux): update desktop metainfo by [@joebonrichie](https://github.com/joebonrichie) in [#3901](https://github.com/LizardByte/Sunshine/pull/3901) +* feat(security/windows): Add defense-in-depth measure for insecure system PATH configuration by [@cgutman](https://github.com/cgutman) in [#3971](https://github.com/LizardByte/Sunshine/pull/3971) +* fix(macOS): nil displayName on macOS 26 beta by [@water-vapor](https://github.com/water-vapor) in [#3991](https://github.com/LizardByte/Sunshine/pull/3991) +* fix(video): base min frame time strictly on client framerate by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#3844](https://github.com/LizardByte/Sunshine/pull/3844) +* chore(l10n): update translations by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#3582](https://github.com/LizardByte/Sunshine/pull/3582) + +## New Contributors +* [@VMFortress](https://github.com/VMFortress) made their first contribution in [#3613](https://github.com/LizardByte/Sunshine/pull/3613) +* [@utkarshdalal](https://github.com/utkarshdalal) made their first contribution in [#3628](https://github.com/LizardByte/Sunshine/pull/3628) +* [@richardziegler](https://github.com/richardziegler) made their first contribution in [#3762](https://github.com/LizardByte/Sunshine/pull/3762) +* [@gorgbus](https://github.com/gorgbus) made their first contribution in [#3783](https://github.com/LizardByte/Sunshine/pull/3783) +* [@eaglesemanation](https://github.com/eaglesemanation) made their first contribution in [#3808](https://github.com/LizardByte/Sunshine/pull/3808) +* [@Clutchnp](https://github.com/Clutchnp) made their first contribution in [#3814](https://github.com/LizardByte/Sunshine/pull/3814) +* [@SuperKenVery](https://github.com/SuperKenVery) made their first contribution in [#3828](https://github.com/LizardByte/Sunshine/pull/3828) +* [@jbellionjourdan](https://github.com/jbellionjourdan) made their first contribution in [#3857](https://github.com/LizardByte/Sunshine/pull/3857) +* [@grgergo1](https://github.com/grgergo1) made their first contribution in [#3876](https://github.com/LizardByte/Sunshine/pull/3876) +* [@karasuhebi](https://github.com/karasuhebi) made their first contribution in [#3872](https://github.com/LizardByte/Sunshine/pull/3872) +* [@activatekillswitch](https://github.com/activatekillswitch) made their first contribution in [#3919](https://github.com/LizardByte/Sunshine/pull/3919) +* [@rbqvq](https://github.com/rbqvq) made their first contribution in [#3938](https://github.com/LizardByte/Sunshine/pull/3938) +* [@joebonrichie](https://github.com/joebonrichie) made their first contribution in [#3901](https://github.com/LizardByte/Sunshine/pull/3901) +* [@water-vapor](https://github.com/water-vapor) made their first contribution in [#3991](https://github.com/LizardByte/Sunshine/pull/3991) + +**Full Changelog**: https://github.com/LizardByte/Sunshine/compare/v2025.122.141614...v2025.628.4510 + +--- +## Contributors +ReenigneArcherdependabotLizardByte-botClutchnpFrogTheFrogeaglesemanationutkarshdalalABeltramoSuperKenVeryVMFortressactivatekillswitchandygrundmancgutmangorgbusgrgergo1jbellionjourdanjoebonrichiekarasuhebirbqvqrichardzieglerwater-vapor