Releases: manonstreet/FindMySyncPlus
v1.3.1b
Bug Fix
- MQTT zone duration fix — MQTT transport was publishing a
not_homestate on every sync cycle, causing Home Assistant to reset zone duration each run instead of showing continuous time in a zone. State is now derived entirely from GPS coordinates.
Install
- Download
FindMySyncPlus-1.3.1b.dmg - Open the DMG and drag FindMySyncPlus to Applications
- Right-click → Open the first time (Gatekeeper prompt for unsigned builds)
After updating, restart the scheduler to re-publish the corrected MQTT discovery config.
v1.3b
What's New
- Transport protocol — unified
TransportClientinterface for REST and MQTT, cleaner internal architecture - MQTT as default — new installs default to MQTT transport; existing REST users are preserved
- Auto-reconnect — MQTT automatically reconnects after unexpected broker disconnects
- UI polish — consistent field alignment in Access Settings, infotip text wrapping fix, unified "Verify" button across transports, transport switch warning about stale entities
- Help docs — Device Manager help updated for MQTT, rich attributes, and family dedup
- New tests — 58 unit tests (was 53)
- Updated screenshots
Install
- Download
FindMySyncPlus-1.3b.dmg - Open the DMG and drag FindMySyncPlus to Applications
- Right-click → Open the first time (Gatekeeper prompt for unsigned builds)
Existing users: your settings and keys are preserved — just replace the app.
v1.2b
What's New
- MQTT transport — publish locations via MQTT with full Home Assistant auto-discovery. Rich attributes (altitude, speed, course, motion state, location label) available on each entity's
json_attributes_topic - Rich attribute merge — family members tracked via FMIP now include altitude, speed, course, and motion state from LocalStorage
- Location label decode — Apple's encoded location labels (
_$!<home>!$_) are decoded to readable names (Home, Work, etc.) - MQTT auto-reconnect — automatically reconnects to broker after unexpected disconnects
Install
- Download
FindMySyncPlus-1.2.1b.dmg - Open the DMG and drag FindMySyncPlus to Applications
- Right-click → Open the first time (Gatekeeper prompt for unsigned builds)
Existing users: your settings and keys are preserved — just replace the app.
v1.1b
What's New in v1.1b (Beta)
- Friend location tracking — decrypts LocalStorage.db to publish friend locations to Home Assistant
- FMF contact name lookup — resolves friend display names from FriendCacheData.data
- Consolidated key management UI — segmented picker (All / Find My / FMF / LocalStorage) with bulk "Import All from Folder"
- Refactored architecture — separated CacheDecryptor, LocalStorageDecryptor, SyncEngine, and HAClient into focused single-responsibility types
- Updated Device Management help — now covers Devices, Items, and Friends with filter menus, source badges, and auto-learn UUIDs
- 52 unit tests across CacheDecryptorTests, TextSanitizationTests, and LocalStorageDecryptorTests
- SwiftLint integrated with GitHub Actions CI
Installation
- Download
FindMySyncPlus-v1.1b.zip - Unzip and move
FindMySyncPlus.appto/Applications - First launch: right-click → Open (Gatekeeper unsigned app)
- Grant Full Disk Access in System Settings → Privacy & Security
Prerequisites
- Decryption keys — extract your Find My encryption keys using findmy-key-extractor, then import them in Access Settings
Upgrading from v1.0.x
On first launch, macOS will prompt for Keychain access for each stored credential (HA bearer token, FMIP key, FMF key) because the app's code signing identity has changed. Select Allow Always on each prompt to update the Keychain ACL and avoid re-entering your password three times.
Requirements
- macOS 15.0+
- Full Disk Access (for Find My cache)
v1.0.2
What's changed
- Performance:
DateFormatterinstances moved tostatic let— no longer allocated on every menu bar render - Performance: Alias name updates now batched into a single
UserDefaultswrite per sync run instead of one write per device
Installation
Download FindMySyncPlus-v1.0.2.zip, unzip, and move FindMySyncPlus.app to your Applications folder.
First launch: macOS will show an "unidentified developer" warning since this app is not notarized. Right-click (or Control-click) the app and choose Open to bypass it — you only need to do this once.
v1.0.1
What's changed
- Thread safety: Decryptor converted to Swift actor — disk I/O and decryption now run off the main thread
- Bug fix:
readEncryptedPayloadcorrectly runs on the actor's background executor (was inadvertently blocking main thread) - Unit test suite added (13 tests covering decryption, key extraction, device parsing)
Installation
Download FindMySyncPlus-v1.0.1.zip, unzip, and move FindMySyncPlus.app to your Applications folder.
First launch: macOS will show an "unidentified developer" warning since this app is not notarized. Right-click (or Control-click) the app and choose Open to bypass it — you only need to do this once.
Initial release
This version may have bugs. I have been running it for about a month without issue but your mileage may vary.
I have not purchased a developer license, so the app will refuse to run without first trusting it.
• On first launch you will likely see “FindMyPlus cannot be opened because it is from an unidentified developer.”
• Go to System Settings → Privacy & Security, scroll to the warning, click Allow Anyway, then open again (or use right click → Open, then confirm).
If you'd rather not trust this binary, please use Xcode to compile it yourself.