Orientation on webOS 8 UP5Q now rotates correctly while maintaining the target resolution
P2P synchronizer: reconnect cycle was a no-op because the local WebSocket to ws://localhost:8082 was never closed nor re-opened on close() → connect(). Applet retries surfaced as "Unable to properly connect for synchronized playback after 3 tries" with empty lastError.
P2P synchronizer: connect() now awaits the WebSocket open handshake (10 s timeout) so initial group-status messages from the native service are not dropped.
P2P synchronizer: WebSocket error/close drive exponential-backoff reconnect (1/2/4/8/16 s) and emit SynchronizerEvent.Closed once retries are exhausted or close() completes so the polymorphic layer can tear down cleanly.
P2P synchronizer: SynchronizerServiceHelper no longer rejects with an empty Error('') when the luna service returns blank errorCode/errorText; a labeled fallback message is used instead.
P2P synchronizer: initService() rejects on onFailure instead of hanging forever.
Restore Content-Type: image/jpeg header in screenshot upload and merge with custom headers
Fix double rotation on webOS 8/9 UP5Q — delegate to inherited setOrientation() to prevent CSS rotation when native IDCAP rotation is active
PMMode is enforced from webOS 4.0 and above during startup and initial configuration
Toggling debug mode multiple times no longer produces a com.lg.app.signage.debug.debug.ipk URL launcher address that fails to install; existing devices stuck in this state self-heal on the next toggle
Longer deprovisioning timeout before reboot to give the display enought time to delete all cached data and files
Use smaller resolution videos in acceptance tests that play multiple videos side by side because some platforms struggle to process more than one full HD video at a time
The built-in browser now loads websites that enforce same origin policy
When proprietary timers are disabled while the display and content are off, the display and content will be turned on
Reboot device automatically when App or FW upgrade is performed in open management
When device is offline, increase the interval between reconnect attempts progressively from 5s up to 5 mins
Device registration occasionally failing during first boot
Make longer and configurable check interval on platform configuration (30s -> 60s)
Native debug will always do the configuration check interval 30s
Default PIN code is 0000 until device is connected to internet
PIN code set/get support for JS management API
Removed dependency on navigator.onLine for websocket connections management. Navigator.onLine in certain edge cases doesn't provide accurate information if the device can access internet or not.
Possible memory leak in video player when one gapless video is playing in infinite loop
When acceptance tests are running, mute applet so it doesn't conflict with the tests
Video API supports video playing in the background with HTML in the foreground
Video API supports 4K video
New capability to set/get timezone and time
On device deprovisioning handler
It's possible now to configure the application build to use a local applet file instead of getting applet timings from the cloud
signageOS Open - build with an applet bundled inside the package and make the device automatically verify against the owner's organization on the server
Use proprietary timer if native is not supported
New full featured API of FileSystem
Low level file system support for front applet
File System API supports writeFile (text (string) value only)
File System API supports copyFile, writeFile
Applet DISABLE/ENABLE power actions
Key codes for media buttons on a remote control (play, pause, stop, backward, forward)