Immutable
release. Only release title and notes can be modified.
OpenNOW 1.0.2 uses Qt Quick and a native Rust streaming engine.
Known issue: Alliance Partners may not work correctly.
Known issue: YUV 4:4:4 is marked Coming soon because it is not working correctly. Use a 4:2:0 color profile.
SHA256SUMS detects corrupted downloads; update manifests authenticate the exact asset bytes.
Source commit: bee18c118dbc89f42319436dcdb172d5b9e15e0c. Production candidate run: 37114680683.
What's Changed
- fix(linux): discover host VA-API drivers in AppImage launches by @zortos293 in #935
- feat(qt): explain cloud session setup and native connection progress by @zortos293 in #936
- fix(session): stop recovery for ended seats and retain allocation ownership by @zortos293 in #938
- fix(auth): enforce credential and account lifecycle ownership by @zortos293 in #940
- fix(alliance): scope provider routing and session ownership by @zortos293 in #941
- fix(catalog): preserve complete libraries and observe sync completion by @zortos293 in #943
- feat(library): add cloud ownership and favorites with guarded launches by @zortos293 in #944
- feat(search): query remote games from the command palette by @zortos293 in #945
- feat(settings): share validated language and stream profile choices by @zortos293 in #946
- style(auth): center the desktop sign-in card by @zortos293 in #942
- fix(catalog): omit campaign dependency from targeted game lookups by @zortos293 in #948
- fix: restore authenticated launches and display chroma fallback by @zortos293 in #949
- fix(streaming): debounce connection warnings and clear them on recovery by @zortos293 in #952
- fix(ui): keep game details padded and accessible by @zortos293 in #953
- fix(test): polish game-details layout before measuring it by @zortos293 in #954
- Fix bounded Opus packet-loss concealment in embedded Linux audio by @zortos293 in #955
- Preserve physical gameplay keys across Linux keyboard layouts by @zortos293 in #956
- Keep Discord rich presence alive with bounded persistent IPC by @zortos293 in #958
- Fix bounded Opus packet-loss concealment in embedded Linux audio by @zortos293 in #959
- Publish Linux video readiness only after entering Running by @zortos293 in #961
- Validate VAAPI color profiles on the selected decode device by @zortos293 in #962
- Use one resolved Pictures root across Qt and the native core by @zortos293 in #963
- Launch the eligible Steam client for persistent storage management by @zortos293 in #966
- Receive account and library push updates natively by @zortos293 in #969
- Carry validated output luminance into HDR session requests by @zortos293 in #964
- Measure native frame stages and Qt presentation progress by @zortos293 in #965
- Isolate Linux audio decode and output failures from video by @zortos293 in #960
- Recover native video stalls from actual frame progress by @zortos293 in #972
- Enable explicit software decoding in the embedded Linux stream by @zortos293 in #967
- Gate 360 FPS on entitlement and the effective hardware decoder by @zortos293 in #968
- Add negotiated bandwidth-saving quality policy by @zortos293 in #970
- Measure selected-zone UDP payload reachability before streaming by @zortos293 in #971
- Pace the software decode fixture by decoder admission by @zortos293 in #973
- Forward Sony controller input through owned native HID sessions by @zortos293 in #974
- Keep nightly versions ahead of published stable releases by @zortos293 in #975
- fix: send private NACK-v2 feedback for Mjolnir video by @zortos293 in #977
- fix: pace Mjolnir NACK retries using current RTT by @zortos293 in #978
- Add PrintedWaste queue selection to the Qt desktop by @Kief5555 in #979
- fix: align NVST color negotiation with the official client by @zortos293 in #981
- fix(updater): repair discovery, portable installation and failure reporting by @zortos293 in #982
- refactor: simplify and align desktop settings by @zortos293 in #983
- fix(ui): unify brand lockup and repair desktop misalignments by @zortos293 in #984
- fix(alliance): bounded SETUP negotiation, login recovery and endpoint trust by @zortos293 in #883
- fix(test): run queue selector tests in the production Basic style by @zortos293 in #988
- fix(alliance): fall back Digevo prod endpoint to LATAM West by @zortos293 in #990
- fix(alliance): engage provider fallback only when discovery host is unreachable by @zortos293 in #991
- streamer(vulkan): prioritize capable dGPUs and fix AppImage GLib clash by @zortos293 in #992
- fix(streamer): re-sweep video SETUP on a bounded pace when the rig has no peer yet by @zortos293 in #993
- fix(streamer): align 10-bit color negotiation and codec gating with official client by @zortos293 in #994
- fix(qml): pass codec argument through in codecDisabledByProfile by @zortos293 in #995
- fix(streamer): stop SETUP at first 200 and fall back to bundle peer when rigs omit Transport by @zortos293 in #998
- fix(streamer): keep a queued keyframe when the D3D11 decode queue overflows by @zortos293 in #1001
- Speed up software decode and NV12 upload by @zortos293 in #1000
- fix(updates): quote MSI INSTALL_ROOT to avoid msiexec 1639 and clear terminal transactions by @zortos293 in #996
- Select a hybrid GPU that can hardware-decode by @zortos293 in #1002
- Install Windows with setup.exe and swap the ZIP by @zortos293 in #1005
- fix: keep a 220 kbps bitrate request below the 1 Mbps floor by @zortos293 in #1007
- fix(qt): map German gameplay keys from the physical position by @zortos293 in #1006
- Fix green screen, chroma ghosting and stretched aspect on the Linux zero-copy path by @makhov in #997
- fix(qt): map regional keyboards from physical keys by @zortos293 in #1010
- fix: resolve pre-nightly reliability and packaging audit findings by @zortos293 in #1011
- fix(ci): restore timestamped package compiler caches on all platforms by @zortos293 in #1012
- perf(streamer): skip stale decoded frames before GPU conversion by @zortos293 in #1016
- fix(streamer): use bundle video peer on first peerless SETUP by @zortos293 in #1015
- feat(qt): redesign stream shortcut settings by @zortos293 in #1017
- fix(qt): expose missed UI labels to localization and prefer translated sources by @zortos293 in #1018
- fix(streamer): encode the native microphone in 10 ms frames by @makhov in #1014
- fix(streamer): recover when assembled video stops reaching decoder by @zortos293 in #1019
- fix(streamer): recover 8-bit VA-API frames when DMA-BUF export fails by @zortos293 in #1020
- fix(streaming): route Alliance sessions and align NVST feedback by @zortos293 in #1022
- fix(streamer): preserve SDR colorimetry across resolution and HDR transitions by @zortos293 in #1021
- fix(streamer): align custom SCTP channel reliability by @zortos293 in #1024
- fix(streamer): keep server-owned NVST settings out of ANNOUNCE by @zortos293 in #1025
- fix(streamer): leave unverified QoS v7 fields unset by @zortos293 in #1027
- fix(core): advertise native WebSocket signalling in session metadata by @zortos293 in #1023
- fix(streamer): gate input activation until PLAY succeeds by @zortos293 in #1026
- fix(streamer): batch and negotiate QoS feedback by @zortos293 in #1028
- fix(test): exercise current fullscreen stats shortcut in smoke by @zortos293 in #1030
- fix(core): persist large Windows sessions securely across restarts by @zortos293 in #1031
- fix(streamer): honor ABYA's negotiated pacing feedback mode by @zortos293 in #1033
- fix(streamer): derive bundle ICE identity from advertised server port by @zortos293 in #1035
- fix(qt): reset queue poll failures after successful responses by @zortos293 in #1036
- fix(streamer): classify Linux pacing mismatch at correct bounds by @zortos293 in #1037
- fix(core): gate Auto AV1 on probed platform and stream limits by @zortos293 in #1040
- fix(streamer): bound decoder backlog and retain valid reference chains by @zortos293 in #1042
- fix(core): cancel fresh CloudMatch sessions on returned control host by @zortos293 in #1034
- fix(core): preserve explicitly selected CloudMatch zones by @zortos293 in #1038
- fix(core): encode HDR minimum luminance in protocol units by @zortos293 in #1039
- fix(streamer): honor bounded server QoS message size by @zortos293 in #1044
- fix(streamer): avoid startup IDR and probe only primary video port by @zortos293 in #1041
- fix(streamer): open only required SCTP channels on dedicated video by @zortos293 in #1043
- fix(windows): keep SDR matrix through HDR output transition by @zortos293 in #1045
- fix(streamer): report measured bandwidth and frame receive feedback by @zortos293 in #1047
- fix(hdr): send active Windows display metadata for native HDR by @zortos293 in #1048
- fix(stats): distinguish video bitrate from stream UDP receive rate by @zortos293 in #1049
- fix(qt): preserve exclusive controller selection on disconnect by @zortos293 in #1061
- fix(diagnostics): preserve safe stream recovery and decode progress by @zortos293 in #1062
- fix(qt): restore Swedish OEM input positions by @zortos293 in #1063
- fix(streamer): rearm decode watchdog after recovered output by @zortos293 in #1064
- fix(qt): retire stale polls when replacing store sign-in by @zortos293 in #1065
- fix(streamer): preserve atomic updates across Rust versions by @zortos293 in #1073
- fix(streamer): poll media deadlines after STUN datagrams by @zortos293 in #1066
- fix(build): run the license generator for the Rust host target by @zortos293 in #1068
- fix(linux): select a usable native H.264 VA-API device by @zortos293 in #1069
- fix(qt): confirm native window close without disturbing sessions by @zortos293 in #1070
- fix(startup): enforce exclusive profile and endpoint ownership by @zortos293 in #1071
- fix(streamer): keep unresolvable packet trains from lowering bandwidth estimate by @Dinoway in #1057
- fix(core): send clientTimezoneOffset as local minus UTC by @Dinoway in #1058
- fix(auth): save sessions to JSON when the OS vault is unavailable by @zortos293 in #1076
- fix(desktop): preserve streams across core restarts and order settings writes by @zortos293 in #1074
- fix(desktop): close account, settings, and recovery audit gaps by @zortos293 in #1082
- fix(qt): label 4:4:4 color profiles as coming soon by @zortos293 in #1083
- release: prepare stable v1.0.2 by @zortos293 in #1086
- fix(release): restore full 1.0.2 commit ancestry by @zortos293 in #1087
New Contributors
Full Changelog: v1.0.1...v1.0.2