Note: This release is not backwards compatible. For users who sideload, uninstall the previous version because the previous certificate has expired.
Sorry for the delay again!
Changes
Calling & Bluetooth
- Add Windows Bluetooth calling support
- includes receiving and dialling calls
- supports up to two simultaneous call sessions
- supports swapping calls and audio routing between PC and phone
- always-on-top call window with hold, mute, and end controls
- Add Calls page with call logs and dialer/setup panel
- call history
- dial pad with contact search
- Includes in-app Bluetooth pairing
Note: Make sure to remove your Bluetooth device if you have already registered one with another app.
Notifications & apps
- Add Windows notification actions to open or filter notifications by app
- Add bulk notification filter action for device apps by @AspireOne in #211
- Add search in app notification filter
- Implement app shortcut management and protocol activation
sefirah://{package}launches the app via scrcpy- bind scrcpy window to the hosted app at runtime
- Add APK install button in the Apps page
- Add flex display flag support for scrcpy 4.0
- Update screen mirror settings card UI (bitrate, frame rate, crop, virtual display size)
- Refactor ADB service and screen mirroring
Battery
- Add low battery alerts for paired devices by @AspireOne in #212
- Report laptop battery status to connected devices by @usamaiqb in #234
System tray
- Replace embedded tray control with platform-specific tray implementation
- Windows tray flyout: left-click opens a flyout with notifications, media sessions, and device controls
- Linux tray via StatusNotifierItem + D-Bus menu
- Implement app instance redirection on multiple launches
- Close window hides to tray when tray is available
(Note: Uno doesn't yet support AppWindow.Hide() on Linux, and the builds here are with local Uno changes)
Storage
- Add sync root registration for multiple storage volumes
- Add remove all sync root registrations option in settings
- Stop sync root when the device disconnects
- Use the device’s connected address for sync root connection
- Move deleted placeholders (which are hydrated) to the Recycle Bin on Windows
- Fix placeholder sync reliability
- conflicts, timestamp normalisation, path prefixing, cancellable fetch
- SFTP chunk alignment /
ReadAtLeast, shell sync edge cases, stale event handling
Media & audio
- Fix media slider visibility
- Fix media action handling: audio device actions were not being handled
- Fix: remove
MillisecondsToTimeconverter from max seek time - Add PulseAudio-based audio device control on Linux
- sink discovery, volume control, and sink change subscriptions
Other
- Change connection control to a split button
- refresh reconnects using enabled addresses
- flyout for per-address connect
- flyout for connected ADB devices with disconnect options for wireless devices
- Add a teaching tip for switching devices when multiple phones are paired
- Add a select active device button in the Devices Page
- Fix device connection races during connect, handshake and discovery
- Fix client/session disconnection handling in NetworkService
- Fix inverted condition in RefreshDevicesAsync by @fiveclankers in #232
- UI: add top margin to the device and notification pane
- Encode pairing QR as
sefirah://deep link for Android app - Overhaul the data layer
- Split the application layer per device
- per-device app rows, pin/filter, and app icons under
Devices/{deviceId}/Icons/
- per-device app rows, pin/filter, and app icons under
- Load contact avatars lazily from the database
- Unify contact avatar, initials, and placeholder colours
- Cache temp contacts
- Unify
Contactmodel across calls, messages, and notifications - Fix AutoSuggestBox search in Linux (don’t bind search results in XAML)
- Improve code quality: split device features from app services
- Add window backdrop preference (Mica and Acrylic)
- Add czech language by @AspireOne in #213
- Update light theme icons
- Refactor clipboard service: consolidate toast handling and fix race conditions
- Update IPolicyConfig to use COM interop instead of reflection
- Fix wallpaper image visibility on DevicesPage for Linux
- Fix error handling on SFTP watcher
- Fix probable cast exception with segmented control
- Target .NET 10 / bump Uno.Sdk and related packages
- Update strings
New Contributors
- @AspireOne made their first contribution in #213
- @fiveclankers made their first contribution in #232
- @usamaiqb made their first contribution in #234
Full Changelog: v2.4.0...v3.0.0