Starling 0.3.0
Starling 0.3.0 adds the feature groups actually need: circles, plural.
Multiple circles
Keep one circle for family and another for the friends you split up from at a fair or a concert. Tap the circle name to switch, start a new circle, or join one from an invite. Each circle has its own secret, its own channel, and its own signing identity, so even the relay cannot tell that two circles share a member. The map, sharing, and invites follow whichever circle is active, and switching away says goodbye to the old circle so nobody sees a ghost dot.
Storage stayed backward compatible: 0.3.0 installs straight over 0.2.0 and your existing circle, passcode, and settings carry over untouched (tested by upgrading a locked 0.2.0 install on a real Android image). With the app lock on, inactive circles are sealed under the same vault key as everything else. The write orderings are built so that a crash or a failed storage operation at any point leaves every circle secret recoverable; crash-window property tests halt a simulated store after every single write to prove it.
Also in this release
- The hosted website is now a landing page and demo only; circles live in the app, where the secret sits behind the OS keystore instead of a browser tab.
- The website serves the APK directly with no redirect chain, which fixes downloads that hung at 100% on some phones.
- Members never see each other's IP addresses; route the app through Orbot and the relay does not see yours either. The landing page and privacy policy now spell that out.
Verify this build
Signed with the certificate whose SHA-256 fingerprint is served at starlingmap.app/.well-known/assetlinks.json. Reproducible: a clean checkout of tag v0.3.0 (npm ci, bash tools/sync-vendor.sh, ./gradlew assembleRelease in android/) yields an unsigned APK with sha256 71140134efd9e10314415a2c4e4237840fd245b8f343d92c802e6db7614ef8fc, and signing with the same key yields this exact file:
a658fba27ca064d4d08f7aef6eb33ec487ded15fe27fc422d73ccb0a19298c9d starling-0.3.0.apk