Ubo-app

Latest version: v1.3.0

Safety actively analyzes 726363 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 19

0.15.10

- refactor(core): use `dpkg-query` instead of `apt` python api as loading `Cache` in `apt` is slow and use it in docker service
- refactor(system): add response for docker commands and service commands
- feat(lightdm): add installation options for lightdm package
- refactor(notifications): update the `NotificationWidget` when it is visible and a new notification with the same id is dispatched

0.15.9

- build(packer): set `autologin-user` to `ubo` in `/etc/lightdm/lightdm.conf`
- feat(core): improve update notification for phase-2 of the update process and add a spinner on top-left
- fix(core): avoid side-effects after `FinishEvent` is dispatched.

0.15.8

- fix(wifi): improve the logic of wifi onboarding notification
- feat(core): add base image to `/etc/ubo_base_image` and about page

0.15.7

- refactor(core): general housekeeping, improve resource management in runtime and test environment, minor bug fixes
- build(core): update dependencies to their latest versions

0.15.6

- fix(audio): add a recovery mechanism for audio service to rebind the sound card if it is not available - closes 83
- fix(voice): remove the gap between sentences
- fix(core): change the power-off menu item icon - closes 151
- refactor(core): migrate `ubo_app/services.py` to `typings/ubo_handle.pyi` as it was only providing types
- fix(core): make sure app exits gracefully before shutdown/reboot and atexit callbacks run - closes 150
- refactor(core): kill the app (so that it restarts) when the reset button is pressed for 0.5 seconds or more and reboot the device when it is pressed for 3 seconds or more - closes 116
- fix(vscode): after login with vscode, the gui now goes back to login code page - closes 143
- fix(core): updating items of the pages after the first page, not being reflected on the screen - closes 149
- feat(rpi-connect): implement `rpi-connect` under `Remote` menu - closes 139
- fix(core): update manager downloads the latest `install.sh` and runs it to do the update - closes 152
- feat(core): add signal management for ubo_app process - closes 156
- fix(core): use fasteners read-write lock implementation for the persistent store - closes 158
- feat(core): improve the user experience of update-manager by making it more verbose about the current state of the update progress - closes 153

0.15.5

- feat(notifications): add `progress` and `progress_weight` properties to `Notification` object and show the progress on the header of the app
- feat(core): show the progress of the update using the new `progress` property of the `Notification` object
- fix(camera): render the viewfinder on the display even if the display is paused - closes 78
- refactor(core): make the power-off menu, a sub-menu with power-off and reboot action items - closes 123
- fix(core): headed menus not showing the first item in the list - closes 144
- refactor(system): generate the hostname of the device based on a hash of its serial number
- feat(core): show hostname of device on the home page - closes 128
- feat(core): long-pressing the reset button for 3 seconds or more reboots the device - closes 116
- fix(keypad): keypad becoming unresponsive if a key was pressed while the app was loading - closes 118
- fix(camera): closing the camera viewfinder will close the picamera instance so that it can be used again
- refactor(core): use python-fake for faking
- refactor(tests): wait for wifi status icons in `test_wireless`
- refactor(core): move `ubo_app.utils.loop` to `ubo_app.service` and add service properties like `service_id`, `name`, `label`, etc as module level variables to it
- refactor(core): make `UboModuleLoader` to keep a weakref of the module in its cache instead of an actual reference
- refactor(core): use the new `key` property of ubo-gui `Item`s to keep opened menus open when something changes in the parent menus - closes 145, closes 146, closes 147
- fix(core): make sure logs are set up after reading environment variables and before starting the app
- feat(keypad): add epoch time to keypad actions and events in `time` field
- feat(voice): add piper engine to voice service as the default engine and a menu to select the engine - closes 120
- refactor(notification): add `NotificationExtraInformation` with `text`, `piper_text`, and `orca_text` to replace the simple strings passed to `extra_information` field of the `Notification` object
- refactor(audio): rename sound service to audio service
- refactor(audio): drop `pyaudio` and use `simpleaudio` for playback
- feat(core): setting `DEBUG_MODE_MENU` environment variable to truthy values will show a representation of the menu in the logs whenever the current menu is changed
- fix(ip): close sockets opened for testing the internet connection - closes 126

Page 3 of 19

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.