On this page
[4.17.0] - 2026-09-08
Added
Telemetry: Report system and Core App uptime
Hash screenshots before upload (aHash, dHash, pHash)
Fixed
Update OkHttp from 4.12.0 to 5.5.0 , including Android 4.4
Powered by library 14.41.1
Updated to Front-OSD 1.0.0
Power timers now reject new and drop old timers with non-positive integer keys
Native power timers silently ignore sync failures for keys outside supported range (typically 1-7)
Don't report one-off screenshots twice (since 4.16.2)
Improve reporting supported screen orientations
Philips BDL4550D: Support flipped screen orientations
Display ON now works on Android 14 for TV and newer
Improve manual a11y setup process on Android 13+ with Enhanced Confirmation Mode enabled
Improve reporting Firmware Upgrade capability on Android 10+ when not supported
JS API: Native timers now have correct number (since 4.15.3)
JS API: Scheduled Reboot API now works as expected
Hisense DM66D: Disable video prepare by default, disable MediaCodec async API by default, apply MediaCodec.setOutputSurface workaround, matching other Hisense devices
TCL: Report correct firmware version
[4.16.3] - 2026-07-23
Fixed
Philips BDL3650Q: Predictably apply and persist screen rotation setting
Critical: Prevent crash loop when system font size isn't set to Normal on Android 11+ (since 4.16.1)
[4.16.2] - 2026-07-21
Fixed
Report failure to take instant screenshot
Sony BRAVIA settings import: Improve enabled apps handling
Sony BRAVIA settings import: Synchronize access on Android 14
Sony BRAVIA: Prefer AOSP WebView M113 on Android 14
Looma: Always enable ability to toggle screen off (fixes boot loop)
[4.16.1] - 2026-07-03
Fixed
Sony BRAVIA settings import: Support more settings
Sony BRAVIA settings import: Fix app filter for enabled apps in Pro mode
Sony BRAVIA settings import: Fix Wake-up on signal on Android 13
Support Reapply Policy power action
Fix loading recent versions of custom WebView on Android 10+
J2JS: Background WebView no longer stops responding after 1 minute (M139+) or 5 minutes (M88+) when Keep applet running in the background experimental developer option is set
[4.16.0] - 2026-06-22
Added
Sony BRAVIA: Import settings using policy
SDK: Query display/content power settings
Remotely clear application user data
Fixed
[4.15.5] - 2026-06-18
Fixed
Hisense: Don't rotate screen during deprovisioning if it would cause a reboot
Sharp PN-HM1: Improve middleware service connection recovery
Add API to programmatically pre-confirm EULA (adb shell content call --uri content://io.signageos.android --method eula.preconfirm)
No longer cache configuration endpoint responses by a false positive heuristic
J2JS: Suspected deadlock no longer causes an app restart after 5 minutes (since 4.11.0)
[4.15.4] - 2026-06-04
Fixed
Sony BRAVIA running Android 12 now prefers REST API screenshooter if it has HD support (requires firmware version 6.8196 or newer)
Philips BDL3650Q: Don't disable built-in launcher responsible for switching input sources (since 4.5.0)
Hisense DM66D: Disable Idle TV standby
Proprietary power timer policy is no longer falsely flagged as violated
BenQ SL2K: Prevent main activity rotation loop (since 4.15.0)
[4.15.3] - 2026-04-30
Fixed
Improve accessibility service support on Android 13+
Improve support for Sony BRAVIA with Android 14
Critical: Philips 10BDL3051T generates correct device identifiers after an app update (since 4.3.0)
JS API: Get screen orientation API now works as expected
JS API: Screenshot capture and upload returns image hash when requested
JS API: Timers API now works as expected
Powered by library 14.37.3
Updated to Front-OSD 0.16.3
[4.15.2] - 2026-04-16
Fixed
Sync device name to bluetooth adapter no longer crashes on Android 12+
Powered by library 14.33.0
Always-on applet now initializes correctly after app starts (since 4.13.0)
Developer Option: Don't hide "Android" from WebView User-Agent (since 4.11.0)
BenQ SL2K: Support root shell (Custom Scripts)
Report locally assigned or invalid MAC address if universally assigned MAC address isn't available
Troubleshooting: Support interactive local/online app updates
[4.15.0] - 2026-04-04
Added
Target Android 16
Sync device name to system on supported devices
Telemetry: Report RAM
Remote Desktop: Input event dispatching now works with ADB shell
Fixed
Powered by library 14.32.0
Updated to Front-OSD 0.16.2
Giada DN75: Correctly apply and persist portrait and reverse portrait screen orientation
Report bundled applet to Box (since 4.9.0)
BenQ SL2K: Support stop package
[4.14.10] - 2026-03-25
Fixed
Gracefully handle more corner cases wrt kiosk and a11y framework
Browser should no longer crash on start in kiosk mode due to a race condition
[4.14.9] - 2026-03-09
Fixed
Critical: Correctly load Content Module and custom WebView (since 4.14.7)
Novastar: Support devices with updated firmware and changed system service interface
Novastar: Report firmware version
Novastar: Core App should no longer cause a boot loop on broken firmware (missing KeyChain service)
[4.14.8] - 2026-02-27
Fixed
Core App should no longer crash on unsupported Novastar devices
Improve compatibility with Google Play Protect
Recognize more Grocery TV devices
Sony BRAVIA: REST API screenshooter reports logical display size
Hisense DM66D: Fix Application Not Responding
[4.14.7] - 2026-02-18
Fixed
Improve support for Android 14 and newer
[4.14.6] - 2026-01-30
Fixed
Critical: Correctly load Content Module and custom WebView (since 4.14.4)
Improve IPC handling
Report Wi-Fi SSID on more supported devices that require GMS network location opt-in (since 4.14.1)
Improve compatibility with Google Play Protect on Android 8.1 and older (since 4.13.3)
[4.14.5] - 2026-01-29
Fixed
TCL TM43N: Support remote power off and power timers (since 4.11.0)
Correctly recognize more Grocery TV devices (since 4.14.3)
Improve rounding error handling when calculating screenshot perceptual hashes
Re-enabling remote control no longer requires app restart on certain devices (since 4.3.5)
Sony BRAVIA: Developer Option: Prefer REST API to take screenshots
Hisense DM66D: Improve support
Grocery TV: Employ "fake rotation"
ExoPlayer: Address https://github.com/androidx/media/issues/2667 (since 4.8.0)
Support screenshot analysis feature flag
Screenshot perceptual hashing now works on Android 4.4 (since 4.14.0)
Report ADB/root shell management capabilities
Report Wi-Fi SSID on supported devices that require GMS network location opt-in
Correctly recognize Hisense WF25E (since 4.5.0)
Correctly recognize Grocery TV (since 4.14.0)
[4.14.0] - 2026-01-14
Added
Cloud connection URL is now dynamically assigned
Compensate for "fake rotation" in reported screenshots and remote desktop
Fixed
Hisense DM66D: Correctly read serial number (since 4.11.0)
Bundle some recent root CA certificates, typically used with Elliptic Curve Cryptography.
Screenshot perceptual hashes are now more consistent with other platforms
Powered by library 14.30.0
[4.13.7] - 2025-11-22
Fixed
Sony BRAVIA: App no longer crashes when working with local REST API under some conditions (since 2.13.6)
[4.13.6] - 2025-11-18
Fixed
Improve support for BenQ SL04
Improve support for Sharp PN-ME2
Improve support for Sony BRAVIA
Powered by library 14.26.0
JS API: Support headers in screenshot upload requests
[4.13.5] - 2025-10-07
Fixed
Disable Google Play Protect more reliably on supported devices
Prevent long buffering of stream with undeclared Closed Captions
Don't update WebView packages that have been disabled in the system
Secrets: Gracefully handle more edge cases
Lock Task Mode: Gracefully handle more edge cases
Disable Idle Mode more reliably on some devices
Assume Device Owner more reliably on some devices
Improve compatibility with Google Play Protect
[4.13.0] - 2025-09-23
Added
Fixed
Don't crash when attempting to start disabled Remote Desktop
Install common root CA certificates on Kitkat on some devices (since 4.7.0)
Support encrypted applet and script configuration on Android 4.4-7.1 (since 4.12.0)
Correctly advertise support for encrypted applet and script configuration on Android 4.4-5.1 (since 4.12.0)
Correctly evaluate Display Power Actions when power state has been altered locally
Improve reporting supported display orientations
Pre-install WebView M85 on all OS versions including Kitkat (requires custom WebView loader)
Package install policy will not be enforced unless all package names resolve to a valid APK
Don't immediately report Applet Power Actions as failed (since 4.10.0)
Fallback/Activity screenshots on unsupported devices now work when applet runs in a separate process (since 4.6.0)
[4.12.3] - 2025-08-14
Fixed
Always report correct Ethernet adapter MAC address after provisioning Sony Bravia running Android 12+ (since 4.12.0)
Improve compatibility with Google Play Protect on Android 13+
[4.12.1] - 2025-08-14
Fixed
Provision WebView from shared storage (since 4.12.0)
[4.12.0] - 2025-08-14
Added
Target Android 15
Download and execute Custom Scripts (requires root shell)
Remotely force-stop apps
Hash screenshots before upload (aHash, dHash)
Provision WebView from shared storage (Android 10+ Trichrome architecture isn't supported yet)
Fixed
Gracefully handle unsupported Novastar devices (since 4.8.0)
Fix Remote Desktop input event injection using shell on Android 4.4 (since 4.11.0)
HTML5 acceptance test is now working again (since 4.8.0)
Report Ethernet adapter MAC address after provisioning Sony Bravia running Android 12+
Support encrypted applet configuration on all devices
[4.11.0] - 2025-06-26
Added
Fixed
Powered by library 14.19.0
Updated to Front-OSD 0.14.2
HTML5 acceptance test is now working again (since 4.8.0)
Improve app restart handling while the browser is open
Run legacy applet file tree migration long before using FS API
No longer attempt to load Google Chrome (Monochrome) as WebView provider on Android 10+ (fixes crash loop on some devices)
Don't participate in Auto Backup for Apps
Report initial audio volume (since 3.13.0)
Improve binding app process lifecycles together
JS API: Serial port API works again (since 4.6.0)
Correctly dispatch key events when in Hotel Mode (since 4.3.0)
Screen capture using MediaProjection now works on Android 10 and newer (since 4.8.2)
Correctly stream HDMI after screen turns on on some devices
Package install policy now works
Report/set resolution on Giada
Gracefully handle NTP server addresses that specify invalid schemes
Power action timer no longer schedules removed power actions
[4.10.8] - 2025-02-28
Fixed
Fix race condition in video player resulting in video getting stuck (since 4.10.6)
Remove some false positive error logs during app startup
[4.10.7] - 2025-02-26
Fixed
Improve cancellation handling of internal processes
J2JS: Get screen orientation API now works as expected (since 4.10.0)
[4.10.6] - 2025-02-20
Fixed
Limited support for MediaMood Harmony A1 and MVP195
Skip firmware update device compatibility check if we're lacking privileges
Pre-confirm EULA based on external storage metadata (limited support)
Fail fast if there's not enough space to download a firmware update
Don't reconnect service socket immediately after provisioning
Don't start main activity twice after a reboot when content runs in a separate process
Kill separate content process during deprovisioning
Content correctly loads after app restart (since 4.10.0)
[4.10.5] - 2025-02-14
Fixed
Critical: App no longer crashes on non-Philips devices (since 4.10.4)
Philips, BenQ SL: Backlight no longer remains off after a system-triggered hard reboot following a display power command or timer event (since 4.5.0)
[4.10.4] - 2025-02-12
Fixed
Improve Philips SICP reliability further (since 4.1.0)
[4.10.3] - 2025-02-11
Fixed
Philips: Improve SICP reliability resulting in better reporting capabilities
[4.10.2] - 2025-02-07
Fixed
Improve lock task mode handing on Android 10 and newer
Improve persisting display power state before a system-triggered hard reboot
Philips 24BDL4151T: ADB/TCP toggle now works as expected
TPV: Improve scalar service connection reliability
[4.10.1] - 2025-01-31
Fixed
App no longer restarts early in app's lifecycle after a reboot
Gracefully handle IPC dying during app restart
Improve MAC address reporting on some devices
[4.10.0] - 2025-01-21
Added
Support Videri Spark
Support File System Wipeout power action
Fixed
Powered by library 14.10.0
Correctly handle cancellation during an ADB-to-self connection attempt
Content should no longer get stuck disabled after setup wizard in some cases
Unsupported devices no longer spam configuration endpoint before enabling Demo Mode
JS API: Correctly support FrontCapability.FILE_SYSTEM_ARCHIVE_EXTRACT_INFO
JS API: Correctly pass headers to File Upload API
[4.9.0] - 2025-01-14
Added
Support Philips 10BDL5051T
Report supported device feature flags
Report bundled applet to Box
Fixed
Powered by library 14.9.1
Display service socket status and verification code in debug UI
Read serial number on unsupported Philips tablets
[4.8.17] - 2025-01-14
Fixed
Philips BDL4050D: Remote Desktop
[4.8.16] - 2025-01-13
Fixed
Declare unsupported LED on Philips 10BDL3351T
Support devices where display from an activity context doesn't match the default display in terms of declared dimensions (observed on Redmi 12 running Android 15)
[4.8.15] - 2025-01-11
Fixed
Philips 10BDL3051T: Remote Desktop
[4.8.14] - 2025-01-08
Fixed
Critical: Correctly start applet after boot, when running in a separate process, which has been the default since 4.8.0 (since 4.6.0)
[4.8.13] - 2025-01-07
Fixed
Gracefully handle IPC dying during app restart
[4.8.12] - 2025-01-06
Fixed
App no longer restarts when checking foreground status on some devices
[4.8.11] - 2025-01-02
Fixed
Gracefully handle IPC dying during app restart
Correctly parse running system task info using root
More reliable access checks for system cache partition
[4.8.10] - 2025-01-02
Fixed
App no longer restarts when switching input source on Hisense BM66AE (since 4.7.0)
Gracefully handle potential issues during Wi-Fi API calls
[4.8.9] - 2025-01-02
Fixed
Set time using root
Report network interfaces with IPv6 link and prefix length greater than 32
BenQ SL: Display power telemetry is reported correctly after a boot
[4.8.8] - 2024-12-16
Fixed
[4.8.7] - 2024-12-12
Fixed
Don't install Google WebView 85 if Android WebView 85 or newer is already installed
Prevent app restart when main activity recreates in some cases
App should no longer get stuck on Starting... after boot on some devices
[4.8.6] - 2024-12-05
Fixed
Home app should now resolve to signageOS instead of fallback launcher on Android 4.4 (since 4.8.5)
[4.8.5] - 2024-11-21
Fixed
Home app should now resolve to signageOS instead of fallback launcher (since 4.8.0)
[4.8.4] - 2024-11-07
Fixed
Philips, BenQ SL: Correctly persist display power state before a system-triggered hard reboot following a display power command or timer event (since 2.7.0)
[4.7.9] - 2024-11-07
Fixed
Philips, BenQ SL: Correctly persist display power state before a system-triggered hard reboot following a display power command or timer event (since 2.7.0)
[4.8.3] - 2024-10-31
Fixed
Novastar: Persist Wi-Fi AP/STA mode set on device (outside of ViPlex)
[4.8.2] - 2024-10-30
Fixed
Screen capture using MediaProjection now works on Android 10 and newer
Report package install results (since 2.7.0)
Gracefully handle too big telemetry intervals provided by configuration endpoint
[4.7.8] - 2024-10-30
Fixed
Screen capture using MediaProjection now works on Android 10 and newer
Report package install results (since 2.7.0)
Prevent crash when using Preferred Network Manager on unsupported devices
Sleep and wake up using wake locks should work as expected (since 2.7.3)
Gracefully handle too big telemetry intervals provided by configuration endpoint
[4.8.1] - 2024-10-29
Fixed
Prevent crash when using Preferred Network Manager on unsupported devices
Sleep and wake up using wake locks should work as expected (since 2.7.3)
[4.8.0] - 2024-10-25
Added
Developer Option: Applet lifecycle may continue to run while the screen is turned off
Support NovaStar TB50
Screenshot telemetry and API can be disabled by a remote-controlled feature flag
Report app modules
Fixed
Stream JS API: Detect undeclared closed captions in TS data stream
Stream JS API: Add trackSelection.selectUndeterminedTextLanguage option
Powered by library 14.6.0
Updated to Front-OSD 0.13.0
Gracefully handle low-level file system API failures to close files downloaded to flash drives
Home app should now resolve to signageOS instead of Home app picker
Gracefully handle invalid telemetry intervals provided by configuration endpoint
[4.7.7] - 2024-10-11
Fixed
Critical: Correctly provision Hisense DM66D and WF25E (since 4.7.0)
[4.7.5] - 2024-10-11
Fixed
Critical: Correctly provision Hisense BM66AE (since 4.5.0)
Ethernet toggle persists state correctly on Philips 24BDL4151T (since 4.6.1)
[4.6.5] - 2024-10-11
Fixed
Critical: Correctly provision Hisense BM66AE (since 4.5.0)
Ethernet toggle persists state correctly on Philips 24BDL4151T (since 4.6.1)
[4.5.5] - 2024-10-11
Fixed
Critical: Correctly provision Hisense BM66AE (since 4.5.0)
[4.7.4] - 2024-09-09
Fixed
App no longer crashes when loading bundled applet from invalid URL
App no longer crashes when checking denied permissions on Android 12 (since 2.0.0)
App no longer crashes when managing screenshot requests (since 2.7.0)
Improve binding app process lifecycles together
[4.7.3] - 2024-09-04
Fixed
Display ON now reliably works on Android 11 for TV and newer
[4.7.2] - 2024-09-04
Fixed
Critical: Fix alarm-related crash on Android 13 and newer (since 2.7.0)
[4.7.1] - 2024-09-04
Fixed
Critical: Correctly bind app process lifecycles together (since 4.5.0)
[4.6.4] - 2024-09-04
Fixed
Critical: Correctly bind app process lifecycles together (since 4.5.0)
[4.5.4] - 2024-09-04
Fixed
Critical: Correctly bind app process lifecycles together (since 4.5.0)
[4.7.0] - 2024-09-03
Added
Support Philips 10BDL3351T
Install APKs from arbitrary URLs
New deployments default to appassets.android.signageos.io origin instead of an opaque origin. Use JS API v6.5.7 or newer for best results.
Target Android 12L
Fixed
Telemetry: Report Device Owner and Accessibility Service status, which can be used to remotely gauge device management capabilities.
Telemetry: Report process metadata, which can be used to remotely gauge device management capabilities.
Optimize screenshot delivery for remote desktop
Set auto/time/zone using Philips API, alternatively
Validate time zone instead of defaulting to GMT
[4.6.3] - 2024-08-02
Fixed
Fix in-app inter-process permission checks affecting the browser process (since 4.4.0)
Setup should no longer get stuck on Installing Device Management... on supported devices
JS API: Browser domain ACL now applies to clicked links on Android 5+
[4.6.2] - 2024-07-12
Fixed
Sharp: Reject placeholder serial number 8A012345K
[4.6.1] - 2024-07-12
Fixed
Apps obtained from https://a.signageos.io/sharp before and including v4.1.1 will be able to update to v4.7.0 or newer.
Apps obtained from https://a.signageos.io/sharp after and including v4.1.2 must update to v4.6.x before updating to v4.7.0 or or newer.
JS API: Browser timeout is now reset with each user interaction (since 3.12.0)
JS API: Browser domain ACL now correctly matches domains (since 3.2.0)
JS API: Screenshot upload API returns correct URL (since 4.3.3)
Telemetry: Report actual display power (since 4.6.0)
Telemetry: Allow reporting multiple connected network interfaces
Developer Option: Disable Ethernet restart on connection error
Ethernet restart should no longer cause permanent network loss
Don't allow Ethernet restart optimistically on untested devices
Auto-verification: Wait for user setup complete before enforcing policies
Revert "New deployments default to appassets.android.signageos.io origin instead of an opaque origin" until we address CORS issues. First-time deployments of v4.6.0 will need to switch the developer option manually.
Philips 24BDL4151T: Fix "Application Not Responding"
Philips 24BDL4151T: Fix disabled content due to stuck SELinux checks
[4.6.0] - 2024-06-19
Added
Support Auto-verification from Android Provisioning
Telemetry: Report actual display power
Updated to Front-OSD 0.12.0
Developer Options: Run applet in a separate process
Allow custom WebView build on Kitkat
New deployments default to appassets.android.signageos.io origin instead of an opaque origin
[4.5.3] - 2024-06-19
Fixed
Report battery status when device isn't plugged in (since 4.3.3)
[4.5.2] - 2024-06-19
Fixed
Fix Wi-Fi MAC address reporting in some cases (since 4.3.0)
Only deprovision verified devices; don't interfere with setup
[4.5.1] - 2024-06-19
Fixed
Critical: Applets now correctly switch on Android 4.4 with WebView M30
[4.5.0] - 2024-05-14
Added
Developer options: Applets can use appassets.android.signageos.io origin instead of an opaque origin
Troubleshooting: Toggle high-priority privileged launcher, e.g. on Android TV, for non-CMS applications
Support Philips BDL3650Q
Support hisense DM66D
Support hisense WF25E
Fixed
Improve high-priority privileged launcher recognition (since 4.3.5)
Unify immersive mode behavior across platform versions
P2P synchronizer now works on Android 4.4
Powered by library 13.8.0
Target Android 11
Setup wizard: Run in lock task mode on Android 9+ to avoid interrupting automated flows
Improve Ethernet adapter MAC address extraction
hisense BM66AE: Use native portrait mode
hisense BM66AE: Default to TextureView for video in portrait mode
ExoPlayer: TS exposes fallback CEA-608 closed captions if undeclared in PMT
ExoPlayer: Pass DRM configuration and track selection options when sos.video.prepare API isn't fully supported
Correctly report Wi-Fi on most devices (since 4.3.0)
JS API: P2P video synchronization now works on Android 4.4
Philips, BenQ SL: Backlight no longer remains off after a system-triggered hard reboot following a display power command or timer event
Fix backported shell commands on Kitkat (since 4.4.0-rc.3)
Remotely installed packages are started automatically, once again (since 4.5.0-alpha.1)
Additionally load developer options from all files matching sos.dev. + .jar file name on a flash drive
[4.4.4] - 2024-04-03
Fixed
Improve a11y service compatibility with Android 7+ devices
Setup wizard: Ask for a11y service permission on Android 4.4–6 devices (since 4.0.0)
Avoid potential crash on null response message using WebView older than M73 (https://issues.chromium.org/issues/41437689 )
Powered by library 13.6.4
[4.4.3] - 2024-03-21
Fixed
Critical: Correctly report app upgrade (since 4.4.0)
[4.4.2] - 2024-03-20 [YANKED]
Fixed
JS API: Correctly report Serial API support (sos.display.supports("SERIAL"))
JS API: Serial API now works on Android 10 or newer (since 4.4.0)
Elo Backpack 4: Set as default home
[4.4.1] - 2024-03-14 [YANKED]
Fixed
BenQ SL: Match emulated Lock Task Mode behavior with pre-v4.4.0
[4.4.0] - 2024-03-14 [YANKED]
Added
Expose location & tags, as seen in Box, to third party apps (requires runtime permission)
Support Philips BDL4650D
Troubleshooting: Local & online app update options
Support package install/uninstall policy
JS API: Stream options
JS API: Stream DRM
JS API: Stream track selection
JS API: Stream pause/resume
Experimental Remote Desktop
Fixed
Sony Bravia: Suppress IR remote control keys when Kiosk Mode is active (as was always intended) (since 4.3.0)
ExoPlayer: Gracefully handle transport streams containing no packets for an H.264 or AAC elementary stream that is declared in the PMT
File System JS API: Read correct mime type from files of popular image formats with a suffixed file extension (e.g. .png_w800_h600 is now image/png instead of application/octet-stream)
Update EULA to version 3.0
Setup wizard should no longer get stuck on Starting... in certain conditions
Correctly report proprietary timer settings
Proprietary timers can now be controlled using JS API
Use ADB to perform device management even on devices running Android 11+ with ADB-over-TCP enabled (previously limited to Android 7–10)
Connection should no longer switch from Ethernet to Wi-Fi as a fallback measure (since 4.0.0)
Vestel: Don't recreate main activity whenever IR lock state changes
Pick valid WebView implementation provider during setup on Android 7+
[4.3.12] - 2024-01-09
Fixed
Fix crash on Sharp PN-B series regarding Ethernet Restart (since 4.3.0)
Fix crash regarding Browser (since 4.3.11)
[4.3.11] - 2023-12-15
Fixed
Clicking on a <select> element no longer causes a crash
[4.3.10] - 2023-12-06
Fixed
App no longer crashes on Android 12 when granting permissions during setup
App no longer crashes on some devices when attempting to play <video> element
[4.3.9] - 2023-11-15
Fixed
Fallback Android TV launcher shows Notifications, Settings, and clock in the top right corner
Lenovo: Work around issues when using Browser JS API with Smart Rotate enabled
Improve startup time
Support Proprietary power timer policy (since 3.10.0)
[4.3.8] - 2023-11-03
Fixed
Taking full screenshots using a11y framework on API 30 now works again (since 4.3.3)
Improved process management during setup
[4.3.7] - 2023-10-31
Fixed
Fix crash on boot affecting Sony Bravia BPK provisioning (since 4.3.6)
[4.3.6] - 2023-10-30
Fixed
Sony Bravia BPK: App restart is no longer required to pick up provisioned content module and developer options
[4.3.5] - 2023-10-30
Fixed
IR lock no longer gets stuck when enabled on Sony Bravia (since 4.3.3)
[4.3.4] - 2023-10-29
Fixed
Background app setup doesn't end prematurely (since 4.3.3)
Correctly report service connection status
[4.3.3] - 2023-10-26
Fixed
Provision Content Module from flash drive
Correctly provision developer options from flash drive
Disable battery optimizations or disable Idle Mode
Devices without a battery no longer report battery stats
YOX: Correctly report display brightness (since 4.0.0)
[4.3.2] - 2023-10-05
Fixed
Starting applet in offline (when was already downloaded earlier)
[4.3.1] - 2023-10-02
Fixed
Critical: App no longer restarts when uploading crash reports (since 4.3.0)
[4.3.0] - 2023-10-01
Added
Sony Bravia: Suppress IR remote control keys when Kiosk Mode is active (as was always intended)
Developer Option: Hotel Mode (enables IR RC and user power control in Kiosk Mode)
Developer Option: Video Scaling Mode
Fixed
Critical: Correctly migrate Demo Mode Device UID from Core App 3.x (since 4.0.0)
JS API: Support MEDIA_NEXT, MEDIA_PREVIOUS, MEDIA_RECORD, INFO, GUIDE, CAPTIONS, MEDIA_AUDIO_TRACK key codes
Philips 10BDL3051T: Manage network adapters in order to keep connectivity
Setup: Improve process stability
Setup: Correctly handle android.permission.POST_NOTIFICATIONS on Android 13
Persist device name and organization name across app restarts and reboots
Sony Bravia: Wi-Fi MAC address contributes to device UID for new installations
BenQ SL: Report correct Android firmware type in case the scaler chip firmware doesn't match
Report Wi-Fi SSID and signal strength on Android 9+
Correctly report storage volumes after first run
JS API: Always report internal0 volume backed by app-private storage
Revert "Transitioning between videos should be faster on most devices" as unreliable (since 4.2.0)
[4.2.8] - 2023-10-02
Fixed
Critical: Correctly migrate Demo Mode Device UID from Core App 3.x (since 4.0.0)
Correctly report storage volumes after first run (since 4.0.0)
Revert "Transitioning between videos should be faster on most devices" as unreliable (since 4.2.0)
[4.1.4] - 2023-10-02
Fixed
Critical: Correctly migrate Demo Mode Device UID from Core App 3.x (since 4.0.0)
Correctly report storage volumes after first run (since 4.0.0)
[4.0.2] - 2023-10-02
Fixed
Critical: Correctly migrate Demo Mode Device UID from Core App 3.x (since 4.0.0)
Correctly report storage volumes after first run (since 4.0.0)
Re-enable JS API OSD (since 3.17.0)
Video: Retry playback once after decoder initialization error
Video: Video prepare API no longer gets stuck sporadically (since 3.13.0)
Respect Extract video size developer option (since 3.11.0)
[4.2.6] - 2023-08-10
Fixed
ExoPlayer: Replaying the same video works again (since 4.2.0)
[4.2.5] - 2023-07-26
Fixed
ExoPlayer: Display correctly videos with non-square pixels
[4.2.4] - 2023-07-24
Fixed
Remove dependency on BatteryManager
Setup: Improve ADB connection handling
ExoPlayer: Improve behavior on devices lacking video prepare support
[4.2.2] - 2023-06-29
Fixed
Critical: Using browser API no longer causes a crash (since 4.2.0)
[4.2.1] - 2023-06-27
Fixed
Setup process is now slightly faster
[4.2.0] - 2023-06-26
Added
Expose public key for ADB authentication for automation
Update Core App using Content Module
Provision Developer Options using an external file
Fixed
Developer Options: Allow cleartext traffic now affects WebView
Allow android.permission.SYSTEM_ALERT_WINDOW for remotely installed apps on Android 10+
Transitioning between videos should be faster on most devices
JS API, USB Serial: Support Prolific HXN
Geolocation HTML permission requests are now automatically approved for applets on Android 4.4
Setup process is now more resilient to lowmemorykiller system daemon
[4.1.2] - 2023-06-07
Fixed
Video: Retry playback once after decoder initialization error
Video: Video prepare API no longer gets stuck sporadically (since 3.13.0)
[4.1.1] - 2023-06-05
Fixed
Re-enable JS API OSD (since 3.17.0)
Vestel: Disable automatic system update dialog
Respect Extract video size developer option (since 3.11.0)
JS API: Support HOME, CHANNEL_UP, and CHANNEL_DOWN key codes
Sony Bravia: Disable the system launcher in order to intercept the HOME button
[4.1.0] - 2023-05-10
Added
Fixed
Setup: Manage more permissions interactively on unsupported devices
Setup: Offer to enable Philips SICP
Setup: Offer to set Sharp's Monitor Control Select to Application
[4.0.0] - 2023-04-20
Added
Support YOX75IR
QR code provisioning: Setup content module
QR code provisioning: Setup developer options
Use ADB to perform device management on devices running Android 7-10 with ADB-over-TCP enabled
Set self as device owner on devices with root or ADB-over-TCP enabled
EULA confirmation during setup
Interactive HTML permission requests are now automatically approved (excl. browser, requires Origin)
Changed
Implement interactive step-by-step setup wizard ensuring proper configuration after first run
Fixed
Correctly recognize Ethernet connection on Philips
Improve UDP stream compatibility
Package installer rejects WebView packages intended for other architectures
Abort setup when the system WebView package is missing on some unsupported devices
Deprovisioning now keeps Wi-Fi profiles
Deprovisioning no longer undoes the app setup process
IR lock works more reliably
Sony Bravia: Brightness settings now work (requires advanced setup)
Elo: Disable Auto idlemode
Elo: Support setting brightness
[3.17.4] - 2023-03-13
Fixed
Improve setup reliability
[3.17.3] - 2023-03-10
Fixed
Support Elo I-Series 4 Value
More secret ways to show Kiosk Unlock dialog are now supported
JS API: Screen resize now works
Offer reloading main activity once the content module is installed or updated
[3.17.2] - 2022-12-06
Fixed
Critical: Don't crash after setting the app as Device Owner (since 3.17.1)
[3.17.1] - 2022-12-01
Fixed
Add missing files useful for Elo I-Series 4 and Elo Backpack 4 provisioning
Prepare for Sony Bravia X80J provisioning (requires alternative setup method)
[3.17.0] - 2022-11-25
Added
Fixed
Allow cleartext traffic in ExoPlayer-backed video player
Gracefully handle disconnected Wi-Fi when reporting network info
Better report video capabilities
Check native library compatibility before installing packages
Automatically dismiss empty password prompt on older Philips tablets (since 3.15.0)
Use DevicePolicyManager API to change system settings
Using certain device management APIs on BenQ SL2K no longer restarts the app
Android PIN is no longer set as it was sometimes required on boot, breaking unattended use
Security
[3.16.0] - 2022-07-07
Added
Local Developer Option: Use Crosswalk 23 (Chromium 53) instead of WebView (Chromium 30) on Android 4 (experimental)
Fixed
Fix memory leak in JS video player when looping the same video file
Fix display off using root on Android 4.4 (since 3.13.0)
Fix reporting default values through telemetry
[3.15.3] - 2022-06-14
Fixed
Report Wi-Fi signal strength and SSID along network interfaces
Show verification hash when serial number isn't needed to generate device UID (since 3.15.0)
[3.15.2] - 2022-06-04
Fixed
Fix development permission grant check on some devices running Android 4–5.1 (since 3.15.0)
[3.15.1] - 2022-06-04
Fixed
Critical fix: Fatal error when attempting to grant permissions on some devices running Android 4–5.1 (since 3.15.0)
[3.15.0] - 2022-06-03
Added
Support Vestel PN series
Local Developer Options for adjusting stream buffer (ExoPlayer only)
Toggle ADB from local Developer Options
Automatically attempt to install at least Google Chrome 85.0.4183.127 on Android 7+ if Google WebView couldn't be installed
Fixed
Fix potential crash when fetching time from NTP server (since 3.14.0)
Fix potential crash when entering Admin Mode on Philips tablets without password (since 3.14.0)
Browser: Using PDF viewer with ACL no longer requires allowing empty domain
Display on/off/timer work more reliably on Philips BDL4051D
Fix single video loop playback (since 3.13.0)
Fix false negative package install results
Prefer Google Chrome as WebView implementation on debuggable system builds with incorrectly signed Google WebView package
Use ExoPlayer to play videos by default on Android 10 and newer
No more crashes when attempting to pause/resume unmanaged videos
No more ANRs while waiting for currently unavailable device IDs in debug UI
Enable APK minification
Fix root recognition on some devices
[3.14.2] - 2022-03-28
Fixed
Critical fix: Attempt to fix time on devices which don't preserve time across reboots (since 3.14.0)
[3.14.1] - 2022-03-21
Fixed
User defined applet preferred over bundled applet when both are set at the same time (since 3.13.0)
[3.14.0] - 2022-03-17
Added
File upload JS API
BenQ, Philips: Restore display power state after a power outage
Automatically attempt to update to at least WebView 85.0.4183.120
Fixed
Use ExoPlayer to play video on Technovare OPS by default
Don't restart content when opening in-app browser
Don't crash on devices without a USB stack (e.g. Windows Subsystem for Android)
Read serial number after provisioning as Device Owner
Interactive package install now works on Android 11
Taking screenshots should now work on supported devices running Android 12 or newer
Taking screenshots is now supported on Android 11 using Accessibility Service API
Improved attempt to fix time on devices which don't preserve time across reboots
[3.13.2] - 2022-02-15
Fixed
Fixed regression in video playback, most notably on MBX (since 3.11.0)
[3.13.1] - 2022-02-02
Fixed
On-demand screenshot reporting works again (since 3.13.0)
[3.13.0] - 2022-02-02
Added
Support CRC32 checksum in File System JS API
Support appending text to files using JS API
Allow parametrize bundled applet with configuration
Support for Giada DN75
Support arbitrary phones (Android 7+, requires advanced setup)
Allow taking screenshots using Media Projection API (requires advanced setup)
Bundle support for recent TLS cipher suites
Install packages and firmware updates from absolute URLs
Support firmware update on Android 10+ with Device Owner
Fixed
Fix crash when opening certain links in browser
Fix crash when leaving browser
Fix screenshots on BenQ not being reported reliably
Report package install failure immediately on BenQ SL2K
Improved telemetry stability
Improved platform socket stability
Report framerate
Read temperature on more devices
Report correct screen resolution on Android 4.4 and 5.x
Support scheduled app restart (since 3.11.0)
[3.12.0] - 2021-10-14
Added
Fixed
Report precise model number on Philips BDL4550D and BDL3550Q
[3.11.1] - 2021-09-02
Fixed
Service socket no longer reconnects every two minutes (since 3.11.0)
[3.11.0] - 2021-08-31
Added
Fixed
Support installing custom packages
Correctly load content in offline mode (since 3.8.0)
Support scheduled app restart
[3.10.0] - 2021-06-30
Added
[3.9.1] - 2021-06-21
Fixed
Support LEDs on Philips 10BDL4551T
[3.9.0] - 2021-06-09
Added
Fixed
Fix regression in screenshots on some devices running Android 5.0 - 8.1 (since 3.7.0)
Improve compatibility with Android 7.1 and newer
System PIN synchronizes properly when toggling kiosk mode (since 3.8.0)
Don't ask for Admin PIN when kiosk mode is disabled on Philips 10BDL4551T
Browser Theme: Apply address bar text color to non-editable address bar
[3.8.0] - 2021-06-04
Added
JS API: Listen for when the custom browser closes
Fixed
WebView can once again be remotely updated (since 3.7.0)
Correctly set Admin PIN on Philips tablets when outside of app
Firmware updates work again on Philips TVs (since 3.7.0)
[3.7.0] - 2021-05-13
Added
Support ELO I-Touch 3.0 with Android 8.1 AOSP
Report supported resolutions on MBX and Giada DN72
Set resolution on MBX and Giada DN72
Support screenshots on Android 10 with only Device Owner (requires special setup)
Read temperature on Philips TVs
Report more device settings
Fixed
Correctly report management capabilities to JS API
Fix file system JS API rules for overwriting files and merging directories
Support sos.stream.prepare
Clean up temporary screenshot files on Philips
USB serial API now works correctly across applet reloads and app restarts
Gracefully handle NTP server addresses that specify invalid schemes
[3.6.0] - 2021-03-03
Added
JS API: USB Serial
Support Prestigio tablets with Android 10 and Device Owner status
Preliminary support for Allwinner DRCC-D88
Preliminary support for WF1412T
Read temperature on BenQ SL
Enable kiosk mode from the debug dialog
Fixed
More reliable timer scheduling
Native power timers should now work more reliably on Vestel
Screen should now always turn on after a native power timer on event on BenQ SL and Philips TVs
Scheduled reboot should now work on Mobipintech
JS API: Time management API should now work as expected
JS API: Set timer API should now work as expected
JS API: Allow time format without leading zero, e.g. 8:00
JS API: Changing display orientation should now work as expected
Support device management on more rooted devices
[3.5.0] - 2020-12-19
Added
Internal refactor, improved maintainability
Attempt to reconnect disconnected video streams automatically
Support setting NTP server
Allow cleartext traffic developer option for downloading files over HTTP during development
Press Shift+F8 quickly 5 times and enter PIN to disable Kiosk Mode for maintenance.
Basic support for Hannspree HSG1351
Preliminary support for Allwinner A33 y3
Fixed
Don't set red LED color on Philips tablets on app start
JS API: getBrightness should report correct brightness timer settings
JS API: File copy and move now overwrite target file
JS API: Time management API should now work as expected
Better recognize video stream formats on some devices
Don't restart Ethernet adapter with static IP configuration
Pressing admin shortcut on Philips 10BDL3051T while in kiosk mode should no longer force-stop the app
Report installed packages at most once per 10 seconds
In-app browser timeout should now work as expected
Power on and power off on Vestel should behave more reliably
Don't play content unless enabled by Power on action or by Native timer
Video on MBX should now display correctly in portrait orientation
[3.4.1] - 2020-10-08
Fixed
Video orientation should be correct after an orientation change (since 3.4.0)
If screen is off before a reboot, it should turn off again shortly after the reboot
Power actions on some Philips TVs should be more reliable
IR lock on Sharp PN-HM1 series now works (since 3.4.0)
Support setting orientation on FrameXX sign3
[3.4.0] - 2020-10-05
Added
Basic support for Sharp PN-HM1 series
Basic support for Vestel PDH series
Report installed packages
Enable or disable ADB whenever native debug is enabled or disabled, respectively
Basic support for FrameXX sign3
Basic support for Geniatech ATV329A, ATV495X, ATV195X
Fixed
New launcher icon on Android TV
ANR dialog should no longer show when processing touch gestures in WebView
sos.fileSystem.isDirectory and sos.fileSystem.getFileChecksum should now work as expected
Reboot on Philips xxBDL4051D should work more reliably
Re-enable reboot on Mobipintech DP600 - fix requires a board replacement
Display Off power action should work more reliably on BenQ SL2K
Firmware update now works on BenQ SL2K
Allow app.upgrade JS API to install Open Applet APKs
Reset DEMO mode during deprovisioning
[3.3.1] - 2020-07-29
Fixed
Video playback no longer gets stuck after applet refresh, applet reload or a timing change
Support gapless video playback on BenQ SL2K (since 3.3.0)
Prevent sporadic restarts during app startup
[3.3.0] - 2020-07-27
Added
Multi-file applets designed for Open users can now be used by Platform users.
Support browser themes (light/dark theme, colors, corner size, close button style)
Support browser window coordinates
Support volume option in video.prepare
Fixed
Package installs no longer require user consent in some conditions on some devices
App will no longer fail to start after an update (using new bundled app called Kickstarter )
Disable content while backlight is off on BenQ SL2K
[3.2.4] - 2020-07-16
Fixed
Application version reporting should now work reliably in all cases (since 3.0.0)
[3.2.3] - 2020-07-15
Fixed
Fix battery status reporting, part 2 (since 3.0.0)
Fix sporadic crashes related to in-app browser
[3.2.2] - 2020-07-09
Fixed
Critical error loop when using certain DM features (since 3.2.1)
[3.2.1] - 2020-07-01
Fixed
Developers can temporarily enable WebView debug via ADB
Fix Ethernet adapter reset on BenQ SL2K
[3.2.0] - 2020-06-13
Added
Can use Google WebView on Android 7+ even if it's not whitelisted by system
Can use bundled root CA certificates without installing them system-wide
Better support for managing Philips devices (using bundled companion apps)
Support installing third-party non-system applications
Support launching third-party applications
Basic support for Philips 32BDL4051D
Basic support for Benq SL5502K
Basic support for Geniatech APC390R
Basic support for Geniatech ATV1660K
Fixed
Bundled "USERTrust RSA Certification Authority" root certificate
Bundled "COMODO RSA Certification Authority" root certificate
Use Google Security Provider on Google-enabled devices (support stronger SSL ciphers)
Support setting PIN on Android 10
Fix app restart on Android 9+
Fix taking screenshots on some devices (since 3.1.0)
Fix setting signageOS as Custom App on Philips 10BDL4151T and CRD50 (launch on boot)
Minimum font size in WebView has been lowered from 8px to 1px
In-app browser ACL in domain-mode now affects sub-domains
Fix battery status reporting (since 3.0.0)
Fixed potential crash when installing packages on Android 4
Fixed potential crash when binding vendor service on Android 7-8
Fixed crash reporting issues
Video prepare works more reliably
Support reading temperature on more devices
Fixed memory leak when looping single video
Removed experimental support for Realtek Kylin 32-bit device (since 3.0.0-beta4)
File info will no longer contain mime type - it was either unreliable or unsupported by the device
Fixed setting volume on Philips 24BDL4151T
Safer kiosk mode on Philips tablets
Disabled reboot on Mobipintech DP600 - renders device unusable until several minutes without power
Get serial number on Philips 24BDL4151T reliably
Fix keyguard sometimes being displayed over content after reboot while in kiosk mode
Better time synchronization on start-up on Philips
[2.13.1] - 2020-06-13
Fixed
Fixed potential crash when installing packages on Android 4
Fixed potential crash when binding vendor service on Android 7-8
Fixed crash reporting issues
Video prepare works more reliably
Report battery and storage status more often
Support reading temperature on more devices
Fixed memory leak when looping single video
Removed experimental support for Realtek Kylin 32-bit device (since 2.8.0)
Fixed potential crash loop when using scheduled power actions before updating to 2.12.0+ (since 2.12.0)
Fixed setting volume on Philips 24BDL4151T
Safer kiosk mode on Philips tablets
Disabled reboot on Mobipintech DP600 - renders device unusable until several minutes without power
Get serial number on Philips 24BDL4151T reliably
Fix keyguard sometimes being displayed over content after reboot while in kiosk mode
Better time synchronization on start-up on Philips
[2.13.0] - 2020-05-01
Added
Support installing third-party non-system applications
Support launching third-party applications
Basic support for Philips 32BDL4051D
Fixed
Minimum font size in WebView has been lowered from 8px to 1px
Reduce APK size (since 2.12.0)
[2.12.1] - 2020-04-07
Fixed
Fix setting signageOS as Custom App on Philips 10BDL4151T and CRD50 (launch on boot)
[2.12.0] - 2020-04-07
Added
Can use Google WebView on Android 7+ even if it's not whitelisted by system
Can use bundled root CA certificates without installing them system-wide
Fixed
Bundled "USERTrust RSA Certification Authority" root certificate
Bundled "COMODO RSA Certtification Authority" root certificate
Use Google Security Provider on Google-enabled devices (support stronger SSL ciphers)
Fix app restart on Android 9+
Fix taking screenshots on some devices (since 2.10.1)
[2.11.1] - 2020-03-05
Fixed
Make timers and scheduled power actions work on Mobipintech DP600
[3.1.1] - 2020-03-05
Fixed
Fix crash loop on Panasonic with disabled LAN Control
Make timers and scheduled power actions work on Mobipintech DP600
[3.1.0] - 2020-02-27
Added
Support Mobipintech DP600 player board
Fixed
Improve SICP reliability after app start on Philips, BenQ, and Sharp
Support installing Google WebView v75+
Visual improvements in PDF viewer
Support hiding DEMO watermark on unsupported devices
Disable video prepare on Philips QL (hardware limitation)
Support setting brightness on Philips QL
Report correct firmware version on Philips QL
Reject blank serial numbers
Automatically disable battery optimizations on supported devices
Correct file migration script from signageOS for Android v2.x.x to v3.x.x
Support Open content modules on de-provisioned devices
[2.11.0] - 2020-02-27
Added
Support Mobipintech DP600 player board
Fixed
Reject blank serial numbers
Automatically disable battery optimizations on supported devices
[2.10.2] - 2020-02-27
Added
Support Mobipintech DP600 player board
Fixed
Reject blank serial numbers
Automatically disable battery optimizations on supported devices
[2.10.1] - 2020-02-26
Fixed
Serial number couldn't be read on Sharp, failing first run (since 2.10.0)
Improve SICP reliability after app start on Philips, BenQ, and Sharp
Support installing Google WebView v75+
Visual improvements in PDF viewer
Support hiding DEMO watermark on unsupported devices
Disable video prepare on Philips QL (hardware limitation)
Support setting brightness on Philips QL
Report correct firmware version on Philips QL
[3.0.1] - 2020-02-09
Fixed
Fix SICP commands on BenQ, Philips, and Panasonic
[3.0.0] - 2020-02-08
Added
Support Philips 10BDL4151T tablet and Philips CRD50 OPS
Fixed
Everything from version 2.10.0
Serial number couldn't be read on Sharp, failing first run (since 3.0.0-beta5)
Safely handle deprovisioning
[2.10.0] - 2020-01-23
Added
In-app browser now supports viewing PDF files (requires a recent version of WebView)
Support Philips 10BDL4151T tablet and Philips CRD50 OPS
Fixed
Report correct serial number, firmware version, and precise model number on Sharp
Reporting success of ResizeDevice action now works (really, this time)
Reset system-wide PIN, if possible
[3.0.0-beta5] - 2020-01-08
Removed
Service socket no longer supports API v1
Service socket no longer supports Socket.IO protocol
Added
Support signageOS Open subscription with sideloaded applet
In-app browser now supports viewing PDF files (requires a recent version of WebView)
Support video playback behind HTML content
Fixed
Report correct serial number and precise model number on Sharp
Everything from versions 2.9.0-2.9.2
[2.9.2] - 2019-12-11
Fixed
Reporting success of ResizeDevice action now works
MBX will no longer reboot automatically on screen off after 6+ hours of uptime
[2.9.1] - 2019-11-28
Fixed
Critical: "Delete file" and other commands should no longer fail (since 2.9.0)
Browser ACL no longer matches the exact string automatically (use ^ and $)
[2.9.0] - 2019-11-28
Added
Preliminary support for Shuttle NS02 devices
Fixed
Disabling native timers now works on Philips TVs
Guard against Path Traversal Vulnerability
Proprietary timers weren't properly applied after reboot
Setting time is now performed despite enabled auto-time in Android settings
Setting time now works on rooted Android 4.4
Video player performs better over long periods of time (fixed memory leak)
[2.8.0] - 2019-09-11
Added
Preliminary support for Realtek Kylin 32-bit device
Fixed
Fixed volume and brightness setting on Philips TVs
Fixed volume and brightness reporting in JS
Recreate activity only if its size changed due to orientation change
[3.0.0-beta4] - 2019-09-11
Added
Preliminary support for Realtek Kylin 32-bit device
Fixed
Recreate activity only if its size changed due to orientation change
[3.0.0-beta3] - 2019-07-30
Fixed
Included all features and fixes from 2.7.1-2.7.2
[2.7.2] - 2019-07-29
Fixed
Fixed potential hang-up during startup on rooted devices (such as Giada)
Non-zero values don't set zero volume anymore (plain Android volume)
Resetting reported volume doesn't result in decreased volume (plain Android volume)
Support updating pre-installed com.android.webview package
Support updating com.google.android.webview package on x64 devices
[2.7.1] - 2019-06-28
Fixed
Reboot on Giada with enabled kiosk mode will now work
Allow XHR to content uris (since 2.6.1, PDF.js may crash when loading images until WebView 71+)
Enable video tag autoplay
[3.0.0-beta2] - 2019-06-07
Added
Implemented read file as text API in JS
Fixed
Included all features and fixes from 2.6.1-2.7.0
Implemented get/set brightness API in JS
Implemented get/set volume API in JS
Implemented power on/off API in JS
Implemented battery info API in JS
Implemented set logging enabled API in JS
Implemented set orientation API in JS
Implemented set time/zone API in JS
Implemented package install API in JS
Implemented app upgrade API in JS
Implemented firmware upgrade API in JS
Implemented screenshot API in JS
[2.7.0] - 2019-06-07
Added
All sockets can now use WebSockets for communication with server
Fixed
Fixed video playback issues on Giada
Preliminary support for Alps Pegasus Ultra-stretch
Handle cases when video completes before registering callbacks
Fixed installing CA certs on some devices running Android 4
Faster screenshots on Philips 24BDL4151T (requires OTA Installer 1.5.0)
[2.6.3] - 2019-05-21
Fixed
Fixed taking screenshots on Android 5+ (since 2.6.0)
[2.6.2] - 2019-05-17
Fixed
Correctly report device time
Support reporting more network info (IP address, network mask, gateway, DNS)
[2.6.1] - 2019-05-10
Fixed
App will no longer stop working in some cases when using PDF.js
Safer checks if the device is a supported Philips device
Set Debug API can be used to disable Android logging at runtime
[3.0.0-beta1] - 2019-05-02
Fixed
Support setting Android PIN on more devices (without a companion app)
Included all features and fixes from 2.6.0
[2.6.0] - 2019-05-02
Added
Fixed
Auto-grant runtime permissions where available
Compress screenshots on client before sending to server - save bandwidth, ensure acceptance
CA certificate installing available on more platforms
Bundled ISRG Root X1 CA certificate to future-proof support for Let's Encrypt
Ethernet reset should longer need a companion app on BenQ
More reliable screenshot delivery on Philips
[3.0.0-alpha1] - 2019-03-25
Changed
Sockets now use V2 API for communication with server - on-premise customers will need updated server app
Added
Fixed
Philips tablets are now able to set PIN code remotely (matching PIN in Box)
Android PIN may only be required when kiosk mode is enabled (i.e. control is disabled)
[2.5.7] - 2019-03-25
Fixed
Screenshot reporting works again on Giada
[2.5.6] - 2019-03-18
Fixed
Application package is now significantly smaller
App should start displaying content faster on BenQ
[2.5.5] - 2019-02-26
Fixed
No more crash loop when disabling auto-time (Philips, since 2.5.3)
[2.5.4] - 2019-02-25 [YANKED]
Fixed
Fixed incorrect video orientation and position after start-up on some devices
Better time synchronization on start-up on BenQ
[2.5.3] - 2019-02-21 [YANKED]
Fixed
Backup reboot feature is now implemented natively and is available even with suspended content
Android auto-time is automatically disabled (except Philips) in favor of alternative methods
NTP server is checked every 1 hour
Reverted NTP server to time.google.com
[2.5.2] - 2019-02-01
Fixed
Fetch time from NTP server on BenQ and Sharp every 1 hour
Pre-confirm fullscreen mode will not cause a reboot on TVs
Switch NTP server to pool.ntp.org
[2.5.1] - 2019-01-29
Fixed
Fixed potential crash loop when boot process takes longer than 60 seconds
Always set precise time from NTP server even if auto-time is enabled
[2.5.0] - 2019-01-11 [YANKED]
Added
Fixed
Don't report invalid screenshots
Support OTA updates on more devices
Pre-confirm fullscreen mode (this causes a reboot on non-TV Android 4 when first installed)
[2.4.8] - 2018-12-19 [YANKED]
Fixed
Content and timers should start after system clock is properly synchronized on BenQ and MBX
BenQ default launcher should no longer show up after boot for perceptible amount of time
signageOS now sets itself as "Custom App" on Philips - previously this had to be done manually
Fixed media access on WebView M63+
Optimized service connection
MBX will no longer restart app immediately after reboot (since 2.3.0)
[2.4.7] - 2018-12-11
Fixed
Socket connection in WebView is more reliable
signageOS app sets itself as launcher, this will no longer cause a reboot after each app update
[2.4.6] - 2018-12-05
Fixed
When there are multiple applet timings, the next applet is pre-loaded correctly and allows to preload static assets and setup the environment
Native debugging control now works
[2.4.5] - 2018-11-23
Fixed
BenQ can reset the Ethernet adapter using OTA Installer 1.4.1
BenQ, Lenovo, Panasonic and Technovare should no longer require a companion app to install firmware updates
More reliable timer event processing and scheduling
[2.4.4] - 2018-11-19 [YANKED]
Fixed
BenQ, Lenovo, Panasonic and Technovare should no longer require a companion app to install firmware updates
[2.4.3] - 2018-11-17 [YANKED]
Fixed
Regression when determining device ready state
[2.4.2] - 2018-11-15 [YANKED]
Fixed
Allow access to downloaded files from JavaScript
Native debugging control now works
Fix video stuttering on Philips P-Line (requires OTA Installer 1.2.0+)
Lenovo now correctly sets display off after reboot
Package install should now correctly report errors
Ethernet adapter resets when there should be a connection but isn't
Brightness setting on Philips DL & PL now works as expected
Brightness settings take effect immediately
Fixed simultaneous downloading of the same file from applets
[2.4.1] - 2018-09-10
Fixed
Correctly enable app components after resolving a setup error
Correctly report BRAND instead of BOARD
[2.4.0] - 2018-09-06 [YANKED]
Added
Support for Philips P line and D line
Demo Mode on unsupported devices
Locally stored applets can now request camera and microphone access
Fixed
Improved package install result reporting
signageOS app sets itself as launcher on MBX (this may cause a reboot after first run and each app update)
MBX now correctly sets display off after reboot
Restart app after installing Google WebView for the first time
Clear old app update files from disk cache when signageOS starts
Disable firmware update prompts on BenQ
Setup error resolution dialog does not loop anymore
[2.3.0] - 2018-08-01 [YANKED]
Added
Stable: Support for Sharp PN line
Remote firmware update on Sharp
Remote firmware update on BenQ, Lenovo, Panasonic and Technovare OPS for NEC using a companion app
Fixed
Enabled support for TLSv1.2 on Android 4, dropped support for older protocols
Faster applet switching
Reliable handling of postponed actions
Scheduled reboot will no longer cause boot loops on BenQ
MBX now supports automatic time from network
[2.2.0] - 2018-07-12 [YANKED]
Added
Scheduled power actions: app restart, reboot, display ON/OFF
MBX now supports setting display orientation remotely
[2.1.0] - 2018-07-12 [YANKED]
Added
<s>Experimental: Support for Sharp PN line - content, volume, brightness, restart, reboot, display ON/OFF, proprietary and emulated native timers</s>
Fixed
Registration of new devices broken in version 2.0.0.
[2.0.0] - 2018-06-13 [YANKED]
Added
Changelog file containing all changes in current project.
Report firmware version to server.
<s>Experimental: Basic support for Sharp PN line - content, volume, brightness, restart, reboot. No backlight or standby settings.</s>
Support reverse portrait display orientation.
Integrators can now manually set io.signageos.android/.dpc.AdminReceiver component as Device Owner to unlock device management features on newly deployed devices (based on Android version).
Changed
NFC deployment process has changed. Blue Agent Writer can no longer be used. Manual provisioning data preparation (using e.g. NFC Tools ) is now required.
Fixed
MBX now plays first video with correct aspect ratio.
Deployment on MBX doesn't require manually turning on Wi-Fi adapter anymore. It's done automatically (this can take up to 10 seconds).
Ensure that soft keyboard is hidden on BenQ when the app starts.
Will not crash on devices with time set before May 1, 2018.
Setting portrait orientation now results in one stable orientation on devices without an accelerometer.
Scheduled power off and power on BenQ now works correctly.