Kloy

Changelog

Release notes

Product updates for the Kloy macOS app. Same notes used by in-app auto-update.

Kloy 0.1.24

v0.1.24Latest

Highlights

  • Faster app startup by shrinking local database storage
  • Activity buckets now store aggregate counters instead of full keyboard/mouse event JSON

Changes

  • Drop per-event keyboard/mouse JSON from `activity_buckets_5m` in favor of aggregate counters plus `activity_rate`
  • Auto-migrate v1 activity bucket schema on launch and reclaim disk space via VACUUM
  • Add day-slice dashboard APIs and refactor Performance dashboard data loading
  • Add activity app hover tooltip on the Performance chart

Kloy 0.1.23

v0.1.23

Highlights

  • Drag-select a range on the Performance chart to mark it as a project or leisure, including idle stretches with no captures
  • Corrections require a reason and can apply to adjacent similar captures
  • Personal category so visa and admin time no longer inflates Primary work

Changes

  • Add Performance chart drag-select with a context menu and batch manual reclassification
  • Create synthetic Manual entries for empty chart buckets so idle time can be classified
  • Persist chart-range marks with a Manual badge, distinct from single-edit overrides
  • Require a correction reason and offer adjacent bulk reclassify with prompt learning
  • Add Personal so visa/admin time is not counted as Primary
  • Add LLM fallback chains with a circuit breaker
  • Fix Gemma "checking" and Migration/Immigration false positives stealing Cursor work to Life Building
  • Show a gray tray icon when the latest capture is leisure
  • Bind Chrome URL capture to the frontmost window title
  • Reduce false capture-degraded alerts during AFK and idle gaps
  • Stop showing the unhelpful macOS AI classification failure alert

Kloy 0.1.22

v0.1.22

Highlights

  • Fixed YouTube and other leisure activity collapsing into Primary

Changes

  • Separate work/leisure gating from project attribution so entertainment cannot be remapped into Primary
  • Harden surface matching, Gemma boilerplate handling, criteria cache, and Chrome URL capture

Kloy 0.1.21

v0.1.21

Highlights

  • Smarter project attribution and fewer false Pending / Needs Review flags
  • Capture pauses after 30 seconds of no keyboard or mouse activity
  • Faster classification with cached project criteria

Changes

  • Pause screen capture after 30s without keyboard or mouse input
  • Fix work attribution so Primary competes fairly and Personal is not treated as a system project
  • Stop demoting shell/IDE-only project matches to Needs Review
  • Route equity ambiguity to Needs Review with clearer conflict metadata
  • Fix Pending false-positives from DNS/network keywords in successful LLM reasons
  • Require on-screen content evidence for tracking classification, not just platform names
  • Cache refined project criteria locally and refresh in the background
  • Skip AI for Kloy self-captures; keep Review approve separate from manual edits
  • Add Others option to the Performance activities project filter
  • Treat sub-minute focus as no tracking data and disable report generation when focus time is zero

Kloy 0.1.20

v0.1.20

Highlights

  • Fixed on-device Gemma failing in released builds with "On-device model runtime unavailable"

Changes

  • Bundle a self-contained Python + mlx_lm runtime with the app so Screen Analysis works without a separate Python install
  • Prefer the bundled runtime over PATH lookups in both dev and release builds
  • Show a clearer Settings/sidebar message when the on-device runtime (vs. just the model download) is the problem

Kloy 0.1.16

v0.1.16

Highlights

  • On-device Gemma first-pass summarizes Screen Analysis locally so raw OCR never leaves your Mac
  • Lower idle CPU from slower sampling, window polling, metrics, and tray work
  • Refreshed English landing page with Projects and Tasks sections, plus updated app icons

Changes

  • Add on-device Gemma first-pass so Screen Analysis never sends raw OCR
  • Cache Gemma base under ~/.kloy and ship bundled kloy-lora-v0.1
  • Add Gemma settings UX, model download bridge, and licenses polish
  • Persist Gemma summaries and simplify Log detail transparency UI
  • Add Gemma license notices, About UI, and attribution-style Terms
  • Cut idle CPU by slowing sampler, window poll, metrics, and tray work
  • Speed up offline LLM queue drain after reconnect
  • Show pending offline-queue captures in Performance All activities
  • Rename on-desk time to active time and soften activity screenshots
  • Replace top-activity hover popup with a right-side sheet
  • Fix Performance scroll jump on dashboard poll refresh
  • Update app and website icons with transparent rounded corners
  • Fix header and tray icons to use the updated app mark
  • Rebuild English landing page as scroll-native beats, add Projects/Tasks sections

Kloy 0.1.15

v0.1.15

Highlights

  • First-run onboarding helps you get set up, with a confirm before deleting projects
  • Screen Analysis is opt-in; metadata and browser URL still power classification without screen capture
  • Tracking pauses when the display sleeps so lid-closed overnight time is not counted

Changes

  • Add first-run onboarding and an in-app delete confirm for projects
  • Add per-project colors so projects stay visually distinct across the dashboard
  • Add Screen Analysis toggle and gate Screen Recording permission behind it
  • Add metadata-only capture with browser URL for LLM classification
  • Persist capture URL and show it in dashboard window-activity reads
  • Restructure Settings with sidebar nav and split Tracking from Screen tracking
  • Pause tracking while the display is asleep
  • Fix corporate Review demotions and rewrite Review assign UX
  • Keep project matches when app/title cues criteria tools
  • Restrict page zoom to Cmd/Ctrl + -/+/0 and block pinch and wheel zoom
  • Add privacy/terms pages, report unpublish, and retire BYOK
  • Show release dates on the website changelog

Kloy 0.1.14

v0.1.14

Highlights

  • Rebrand from FocusLens to Kloy across the app
  • Local privacy filters gate sensitive apps, mask PII, and keep LLM input session-only
  • Dashboard tasks support drag-and-drop reordering and collapse when tall

Changes

  • Rebrand FocusLens to Kloy across the monorepo
  • Add local privacy filters: sensitive-app gate, PII masking, session-only LLM input
  • Show only redacted OCR screen text in AI input transparency UI
  • Stop lock-screen captures from diluting project focus metrics
  • Add drag-and-drop reordering for dashboard tasks
  • Collapse tall Goal and Tasks dashboard cards with show more
  • Scope project tasks to each local calendar day
  • Fix cross-day capture task ids and persist the offline LLM queue
  • Make idle threshold configurable via admin with env fallback
  • Reorder sidebar nav: Review follows Projects

Kloy 0.1.13

v0.1.13

Highlights

  • Per-project tasks appear in tracking and as their own activity column
  • Top activities merge task-linked captures under task names with clearer Active controls
  • Classification prefers cross-language task topics and the sole active task

Changes

  • Add per-project tasks to tracking and show them as their own activity column
  • Merge task-linked captures under task names in Top activities
  • Show per-task time and clearer Active controls in the dashboard
  • Bias classification toward cross-language task topics and the sole active task
  • Match title-bar project controls to the Pause Tracking button style
  • Clear Rust compile warnings in the Tauri backend

Kloy 0.1.12

v0.1.12

Highlights

  • Persistent project selection drives header badges, tray, and dashboard focus metrics
  • Report empty states show tracked time and block generate when there is none
  • Offline queue replay keeps the original capture time instead of flush time

Changes

  • Add shared persistent project selection across header badges, tray, and dashboards
  • Drive daily/week/month focus metrics from the selected project
  • Simplify Projects and Report UI around that shared selection state
  • Show tracked time on report empty states and gate generate when none
  • List daily reports in weekly views for days with tracked time
  • Preserve wall-clock `captured_at` when replaying the offline LLM queue after reconnect

Kloy 0.1.11

v0.1.11

Highlights

  • Clearer week/month dashboard navigation with range stats and per-project focus goals
  • Performance detail simplified to top activities plus a full activity log
  • Privacy-blurred screenshot previews after OCR, and quieter Review flooding

Changes

  • Improve week/month dashboard navigation and range stats
  • Show per-project focus goals and a tracked-session stick under the performance chart
  • Add project 1/n navigation to AI Insight on the dashboard
  • Simplify performance detail tabs to top activities and a full log table
  • Store privacy-blurred screenshot previews after OCR
  • Rename Screen Records to Screen Analysis
  • Harden the multi-project prompt to stop Review flooding during tracking
  • Treat LLM rate limits as recoverable and surface real classification errors
  • Stop choosing LLM provider/model on the Tauri client for internal mode
  • Pace offline LLM queue drain to avoid API stampede on reconnect
  • Restyle dashboard error banners to match card UI
  • Fix Gemini/Anthropic LLM error handling and empty Anthropic responses in the API server
  • Refactor `src-tauri` into `api/`, `lib/`, and `page/` modules

Kloy 0.1.10

v0.1.10

Highlights

  • Multi-project matching replaces the single Goal flow, with richer reports
  • New Review page to inspect captures, suggest Goal updates, and apply decisions
  • Inclusive-by-default classification with focus / review / unrelated colors

Changes

  • Replace single Goal with multi-project matching and project-aware reports
  • Add Review page (sidebar nav, Goal diff view, screenshot preview)
  • Add review storage helpers and commands (`list_review_items`, `suggest_goal_update`, `apply_review_decisions`)
  • Classify captures as focus / review / unrelated in the Performance log
  • Flip capture classification to inclusive-by-default and bridge short activity gaps
  • Give Report its own persisted nav with a full-height period sidebar
  • Replace “Top unrelated activities” with a neutral Working / Other donut
  • Coach Goal-writing to include research, comms, and planning time
  • Wire admin AI Models into screen analysis via the LLM server
  • Strip markdown JSON fences in report LLM sanitization
  • Enable Cmd/Ctrl +/- zoom hotkeys in the Tauri dashboard
  • Fix dark-mode popup overlays and speed up enter animations

Kloy 0.1.9

v0.1.9

Highlights

  • Daily report activity details now scale with time spent (short vs deep write-ups)
  • Dashboard day picker with a Today shortcut, plus clearer AI insight tabs
  • Broader report language options and faster past-day activity loading

Changes

  • Scale `activity_details` prose to Simple / Medium / Large by allocated focus time
  • Raise report LLM max tokens so longer Large details can complete
  • Expand report language options to commonly used locales
  • Add a dashboard day-picker calendar with a Today shortcut
  • Improve AI insight tabs with a share bar, richer hover, and icons
  • Fix daily Top activities and split AI insight vs report panels
  • Index past-day window activity to avoid re-scanning captures on every load
  • Refresh the Korean company landing page (`/for-company-ko`) and how-it-works media

Kloy 0.1.8

v0.1.8

Highlights

  • More reliable window capture after sleep/wake and when the native probe stalls
  • Clearer tracking status when capture is degraded
  • Website and shared-report polish aligned with the app dashboard

Changes

  • Fall back to AppleScript when the native window probe finds no window
  • Release the tray menu-item mutex before blocking cross-thread calls to avoid freezes
  • Surface a `capture_degraded` warning in the tracking status UI
  • Document native window-probe stall recovery for ops
  • Restyle shared report pages and refresh marketing media
  • Refine the landing page and site chrome to match the dashboard look

Kloy 0.1.7

v0.1.7

Highlights

  • Reports UX polish: day tabs, report settings, and dashboard insights
  • AI Engine and Logs live under Settings tabs
  • Production desktop routes LLM calls through kloy-server

Changes

  • Improve daily/weekly reports with day tabs and clearer settings
  • Surface report insights on the dashboard
  • Densify report time-allocation tables for clearer evidence
  • Match shared public report pages to the in-app report layout
  • Move AI Engine and Logs into Settings
  • Point the production app at the Kloy API Worker and record usage logs
  • Add Gemini alongside existing providers in admin model catalogs

Kloy 0.1.6

v0.1.6

Highlights

  • New Reports section with LLM-written daily and weekly focus summaries
  • Deterministic time-allocation tables you can trust for client evidence
  • Share a verified public report link, or download a PDF to Downloads

Changes

  • Add Daily report: goal-relevant narrative of what you mainly worked on
  • Add Weekly report: aggregates the week's daily reports once available
  • Compute top-5 activity time allocation in Rust (LLM writes narrative only)
  • Persist reports in SQLite; regenerating a period freezes prior share links
  • Add on-screen markdown rendering for report headings, tables, and lists
  • Export reports to paginated PDF (CJK-friendly rasterization)
  • Publish immutable shared report snapshots via kloyapp.com

Kloy 0.1.5

v0.1.5

Highlights

  • Major reliability fixes after sleep, network outages, and long-running capture stalls
  • Offline LLM queue with screen cache UI — analysis continues when the network drops
  • Refreshed app icons, circular tray icon, and system light/dark theme support

Changes

  • Fix AI connection recovery dead state after sleep and network restore
  • Fix AI network failures pausing tracking permanently and freezing resume
  • Fix multi-hour blank timeline caused by capture pause zombies
  • Fix silent collection hang with subprocess timeouts and stall watchdog
  • Fix silent SQLite corruption after sleep with self-healing database safeguards
  • Stop re-prompting Screen Recording permission on every recovery probe
  • Add offline LLM queue with retries and screen cache UI
  • Fix offline LLM CPU burn during queued retries
  • Fix stale dashboard day and open window from Dock click
  • Add rounded app icons, circular tray icon, and system light/dark theme
  • Remove duplicate pause emoji from tray title when tracking is paused
  • Fix Tauri auto-update release pipeline and sidebar restart UX

Kloy 0.1.4

v0.1.4

Highlights

  • Improved reliability during capture failures with automatic recovery

Changes

  • Block manual resume attempts on capture failure
  • Auto-recover when capture works again

Kloy 0.1.3

v0.1.3

Highlights

  • Improved reliability by pausing tracking during capture or AI failures.
  • Added detailed activity information for better insights.
  • New project README with overview, features, and setup instructions.

Changes

  • Pause tracking automatically on capture and AI processing failures.
  • Enrich activity detail view with additional context.
  • Add comprehensive README documenting the app and development setup.

Kloy 0.1.2

v0.1.2

Highlights

  • Added automatic app updates with release synchronization
  • Refined macOS shell layout for improved usability

Changes

  • Refine macOS shell layout and add auto-update with release sync
  • Add signed macOS release build with notarization and website DMG copy

Kloy 0.1.1

v0.1.1

Highlights

  • Added screen recording permission flow and improved dashboard performance
  • New on-demand activity detail tooltips for top apps
  • Refreshed branding and macOS dashboard appearance

Changes

  • Request and handle screen recording permission with improved UX
  • Show activity detail tooltips on top apps in the dashboard
  • Update app branding and polish macOS window chrome
  • Add per-provider model selection for custom API keys
  • Align Grok capture cost display with list pricing
  • Clarify AI settings and billing options
  • Split dashboard and performance views with shared shell
  • Polish performance dashboard overview and shared theme
  • Unify focus rate and goal percentage metrics
  • Improve dashboard UX, tray time menu, and window persistence