Releases: LizardByte/Sunshine
v2025.702.22618
What's Changed
- ci(workflows): refactor ci by @ReenigneArcher in #4025
- build(windows): remove no-template-body exception by @ReenigneArcher in #4033
Full Changelog: v2025.628.4510...v2025.702.22618
Contributors
v2025.628.4510
Attention
This release contains critical security updates. For more information see the following:
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 in #3592
- fix(video): allow encoder probing when there are no devices at all by @FrogTheFrog in #3594
- feat(display): Add revert display config on disconnect option by @VMFortress in #3613
- fix(api): return proper json objects by @ReenigneArcher in #3544
- fix(ui): properly handle boolean json responses by @ReenigneArcher in #3626
- fix(dd_config)!: disable by default by @ReenigneArcher in #3639
- feat(nvenc): implement async encode by @cgutman in #3629
- fix(linux/inputtino): DualSense native support without Steam Input by @ABeltramo in #3600
- feat: Add Max Bitrate option by @utkarshdalal in #3628
- fix: add missing strings for max_bitrate setting, and improved logging for bitrate by @utkarshdalal in #3656
- feat(display): expose HDR toggle workaround delay to user by @FrogTheFrog in #3579
- fix(http): lower TLS to v1.2 for downloading covers by @ReenigneArcher in #3691
- fix(packaging/windows): add Sunshine directories to system PATH by @ReenigneArcher in #3727
- fix(linux): update sunshine rules by @ReenigneArcher in #3748
- feat(input/linux): DualSense adaptive trigger support by @ABeltramo in #3738
- style(Web UI): Add 1rem margin between Save and Apply buttons for better UI/UX by @richardziegler in #3762
- fix(config): parse config after logging initialized by @ReenigneArcher in #3769
- fix(config): fix parse error when list ends on last line of config file by @ReenigneArcher in #3772
- fix(config): ensure logging config settings are properly loaded by @ReenigneArcher in #3777
- fix(linux): headless monitors on wayland by @gorgbus in #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 in #3704
- fix(apps): exit steam big picture mode on session end by @eaglesemanation in #3808
- fix(homebrew): enable system tray for linux by @ReenigneArcher in #3819
- feat(audio): add an option to disable sound streaming by @Clutchnp in #3833
- fix(linux/input): improve input rules by @jbellionjourdan in #3857
- fix(web-ui): Change Pin to PIN by @karasuhebi in #3872
- fix(rtp): improve timestamp accuracy for video by @andygrundman in #3883
- fix(installer/windows): remember service start type by @ReenigneArcher in #3902
- fix(package/linux): update desktop metainfo by @joebonrichie in #3901
- feat(security/windows): Add defense-in-depth measure for insecure system PATH configuration by @cgutman in #3971
- fix(macOS): nil displayName on macOS 26 beta by @water-vapor in #3991
- fix(video): base min frame time strictly on client framerate by @ReenigneArcher in #3844
- chore(l10n): update translations by @LizardByte-bot in #3582
New Contributors
- @VMFortress made their first contribution in #3613
- @utkarshdalal made their first contribution in #3628
- @richardziegler made their first contribution in #3762
- @gorgbus made their first contribution in #3783
- @eaglesemanation made their first contribution in #3808
- @Clutchnp made their first contribution in #3814
- @SuperKenVery made their first contribution in #3828
- @jbellionjourdan made their first contribution in #3857
- @grgergo1 made their first contribution in #3876
- @karasuhebi made their first contribution in #3872
- @activatekillswitch made their first contribution in #3919
- @rbqvq made their first contribution in #3938
- @joebonrichie made their first contribution in #3901
- @water-vapor made their first contribution in #3991
Full Changelog: v2025.122.141614...v2025.628.4510
Contributors
v2025.627.221715
What's Changed
- ci(packaging): fix flatpak metainfo by @ReenigneArcher in #3588
- build(deps): bump wayland-protocols from 1.38 to 1.39 by @ReenigneArcher in #3482
- fix(video): prevent encoder probing with no active displays by @FrogTheFrog in #3592
- build(deps): bump third-party/libdisplaydevice from
2ac3386
to53a0ea5
by @dependabot in #3597 - fix(video): allow encoder probing when there are no devices at all by @FrogTheFrog in #3594
- build(deps): bump third-party/wayland-protocols from
6bcf87d
toc7b582c
by @dependabot in #3611 - feat(display): Add revert display config on disconnect option by @VMFortress in #3613
- fix(api): return proper json objects by @ReenigneArcher in #3544
- chore: update global workflows by @LizardByte-bot in #3623
- fix(ui): properly handle boolean json responses by @ReenigneArcher in #3626
- ci(docker): fix debian arm builds by @ReenigneArcher in #3627
- fix(dd_config)!: disable by default by @ReenigneArcher in #3639
- feat(nvenc): implement async encode by @cgutman in #3629
- build(deps): bump third-party/libdisplaydevice from
53a0ea5
to591387c
by @dependabot in #3643 - build(deps): bump vite from 4.5.2 to 4.5.9 by @ReenigneArcher in #3645
- ci(homebrew): fix python install by @ReenigneArcher in #3646
- fix(linux/inputtino): DualSense native support without Steam Input by @ABeltramo in #3600
- feat: Add Max Bitrate option by @utkarshdalal in #3628
- build(deps): bump babel from 2.16.0 to 2.17.0 by @dependabot in #3631
- build(deps): bump googletest to v1.16.0 by @ReenigneArcher in #3655
- fix: add missing strings for max_bitrate setting, and improved logging for bitrate by @utkarshdalal in #3656
- build(deps): bump vue-i18n from 11.0.1 to 11.1.1 by @dependabot in #3651
- build(deps): bump packaging/linux/flatpak/deps/shared-modules from
26def5f
to802d804
by @dependabot in #3598 - build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from
a1eb29c
toaac65cf
by @dependabot in #3596 - build(deps): bump packaging/linux/flatpak/deps/shared-modules from
802d804
to85cf327
by @dependabot in #3661 - feat(display): expose HDR toggle workaround delay to user by @FrogTheFrog in #3579
- build(deps): bump third-party/inputtino from
311fd2d
to00ea0c2
by @dependabot in #3672 - docs(readme): fix badge whitespace by @ReenigneArcher in #3678
- ci(flatpak): use local exceptions by @ReenigneArcher in #3679
- ci(flatpak): build aarch64 on arm architecture by @ReenigneArcher in #3680
- fix(http): lower TLS to v1.2 for downloading covers by @ReenigneArcher in #3691
- docs(readme): add sponsors by @ReenigneArcher in #3697
- build(deps): bump third-party/inputtino from
00ea0c2
to01b16d6
by @dependabot in #3701 - ci(gh-pages): preview website for PR builds in RTD by @ReenigneArcher in #3709
- build(deps): bump vue-i18n from 11.1.1 to 11.1.2 by @dependabot in #3713
- build(deps): bump @lizardbyte/shared-web from 2024.921.191855 to 2025.221.2011 by @dependabot in #3681
- build(deps): bump robinraju/release-downloader from 1.11 to 1.12 by @dependabot in #3712
- build(deps): bump third-party/build-deps from
249a313
to0f8f2af
by @dependabot in #3717 - build(deps): bump third-party/inputtino from
01b16d6
to9c19995
by @dependabot in #3720 - build(deps): change Gitlab submodules to LizardByte mirrors by @ReenigneArcher in #3728
- docs(readme): add contributor images by @ReenigneArcher in #3732
- fix(packaging/flatpak): move xvfb modules to LizardByte mirrors by @ReenigneArcher in #3735
- build(deps): bump third-party/inputtino from
9c19995
to1170b1e
by @dependabot in #3736 - build(deps): bump packaging/linux/flatpak/deps/shared-modules from
85cf327
toa6c788b
by @dependabot in #3730 - fix(packaging/flatpak): move more xvfb modules to LizardByte mirrors by @ReenigneArcher in #3739
- build(deps): bump @lizardbyte/shared-web from 2025.221.2011 to 2025.321.1458 by @dependabot in #3742
- build(deps): bump third-party/build-deps from
0f8f2af
toc44b312
by @dependabot in #3744 - fix(packaging/windows): add Sunshine directories to system PATH by @ReenigneArcher in #3727
- chore: update global workflows by @LizardByte-bot in #3724
- chore(gh-pages): add crowdin-ignore class by @ReenigneArcher in #3747
- build(deps): bump third-party/build-deps from
c44b312
tob567d3c
by @dependabot in #3751 - fix(linux): update sunshine rules by @ReenigneArcher in #3748
- build(deps): bump @lizardbyte/shared-web from 2025.321.1458 to 2025.326.11214 by @dependabot in #3759
- build(deps): bump third-party/moonlight-common-c from
d3d3e6c
toe95feaf
by @dependabot in #3761 - feat(input/linux): DualSense adaptive trigger support by @ABeltramo in #3738
- style(Web UI): Add 1rem margin between Save and Apply buttons for better UI/UX by @richardziegler in #3762
- fix(config): parse config after logging initialized by @ReenigneArcher in #3769
- build(deps): bump packaging/linux/flatpak/deps/shared-modules from
a6c788b
to1f8e591
by @dependabot in [#3773](https://git...
v2025.122.141614
What's Changed
- build(linux)!: remove legacy input option by @ReenigneArcher in #3562
- fix(flatpak): fix broken desktop file, icons, and service by @ReenigneArcher in #3561
- fix(web-ui): fix new version notification conditions by @ReenigneArcher in #3577
- chore(l10n): update translations by @LizardByte-bot in #3563
New Contributors
- @CodyManess made their first contribution in #3558
Full Changelog: v2025.118.151840...v2025.122.141614
Contributors
v2025.118.151840
Attention
This release contains critical security updates. For more information see
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 in #2449
- fix(macos/input): incorrect mouse input for non-main display by @TimmyOVO in #2461
- webui: Update resolution automation example text with auto refresh rate by @cgarst in #2503
- fix(linux): add frame processing latency and logging improvements by @gschintgen in #2502
- AppImage: add needed VA-API libraries (Intel & AMD) by @gschintgen in #2429
- Allow a custom FFmpeg build to be provided using CMake variables by @chewi in #1970
- Fix log message for Periodic Ping by @c3m3gyanesh in #2538
- feat(ui): Dark Mode by @Hazer in #2493
- build(win): use UCRT64 environment instead of MinGW64. by @tez011 in #2323
- feat(win): new capture method, Windows.Graphics.Capture by @tez011 in #2580
- Name and unpair individual clients by @xanderfrangos in #2042
- feat(audio): custom surround-params by @mariotaku in #2424
- Remove the need for a patched nvidia library for NvFBC. by @hgaiser in #2471
- build(linux): add homebrew support by @ReenigneArcher in #2667
- fix(macos): Mouse input broken in-game by @Hazer in #2550
- feat(input/linux): add support for more virtual input devices by @Hazer in #2606
- fix(linux/input): battery values conversion by @ABeltramo in #2715
- feat: add min_fps_target setting by @ReenigneArcher in #1043
- fix(upnp): support newer miniupnpc library by @ReenigneArcher in #2782
- macOS: New implementation of service publication by @cathyjf in #2786
- build(linux): drop support for AUR by @ReenigneArcher in #2819
- Implement basic network flow control by @ns6089 in #2803
- Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions by @cgutman in #2828
- Eliminate a redundant alloc+copy of each frame by @cgutman in #2852
- Implement S/G IO for non-batched sends and eliminate more data copies by @cgutman in #2867
- Implement S/G IO for batched sends and eliminate another frame copy by @cgutman in #2874
- Migrate audio pipeline to float from 16-bit integer by @ns6089 in #2873
- Handle CTRL_CLOSE_EVENT on Windows by @ns6089 in #2952
- feat!: drop advertised resolutions and fps by @ReenigneArcher in #2924
- fix(linux): ensure NvFBC capture works after multiple sessions by @insanemal in #3020
- feat(win/video): support native YUV 4:4:4 encoding by @ns6089 in #2533
- fix(linux): enable lowlatency mode for AMD by @ReenigneArcher in #3088
- fix(nvhttp): wrap TLS socket to ensure graceful closure by @cgutman in #3077
- fix(mdns): don't hardcode mDNS instance name by @cgutman in #3084
- fix(win/video): don't offload chroma subsampling math to texture sampler when downscaling by @ns6089 in #3014
- build(cmake): Prioritize vendored includes over system-wide by @jmou in #3182
- fix(macos): Touch input broken by @BayLee4 in #3240
- fix(video): encode at least one frame before capture reinit by @cgutman in #3300
- fix: Reverse Proxy support by @Degot in #3173
- feat(stream)!: remove limit on concurrent sessions and allow quitting apps with active sessions by @cgutman in #3325
- fix(nvenc): disable filler data in AV1 bitstream by @cgutman in #3336
- feat(vaapi): add option to enable strict enforcement of frame size by @cgutman in #3332
- fix(macos): prevent indefinite hanging if screen capture is not granted by @cathyjf in #3360
- fix(process): avoid leaking zombies and fds in detached processes by @cgutman in #3379
- fix(hostname): fix handling of non-ASCII hostnames on Windows by @cgutman in #3382
- feat(display)!: Add libdisplaydevice dependency and output name mapping by @FrogTheFrog in #2894
- fix(nvenc): Enable opt-in client refresh by client by @TheElixZammuto in #3415
- fix(shaders/directx): replace modulus with bitwise operator by @iMakeSoftware in #3499
- feat(display): Configure display device based on user config by @FrogTheFrog in #3441
- fix(confighttp): do not return 200 on errors by [@ReenigneArcher](https://github.com/ReenigneArche...
v0.23.1
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
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
v0.22.2
Fixed
- (Tray/Windows) Fix broken system tray icon on some systems
- (Linux) Fix crash when XDG_CONFIG_HOME or CONFIGURATION_DIRECTORY are set
- (Linux) Fix config migration across filesystems and with non-existent parent directories
v0.22.1
Breaking
- (ArchLinux) Drop support for standalone PKGBUILD files. Use the binary Arch package or install via AUR instead.
- (macOS) Drop support for experimental dmg package. Use Homebrew or MacPorts instead.
Added
- (macOS) Added Homebrew support
Changed
- (Process/Windows) The working directory is now searched first when the command contains a relative path
- (ArchLinux) The kmsgrab capture backend is now compiled by default to support Wayland capture on non-wlroots-based compositors
- (Capture/Linux) X11 capture is now preferred over kmsgrab for cards that lack atomic modesetting support to ensure cursor capture works
- (Capture/Linux) Kmsgrab will only choose NVENC by default if the display is connected to the Nvidia GPU to avoid possible EGL import failures
Fixed
- (Config) Fix unsupported resolution error with some Moonlight clients
- (Capture/Windows) Fix crash when streaming Ryujinx, Red Alert 2, and other apps that use unusually sized monochrome cursors
- (Capture/Linux) Fix crash in KMS cursor capture when running on Arch-based distros
- (Capture/Linux) Fix crash if CUDA GPU has a PCI ID with hexadecimal digits greater than 9
- (Process/Windows) Fix starting apps when the working directory is enclosed in quotes
- (Process/Windows) Fix process tree tracking when the app is launched via a cmd.exe trampoline
- (Installer/Windows) Fix slow operation during ViGEmBus installation that may cause the installer to appear stuck
- (Build/macOS) Fix issues building on macOS 13 and 14
- (Build/Linux) Fix missing install script in the Arch binary package
- (Build/Linux) Fix missing optional dependencies in the Arch binary package
- (Build/Linux) Ensure correct Arch pkg is published to GitHub releases
- (Capture/Linux) Fix mismatched case and unhandled exception in CUDA device lookup
- (Config) Add missing resolution to default config ui
- (Linux) Fix udev rules for uinput access not working until after reboot
- (Linux) Fix wrong path in desktop files
- (Tray) Cache icons to avoid possible DRM issues
- (Tray) Fix attempt to update tray icon after it was destroyed
- (Linux) Migrate old config files to new location if env SUNSHINE_MIGRATE_CONFIG=1 is set (automatically set for Flatpak)
- (Linux/Fedora) Re-enable CUDA support and bump to 12.4.0
Misc
- (Build/Windows) Adjust Windows debuginfo artifact to reduce confusion with real release binaries
v0.22.0
Breaking
- (Network) Clients must now be paired with the host before they can use Wake-on-LAN
- (Build/Linux) Drop Fedora 37 support
Added
- (Input/Linux) Add native/pen touch support for Linux
- (Capture/Linux) Add HDR streaming support for Linux using KMS capture backend
- (Capture/Linux) Add KMS capture support for Nvidia GPUs running Wayland
- (Network) Add support for full E2E stream encryption, configurable for LAN and WAN independently
- (Process) Add process group tracking to automatically handle launchers that spawn other child processes
- (Capture/Windows) Add setting for controlling GPU power saving and encoding latency tradeoff for NVENC
- (Capture/Windows) Add additional encoding settings for NVENC
- (Process/Windows) Add experimental support for launching URLs and other non-exe files
- (Capture/Windows) Add setting to allow use of slower HEVC encoding on older Intel GPUs
- (Input/Windows) Add settings to control automatic gamepad type selection heuristics
- (Input/Windows) Add setting to allow DS4 back/select button to trigger touchpad click
- (Input) Add setting to disable high resolution scrolling and native pen/touch support
- (Network) Add support for certificates types other than RSA-2048
- (Build/Linux) Add Fedora 39 docker image and rpm package
- (Capture/Linux) Display monitor indexes in logs for wlroots and KMS capture backends
- (UI) Add link to logs inside fatal error container
- (UI) Add hash handler and ids for all configuration categories and settings
Changed
- (UI) Several configuration options have been moved to more suitable locations
- (Network) Client-selected bitrate is now adjusted for FEC percentage and other stream overhead
- (Capture/Linux) Improve VAAPI encoding performance on Intel GPUs
- (Capture) Connection establishment delay is reduced by eliminating many encoder probing operations
- (Process) Graceful termination of running processes is attempted first when stopping apps
- (Capture) Improve software encoding performance by enabling multi-threaded color conversion
- (Capture) Adjust default CPU thread count for software encoding from 1 to 2 for improved performance
- (Steam/Windows) Modernized the default Steam app shortcut to avoid depending on Steam's install location and support app termination
- (Linux) Updated desktop files
- (Config) Add 2560x1440 to default resolutions
- (Network) Use the configured ping timeout for the initial launch event timeout
- (UI) Migrate UI to Vite and Vue3, and various UX improvements
- (Logging) Adjust wording and severity of some log messages
- (Build) Use a single submodule for ffmpeg
- (Install/Windows) Skip ViGEmBus installation if a supported version is already installed
- (Build/Linux) Optionally, allow using the system installation of wayland-protocols
- (Build/Linux) Make vaapi optional
- (Windows) Replace boost::json with nlohmann/json
Fixed
- (Network/Windows) Fix auto-discovery of hosts by iOS/tvOS clients
- (Network) Fix immediate connection termination when streaming over some Internet connections
- (Capture/Linux) Fix missing mouse cursor when using KMS capture on a GPU with hardware cursor support
- (Capture/Windows) Add workaround for Nvidia driver bug causing Sunshine to crash when RTX HDR is globally enabled
- (Capture/Windows) Add workaround for AMD driver bug on pre-RDNA GPUs causing hardware encoding failure
- (Capture/Windows) Reintroduce support for NVENC on older Nvidia GPU drivers (v456.71-v522.25)
- (Capture/Windows) Fix encoding on old Intel GPUs that don't support low-power H.264 encoding
- (Capture/Linux) Fix GL errors or corrupt video output on GPUs that use aux planes such as Intel Arc
- (Capture/Linux) Fix GL errors or corrupt video output on GPUs that use DRM modifiers on YUV buffers
- (Input/Windows) Fix non-functional duplicate controllers appearing in rare cases
- (Input/Windows) Avoid triggering crash in ViGEmBus when the system goes to sleep
- (Input/Linux) Fix scrolling in applications that don't support high-resolution scrolling
- (Input/Linux) Fix absolute mouse input being interpreted as touch input
- (Capture/Linux) Fix wlroots capture causing GL errors and crashes
- (Capture/Linux) Fix wlroots capture failing when the display scale factor was not 1
- (Capture/Linux) Fix excessive CPU usage when using wlroots capture backend
- (Capture/Linux) Fix capture of virtual displays created by the amdgpu kernel driver
- (Audio/Windows) Fix audio capture failures on Insider Preview versions of Windows 11
- (Capture/Windows) Fix incorrect portrait mode rotation
- (Capture/Windows) Fix capture recovery when a driver update/crash occurs while streaming
- (Capture/Windows) Fix delay displaying UAC dialogs when the mouse cursor is not moving
- (Capture/Linux) Fix corrupt video output or stream disconnections if the display resolution changes while streaming
- (Capture/Linux) Fix color of aspect ratio padding in the capture image with VAAPI
- (Capture/Linux) Fix NVENC initialization error when using X11 capture with some GPUs
- (Tray/Linux) Fix random crash when the tray icon is updating
- (Network) Fix QoS tagging when running in IPv4+IPv6 mode
- (Process) Fix termination of child processes upon app quit when the parent has already terminated
- (Process) Fix notification of graceful termination to connected clients when Sunshine quits
- (Capture) Fix corrupt output or green aspect-ratio padding when using software encoding with some video resolutions
- (Windows) Fix crashes when processing file paths or other strings with certain non-ASCII characters
- (Capture) Ensure user supplied framerates are used exclusively in place of pre-defined framerates
- (CMake/Linux) Skip including unnecessary headers
- (Capture/Linux) Replace vaTerminate method with dl handle
- (Capture/Linux) Fix capture when DRM is enabled and x11 is disabled
- (Tray) Use PROJECT_NAME definition for tooltip
- (CMake) Use GNUInstallDirs to install data and lib directories
- (macOS) Replace deprecated code
- (API) Allow trailing slashes in on API endpoints
- (API) Add additional pin validation
- (Linux) Use XDG spec for fetching config directory
- (CMake) Properly find evdev
- (Config) Properly save global_prep_cmd and fps settings
Dependencies
- Bump third-party/wayland-protocols from 681c33c to 46f201b
- Bump third-party/nv-codec-headers from 9402b5a to 22441b5
- Bump third-party/nanors from 395e5ad to e9e242e
- Bump third-party/Simple-Web-Server from 2f29926 to 27b41f5
- Bump ffmpeg
- Bump third-party/tray from 2664388 to 2bf1c61
- Bump actions/setup-python from 4 to 5
- Bump actions/upload-artifact from 3 to 4
- Bump @fortawesome/fontawesome-free from 6.4.2 to 6.5.1
- Bump babel from 2.13.0 to 2.14.0
- Move miniupnpc from submodule to system installed package
- Bump furo from 2023.9.10 to 2024.1.29
- Bump third-party/moonlight-common-c from f78f213 to cbd0ec1
- Bump third-party/ViGEmClient from 1920260 to 8d71f67
- Bump peter-evans/create-pull-request from 5 to 6
- Bump bootstrap from 5.3.2 to 5.3.3
Misc
- (Build) Update global workflows
- (Docs/Linux) Add example for setting custom resolution with NVIDIA
- (Docs) Fix broken links
- (Docs/Windows) Add information about disk permissions
- (Docs) Fix failing images
- (Docs) Use glob pattern to match source code docs
- (CI/macOS) Install boost from source
- (Docs) Add reset credentials examples for unique packages
- (Docs) Refactor and general cleanup
- (Docs) Cross-reference config settings to the UI
- (Docs/Docker) Add podman notes
- (Build) Use CMAKE_SOURCE_DIR property everywhere
- (Build/Docker) Add docker toolchain file for CLion
- (macOS) Various code style fixes
- (Deps) Alphabetize git submodules
- (Docs/Examples) Update URI examples
- (Refactor) Refactored some code in preparation for unit testing implementation
- (CMake) Add option to skip cuda inheriting compile options
- (CMake) Add option to error build on warnings