Repository navigation
0.21.0 - 2026-11-05
Highlights: Mention people in rich messages, position stickers on message bubbles, and explicitly set your Messages Name & Photo, with fixes for typing events, subjects, delivery verification, and recoverable deletion.
Mentions (#365), sticker placement (#366), and Name & Photo setters (#377) are fixture-tested; no live sends or account identity changes were performed to verify these features.
-
Explicitly replace the account-wide Messages Name & Photo with
name-photo setorcontacts.setNamePhoto, with capability checks and no automatic identity changes (#377, thanks @kilianc). -
Place attached stickers on message bubbles with bounded position, scale, and rotation controls in the CLI and RPC (#366, thanks @kilianc).
-
Mention people in RPC
send.richandsend.multiparttext with validated UTF-16 ranges and explicit bridge capability checks (#365, thanks @kilianc). -
Update PhoneNumberKit to 5.0.13.
-
Prefer recoverable chat deletion through Messages’ Recently Deleted operation, without falling back to permanent removal after a failed recoverable deletion (#381, thanks @thurstonsand).
-
Load older messages into the transcript before deleting every part, and refuse unsupported reactions and unsent placeholders before dispatch (#379, thanks @logananderson).
-
Emit incoming typing events when the chat transcript's typing indicator appears or disappears (#378, thanks @logananderson).
-
Preserve subjects on standalone messages and threaded replies with the current IMCore item setter (#376, thanks @webmasu).
-
Allow rich links in unified chats with stale service labels while retaining the helper's live iMessage service check (#375, thanks @webmasu).
-
Preserve the configured bridge readiness timeout when installing or replacing the login agent (#374, thanks @webmasu).
-
Pin Swift CodeQL tracing to macOS 26 while retaining Xcode 27 for normal build and test jobs.
-
Verify sent messages in unified chats with stale service labels while requiring receipts from the effective iMessage or SMS/RCS service (#373, thanks @webmasu).
-
Detect complete unsends stored as retracted message parts, keeping watch, history, and RPC content suppression consistent (#371, fixes #370, thanks @logananderson).
-
Schedule weekly CodeQL main scans while retaining PR and manual analysis.