github GuiDev1994/moonlight-tv v1.0.3

latest release: v.1.0.4
one month ago

Release Notes

Highlights

This release focuses on webOS streaming stability, controller lifecycle fixes, Full Keyboard usability, and improved Sunshine/Apollo compatibility.

Streaming / Video

  • Added support for custom fractional FPS values, such as 119.94 FPS.
  • Custom FPS now also updates clientRefreshRateX100, allowing the client to advertise refresh rates like 11994 to the host.
  • Preset FPS selection now clears the custom refresh override to avoid stale fractional values.
  • Improved Sunshine color negotiation with full-range color support.
  • Kept high-bitrate Sunshine streaming behavior without forcing conservative webOS decoder caps.

Input / Gamepad

  • Fixed duplicate gamepad arrival behavior by avoiding the legacy multi-controller fallback when sending Sunshine controller arrival metadata.
  • Added explicit controller removal handling to prevent stale virtual controllers on the host.
  • Added tracking to avoid sending duplicate controller arrival events for the same gamepad.
  • Added webOS filtering for controller-like HID devices that are not real gamepads, such as remote, pointer, mouse, keyboard, touch, or internal LG/webOS input devices.
  • Added extra logging for controller candidates, including name, GUID, axes, buttons, and hats, to make future filtering/debugging easier.
  • Improved controller lifecycle handling for JOYDEVICEADDED, JOYDEVICEREMOVED, and CONTROLLERDEVICEREMOVED.

Full Keyboard / Remote

  • Added support for long-pressing the webOS remote OK/Enter button to send a right mouse click to the host.
  • Short OK/Enter presses still behave as normal Enter/confirm actions.
  • Full Keyboard navigation remains local and no longer requires creating a virtual gamepad on the host.

Build / Packaging

  • Bumped version to 1.0.3.
  • Fixed Docker webOS build environment by installing the missing file utility required by the SDK relocation script.
  • Forced a clean webOS Docker build directory to avoid stale or wrong-architecture static libraries.

Notes

  • Rebuild cleanly before testing controller changes.
  • If a non-gamepad device is still detected as a controller, check the new Aurora logs for Controller-like device candidate and Ignoring ... entries.

Don't miss a new moonlight-tv release

NewReleases is sending notifications on new releases.