Changelogs Core Apps Linux - Fedora & Ubuntu On this page
[2.7.0] - 2026-02-24
Added
Added new --package-version and --package-file flags to the universal provisioning script
Added new -v/--version flag to the universal provisioning script
Support for new configuration endpoints
List installed packages on debian and redhat based systems
In linux installation script check for new version of the script before starting the installation
Allow non-interactive installation with --assume-yes and situation specific switches (--skip--update, --skip--reboot, --keep-chromium)
Fixed
Fixed optional variable persistence. Optional variables are not persisting between runs
Fix audio output of Chromium on GNU\Linux
Chromium opens always in full screen mode now
Disable automatic upgrades/checks to Ubuntu to prevent it messing with the system and showing popups
SmartBuilder now works for all distributions
Device do not provision itself after deprovisioning anymore
Unified algorithm to calculate screenshot ahash
Removed unnecessary warnings during the installation process
Corrected reporting display brightness capabilities
[2.6.0] - 2025-12-15
Added
Added support for CPU and MEMORY usage telemetry as percentage
Inegration with Fedora 42
Support for secrets in applets and configurations
Bundled applet application builder for fedora
Bundled applet application builder for ubuntu
Support for Rasbian OS
Applet synchronization service
Image aHash computation
Custom script support
Cloud control version of the application without device front-end and its dependencies
Set the device name through provisioning script
Unified provisioning script collecting debug information
Added support for Raspbian OS
Display settings persistence on GNU-Linux based systems
Rename universal script from provision.sh to install.sh
Wifi configuration through network manager
Method screenshotUpload() now supports headers to be set for the upload request
The default background color of chromium set to black
Add support Raspberry Pi OS 12 and 13 to the universal provisioning script
Fixed
Provisioning scripts do not enable Chromium service when front-end should be disabled
Configuration of /var/log/messages for logrotate.d moved to alpine linux only
Data wiped from local storage in chromium
Application update through API
Video synchronization
Chromium sigleton lock removed also from /var/lib/chromium
Fixed vulnerability of curl in Debian image
Version of nodejs on GNU-based linux upgraded to 18.19.0
Add no-overview extension to start kiosk mode focused instead of in activity overview
Fixed gnome full-screen after login
Display power management on wayland devices
Chromium not starting in fullscreen mode on Ubuntu 24.04
Fixed ussue on getting serial number on Ubuntu
--setup-kiosk not working with Ubuntu
Check Chromium PPA for release codename, not Jammy everywhere
Add Pipewire PPA for ubuntu 20.04
Fixed taking screenshot error that caused breaking sagas.
File checksum calculation fixed for API call sos.fileSystem.getFileChecksum()
SSH service mismatch on Ubuntu
Organisation ID was incorrectly required by the new installation script
Disable suspend
Application of policy with multiple settings now apply all the properties
Silence scrot when taking screenshots
Fix runchromiumService.sh in situation when both chromium and chromium-browser exists
[2.5.0] - 2024-08-20
Added
Custom script execution (Fedora 37/39, RPi4, Ubuntu 22.04)
Add VPN support to Ubuntu devices
Add Kiosk mode for ubuntu 22.04
Simplify installation process o ubuntu 22.04
Improved display identification in screen control scripts
Fixed
Backend service responds to the client with the actual error message so that the client can log it instead of a generic error message "Bridge message XYZ failed"
When applet called sos.sync.connect and then app restart happened, applet would call sos.sync.connect again and it would fail with error "PeerNetwork already started"
FlexOS resolution fix for the screen turn on fix
Service unit signageos-debug starts properly on boot
[2.4.0] - 2024-06-04
Added
Extends script provision.sh to create a kiosk user
Support for Fedora 39
Add VPN support to RPi4 devices
Improved telemetry reports
Fallback process activating a VPN and sshd services in case signageos-server fails to start
Improved VPN service behavior after restart
Fixed
Conditional package dependecies
Better sytemd service management
Optimized usage of privileged rights
[2.3.0] - 2024-03-05
Added
Support OpenVPN for fedora linux
[2.2.0] - 2024-02-15
Added
Add signageos ubuntu package
Fixed
Target in chromium service
Open widget in smill
Configuration files handling during package update
[2.1.1] - 2023-10-20
Fixed
Navigation on settings page. Wifi settings
[2.1.0] - 2023-10-18
Added
File System with reserved space
More robust time manager to get/set timezone or/and NTP server
Switchable check that compares device and server time and when differ a lot it prevents socket from connection
device key for opening serial port is not required now
Missing implementations for device brand info
Wi-Fi settings are persisted on factory reset
Wi-Fi settings can be configured via a file in the boot partition during first boot
Support for Fedora 35-37 x86-64
Handler for sending info about remote debug to FA
Handler for refreshing applet from FA
Synchronizer support of broadcastValue
Synchronizer supports both sync-server and p2p-local type synchronization
Applet Management API support for setProprietaryTimer() and getProprietaryTimers()
Get and set Auto recovery from FA
p2p-local Synchronizer uses TCP instead of UDP (except for network discovery)
Synchronizer method cancelWait()
Synchronizer emits event closed
Stream prepare() function now supports options
New file system method createArchive for creating zip archive from files
Chromium service for GNU-linux
Display priority switched from last one to first one on GNU-linux
Proprietary timer removal
Support for Ubuntu 20.04 amd64
Fixed
Correct telemetry and settings types split
Time correction is correctly parsed from response
Succeed actions for PowerActions are send before restarting
Downloading files if server blocks HEAD requests
Base URL for /time endpoint to configuration server (instead of platform server)
Hardware barcode scanner start (propage scannerId to native API)
Remove unused volume from proprietary timers management, policy and telemetry
New alternative bridge function for delete proprietary timer (keep old one for backward compatibility)
Device policy, broken from 11.3.0 - powerActionTimer passed to policy as dependency
Input issues on some platforms with keyUp listener
Fixed kernel header in Ubuntu image build
[2.0.0] - 2022-12-04
Changed
Transition from 32-bit to 64-bit architecture on Raspberry Pi 4
Replace omxplayer with in-house built software for video playback on Raspberry Pi 4
Added
Support for device policies and telemetry
Applet shortAppletFilesUrl flag
Upgrade kernel to 5.10.36
Upgrade Raspberry Pi firmware to 20211216
Upgrade many other libraries and programs
Upgrade Front-OSD version
Building bundled applet with prebuilt subscriptionType
Allow parametrize bundled applet with configuration
File System appendFile method
Network disableInterface
Connect to a hidden Wi-Fi network
Bundled servlet/s config
Support for HEVC codec on Raspberry Pi 4
AppletPings, DeviceAlive and actions about rebooting device are logged online/offline
onStatus method in AppletSync pass data about connected devices in group to FA
Device location and organization tags can be requested from server, saved in property storage and send to applet when requested
Device reports wifi signal strength
Device methods for getting cpu/ memory usage
Device File system wipeout - clear files from applets
Device reporting OS Version
Device now implement new SystemInfo method for informing about brand
Fixed
FS API downloadFile follows redirection Location headers when status code is 3xx
Proprietary timers not shutting down the applet properly
Fixed potential race condition when generating initial PIN
User defined applet preferred over bundled applet when both are set at the same time
Weinre debug of applet after applet refresh/reload
Connnecting to Wi-Fi from OSD won't get stuck on loader if the passphrase was wrong
[1.4.2] - 2021-05-06
Fixed
Don't return IPv6 address for eth1 in network interfaces list on NEC compute module 4, when it's not connected
[1.4.1] - 2021-04-22
Fixed
Temporarily disable licensing algorithm due to issues
[1.4.0] - 2021-04-21
Fixed
Wi-Fi Access Point stopped working in 1.3.0 due to a bug in new RPi firmware - reverted back to previous version of RPi firmware
When screen rotates clockwise, videos will also rotate clockwise
Webview would sometimes randomly restart when the NTP client suddenly adjusted the system clock
When Wi-Fi client is disabled, device will remember the last configuration so when client is re-enabled, it would automatically connect to the Wi-Fi that was configured last
Prevent sending some actions from device to server (optimize traffic)
Fixed getting schedules list on new NEC displays with CM4
It's possible to connect to an open Wi-Fi (Wi-Fi without a password)
List network interfaces even when they're not connected with an IP address
Network active info returned to applet correctly determines active interface based on which interface has an IP address
If the device is CM4 in the new line of NEC displays, a second ethernet port is available and it's MAC address is identical to the first ethernet port, generate a new MAC address on boot and change the second port's address manualy
Added
Download applet files from computer in the local network
Current screen orientation can be obtained from front-applet
Stream can be prepared in the background to allow gapless transitions similarly to videos
Get firmware type
Messages about setting debug applet propagated into applet iframe
Handle sos.management.network.listInterfaces() call from applet
Handle the new version of sos.management.network.setManual()
Handle the new version of sos.management.network.setDHCP()
Device socket connection can be optionally replaced with REST based API instead of WebSockets
Licensing algorithm
Reporting firmware type of device (e.g.: rpi, rpi4, benq_sl550 etc.)
Reporting supported resolutions (currently FULL_HD only)
[1.3.0] - 2020-12-09
Added
Network stream automatically tries to reconnect when connection is lost
Network stream emits "disconnected" event when connection is lost and "connected" event it successfully reconnects
Support for auto rotation on NEC displays with Compute Module 4, using the built-in G sensor
It's possible to query device capabilities for supported screen orientations
Support two ethernet ports, if present (mainly because of new NEC displays with Compute Module 4)
Fixed
Holding a keyboard key for a long time will now repeatedly type that key on Raspberry Pi 4
Functional keys (i.e. shift) work on Raspberry Pi 4 for typing capital letters and special characters
Screen resolution on Raspberry Pi 4 is limited to Full HD even when the connected screen is 4K to ensure good performance
Fixed firmware upgrade on Raspberry Pi 4 that previously ended with unresponsive device
Setting of device time and timezone returns success (platform needs reboot/restart, do it after 1s)
Connecting to a websocket server that sends the first message really quickly after the connection is established sometimes caused a deadlock of the networking process in the webview, which caused all subsequent network requests to never resolve and eventually time out
When ethernet cable is unplugged, the IP address will be released
Application upgrade on Raspberry Pi 4 works now
Enable USB ports on Compute Module 4 (disabled by default)
Use "quick" input change on new NEC displays with CM4 instead of "super quick" which isn't supported anymore
If quick video change is not supported, fall back to normal input change (normal is the only option on new IML models)
[1.2.0] - 2020-09-25
Added
[1.1.1] - 2020-09-08
Fixed
Wi-Fi settings unavailable in OSD menu since 1.1.0
Even longer deprovisioning timeout before reboot to give the display enough time to delete all cached data and files
[1.1.0] - 2020-09-04
Added
New audio codec and bitrate value in video file details API
Remote management of multi-file applets (applet packages). Applets originally designed for Open users can be used by Platform users now as well.
Browser open link method optionally accepts theme option
Support for Raspberry Pi 4
Upgrade kernel in Raspberry Pi 3 system from 5.4.12 to 5.4.34
Wi-Fi Access Point capability that when enabled, serves a configuration web page to the local network that allows to configure the device remotely
Emit useful Wi-Fi events to applet
Wi-Fi connection promise resolves/rejects only once it actually connects or fails to connect
Fixed
Possible memory leak in video player when one gapless video is playing in infinite loop
Open application refresh stuck when internet is reconnected
Wi-Fi froze and remained in invalid state when connecting with wrong password
[1.0.2] - 2020-06-23
Fixed
If running as Raspberry Pi compute module inside NEC display, rotate display's OSD to match system's orientation on every boot
Fixed a bug in the process of installing a different system in place, where in certain circumstances it would fail and end up with a corrupted disk
Fixed sos.management.security.setPinCode()
[1.0.1] - 2020-06-02
Fixed
Reduce collecting data from GPU
[1.0.0] - 2020-05-29
Added
Video API acceptance tests
When acceptance tests are running, mute applet so it doesn't conflict with the tests
getTimers method in management API
Support get/set system time, both manual and via NTP server
Support PIP (only fullscreen)
Support proximity sensor on NEC displays (there it's called "human sensor")
Support reset NEC display settings as means of recovery from breaking external changes
Internal client-server communication re-implemented using websocket instead of HTTP requests
Manage compute module fan based on cpu temperature in NEC displays
Support Network set manual & DHCP
Support open browser window with an optional whitelist/blacklist of domains
Handle deprovisioning directly on device
New capability to get information about connected monitors
Management get application version in front-applet sos.management.app.getVersion()
Optional videoThumbnailUriTemplate in file properties
File system methods copyFile and moveFile allow to optionally overwrite destination path
FILE_SYSTEM_LINK capability
Fixed
Casually not loading of applet after restart app
Better user information durring register, verify process (including offline page)
Couldn't stop server because several child processes wouldn't close properly
Proper processing of remote key presses; no more weird delays, ignored key presses in fast succession, etc.
Didn't report it's current firmware version
Fixed crash when trying to stop same stream multiple times
Test Framework now handles errors properly
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
sandbox embedded browser to prevent hostile JS within iframe affecting parent document
First start of display when the applet is bundled inside app (Open)
Open app installed to deprovisioned device
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 enough 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
Changed
Updated setting of device DateTime according to changed interface
Moved getNetworkInfo() as network.getActiveInfo()
Deprecated
Open browser in front-applet via method sos.browser.openLink(). Replaced by sos.browser.open().
[0.4.0] - 2019-06-10
Added
File System API supports copyFile, writeFile
Applet DISABLE/ENABLE power actions
Node.js servlets - scripts or services that can be pushed to the device from the server and run in the background, extending device's capabilities with custom logic, as long as the device supports it
Support for controlling NEC display settings (brightness, volume, schedule, etc.) through internal RS232 communication when Raspberry Pi is a built-in compute module
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
Fixed
If device took many screenshots that failed to upload, they wouldn't cleanup but stay in RAM until device ran of out RAM and crashed
Invocations from front-applet has much better & descriptive error messages with links to docs
Switching between multiple applet timings would freeze the second applet
[0.3.2] - 2019-03-22
Fixed
Accidently not changing orientation on management request
Crashing when downloading large files
Videos and other content now stop on application restart
Set screen orientation sometimes didn't take effect
[0.3.0] - 2019-01-23
Added
Support CEC (Consumer Electronics Control, i.e. remote control over HDMI)
Support USB external storage
Restart frontend if it stops responding
Restart application won't reload the page anymore, instead it will restart whole frontend to force purge all browser cache
Notify when storage units change
Get extended file details (mime type, video duration)
Support WiFi
OSD
Support setting volume
Fixed
Uploading screenshots
When there are multiple requests to download a file, allow only one at a time to prevent running out of RAM
Stop video doesn't throw error anymore if the video wasn't playing, only logs a warning
Fixed video coordinates when not fullscreen
Fixed video prepare/play returning a promise that never resolves at certain situations
Fixed memory leaks when playing a single video in a loop
[0.2.0] - 2018-12-14
Added
Update front display to version 5
New improved file system management
Out-of-the-box handling of overlay HTML elements
[0.1.0] - 2018-11-21
Added
First version with all important functions implemented