Release Notes

What we've shipped. Month by month.

User-visible milestones for Elyra. We ship in small, legible steps — this page only surfaces what changes the surface area for users.

Latest

Cloud accounts, local backups, and a free tier

Elyra moves from local-only to cloud-account. New backup + restore safety net. Pricing restructured around Free, Personal, Pro, and Teams.

  • Atomic SQLite snapshots on a 15-min cron with configurable cadence (hourly → daily), retention, location, and gzip compression
  • Pre-migration auto-snapshots and a one-click restore banner when corruption is detected
  • Cloud account, login, subscription, and workspace switcher — packaged builds force cloud mode
  • New pricing: Free (local-only forever), Personal ($15/mo), Pro ($40/mo), Teams (self-hosted)
  • Dashboards now auto-refresh after background syncs — no app restart needed

Gmail joins the morning brief

Hourly Gmail sync surfaces only the messages that matter — recruiters, HR, and job updates — and keeps them local.

  • Three-stage classifier: server-side filter → local regex → Claude Haiku batch
  • Token-refresh worker keeps Whoop, Google, and Gmail credentials warm ahead of expiry
  • Microsoft Graph Calendar client added (mirror of Google Calendar schema, source-discriminated)

Reminders, calendar export, weekly drift

Three small workers that quietly close the loop on the day, the week, and the trend.

  • task-reminder worker pings via terminal-notifier 30 min before due (or once overdue), with Done / Snooze replies
  • Tasks export to ~/.elyra/calendar/elyra-tasks.ics every 15 min for macOS Calendar subscription
  • Monday weekly-drift compares the last 7 days of Whoop to the prior 83 — markdown summary + native notification

Google Calendar, live

Two-week event window syncs into the local DB every half hour, with a one-command OAuth flow.

  • google-sync worker pulls now-1d through now+14d into calendar_events
  • pnpm google:auth OAuth bootstrap + 30-day backfill script
  • Shared calendar schema lands in @elyra/shared

Talk to Elyra

Voice loop end-to-end: capture, transcribe, classify, dispatch, speak. Local Whisper for transcription, no cloud round-trip.

  • Voice CLI: sox capture → whisper.cpp transcription → Claude Haiku intent → dispatcher → macOS say
  • In-app voice overlay in the desktop renderer with a listen / classify / speak loop
  • Cyan READY HUD in the overlay so it's obvious when Elyra is listening

The Today control room

The first user-facing dashboard. A single Today view that pulls tasks, meetings, news, health, and outcomes into one HUD.

  • Today view, Tasks tab with inline capture + conflict detection, plus Meetings / News / Outcomes / Health
  • Sidebar, topbar, and a status pulse system across the renderer
  • Jarvis-style HUD aesthetic with shadcn-ui + Tailwind globals

Whoop, fused into the brief

Recovery, sleep, strain, and workouts land in the morning brief. The first piece of the health-aware planner.

  • OAuth dance + pnpm whoop:auth bootstrap on port 8765
  • 90-day backfill (pnpm whoop:backfill) into health_signals
  • whoop-sync worker pulls recovery, sleep, cycle, workouts, body, and user metrics every 2 hours

The morning brief lands

The first scheduled worker. Claude Haiku composes a daily brief and writes it to your local memory.

  • Scheduled worker registry (BullMQ runner, later migrated to in-process croner)
  • morning-brief worker with Claude Haiku as the composer
  • Licensing probe seam stubbed for future productization

Earlier work — Electron scaffold, memory layer, core schemas, project init — lives in the internal engineering log. We only surface user-visible milestones here.

Ready to try Elyra?

Every release ships behind the same Mac-only desktop app. Bring your own Anthropic key.