[RC] Latest Beta or Release Candidate
Added
- Embedded On Screen Keyboard for filling forms on websites
Fixed
- Make snippet interface aligned with other platforms
- Wifi signal strength detection on Series 5 players uses correct method and report valid data
- Network gateway detection on Series 5 players uses correct method and report valid data
- Manually setting network DNS no longer sets 0.0.0.0 values; it handles an array of servers properly and sets them accordingly
- Network stats on FW 8.5 no longer increase memory usage as now are processed by JS APIs instead of native unix calls
- Single video loop no longer depends on time-related events and perform reliably on all BrightSign generations
- Issues with playing portrait videos on XD1024, for now it's limited to play one video on this model
- Issue with extracting large ZIP files
[2.0.4] - 2024-06-03
Fixed
- BrightSign now reports CPU load in 0-100% range. Previously reported I/O load with valued 0-unknown.
- Wifi scan function now returns all available networks as encrypted
- Added support for
HS5
model (built-in Moka)
[2.0.3] - 2024-04-25
Fixed
- Incorrect mapping values for parity bits in serial port configuration
- Enabled pinch_to_zoom on HTML websites for better gesture support
- Polyfill
Object.fromEntries()
andObject.entries()
for old devices - Brightsign now automatically select the highest available framerate to provide better support for device policies which previously always defaulted to the lowest available framerate
- Streamed videos play again for as long as needed instead of ending after few seconds
[2.0.2] - 2024-04-15
Fixed
- Native debug now works again on all BrightSign generations; broken since 2.0.0
[2.0.1] - 2024-03-28
Fixed
- Issues with changing timezone and NTP in Snippet
[2.0.0] - 2024-03-15
Changed
- Rewrite some parts of application to use BrightSign JS API
Added
- Snippet support
- Remote Desktop support
- Support for stream protocol type as string
Fixed
- Removed mousemove event because it was causing issues
- Random not resolving ready message in BS initialization
- Reporting of device frame rate with resolution
- P2P Synchronizer
- Changing orientation only updated BS registry not the actual HTML
[1.9.0] - 2023-09-13
Added
- Pack new autorun.zip with builded app with autozip.brs
- Support Wifi connection via ssid and password
- Support scanning of available Wifi networks
- Bundled app is builded with autorun.zip
- Support for running app on SSD
- P2PSynchronizer support of broadcastValue
- Applet Management API support for
setProprietaryTimer()
andgetProprietaryTimers()
- Added support for Generation 5 (LS5, HD5, XD5, XT5, XC5)
- Missing implementations for device brand info
- Handler for sending info about remote debug to FA
- Handler for refreshing applet from FA
- Polymorphic synchronizer that can be used for both P2P and server synchronizer
- Support for UDP Synchronizer
- Reporting of device
firmwareType
- Support for new file system wipeout
Fixed
- TimezoneId is correctly parsed for displaying in box
- Video playback on LS/HD not correctly follows video life cycle and runs smoothly
- Video playback on XT/XD/XC improves stability and looping with multiple video slots
- Downloading files if server blocks HEAD requests
- The process of building aurozip.brs is now more robust
- Base URL for
/time
endpoint to configuration server (instead of platform server) - Remove unused
volume
from proprietary timers management, policy and telemetry - Remove native and proprietary timer using Applet JS SDK
- New alternative bridge function for delete proprietary timer (keep old one for backward compatibility)
- Succeed actions for PowerActions are send before restarting
- Hardware barcode scanner start (propage
scannerId
to native API) - Size on html element is correctly set when device supports 4k or custom resolution
- Native Debug on firmware versions higher then 8.5
- Memory leaks with getting storage info or uploading and downloading files on LS/HD versions
- Front-OSD with selection wifi networks
[1.8.0] - 2023-01-30
Added
- Device now rejects prepare and play on unsupported video formats
- File System with reserved space
- getArchiveSize method to File System
- Device reports its OS version & brand
- Support for serial ports
Fixed
- More robust time manager to get/set timezone or/and NTP server
- Streams are now prepared and played correctly
[1.7.1] - 2022-11-24
Fixed
- EventEmitter memory leak when playing videos without
stop
calling
[1.7.0] - 2022-10-04
Added
- CPU & Memory usage
- Wifi SSID & Wifi signal strength
- Proxy info
- Device reports manufacturer brand
Fixed
- Gapless video playback
- Resizing to 4k when PORTRAIT orientation set results into failed action
- Videos Promises are rejected after applet actions
- Keyboard keycodes
[1.6.1] - 2022-03-18
Fixed
- User defined applet preferred over bundled applet when both are set at the same time
[1.6.0] - 2022-03-08
Added
- Default resolution is 1280x600 and default framerate is 60 Hz for models HSxxx
- Custom hooks on first and every start at BrightScript level in custom.brs file that persists between app upgrades
- Building bundled applet with prebuilt subscriptionType
- Upgrading app from JS API or OSD using direct package URL
- AppendFile method to File System
- Allow parametrize bundled applet with configuration
- Add CRC32 hash algorithm
- Front-OSD support
- Absolute firmware upgrade URLs
- Supported video modes are obtained when device started and won't saved into registry anymore
- Saving applet actions to local file, when device is offline and uploading after connection is fixed
[1.4.0] - 2021-10-14
Added
- Notify about supported resolutions and frame rates
- Resolution and frame rate can be set to some supported values
- Device policy support
- Device telemetry support
- Implemented
getDuration
method - Allow redirecting during downloading files
Fixed
- Setting of device time and timezone returns success (platform needs reboot/restart, do it after 1s)
- Touch event supported in all cases
- Setting video state to incorrect value IDLE when PLAYING event received from BS layer
- Internal file system acceptance tests no longer require mounted external storage
- Video acceptance tests no longer report failure when playback succeeds despite unsupported capability (4K, video count)
- Temporarily disable licensing algorithm due to issues
- All actions are correctly bound
- Support
APPLET_ENABLE
andAPPLET_DISABLE
scheduled power actions - Network interfaces info
- Disabling CORS in the browser
- If video ends before its natural end and stop method wasn't invoked MEDIA_ERROR event will be emitted
- Query params in file system local URIs works now
- Native timers properly deleted when off
- NTP time from server reimplemented
- Video has state PLAYING unless stopped manually
- Correctly report active network interface
- Display off/on behavior when timers are not set
- Delay after device is provisioned to box
[1.3.0] - 2020-11-11
Added
- Touch event can be propagated
- Automatic streams reconnection and connected/disconnected events
- Capability to play videos behind HTML content
- List of connected HDMI or VGA monitors
[1.1.0] - 2020-08-12
Fixed
- Bug when collecting temperature and battery status on startup (critical when native methods throws error after boot)
- Longer deprovisioning timeout before reboot to give the display enought time to delete all cached data and files
- Use smaller resolution videos in acceptance tests that play multiple videos side by side because some platforms struggle to process more than one full HD video at a time
- The built-in browser now loads websites that enforce same origin policy
- When proprietary timers are disabled while the display and content are off, the display and content will be turned on
- Reboot device automatically when App or FW upgrade is performed in open management
- When device is offline, increase the interval between reconnect attempts progressively from 5s up to 5 mins
- Device registration occasionally failing during first boot
- Make longer and configurable check interval on platform configuration (30s -> 60s)
- Native debug will always do the configuration check interval 30s
- 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.
-
sos.display.supports('VIDEO_4K')
correctly returns true on models that support 4K video playback - Possible memory leak in video player when one gapless video is playing in infinite loop
Added
- Support for set NTP time from server
- ACL domains support for the built-in browser
- New OSD dark blue design
- OSD manual network settings
- Front applet debug isEnabled API support
- Default PIN code is 0000 until device is connected to internet
- PIN code set/get support for JS management API
- Remote management of multi-file applets (applet packages). Applets originally designed for
Open
users can be used byPlatform
users now as well.
[1.0.0] - 2020-02-28
Changed
- Device firmware is upgradable through API: https://docs.signageos.io/api/device-management-api/#Set_Device_Firmware_version
- Major internal changes in a communicataion APIs (socket connections uses new API /v2/ which is not backward compatible)
- Play videos via native BrightScript instead of HTML video tags
- Play streams via native BrightScript instead of HTML video tags
- New internal FileSystem API (File system file names can contain any character except specials (same as Win FS) & can has folders separated by slash /)
- Updated setting of device DateTime according to changed interface
- Moved
getNetworkInfo()
asnetwork.getActiveInfo()
Deprecated
- Open browser in front-applet via method
sos.browser.openLink()
. Replaced bysos.browser.open()
.
Added
- Device can be tested for supported HTML5 features to perform a HTML5test score (available on a request): https://html5test.com/
- Releases are now Semantic version ready: https://semver.org/
- Applet, Video & video wall synchronization feature: https://docs.signageos.io/api/sos-applet-api/#Sync_playback_across_multiple_devices
- Remote control Key UP binding: https://docs.signageos.io/api/sos-applet-api/#Input
- Scheduled power action: https://docs.signageos.io/api/device-management-api/#Create_Device_Scheduled_Power_Action
- Cache now supports extra headers as additional to URI: https://docs.signageos.io/api/sos-applet-api/#Saving_files_into_device_internal_memory
- Enable applets to get file/content uids (https://docs.signageos.io/api/sos-applet-api/#List_all_files)
- Enable applets to delete files/contents (https://docs.signageos.io/api/sos-applet-api/#Delete_file)
- Methods for getting and validating MD5 file checksum (https://docs.signageos.io/api/sos-applet-api/#Checksum_file_md5)
- Applets can receive commands from server sent through REST API (applet dispatch command to device) (https://docs.signageos.io/api/sos-applet-api/#Command_Receiving)
- Redesign verification pages
- Fake portrait (or video orientation LANDSCAPE) support settable over API when call device resize
- ZIP decompression in file system: https://docs.signageos.io/api/sos-applet-api/#Decompress_file_ZIP
- HDMI input support
- Low level file system support for front applet
- Applet DISABLE/ENABLE power actions
- It's possible now to configure the application build to use a local applet file instead of getting applet timings from the cloud
- signageOS Open - build with an applet bundled inside the package and make the device automatically verify against the owner's organization on the server
- Always save applet and front applet binaries to internal memory to improve performance and stability
- Management get application version in front-applet
sos.management.app.getVersion()
- Browser API for opening/closing browser window
- File system methods copyFile and moveFile allow to optionally overwrite destination path
- Management API for network set manual, set DHCP
- Video API acceptance tests
- When acceptance tests are running, mute applet so it doesn't conflict with the tests
- Video API supports 4K video (on models that support 4K playback)
- getTimers method in management API
- New capability to set/get timezone and time
- Handle deprovisioning directly on device
- Test Frameworks tests are now able to be skipped
- Management get application version in front-applet
sos.management.app.getVersion()
- Browser API for opening/closing browser window and optionally specify a whitelist/blacklist of domains.
- Optional videoThumbnailUriTemplate in file properties
- File system methods copyFile and moveFile allow to optionally overwrite destination path
- FILE_SYSTEM_LINK capability (not supported on BrightSign)
Fixed
- Suspend videos/streams when a proprietary timer is triggered
- Switch between applet timings fast and gapless
- Fix tap/double tap touch detection 600 ms delay on an every tap
- Stabilize a network connection using better WebSocket low level libraries
- When cache downloading returns non OK HTTP status code it will fail downloading & try it again
- Weinre debugging is back compatible working with appletEnabled flag
- MD5 checksum will produce correct md5 even for binary files
- Fix not reacting on some monitoring actions from server (temperature, screenshot, battery & storage status, device info)
- Eventually occurrence of error during downloading content from internal storage
- Open applet binary html and front applet js can be absolute or url (fix missing / slash in protocol)
- Replaced moment object by Date/timestamp in methods for setting device date and time
- Ping period issue for open and platform
- Applet commands to device (timing commands) for Open builds
- Set current time with timezone
- Casually not loading of applet after restart app
- Better user information durring register, verify process (including offline page)
- readFile works in every case
- Test Framework now handles errors properly
- Refreshing of open with turned to platform
- Open applet binary html and front applet js can be absolute or url (fix missing / slash in protocol)
- Ping period issue for open and platform
- Device Audio test fixed
- Device test framework malfunctions and misbehaving fixed
- Applet commands to device (timing commands) for Open builds
- First start of display when the applet is bundled inside app (Open)
- Open app installed to deprovisioned device
[0.1.0] - 2018-06-12
Fixed
- Computing DUID of device based on serial number (not model)
Added
- Changelog file containing all changes in current project