Skip to content

Drifty 1.9.0

Latest

Choose a tag to compare

@jeongjin0 jeongjin0 released this 28 Aug 05:31
Immutable release. Only release title and notes can be modified.

Summary

Drifty 1.9.0 brings drift alerts into Companion, adds privacy-preserving community focus milestones, improves classification and settings clarity, and hardens Cloud AI and device sync behavior.

Diff basis

  • Exact release source: a1f607441908dd4e71b6689a34c5c3bc0d68be83.
  • Compared the 1.8.1 frozen source 530b81009ee9c5e098a977588362833bbc822a42 through the exact release source.
  • Reviewed the merged release-range work through PRs #930 and #932–#952, plus the previously excluded app-version observability commits now present in the binary.

Changes

Security / Privacy

  • Device sync now isolates cursors, deletions, and purge generations by account, validates the signed-in account server-side, and prevents stale clients from recreating activity after an account-wide purge.
  • Production analytics accepts only the documented allowlisted event contract, and the production build rejects invalid public ingestion settings.

Added

  • Companion can celebrate days estimated in the top 10% using anonymous aggregate opt-in leaderboard totals; participant-level focus records are not returned.

Changed

  • Drift alerts now arrive through Companion, keeping the existing intervention actions on one consistent surface.
  • Classification rules have a clearer hierarchy, AI classification controls live under Privacy & Data, and Companion visibility is consolidated.
  • Dashboard sharing, Flow density controls, settings navigation icons, Projects alignment, leaderboard profile actions, and Pro plan copy are more consistent.
  • Trial Cloud AI capacity is increased to four classifications per minute, and unavailable Cloud AI requests back off before retrying.

Fixed

  • Onboarding completion is single-flight and remains retryable after tracker startup or local persistence failures.
  • Leaderboard joins use the account name or a private fallback instead of a generic display name.
  • Developer prerelease update checks remain available before required account sign-in and during onboarding; stable update prompting is unchanged.

Packaging / Updates

  • Release metadata is synchronized at 1.9.0 across the app, workspaces, tracker, Rust, Tauri, lockfiles, and version assertions.

Downloads

  • Manual install: drifty_1.9.0_aarch64.dmg
  • DMG SHA-256: c1abd05807de5ccc746fb40b598081a67964fb8b50ca6a263b21423b4b337665
  • Updater metadata and archives are for in-app updates and are not manual downloads.

Verification

  • Typecheck and the full 3,005-test web suite passed.
  • Python: 624 passed, 1 skipped. Rust: 415 passed, 9 ignored.
  • The exact production app, nested tracker/helper, updater archive, and DMG passed signing, package inventory, notarization, stapling, and Gatekeeper checks.
  • Finder presentation passed at 660×400, 128 px icons, 16 pt labels, and the intended app/Applications positions; the captured installer window matches the approved surface.
  • Clean macOS 14.8.7 VM install passed without Command Line Tools or executable Homebrew Python. Poisoned PATH and DRIFTY_PYTHON_BIN did not invoke an external runtime, and bundled tracker daemon recovery passed.
  • Google OAuth, the drifty:// callback, onboarding recovery, and the main authenticated production surfaces passed on the exact 1.9.0 app.
  • A lower-version QA client detected, installed, and relaunched into the signed 1.9.0 candidate. Its installed executable was byte-identical to the candidate (a82f43defcd823a612a53df26e6d3ea542507a7e3dd57107f3f6e1f2a8398703).
  • The clean VM permission-denied path and the host's existing System Events permission-allowed path both passed without copying raw activity into evidence.

Notes

  • Release class: general.
  • Apple Silicon Macs running macOS 13 or later.
  • No Windows installer is attached to this release.