- feat(wifi): the wireless onboarding suggestion notification is shown when the device is not connected to any network and it hasn't been shown earlier 71
- feat(notifications): `actions` of `Notification` object are respected and are actually shown in the notification, their type is inheriting the original `ActionItem` and adds `dismiss_notification` boolean to it
- feat(tests): stability fixture saves all the snapshots and writes them to the filesystem if it ever fails
- feat(core): setup error handler for event loops, previously errors happening in event loops were silence
- refactor: all `asyncio.create_subprocess_exec` calls now redirect their `STDOUT` and `STDERR` to `DEVNULL` or `PIPE` to avoid noise in output
- fix(qrcode): qr code sets its state correctly after back button is pressed on it
- fix(docker): qr code output for exposed ports doesn't bundle ip addresses of the device in a single entity, instead a separate qr code is generated for each ip
- refactor: notifications and qr-code prompts now show short messages in their front page and long messages in their extra information section 80
- refactor(wifi): reuse `qrcode_input` instead of the old manual way of taking input from qr code
- feat(qrcode): `qrcode_input` accepts an `extra_information` parameter and passes it to the prompt notification
- feat(notification): add an `on_close` callback to the `Notification` object, called when the notification is closed
- feat: add `OpenApplicationEvent` and `CloseApplicationEvent` events
- feat(voice): automatically remove invalid characters not readable by picovoice from the text to be read so that those characters can still be visible in the text
- build(installation): set `XDG_RUNTIME_DIR` in `bashrc` to make interacting with user `systemd` services easier
- fix(vscode): remove timestamp from state 79