Changelogs Core Apps Android On this page
Latest Beta Version
Removed
Devices running Android 4.4 are no longer supported (e.g. BenQ SL, Philips 10BDL3051, Philips BDL4050, Sharp PN-B)
Data migration from pre-CAv4 is no longer possible (update to CAv4+ before updating to CAv5+)
Crosswalk implementation of WebView is no longer available
Core App is no longer signed by OEMs and can no longer leverage platform permissions directly
Added
Sync device name to system on supported devices
Telemetry: Report RAM
Fixed
[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, pHash)
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
(internal) BenQ SL2K: Factory reset API now works as expected
[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