What's Changed
- Fix license metadata for setuptools 68 by @erikwb in #71
- Fix Arch build when mise or a virtualenv shadows /usr/bin/python by @jacob-fm in #73
- Keep the mypy pass hermetic against host site-packages by @ssandys in #78
- Quickshell: replace the emoji gear with theme-colored text buttons by @ssandys in #80
- Fix Quickshell long-message layout by @erikwb in #81
- Make Quickshell message text selectable without layout regressions by @erikwb in #87
- Fix Classic bearer reconnect detection by @erikwb in #90
- Recover Bluetooth profiles across real reconnects by @erikwb in #91
- Retry libnotify when the notification server starts late by @erikwb in #92
- Add contacts-only message notifications by @erikwb in #93
- Add config-based ANCS app filtering by @erikwb in #94
- Compact pairing reports for GitHub issues by @erikwb in #97
- Prevent Bluetooth bearer reconnect races by @erikwb in #100
- Build Python 3.15 RPMs for Fedora 45 by @erikwb in #101
- Retry pairing when BlueZ drops the selected device by @erikwb in #98
- Fix Bluetooth bearer reconnect follow-up races by @erikwb in #102
- Accept inbound ANCS links during Classic recovery by @erikwb in #103
- Adopt captured pairing reconnect fixes by @erikwb in #104
- Enable adapter Pairable during pairing by @erikwb in #105
- Fix ANCS recovery after fast LE reconnects by @erikwb in #108
- Keep bearer backoff from being reset by a flapping link by @blueedgesolutions-tom in #107
- Harden bearer backoff dwell against None reads and LE flaps by @erikwb in #110
- Continue compatibility setup without ANCS advert by @erikwb in #111
- Avoid ANCS CCC churn that SIGSEGVs bluetoothd on LE reconnect by @erikwb in #112
- Do not RemoveSession when the daemon stops by @erikwb in #115
- Install the phone-audio fragment before pairing by @erikwb in #114
- Open conversations from notifications and mark them read by @erikwb in #116
- Star conversations and keep them at the top of the list by @erikwb in #117
- Treat missing ANCS as expected on Realtek and Broadcom adapters by @erikwb in #118
- Remember confirmed group rosters in the daemon by @erikwb in #119
- Fix unintended read sync and protect conversation preferences by @erikwb in #120
- Fix seven audited conversation and transport bugs by @erikwb in #121
- Make preference reads predictable and extract Qt message components by @erikwb in #122
- Consolidate shared conversation behavior across clients by @erikwb in #123
- Trim brittle UI tests and redundant scaffolding (477 fewer lines) by @erikwb in #124
- Cancel OBEX transfers when size limits or timeouts abort them by @erikwb in #125
- Merge conversations across a contact's phone numbers and emails by @erikwb in #126
- Polish conversation scrolling, contact search, and Fedora instructions by @erikwb in #127
- Refresh stale ANCS notification registrations during recovery by @erikwb in #128
- Remove unused helpers, redundant branches, and low-value tests by @erikwb in #129
- Fix message safety and backend responsiveness by @erikwb in #130
- Simplify backend compatibility guidance by @erikwb in #131
- Share client refresh and conversation logic by @erikwb in #132
- Separate named-group identities and preserve safe legacy routes by @erikwb in #133
- Extract Qt phone settings and confirmation dialogs by @erikwb in #134
- Refactor Quickshell setup and adopt Omarchy styling by @erikwb in #135
- Center the Quickshell composer and simplify group replies by @erikwb in #136
- Fix native package builds and Qt first-install startup by @erikwb in #137
- Prepare BlueFerry 0.8.0 by @erikwb in #138
- Remove re-pairing advice from ANCS recovery guidance by @erikwb in #139
New Contributors
- @jacob-fm made their first contribution in #73
- @ssandys made their first contribution in #78
- @blueedgesolutions-tom made their first contribution in #107
Full Changelog: v0.7.7...v0.8.0