(public) BrightSign devices can now use Supra applications
(public) Support for Cisco Vision BrightSign-based DMP models: CV-HD (HD1023/hd3), CV-UHD (XT1143/xt3), CV-HD2 (HD1024/hd4) and CV-UHD2 (XT1144/xt4)
(public) Proprietary timers and display power commands now control the connected HDMI display over CEC: woken up and switched to the player's input (with the timer volume, when above 0) when ON, standby when OFF. The TV input is read from its EDID; registry signageos/cec_physical_address overrides it, signageos/cec_enabled=0 disables CEC
(public) Proxy bypass list set via management API is now stored in the device host configuration
(public) Added low-latency stream playback support for BrightSign via query parameters when lowLatency option is enabled
(public) Use HTML5 video player from front-display for file-based video on XC5 (streams remain on native BrightScript player)
(public) Support for connection to hidden Wi-Fi networks
(public) Support for Wi-Fi enterprise networks with EAP-TLS, EAP-TTLS and EAP-PEAP authentication methods
(public) Support for Snippet running in Node.js environment (super-visor agent, independent on window object)
(public) Support for Snippet with only HTML/JS provisioning (no BRS/BrightScript needed)
(public) Auto verification organizationUid is passed to the HTML widget using query parameter
(public) Showing HTML Widget is not blocked by ready message anymore (it's shown immediately)
(public) Registry-based video mode configuration to enabled simple setup of CX5 units with multiple HDMI outputs
(public) XC5 now supports 4 video players
(public) Supervisor support - squashfs-packaged extension that runs the snippet as a forked child process.
(public) Support for running scripts with nodejs runtime and bash runtime in Supervisor mode
(public) Supervisor now appends system logs to DWS logs via /dev/kmsg
(public) Show a translucent blurred overlay over the running applet when a proprietary timer enters its OFF window with keepAppletRunning=true, signalling that the display is scheduled off while content keeps running
(public) Ability to disable volume/brightness enforcement via registry for a specific read-only CC setup.
(public) Background video layering (background prepare option) now works again β the BrightScript z-order check was a case-sensitive comparison against "true", but the JS boolean marshals across the bridge as a case-variant string, so background mode never engaged and video always rendered in front of the HTML content
(public) XC5 video prepare() is now short-circuited in JavaScript instead of round-tripping to BrightScript only to have it return a failure that was silently swallowed (XC5 loads video just-in-time and never prepares)
(public) Fixed typo in ColorProperties type definition (constrast β contrast) and its usage in screenSetBrightness
(public) Improved flushing of the serial port
(public) Extracting ZIP files is now much faster thanks to switching to a different decompress lib
(public) Websecurity for the main HTML Widget is now dynamically set via registry key websecurity
(public) On Screen Keyboard support for FW 9.1.11
(public) Web inspector now opens on port 3000 on BOS 9.1+ by pinning the html/web_inspector_port registry key (Chromium 120 ignores the widget's inspector_server port and defaulted to 2999)
(public) setTimer now persists the requested volume instead of always storing 0, so getTimers returns the value that was set
(public) Result from Custom Script Execution is now correctly returned
(public) BrightSigns that support UHD/4K browser will continue rendering in the highest possible resolution while other models will default to graphicalPane resolution to limit overscaling of video playback
(public) Adjust limitation for portrait orientation only to non-UHD devices
(public) Updated serial port functionality to align with the latest firmware version
(public) Running application on SSD storage without SD card
(public) Improved flushing of the serial port
(public) Extracting ZIP files is now much faster thanks to switching to a different decompress lib
(public) Custom FW type XD1034-W is now recognized as standard FW type XD4
(public) Additional model HS124 is now recognized as standard FW type HS4
(public) Issue with getFile() method on LS4
(public) Updated PDF.js and optimized performance to render PDF files faster
(public) Throwing error on getting temperature which is not supported
(public) Incorrectly returned capabilities for display orientation
(public) Proxy is correctly set for browser instance based on network configuration for wifi device
(public) Selecting correct storage type if SSD and SD card are both present
(public) Custom FW type XT1144-PP is now recognized as standard FW type XT4
(public) On Screen Keyboard is automatically closed if user exit the Browser (e.g. calling sos.browser.close())
(public) Endless streams now end less! Streams are now properly connected again when the source of the stream is available. Furthermore, the redundant connected event on the stream is also eliminated.
(public) Browser window keeps the current location and size of the window even if user navigates to target=_blank link; previously it defaulted to fullscreen window
(public) Failure when driver throws an error during telemetry gathering
(public) Incorrect mapping values for parity bits in serial port configuration
(public) Enabled pinch_to_zoom on HTML websites for better gesture support
(public) Polyfill Object.fromEntries() and Object.entries() for old devices
(public) Brightsign now automatically select the highest available framerate to provide better support for device policies which previously always defaulted to the lowest available framerate
(public) Streamed videos play again for as long as needed instead of ending after few seconds
(public) Bug when collecting temperature and battery status on startup (critical when native methods throws error after boot)
(public) Longer deprovisioning timeout before reboot to give the display enought time to delete all cached data and files
(public) Use smaller resolution videos in acceptance tests that play multiple videos side by side because some platforms struggle to process more than one full HD video at a time
(public) The built-in browser now loads websites that enforce same origin policy
(public) When proprietary timers are disabled while the display and content are off, the display and content will be turned on
(public) Reboot device automatically when App or FW upgrade is performed in open management
(public) When device is offline, increase the interval between reconnect attempts progressively from 5s up to 5 mins
(public) Device registration occasionally failing during first boot
(public) Make longer and configurable check interval on platform configuration (30s -> 60s)
(public) Native debug will always do the configuration check interval 30s
(public) Removed dependency on navigator.onLine for websocket connections management. Navigator.onLine in certain edge cases doesn't provide accurate information if the device can access internet or not.
(public) sos.display.supports('VIDEO_4K') correctly returns true on models that support 4K video playback
(public) Possible memory leak in video player when one gapless video is playing in infinite loop
(public) ACL domains support for the built-in browser
(public) New OSD dark blue design
(public) OSD manual network settings
(public) Front applet debug isEnabled API support
(public) Default PIN code is 0000 until device is connected to internet
(public) PIN code set/get support for JS management API
(public) Remote management of multi-file applets (applet packages). Applets originally designed for Open users can be used by Platform users now as well.
(public) Major internal changes in a communicataion APIs (socket connections uses new API /v2/ which is not backward compatible)
(public) Play videos via native BrightScript instead of HTML video tags
(public) Play streams via native BrightScript instead of HTML video tags
(public) New internal FileSystem API (File system file names can contain any character except specials (same as Win FS) & can has folders separated by slash /)
(public) Updated setting of device DateTime according to changed interface
(public) Moved getNetworkInfo() as network.getActiveInfo()
(public) Low level file system support for front applet
(public) Applet DISABLE/ENABLE power actions
(public) It's possible now to configure the application build to use a local applet file instead of getting applet timings from the cloud
(public) signageOS Open - build with an applet bundled inside the package and make the device automatically verify against the owner's organization on the server
(public) Always save applet and front applet binaries to internal memory to improve performance and stability
(public) Management get application version in front-applet sos.management.app.getVersion()
(public) Browser API for opening/closing browser window
(public) File system methods copyFile and moveFile allow to optionally overwrite destination path
(public) Management API for network set manual, set DHCP
(public) Video API acceptance tests
(public) When acceptance tests are running, mute applet so it doesn't conflict with the tests
(public) Video API supports 4K video (on models that support 4K playback)
(public) getTimers method in management API
(public) New capability to set/get timezone and time
(public) Handle deprovisioning directly on device
(public) Test Frameworks tests are now able to be skipped
(public) Management get application version in front-applet sos.management.app.getVersion()
(public) Browser API for opening/closing browser window and optionally specify a whitelist/blacklist of domains.
(public) Optional videoThumbnailUriTemplate in file properties
(public) File system methods copyFile and moveFile allow to optionally overwrite destination path
(public) FILE_SYSTEM_LINK capability (not supported on BrightSign)