What's New

All the latest updates, features, and fixes.

v1.3.53 September 8, 2026

Reliable Trial Sign-In and Steadier Account Checks

  • Fixed sign-in failing for new users with a "your licence could not be set up" error, so trials now start reliably.
  • Trials now get the same offline grace period that paid subscriptions already had, so a dropped connection doesn't lock you out.
  • Fixed a server-side problem that could make sign-in and account checks fail for stretches of the day.
v1.3.52 September 7, 2026

Vectors Settings Restored, a Clearer Sign-In Screen, and Safer Links

  • Fixed a crash when clicking "+ Create Vector" in Settings, and restored the full Vectors tab — vector and smart vector cards, the icon picker, and drag-to-reorder.
  • Fixed the launch screen getting stuck on "Connecting…" after a sign-in was refused; the sign-in screen and its retry button are visible again instead of sitting behind the spinner.
  • Fixed AI error messages being able to include your API key when a request failed.
  • Hardened the in-app checkout and billing portal so they only ever open genuine Stripe pages.
  • Conferencing sign-in links for Zoom, Google Meet, and others are now validated before they open.
  • Fixed an empty-state message in the Connections list rendering without a visible frame.
v1.3.51 September 5, 2026

A Launch Crash Fixed, and Tidier Settings Tabs

  • Fixed the app crashing on launch, and search failing, after a change to how the message list reads data from the server.
  • Fixed the Settings > Accounts sub-tab labels, including "Conferencing", getting clipped mid-word instead of shrinking to fit.
  • Fixed the Calendars and Tasks settings sub-tabs showing their sections in the wrong order.
  • Fixed the Accounts list opening the wrong account when a click started on one row and ended on another.
  • Fixed the launch screen's logo keeping its old color when you switched between light and dark mode.
  • Fixed the focus ring vanishing from toolbar buttons, such as in Compose, when a focused button redrew.
v1.3.50 August 29, 2026

A Smoother First Sign-In

  • Fixed signing in sometimes leaving you behind the subscription screen right after a successful sign-in, before your trial or license had finished activating.
  • Fixed a new install briefly showing the subscription lock screen before you'd had a chance to sign in and start your trial.
  • Fixed a vague error when a trial's one-device limit was reached — the sign-in screen now explains why, with a button to try again.
v1.3.49 August 28, 2026

A Rebuilt Accounts Settings, Working Service Tabs, and Chat Reconnect Fixes

  • Accounts settings is now a single scrollable list of every connected account — mail, chat, and calendar — each with a status dot, drag-to-reorder, and full keyboard navigation.
  • Click an account to open a detail view with its sync health, one-click fixes for problems like re-authorizing Gmail or reconnecting Slack, and separate Export, Delete Server Data, and Remove actions.
  • Calendars, Tasks, Chat, and Conferencing settings are no longer placeholders — each has working controls for connecting, disconnecting, and configuring the service.
  • Fixed reconnecting a chat workspace sometimes erasing its cached conversations, or losing the workspace entirely if the reconnect failed partway through.
  • Fixed the Reconnect button for Zoom doing nothing when clicked.
  • Fixed Cmd+4 through Cmd+8 opening the wrong Settings tab after the sidebar was reordered, and gave Learned Rules and Shortcuts their own numbers.
  • Paywall screens no longer lead with Subscribe for problems a purchase can't fix, such as a revoked license — they offer Contact Support or Recover License instead.
v1.3.48 August 27, 2026

Settings Reorganized, a Steadier Lock Screen, and Honest Paywall Copy

  • Settings is reorganized: Calendar and Combined Inbox moved out of the sidebar into new sub-tabs under Accounts, cutting the sidebar to nine entries.
  • Fixed several ways the subscription lock screen could be dismissed or fall out of sync — a sign-in prompt no longer tears it down, menu items stay disabled while locked, a lapsed license locks the app right away, and the app no longer flashes unlocked content at launch.
  • Fixed connecting a mailbox to an identity that already had a linked chat workspace, which could delete that workspace's synced conversations or leave a duplicate account behind.
  • Fixed Settings dropdown menus flashing when you picked an option, sizing raggedly, and opening panels that could overlap their own label.
  • Suspended-account screens now lead with Manage Account instead of another purchase, and their Contact Support link works.
  • Corrected inaccurate paywall copy, including a false two-device limit.
  • Fixed Settings toggles briefly showing the wrong on/off state after being flipped, and the Settings sidebar occasionally losing its selection highlight.
v1.3.47 August 26, 2026

Faster Account Switching, and a Refreshed Purchase Screen

  • Fixed Cmd+1–Cmd+0 account switching sometimes leaving the inbox permanently empty until new mail happened to arrive.
  • Fixed a signed-out or revoked account leaving you on a stale inbox with no prompt — you now get the sign-in screen every time, and stay on that account instead of being dropped.
  • Fixed a combined inbox sometimes showing mail from every account instead of only the accounts in the selected group.
  • Switching accounts and folders by keyboard is faster, removing a stall of up to a third of a second.
  • Refreshed the purchase and upgrade screens to match the rest of the app, with a centered card, corrected colors and pricing layout, and a Recover License link.
  • Fixed the purchase card's content getting pushed outside its frame, and a button on some license-problem screens that did nothing when clicked.
  • Signing an account out now clears its learned rules and correction history instead of leaving them active for the rest of the session.
v1.3.46 August 25, 2026

Steadier Launch, Reliable License Checks, and a Finished Paywall

  • Fixed launch sometimes failing to open the remembered account when its saved sign-in had been revoked.
  • Fixed the inbox briefly freezing while mail finished sorting, and a rare case where an old sorting decision could reappear after a relaunch.
  • Fixed Restore License and related checks occasionally failing with "Invalid or expired code".
  • The subscription paywall now appears for every locked license state, and properly blocks menu commands and keyboard shortcuts while it's up.
  • Fixed the quick-task keyboard shortcut not opening the Tasks tab unless Tasks was already open.
  • Fixed Settings occasionally showing a stray license key next to "No active subscription".
v1.3.45 August 24, 2026

In-App Subscriptions, Working Command Palette Rows, and Attachment Downloads

  • Subscribe from inside Hyperdrive: see current pricing with a monthly/annual toggle, pay in a secure window, and manage billing from Settings > Subscription.
  • A lapsed trial or license now shows a paywall with steps to recover an existing license by email.
  • Fixed dozens of command palette rows, menu items, and keyboard shortcuts that silently did nothing — Go to Inbox, jumping to any sidebar mailbox or label, Move to Vector, Move to Inbox from Trash, Star/Unstar, Report Spam, and switching calendar views with D, W, and M.
  • Added a View → Sort menu that shows the active sort order, and fixed the palette's "Sort by…" and "Filter by…" rows, along with the No Reply and New Messages filters.
  • Fixed Download All Attachments — it now saves every attachment from a thread into a folder you choose, renaming duplicates so nothing gets overwritten.
  • Added Reclassify Mail in Vector settings, with a confirmation dialog offering to redo AI sorting or reset everything to defaults.
  • AI settings now fetches the current model list from Hyperdrive's servers, so new models appear without an app update, and remembers the last list when you're offline.
  • Fixed a crash when opening Settings > Signatures, and fixed the scheduling-link editor discarding a custom duration, buffer, or timezone.
v1.3.44 August 23, 2026

A Sync Hang Fixed, and Cleaner Chat Replies

  • Fixed the app hanging when you pressed Sync All, because the sync work could end up running in the foreground instead of the background.
  • Fixed the formatting toolbar showing mail-only buttons, like fonts and colors, when replying to a chat message.
  • Fixed a brief flash of an oversized rectangle when opening the command palette and some other pickers.
v1.3.43 August 21, 2026

Thread Summaries in the Thread, List Actions, and Slack Fixes

  • The AI thread summary now lives in the thread itself, right above the message, and collapses out of the way.
  • Reply, Reply All, Forward, and Delete Draft now work directly from the thread list, without opening the thread first.
  • A new, consistent icon set throughout the app.
  • Fixed Slack conversations rendering as anonymous, unlabeled messages — sender names, reply counts, and presence dots now show correctly.
  • Fixed several chat-reply problems: outgoing Slack messages now keep their formatting, post from the right account, and queue for retry when you're offline.
  • Fixed "Move to… → All from this sender's domain" freezing the app for several seconds on large mailboxes.
  • Fixed a crash when opening a thread while its AI summary was still loading, and Archive doing nothing while an inline reply card was open.
v1.3.42 August 20, 2026

Calendar Unenrollment, a Line-Height Setting, and Blank-Body Fixes

  • The eye toggle on a calendar row in Settings > Accounts now fully unenrolls that calendar, removing it from the sidebar and from event sync, instead of only hiding it.
  • Added an email line-height setting in Settings > General.
  • Fixed some email bodies rendering blank except for a "…" toggle, caused by quoted history in Outlook-formatted messages.
  • Fixed the account storage line showing an impossible count, such as more saved conversations than the mailbox actually has.
  • Fixed Sync All skipping archived mail that looked already up to date.
  • Improved detection of sales and marketing email by measuring a message's real content and ignoring quoted replies and boilerplate.
v1.3.41 August 19, 2026

Account Colors Everywhere, and a Tasks Crash Fixed

  • Fixed a custom account color from Settings > Accounts not showing up everywhere — task dots, the account switcher, sidebar headers, and thread and search rows now all pick it up immediately.
  • Fixed a crash when opening the Tasks panel with a task belonging to a removed account.
v1.3.40 August 18, 2026

Create Labels from the Picker, Subject Reminders, and Sidebar Counts

  • Creating a label directly from the label picker now works — the label is created on the server and survives restarts and re-syncs, instead of showing a "not available yet" error.
  • Added a confirmation dialog, with a suggested subject, when you send a message with no subject.
  • Added a Settings option to show sidebar label and tab counts as unread or total messages.
  • Fixed Tab and arrow-key navigation not working in the date picker when scheduling a send or a reminder from Compose.
  • Fixed banner keyboard shortcuts firing when no banner was on screen.
  • Redesigned the milestone celebration message to match the app's standard notice banner.
v1.3.39 August 17, 2026

Faster Launch, Reliable Escape Keys, and a Fixed Preview Crash

  • Fixed inbox classification stalling the launch screen for a long stretch when your network connection is slow or drops out.
  • Fixed the launch progress counter sitting at zero for the whole scan, then jumping straight to done.
  • Fixed Escape not closing the AI rewrite panel, the link editor, and a few other dialogs that previously ignored the key.
  • Fixed a crash that could happen when reopening an attachment preview.
v1.3.38 August 15, 2026

Safer Attachments, Smarter Model Downloads, and Full-Screen Composer Shortcuts

  • Attachments are now checked before you can open them, so a malicious file triggers the normal security prompt instead of running silently.
  • The AI model Hyperdrive downloads during onboarding now sizes itself to your Mac's available memory instead of ignoring it.
  • Fixed keyboard shortcuts — Send, Send Later, Bold/Italic/Underline, Reply, Delete, and Share — not working while the composer was full screen; only the toolbar buttons worked before.
  • Fixed Esc closing the entire composer instead of just dismissing the recipient suggestion list.
  • Fixed N and P not moving you between messages in an open thread.
  • Fixed undo after a sender sweep sometimes leaving some archived threads un-restored.
  • Fixed a sender sweep issue where a specially formatted sender address could archive threads beyond the ones you meant to sweep.
v1.3.37 August 14, 2026

Attachment Actions, Quick Look Previews, and Streamlined Banners

  • Click an attachment to open it, or choose Save to send it straight to disk with a standard save panel.
  • Preview attachments right from the message with Quick Look, without leaving Hyperdrive.
  • Attachments that don't show inline now appear as chips on the message so you can always find and act on them.
  • The Unsubscribe and image-blocking banners are now a single compact row, with Trust sender, Trust domain, and other options tucked behind a gear menu.
  • Mark Read / Mark Unread in the command palette now always matches the selected thread's actual state, and works from the inbox too.
  • Fixed the Quick Look preview panel occasionally freezing at the wrong size or staying hidden when reopened right after closing.
v1.3.36 August 13, 2026

Block an Entire Domain, and a More Honest Sync

  • Block an entire domain in one action, from the command palette, the Message menu, or the sender's own block menu. Every message from that domain sweeps away together, and undo reverses the whole thing at once.
  • The block and unsubscribe pickers now show how many emails you'd be affected by, and you can type part of a name or domain to filter the list.
  • On a fresh account, sync now shows real progress ("142 of 2,474") from the first few seconds instead of sitting on "Warming the onboard models…" for over a minute.
  • Fixed pressing T to toggle a message's read state crashing the app.
  • Fixed dismissing certain notice banners, including the onboarding tutorial's Skip button, crashing the app.
v1.3.35 August 12, 2026

Block and Unsubscribe Picker Cards, Mailbox-Wide Sender Sweeps, and Self-Correcting Learned Rules

  • Press B on a thread to open a Block Sender card, or U to unsubscribe — each offers a plain action, action plus archive this thread, action plus archive everything from that sender, or always do this from now on.
  • New Privacy settings let you skip the confirmation card entirely, so unsubscribe or block happens immediately every time.
  • "Archive all from sender" now clears every message from that sender out of your inbox, including mail not yet synced to this device, and undo brings all of it back in one step.
  • Learned rules that keep getting corrected now retract themselves automatically, and rules that conflict with another category relocate instead of duplicating — either way you'll see a toast, with undo available for relocations.
  • Fixed a couple of keyboard shortcuts sometimes triggering the wrong action, including Tab misbehaving in the thread list when a banner was on screen.
v1.3.34 August 11, 2026

Multi-Account Accuracy Across the App and More Reliable Send Confirmation

  • Search, Activity, Drafts, the folder sidebar, Scheduled sends, and a contact's recent conversations now cover every account you have visible, not just whichever one happens to be active.
  • Compose automatically preselects the correct sending account in the From picker.
  • Delivery records for sent messages now stick around well over a year instead of aging out after a week, so a scheduled send that goes out while your laptop is closed for a while no longer gets mistaken for undelivered.
  • Fixed the thread list, contact card, calendar day markers, and event RSVP pills not staying accurate when you have more than one account in view.
  • Fixed Hyperdrive reporting a scheduled message as failed when it had actually just lost track of whether it sent; it now says it couldn't confirm the send instead, and points you to the saved draft.
  • Fixed disconnecting an account leaving its sign-in session active.
v1.3.33 August 10, 2026

Combined Inboxes, Group Management, and View Switching

  • Group any of your accounts into a single Combined Inbox. Create, rename, and drag-reorder your groups from a new Combined Inboxes tab in Settings.
  • Add or remove accounts from a group right in Settings. A group always keeps at least one member, and you can't add the same account twice.
  • Flip between your individual accounts and a combined view with Cmd+`, or jump straight to a specific combined inbox from the command palette.
  • Unread counts, contacts, calendar, snippets, reminders, and recipient autocomplete all now reflect every account in a combined view, not just one.
  • Sending, filing, and sorting mail in a combined inbox now always credits the right underlying account, and corrections you make to how mail is sorted stay attached correctly even when you're viewing a combined inbox.
v1.3.32 August 9, 2026

Sign-Out, Workspace Cleanup, and Account Security Fixes

  • Fixed sign-out leaving some queued actions active, so an archive or a Slack message could still go out after you'd already signed out.
  • Fixed sign-out not revoking your Slack authorization along with everything else.
  • Fixed removing a Slack workspace leaving its cached messages, threads, and channels behind instead of clearing them completely.
  • Fixed account removal finishing even when its data cleanup failed, which could leave orphaned data with no way to reach it again.
  • Fixed a security issue where an email address you'd verified with Google could still be claimed by an unrelated trial license.
v1.3.31 August 8, 2026

Practice-Run Composing and an Auto Draft Shortcut

  • The practice run now teaches composing, not just triage. After the triage keys, it walks you through drafting a reply, rewriting it, arming a compose reminder, and sending — all in the real composer.
  • Auto Draft now has a keyboard shortcut: Cmd+Shift+D.
  • Fixed account email addresses being written to the system log, where other apps on your Mac could read them.
v1.3.30 August 7, 2026

Combined Inboxes, Cross-Account Sync, and Reliable Header Parsing

  • Combine several accounts into a single named inbox, with a tab for each account inside it. Switch to it from the command palette or with Cmd+1–Cmd+0, and it's exactly where you left it next time you launch.
  • Combined inboxes carry across your Macs, the same as the rest of your account list.
  • Mail sync, calendar events, and spam learning now cover every account showing in a combined inbox, not just whichever one happened to be active last.
  • Fixed archive, trash, star, move, and mute failing and retrying forever on non-Google accounts.
  • Fixed a thread losing its AI category when you moved it to another folder.
  • Fixed some incoming mail showing a blank sender or subject, and inline images not appearing, due to inconsistent header parsing.
  • Fixed unsubscribe sometimes sending from the wrong account.
  • Fixed a rare crash on quit.
v1.3.29 August 6, 2026

Account Health Status, Instant Account Switching, and Reply-All by Return

  • Settings > Accounts now shows each account's health, flags a sync that's stalled or being repeatedly refused, and offers a one-click fix plus a cancellable Sync All.
  • Switching to an account you've already been using is instant now — the account you're viewing always finishes syncing first.
  • Press Return inside an open thread to jump straight to Reply All.
  • Important notices, like a failed scheduled send, now show as a bold banner you can't miss instead of a quiet pill.
  • Fixed a crash when signing out of or switching between accounts.
  • Fixed the account-deletion confirmation email going to the wrong address.
v1.3.28 August 5, 2026

Disconnected Account Recovery, Steadier Scheduled Sends, and Sync Fixes

  • A disconnected account now shows up greyed out in Settings > Accounts with Reconnect and Remove actions, instead of vanishing with no way back in.
  • Send Later dims when it can't reach the scheduling service, so you're not left waiting on a send that has nowhere to go.
  • You'll get a notice if a scheduled send ultimately fails and won't be retried, instead of only finding out from the recipient.
  • Fixed scheduled sends dropping their attachments when they went out while your Mac was asleep.
  • Fixed Combined Inbox turning back on after relaunch when you'd switched it off with a keyboard shortcut or the account switcher.
  • Fixed some mail syncs failing outright when Gmail stumbled on part of a batch, instead of keeping what had already downloaded.
  • Fixed the unread dot in the thread list overlapping the start of the sender's name.
v1.3.27 August 4, 2026

Keyboard Practice Onboarding, Automatic Reconnect Prompts, and Switch to Account

  • Onboarding now includes a hands-on keyboard shortcut practice: work through a live example inbox to get comfortable with Hyperdrive's shortcuts before using them for real.
  • When an account needs you to sign back in, Hyperdrive now raises the sign-in panel for you automatically. Choose "Don't Reconnect" to disconnect that account instead, or reconnect it later and it comes back right where it was.
  • Switch to another connected account straight from the command palette, once you have more than one account connected.
  • The sidebar now shows a clear placeholder instead of a blank line for a folder or account section with nothing in it.
  • Fixed Combined Inbox turning itself off every time you launched Hyperdrive.
  • Fixed the "Connect Your Account" panel staying on screen after a newly added account finished signing in.
  • Fixed malformed email addresses being accepted when composing, replying, or resuming a draft.
v1.3.26 August 3, 2026

Multi-Account Switching, a Sectioned Combined Inbox, and Drag-to-Reorder Accounts

  • Switch straight to any account with Cmd+1 through Cmd+0, or cycle through all your accounts and All Inboxes with Cmd+` (Cmd+Shift+` to go back). The account switcher opens as its own floating panel.
  • All Inboxes now groups your system folders together up top, then sections your labels by account, each with its own color-coded dot so you can tell at a glance which account a label belongs to.
  • Drag account cards in Settings to put them in whatever order you like. New accounts you add land at the end of the list.
  • Ten distinct account colors, up from five, so accounts stay easy to tell apart even with a full list.
  • Fixed Reply, Reply All, and Forward sometimes sending from the wrong account when a thread involved more than one of your addresses.
  • Fixed initial sync getting stuck after a failed attempt instead of retrying automatically.
v1.3.25 August 1, 2026

Combined Inbox Goes Fully Multi-Account

  • Combined Inbox now syncs and classifies every connected account at once, instead of only the one you're currently viewing.
  • Refresh (Cmd+R) now updates every connected account when Combined Inbox is on.
  • If adding, removing, or reauthorizing an account fails, you'll now see a message instead of the action silently failing.
  • Fixed threads, folders, and unread counts flashing incomplete or re-sorting while an account was still catching up, in both Combined Inbox and single-account view.
  • Fixed a brief flash of your inbox before the welcome screen appeared on a freshly installed copy of Hyperdrive.
  • Fixed the sign-in screen's sizing being inconsistent with the rest of the welcome flow.
  • Fixed a rare case where specially crafted styling in an email could bypass image- and font-blocking protections.
v1.3.24 July 31, 2026

A Refined First-Launch Opening and Trustworthy Sign-Out

  • The very first screen you see now plays a proper opening: a brief pause before the brandmark animates in, distinct from the animation you get on later launches.
  • Sign-out now tells you if it didn't fully complete instead of reporting success while the account is still connected on the server.
  • The classification and tracking consent screens each got their own icon.
  • Fixed quitting onboarding before finishing sign-in leaving behind partial progress that caused the opening to be skipped on your next launch.
  • Fixed the command palette's arrow keys and Return occasionally not responding.
  • Fixed replying on a long-running thread sometimes addressing the wrong message.
  • Fixed calendar invite actions showing a generic error instead of the actual problem.
  • Fixed account deletion not fully removing an associated license binding, and data export now refuses to complete rather than produce an incomplete file.
v1.3.23 July 30, 2026

Video Calls in Calendar Events, Protected RSVPs, and Safer Booking Links

  • Add a video call to any event right from the editor. Hyperdrive only offers the services your account can actually use, and fetches or creates the join link automatically.
  • If a link isn't ready yet, the event shows as pending and fills in the join details as soon as it's available — no need to touch it again.
  • Connect a conferencing account once, then join its calls from any of your other linked accounts.
  • Calendar invites now show which video service a meeting uses instead of hiding it.
  • Fixed guest RSVP responses getting cleared when you made an unrelated edit to an event.
  • Fixed a video-call connection that could show as connected when it wasn't, leaving invites with no working join link.
  • Fixed a booking link tied to more than one account being accepted instead of failing safely.
  • Fixed calendar sync skipping an event it couldn't process instead of retrying it later.
v1.3.22 July 29, 2026

A Complete First-Run Setup Flow, with Progress Dots

  • First-run setup now walks new accounts through one complete flow — turning on AI features, signing in, and choosing your tracking and classification preferences — instead of stopping partway.
  • A row of progress dots shows how many setup steps are left as you go.
  • Fixed existing accounts being sent back through the entire first-run setup after an update and asked again for consent they had already given.
  • Fixed turning on AI features overriding a provider you had already configured, like Anthropic or OpenAI, switching you back to the built-in model.
v1.3.21 July 28, 2026

One Undo System, Searchable Pickers, and an Inbox-Ready Notice

  • Undo now covers far more: un-trashing, un-muting, moving a thread, applying a label, sending, unsubscribing, a learned rule, a tracking-scope change, and an RSVP can all be undone with the same shortcut.
  • Move to folder, Label, View Original, and tracking-scope pickers now open on the same searchable card as Send Later and Remind Me.
  • A notice tells you your inbox is ready right after launch or switching accounts.
  • Fixed a security issue where a specially crafted reply could sneak a hidden recipient onto your outgoing message.
  • Fixed turning off tracking for a recipient or domain not actually stopping their tracking beacon on your next email, and those settings sometimes sticking around after you signed out of the account.
  • Fixed the command palette not focusing its search field when it opened, Enter not confirming the highlighted row, and Escape closing the whole palette instead of stepping back out of a submenu.
  • Fixed not being able to type "j" or "k" while searching in any picker, and unblocking a sender not taking effect if you did it right after blocking them.
v1.3.20 July 27, 2026

Never-Track List, Consistent Pickers, and Private Image Loading

  • Manage your never-track list in Privacy settings. Anyone on it stays untracked, including on scheduled sends.
  • Send Later, Remind Me, Labels, Move to folder, and View Original all open as the same centered card now, and cancelling one takes you back to the command palette.
  • Threads tell you how many trackers were blocked.
  • Un-archive is a real action you can run on any thread.
  • Remote images load through Hyperdrive instead of the browser engine and are cached so they appear instantly next time. The cache is readable only by you.
  • Timestamps update right away when you switch between 12- and 24-hour time.
  • Fixed a scheduled send leaving the composer open, Send Now not sending, undo not fully reversing a send, and reopening a draft blanking it.
v1.3.19 July 25, 2026

Drag-and-Drop Attachments, a Resizable Composer, and Full Activity History

  • Drop a file on the composer to attach it. Labeled targets show whether it lands as an attachment or inline in the body.
  • Drag the composer's top edge to whatever height you want, and it stays there until you change it.
  • Activity now scrolls back through an account's entire history, loading more as you go, and refreshes the moment you launch or switch accounts.
  • Stop tracking a single recipient, a whole domain, or an email you already sent.
  • Fixed attachments failing to send.
  • Fixed the composer never reopening after you collapsed it out of full screen, and a faded draft card swallowing clicks meant for the composer.
  • Fixed a reply going to the wrong message, and a deleted draft coming back.
v1.3.18 July 24, 2026

Draft Card, Scheduled Folder, and Tracking Controls

  • Your unfinished message now sits in a card at the bottom of the thread. It slides open into the composer and back, and has its own Trash button.
  • Scheduled messages wait in a Scheduled folder instead of cluttering Drafts, and the draft clears itself once the message goes out.
  • Turn read receipts and link tracking on or off from the command palette or Privacy settings.
  • Read a sender's mail exactly as they sent it, every time. Choose View Original for one thread or for that sender from then on.
  • Deleting your account now takes an emailed confirmation before anything is removed.
  • Light mode was retuned so the reading pane and side pane are easier on the eyes.
  • Fixed Archive, Trash, and Mute acting on the wrong thread while a message was open, and New Message not opening after an abandoned draft.
v1.3.17 July 23, 2026

One-Click Unsubscribe, Image Blocking, and View Original

  • Unsubscribe from a mailing list in one click. A banner at the top of qualifying emails unsubscribes you, then archives the thread and blocks the sender so it stays gone.
  • Block remote images by sender. When an email loads tracking images, a banner lets you load them once, always for that sender, or never.
  • See any email exactly as it was sent. Press D on a thread to toggle View Original and read the raw, unstyled message, then toggle back.
  • Drafts are clearer in your lists. Unfinished messages show a "[Draft]" tag in the thread list and search, and composing no longer bumps a thread to the top.
  • Sign back in cleanly when a session expires. Hyperdrive now recognizes an expired sign-in, says so plainly, and walks you through re-authorizing.
  • Fixed incremental sync dropping or misparsing some newly arrived mail.
v1.3.16 July 22, 2026

Readable Dark-Mode Email and RSVP Reliability

  • Dark-mode email is easier to read. Body text was lifted out of a too-dim grey, and each message keeps its own formatting on its own card.
  • RSVPs are more reliable. Your response sends through the account's own provider, saves once, and the banner shows when a reply hasn't gone through yet.
  • The side pane grows with your window. The widget pane and its tabs now expand and space themselves evenly as you resize.
  • Fixed several dark-mode cases where message backgrounds or images washed out the text.
v1.3.15 July 21, 2026

Meeting Invites in the Thread, Dark-Mode Fixes, and Full-Screen Compose

  • Calendar invites show a banner right in the thread. Accept, decline, or open the event without leaving the email, read straight from the invitation.
  • Dark mode reads correctly across more emails. Link colors, backgrounds, low-contrast text, and embedded images are handled so nothing disappears against a dark background.
  • Reply full-screen when you want room. The composer gained a full-size toggle and can host a live reply or forward draft.
  • The quoted original is editable and collapsible. Reply quotes seed into the editor as a block you can trim or expand instead of being tacked on at send.
  • Resume a draft exactly where you left off. Drafts reopen by their own identity, including threaded reply and forward drafts.
  • Fixed a flash where a thread briefly showed the previous email before painting.
v1.3.14 July 20, 2026

Auto Draft, a Tasks Panel, and a Reading Gutter

  • Let AI draft your reply. Auto Draft reads the thread and writes a reply in your voice, with a waiting indicator while it works, ready for you to edit and send.
  • Drafts stay in sync. Drafts you edit or delete elsewhere are reconciled on sync, and empty drafts are kept out.
  • A new Tasks panel. Track tasks in a dedicated side panel alongside your mail.
  • A reading gutter for a narrower column. A collapsible left panel lets you tighten the reading width for long messages.
  • The thread header is cleaner. The action bar folded into the subject row with smaller glyphs.
v1.3.13 July 19, 2026

AI Reasoning Controls and Scheduling Link Polish

  • AI features are tuned per task. Thread summaries run faster with reasoning off, while compose and classification keep it on for accuracy.
  • Thread summaries are terser. The summary prompt drops boilerplate and keeps a tight history.
  • The scheduling link editor matches the event panel. Creating and editing links now share the same clean layout.
  • Reminders return you to the top of the inbox. Restored the original behavior where a reminder leaves the inbox and comes back on top.
  • Fixed a crash on quit during shutdown of the on-device AI engine.
v1.3.12 July 18, 2026

Drag to Edit Calendar Events and AI Rewrite Polish

  • Create and edit events by dragging on the calendar. Drag on the grid to create, drag to move, and drag an edge to resize — on timed events, all-day rows, and the month view.
  • The AI Rewrite panel gained a real editor. Rewrites open in a live, editable box you can undo in one step, with clear keyboard focus.
  • The inline reply card is a proper floating card. It sits as a bounded card whose height grows elastically as you type.
  • The event detail view was reorganized. Edit and Delete moved to clearer spots and the panel reads as a single tidy column.
  • Fixed the calendar grid dragging the whole window on press-and-hold.
v1.3.11 July 17, 2026

Drag Images Into Your Message and Smart Event Titles

  • Drop an image straight into your message to embed it inline. Drag a photo onto the Composer and the drop zone splits so you can choose to attach it or place it inline in the body, whichever half you release over.
  • Inline images just work, whatever the format. HEIC, TIFF, and similar formats are converted automatically when you drop them in, and if one can't be converted it falls back to an attachment with a heads-up.
  • Events suggest their own title. As you fill in an event, Hyperdrive offers a smart title suggestion you can accept or dismiss from the keyboard.
  • Fixed the event editor's tab order to follow the two-column layout, and tidied the AI settings model rows so labels sit left and buttons line up flush right.
v1.3.10 July 16, 2026

Redesigned Event Editor and a Downloadable AI Model Library

  • The event editor was redesigned into a clean two-column form. Calendar, Recurrence, and Location are always visible, the all-day toggle now sits on the Title row, and viewing and editing an event share the same tidy layout.
  • Bring your own AI, with models you can download on device. The AI settings tab now includes a model library with clear download progress, plus proper dropdowns for choosing your provider and model.
  • Small polish: the sync confirmation emoji is now centered on the sync dot.
v1.3.9 July 15, 2026

Remind Me Everywhere, Drag-to-Attach, and Bring Your Own AI Key

  • Set a Remind Me on a brand-new message, not just replies. The reminder arms the moment you pick it, rides along when the message sends, and cancels itself if you discard the draft.
  • Schedule and reminder chips each get their own cancel button. When a message has both a scheduled send and a reminder, they show as two separate chips you can cancel independently.
  • Drag files onto the Composer to attach them. Drop one or more files directly on the compose card and they're added to your message.
  • Bring your own AI provider key. A new AI settings tab lets you choose your provider and enter your own API key, stored securely.
  • Snooze is now part of Remind Me. Snoozing and reminders were merged into one simpler system, so there's a single way to bring a thread back when you want it.
  • Event notes gained a taller two-line field, with a paperclip button to attach files right from the editor.
v1.3.8 July 14, 2026

AI Rewrite, Richer Calendar Events, and Scheduled Send Chips

  • Rewrite your draft with AI. A new Composer panel rewrites selected text and lets you steer the result by tone, with full keyboard control for cycling fields and stepping through tones.
  • Choose your AI provider. Hyperdrive now runs AI features through a provider you select, and switching providers takes effect immediately on your next request.
  • Calendar events gained real depth. Events now support all-day toggling, precise start and end times, time zones, availability and visibility settings, reminders, and attachments — on both the events you create and the ones you sync.
  • New Calendar settings tab. Set your default event duration once and every new event picks it up.
  • Scheduled sends show a chip in the Composer. When a message is queued to send later, a chip displays the scheduled time and cancels the send when clicked.
  • Recipient chips toggle on click. Click a chip to swap between a contact's display name and their email address.
  • Fixed daily celebration photos being downloaded larger than needed, and kept the celebration on screen when you re-enter quickly.
v1.3.7 July 13, 2026

Link Previews, Consistent Lists, and Composer Polish

  • See where a link goes before you click. Hovering a link in the Composer now shows a popover with its destination address.
  • Every list in the app now behaves the same. Date presets, contact suggestions, dropdowns, and the schedule picker all share one list foundation, so selection, hover, and scrolling feel identical everywhere.
  • Recipient chips show contact names. Chips now display a contact's display name instead of a raw address, with labels optically centered.
  • Insert Link moved to Shift+Cmd+K to free up its previous shortcut.
  • Hover behavior is more precise across dropdowns and contact suggestions, and rows now show a proper cursor.
  • Fixed a list cursor flicker, keyboard hint bar spacing, and your text selection and focus not returning after the link sheet closes.
v1.3.6 July 12, 2026

New Dropdowns and a Cleaner Date Picker

  • Dropdowns are new across the app. They are fully keyboard navigable, respond to hover on both label and chevron, and size themselves to their content.
  • The Send Later and Remind Me picker was redesigned. The date input and condition controls were rebuilt, spacing and dividers were corrected, and the wording reads properly now.
  • Panel styling is consistent app-wide. Every floating panel, palette, and picker now draws from one shared set of styling rules.
v1.3.5 July 11, 2026

Send Later, Remind Me, and a Fuller Accounts Tab

  • Schedule a message or set a reminder from the Composer. A new picker lets you send later or remind yourself, including conditional reminders.
  • Reminders that fire only if no one replies. Schedule a follow-up and it cancels itself automatically when a recipient replies first.
  • Resume a draft straight from the thread. Pending sends and drafts now appear inline in the conversation, and clicking one reopens the Composer where you left off.
  • The Accounts tab does much more. Pick a color per account and per calendar, see your calendars nested under the account they belong to, and connect or disconnect Slack workspaces and Zoom.
  • Lists follow your cursor. The date picker, recipient suggestions, and command palette now scroll to keep the selected row in view, including when opened mid-list.
  • Buttons are consistent app-wide, and recipient fields now show placeholder text.
  • Fixed crashes when dismissing the schedule and snooze pickers, a Remind Me shortcut that did nothing, and drafts losing their conversation on autosave.
v1.3.4 July 10, 2026

Text Color, Links, Account Management, and Instant Theming

  • Color your text. A swatch picker sits under the paint palette button in the Composer, and the button's dot reflects the color at your cursor.
  • Insert and edit links properly. A new link sheet applies to your selected text and lets you edit an existing link in place.
  • The Accounts tab was rebuilt. Accounts are grouped by provider with connection badges, shortcut hints, and working Add and Remove actions.
  • Reconnecting a disconnected account now just works. If a provider revokes access, Hyperdrive flags that account, offers a clear re-authorize action, and picks your mail back up afterward without a full resync.
  • Signing out fully clears your data. Sign-out now revokes access, ends the session, and purges that account's local data in order.
  • Theme changes apply everywhere, instantly. Switching palettes or typography now repaints every surface in the app at once, with no stale colors left behind.
  • Security hardening across sign-in and account data handling.
  • Fixed the After Archive dropdown clipping and lagging, the Composer caret not blinking when refocused, numbered and bulleted list styling in the editor, and floating panels flashing or landing off-center.
v1.3.3 July 9, 2026

Collapsible Calendar Sections, Compose Reliability, and Sync Status Polish

  • The calendar sidebar is now collapsible. Calendars and Scheduling Links each have reusable disclosure headers, smooth open/close animation, and their expanded state is remembered between launches.
  • Keyboard control added for calendar sections. You can toggle the sidebar sections from the keyboard, with layout and animation routed cleanly through the shared app model.
  • Compose autosave and focus behavior tightened up. Draft autosave now runs through the main-thread dispatcher seam, recipient data is serialized correctly, and focusing the editor places the caret at the end of your existing text.
  • Status bar sync feedback is clearer. Sync now shows distinct Synced, Syncing, Offline, and Error states, including a per-poll spinner signal while background work is active.
  • Multi-account visuals are more stable. Each account now gets its own color slot at sign-in, and older accounts are backfilled automatically so account colors stay distinct.
  • Settings and build polish. Fixed the General settings appearance section collapse behavior, corrected light-mode recoloring there, restored the Hyperdrive app name and icon in the active Mac build, and persisted the OAuth URL scheme in project generation.
v1.3.2 July 8, 2026

Scheduling Link Editing and Calendar Sync Reliability

  • Edit scheduling links from the list. The pencil icon opens the editor prefilled with the link's current settings, and saving updates it in place instead of creating a new one.
  • Confirmation dialog before deleting a scheduling link. A new reusable confirmation overlay asks you to confirm before the link is removed.
  • Fixed calendar sync. A pagination bug was causing full calendar refreshes to fail with a server error; incremental sync is enabled again too.
  • Scheduling credentials now provisioned securely at app launch, stored in the protected keychain instead of being created the first time you open the editor.
  • Account activation now waits for valid credentials, preventing an account from silently ending up signed out after launch.
  • Scheduling link rows polished. Copy button shows a "Copied" confirmation, title and duration text centered, hover-brighten effect on row and mini-calendar icons.
  • Fixed a bug where clicks could pass through overlay panels to the content underneath.
  • Compose change-tracking consolidated onto a single internal driver, closing a class of stale-refresh bugs.
v1.3.1 July 7, 2026

Scheduling Link Editor and Calendar Sidebar Polish

  • Create and edit scheduling links right in the app. Set duration, buffers, timezone, conferencing, and a custom availability grid for each link.
  • Your scheduling links list now updates instantly after you create, delete, or sync a link.
  • Fixed a crash that could happen when opening the scheduling link editor.
  • Fixed an error creating a scheduling link when its name matched one you already had.
  • The calendar sidebar's Agenda view keeps the current day's header visible while you scroll.
  • Calendars and Scheduling Links lists now scroll in their own space instead of pushing the rest of the sidebar around.
  • Renamed sidebar tabs for clarity: "Events" is now "Agenda" and "Info" is now "Contact."
  • Bigger, easier-to-use navigation arrows and Today button on the mini calendar.
v1.3.0 July 6, 2026

Feature Complete: Calendar, Compose, and Settings Integrated

  • Calendar fully merged. Read and write events, manage recurring meetings, RSVP from email. Desktop parity complete.
  • Compose feature parity shipped. Inline replies, attachments, text formatting, snippets, hyperlinks, send-later scheduling.
  • Settings parity complete. All 8 tabs functional: General, Privacy, Accounts, Shortcuts, Signatures, Vectors, Appearance, About.
  • Classification tuned for production. k-NN parameters frozen for pitch detection accuracy after full corpus evaluation.
  • Tier-1 marketing tightened. Expanded vocabulary and sender analysis reduces false positives in Marketing lane.
  • Major version bump: all major features now integrated and working together. v1.3 marks feature completeness.
v1.2.35 July 5, 2026

Text Measurement and Font Consistency

  • Honest text measurement throughout. Labels now measure accurately including font spacing and kerning.
  • Text measurement via C++. All measurements computed consistently through one system.
  • Font roles unified. Contact info, buttons, labels all use theme-defined fonts instead of hardcoded.
  • Search overlay styled. Chrome and copy routed through C++ color roles.
  • Calendar labels measured correctly. Event times and period labels no longer overlap or clip.
  • Contact panes consistent. All contact information fonts resolved from theme.
  • Action bar polished. Button spacing and sizing matches original design.
v1.2.34 July 4, 2026

Baseline Classification Model Updated

  • Baseline corpus rebuilt with hand-curated examples. 200 pitch email samples ensure out-of-box accuracy.
  • Marketing and pitch detection focused. Model trained specifically on these two categories for best real-world performance.
  • Better day-one classification. Fresh installs get improved categorization from the start.
v1.2.33 July 3, 2026

Move-to-Vector Scope and Agent Integration

  • Move emails between categories with scope options. Move just this sender, or all similar emails, or just this thread.
  • Agent tool integration. AI can now move emails to categories when you ask.
  • Shared vote on sender scope. When moving by sender, all connected devices learn the same rule.
  • Toast batching optimized. Multiple corrections batched into single notification.
  • Learned rules reconciliation. Configuration saved safely without overwriting concurrent changes.
  • Duplicate rules prevented. Sender and domain rules deduplicated automatically.
  • Account switch safety. Learned rules remembered correctly when switching between accounts.
v1.2.32 July 2, 2026

Learned Rules Settings and Toast Undo

  • Learned Rules settings tab. Manage all your custom classification rules in one place.
  • Rule deletion with keyboard. Delete learned rules using Delete key or click.
  • Toast Undo available. Press Z to undo while a notification is showing.
  • Undo renders in status bar. Visual indication that you can undo the last action.
  • Classification moves via FFI. Move emails between categories through system calls.
  • Bulk category operations. Move multiple emails at once to a new category.
  • Scoped moves. Move only specific email selections without affecting rest of inbox.
v1.2.31 July 1, 2026

Classification Tier-1 Refactor and Pattern Learning

  • Classification predicates unified. Rule-based classification consolidated into single system for clarity.
  • Warm domain as deciding rule. Emails from known contacts prioritized even if content looks like marketing.
  • Pattern overrides learned. User corrections teach the app to override automatic decisions.
  • Relationship scoring enhanced. Behavioral signals (quick replies, starred, marked important) now improve contact ranking.
  • Decision trace recorded. System logs why each email was categorized for debugging and improvement.
  • Relationship aggregator runs in background. Scoring computed during idle time instead of blocking user actions.
  • Database migration 28. Schema updated with new classification fields and decision tracking.
v1.2.30 June 30, 2026

Live Learning and Corpus Seeding

  • Live corpus seeding. App learns from emails as you read them, improving classification in real time.
  • Exemplar source tracked. System remembers whether a classification came from AI, user feedback, or baseline.
  • Background seeding sweep. Classification model improves in background without blocking user actions.
  • Corpus capacity managed. Keeps training data bounded at 500 examples per category.
  • Classification progress shown. Launch overlay displays progress while initial AI analysis runs.
  • Sender deduplication. Similar emails from the same sender use single example instead of duplicates.
  • Embedding text budgeted. Text for AI analysis capped at 1024 characters to manage performance.
v1.2.29 June 29, 2026

Semantic Corpus and Embedding Improvements

  • Tier-2 baseline corpus shipped. Out-of-box semantic classification knowledge included in app download.
  • Embedding text normalization. Text prepared consistently before AI analysis for better accuracy.
  • Duplicate exemplar suppression. Similar training examples deduplicated to improve classification speed.
  • Cached embeddings invalidated properly. When text processing changes, cached results refreshed automatically.
  • HTML entity decoding via Engine. Consistent entity handling across email parsing.
  • Corpus diagnostic tools. Built-in tools for analyzing and debugging classification data.
  • Secondary branch merged. Major features from secondary-fresh branch integrated to main.
v1.2.28 June 28, 2026

Receipt and Transaction Detection Improvements

  • Better receipt detection. Emails that are text-only or use images for receipts now recognized correctly.
  • Currency detection added. Euro and pound amounts recognized alongside dollar signs for receipt verification.
  • Shipping and travel vocabulary expanded. More keywords and variations recognized for accurate categorization.
  • Refund detection. Classified transactions no longer include refund emails in the Transactions category.
  • Delivery failure handling. Bounce messages from mail servers routed to Priority inbox.
  • Nextdoor recognition. Community notifications classified as Social correctly.
v1.2.27 June 27, 2026

Inbox Zero Celebration and Social Platforms

  • Inbox zero celebration merged. Reaching empty inbox now triggers a fun celebration screen.
  • Social platform detection expanded. Recognizes dating, social media, and event platforms worldwide.
  • Localized social notifications. Platform notifications translated for international users.
  • Marketing classification refined. Real emails no longer misclassified as marketing if they contain event or policy information.
  • Social tabs visible by default. Social category tabs now show unless explicitly hidden.
  • Calendar pane grows. Agenda section expands to fill available space on wider screens.
  • Calendar container colors themed. Calendar widget respects the app color scheme.
v1.2.26 June 26, 2026

Security Hardening and Status Bar Polish

  • URL validation for safety. Contact photos and meeting links validated to prevent phishing.
  • CSS injection blocked. Email styles sanitized to prevent overlay attacks via CSS.
  • Cross-account data protection. Scheduling and snippets scoped to prevent accidental data leak between accounts.
  • Sync indicator flicker fixed. Progress indicator no longer flashes unnecessarily.
  • Status bar reactive. Left and right zones now react to sync and account state changes.
  • Newsletter classification tightened. Bulk mail and newsletters more accurately categorized.
  • Travel keywords gated. Calendar event classification uses travel provenance for accuracy.
v1.2.25 June 25, 2026

Compose Attachments and Text Formatting

  • Attachments in compose. Add and remove files before sending. File list shows sizes and names.
  • Snippet autocomplete. Type a snippet shortcut and the full template auto-fills.
  • Hyperlink editor. Click to add or edit links in your message. URL normalization built-in.
  • Text color palette. Select from predefined text colors that match the app theme.
  • Formatting toolbar. Bold, italic, underline, and lists appear as an easy-access panel.
  • SendLater integration. Scheduled sends include attachments correctly when they fire.
  • Classification offline. Email categorization works even without network access.
v1.2.24 June 24, 2026

Inline Compose and New Message Card

  • Reply inline in thread. Compose reply and forward messages directly at the bottom of the thread view.
  • New message as overlay card. Composing a new email now appears as a centered card instead of opening a separate window.
  • Compose layout tokens. Buttons, text, spacing, and colors all from theme system for consistency.
  • Attachment sizes formatted. File sizes display as readable labels (e.g., "2.5 MB") instead of raw bytes.
  • Plain text email fallback. Emails that are only plain text render correctly without HTML rendering.
  • Thread header collapse fixed. Thread headers now properly collapse and expand when opening messages.
  • Icon sizing consistent. Text and icons properly spaced in headers and buttons.
v1.2.23 June 23, 2026

Classification Learning and Calendar Features Merged

  • Out-of-box classification knowledge. App ships with baseline email categories pre-trained so classification works immediately on first use.
  • User feedback improves classification. Your manual category choices teach the AI to improve its own predictions.
  • Crowdsourced learning loop. Anonymous feedback helps the baseline model improve for everyone.
  • Calendar CRUD features merged. Full calendar read/write support now in main build.
  • Settings parity complete. All settings tabs now feature-complete and merged.
  • Layout migrations to C++. More UI layout now computed by the core engine for consistency.
  • Schema update. Database upgraded to support thread summaries.
v1.2.22 June 22, 2026

Calendar Event Viewing and RSVP

  • Event details now readable. Click a calendar event to see full details (time, description, attendees, meeting link).
  • RSVP from email. Accept or decline event invitations directly without leaving the app.
  • Conference links clickable. Google Meet and Zoom links in events open in your browser.
  • Double-click to edit. Calendar events can be edited by double-clicking on the grid.
  • Event layout styled. Event editor matches the app theme with proper buttons and text fields.
  • Copy to clipboard. Event details can be copied for pasting elsewhere.
  • Icon sizes fixed. Glyphs in buttons and fields no longer clip or cut off.
v1.2.21 June 21, 2026

On-Device AI Classification Live

  • Semantic classifier powered by on-device model. Emails analyzed locally without sending to cloud. Faster, private, always works offline.
  • Email stale-flash fixed. Thread view no longer briefly shows old content when switching emails.
  • Startup faster. Summary system now optional, reducing initial load time on first launch.
  • Classification learns from corrections. When you manually recategorize an email, the AI improves for similar emails.
  • Tier-2 runs independently. Classification and AI components no longer block each other during startup.
  • Embedding model integrated. Semantic understanding of email content built in.
  • Visual polish. Covers UI elements during thread transitions for smoother appearance.
v1.2.20 June 19, 2026

AI Summaries and Email Normalization

  • Email summaries now generated locally. AI reads emails and writes concise summaries. No data sent to cloud.
  • Summarization by token budget. Longer emails get multi-bullet summaries, short emails get one line. Respects model limits.
  • Boilerplate stripped automatically. Common phrases ("Best regards", "Thank you", etc.) removed from 1600+ language variations. Cleaner summaries.
  • Email rendering flash fixed. Thread view no longer shows old email briefly when switching.
  • Chip width measured accurately. Email badges no longer cut off text.
  • MIME parsing improved. Nested email attachments handled correctly.
  • Vector storage system added. Foundation for AI-powered email organization.
v1.2.19 June 18, 2026

AI Summary Panel and Contact Card

  • AI summary shown in thread view. Automatic summary of email content appears as a panel next to the message.
  • Unread emails summarized on open. App automatically generates summaries for unread emails and Important messages.
  • Contact card follows focused message. Sender info appears for the message you're currently reading.
  • Summary panel layout and rendering moved to C++. Consistent with theme, no Swift layout logic.
  • Recent conversations query fixed. Contact history only shows from current account, not mixed across accounts.
  • Contact card deduplication. Opening a thread no longer re-fetches contact info unnecessarily.
  • Colors and fonts routed through theme. All text styling now uses theme system, no hardcoded values.
v1.2.18 June 17, 2026

Inline Images and Launch Readiness

  • Inline images now display in emails. Photos embedded in message bodies render properly instead of showing as broken attachments.
  • Loading overlay timing fixed. Shows while app initializes, dismisses when ready instead of lingering or disappearing too early.
  • Readiness gate for thread list. Inbox waits until classification is complete before showing, preventing stale data display.
  • WebView factory consolidated. All email rendering uses same setup, ensuring consistent image handling and fonts.
  • Remote image handling improved. Engine update fixes TLS validation for email images.
  • Badge width measured correctly. Vector tab badges no longer overlap with category name.
  • Launch theme properly detected. Logo variant matches dark/light mode on startup.
v1.2.17 June 16, 2026

Folder Sidebar and Overlay Animations

  • Folder sidebar now keyboard navigable. Use arrow keys to browse folders instead of clicking.
  • Overlay animations polished. Slide and fade transitions feel snappy. Animations on all modal panels.
  • Thread list consistency fixed. Archive and trash operations now work smoothly even during rapid clicks.
  • Thread list centralized. Single source of truth for what threads to show prevents stale data.
  • Folder sidebar layout in C++. Layout engine handles spacing, separators, and header formatting.
  • Thread enter/leave animations. Emails fade in and lift away smoothly when added/removed from view.
  • Vector counts accurate. Tab badges now show correct unread count for each category.
v1.2.16 June 15, 2026

Sync Engine Architecture Refactor

  • Sync system rebuilt cleaner. Old sync framework replaced with modern reducer-based architecture. More testable, fewer bugs.
  • Label picker height computed correctly. Panel size now calculated by core instead of Swift guessing.
  • Search display mode decided in C++. How results display is consistent everywhere.
  • Calendar events sync improved. Events now sync through same reliable system as email.
  • Thread deletion verified. Structural tests ensure sync never deletes threads incorrectly even during edge cases.
  • Thread inbox state preserved. Archive and restore operations now keep thread content intact.
  • Vector color range checked. Tab colors now validated to stay within palette.
v1.2.15 June 14, 2026

Thread List Performance and Window Layout

  • Thread list now loads rows on-demand. Only visible emails fetched and rendered, not the entire inbox. Much faster scrolling.
  • Thread rows animated on entrance. Emails fade in smoothly as they're added to the list.
  • Command palette layout in C++. Scrolling and hover behavior now controlled by core, consistent everywhere.
  • Thread view redesigned as cards. Messages display with proper spacing and theming.
  • Window shell layout in C++. Main window split (sidebar, content, widget pane, status bar) computed once.
  • Window animations from C++. Smooth transitions when resizing or switching panels.
  • Delete confirmation added. Threads only removed after server confirms deletion, preventing accidental loss.
v1.2.13 June 13, 2026

Classification Performance and Tab Navigation

  • Classification skips unchanged threads. Only newly arrived emails get classified each sync cycle, reducing CPU usage during background syncs.
  • Tab cycling with Tab/Shift+Tab. Navigate email categories using keyboard with wrap-around at edges.
  • Inbox visibility requires classification. App waits until classifier is ready before showing inbox to ensure emails are properly sorted.
  • Widget pane animates on width change. Smooth resize when switching between tools.
  • Thread list navigation fixed. Cursor stays on valid threads when switching categories.
  • Fewer duplicate updates. Presenters no longer emit the same state multiple times, reducing UI redraws.
  • Tab clicks work reliably. Clicking between categories no longer gets stuck.
v1.2.12 June 12, 2026

Typography and Layout Consistency

  • Font sizes now scale smoothly — text adjustment works without breaking layouts or cutting off words.
  • Dark and light modes look different — each theme can adjust font weights for better readability in its mode.
  • UI elements align consistently — thread rows, status bar, tabs, and activity view all use the same spacing rules.
  • Calendar tab underline fixed — appears correctly and animates smoothly on theme changes.
  • Subject lines no longer cut off — text measurement accounts for font spacing.
  • Tab animations smooth — switching between tabs and themes now feels polished.
v1.2.11 June 11, 2026

Shared Code Foundation for Cross-Platform

  • Picker logic moved to shared core — label and move pickers now work the same way everywhere. Prepares for Windows and Linux versions.
  • Thread details logic unified — how sender info, enrichment, and activity display is handled. Same logic on all platforms.
  • Settings behavior standardized — keyboard handling and input routing now shared. Consistent UX across platforms.
  • Overlay system centralized — modal and animation logic now in shared code. Enables future platform support.
  • Keyboard hints managed centrally — hint display logic no longer split between Mac and core code. Single source of truth.
v1.2.10 June 10, 2026

Core Logic Moved to Shared Code

  • Thread display rules unified — which badges show, which icons display. Same logic across all platforms.
  • Settings panels moved to core — Shortcuts, Signatures, and other settings now work the same everywhere.
  • Category defaults centralized — default names for email categories ("Personal", "Work") no longer duplicated in Mac code.
  • Icon cycling logic moved — shared logic for iterating through icon choices.
  • Undo messaging unified — consistent undo confirmations and messages across the app.
  • Thread list decisions centralized — what shows in each row is decided once, not per-platform.
v1.2.9 June 9, 2026

Thread Safety Improvements

  • Sync engine stabilized — thread safety improved to prevent rare race conditions during email sync.
  • Classification system hardened — fixed potential data corruption in the classifier during concurrent operations.
  • Calendar sync safer — eliminated race conditions in background calendar updates.
  • Contact enrichment protected — sender photo/company/title fetch now thread-safe even with rapid account switches.
  • Action queue simplified — email action dispatch now uses cleaner threading model. Fewer moving parts, fewer bugs.
  • Email preloading robust — background preload of next email no longer conflicts with active message viewing.
  • Deferred actions secure — send-later and scheduled actions protected from race conditions.
v1.2.8 June 8, 2026

Command Palette Rebuilt in C++

  • Command Palette moved to C++ — rebuilt from scratch using C++ presenter instead of Swift. Faster, more responsive, fully testable in unit tests without UI automation.
  • CommandPalettePresenterFFI — new FFI layer owns the palette overlay and manages its state. Swift view just renders what C++ tells it to show. Clean separation of concerns.
  • Navigation mode synced — C++ navigation mode is mirrored into NavigationBridge reactively. Palette responds instantly to navigation state changes (which folder you're in, which thread is selected, etc.).
  • InputSystemV2 controls Cmd+K — keyboard shortcut routed through new InputSystemV2 nav context. When you hit Cmd+K, it goes through a single, testable C++ path.
  • Action dispatch — when you pick an action from the palette, it's dismissed first, then the action is dispatched. Prevents weird state where palette is still visible during action execution.
  • Legacy cleanup — renamed old Swift Sources/ directory to Legacy/ to signal that it's no longer the primary code path.
  • V1 InputSystem realigned — old V1 tests updated now that Cmd+K moved to V2. Keeps test suite in sync with new architecture.
v1.2.7 June 7, 2026

Settings UI Controls & Typography

  • General tab controls — control bounds (min/max) driven from C++ state. Serialized across FFI.
  • Typography scaling — font sizes clamped to core-owned range. Proportional scaling via UserTypographyPrefs.
  • Page scroll — percent values published from core. FFI contract clarified.
  • Appearance mode validation — asserts on invalid mode in GeneralSettingsView render.
v1.2.6 June 5, 2026

Thread List Mouse Input & FFI

  • ThreadListFFI mouse support — mouse input routed through C++ presenter. Click to select threads.
  • Thread selection — driven from C++ cursor via ThreadListFFI observable.
  • Keyboard consumed signal — threaded through FFI and Mac bridges. Prevents duplicate handling.
  • InputSystem coverage — hardened test coverage for Slice 4 input handling.
v1.2.5 June 4, 2026

Keyboard Bindings & Persistence

  • KeyBindingsSystem — loads and applies persisted rebinds on startup. Custom shortcuts restored on app launch.
  • Shortcuts tab FFI — resolved from live KeyBindingsSystem. Mutators degrade to no-op on nil handle.
  • CustomKeyBindings persistence — overrides stored through Store. Synced across sessions.
  • Keyboard and navigation FFI — resolved from AppState handle. Unified keyboard handling.
v1.2.4 June 3, 2026

Swift Test Migration & FFI Consolidation

  • Test base migration — all Swift tests migrated onto single appstate_create FFI symbol. Simplified bootstrap.
  • WidgetPaneViewTests — now run under Full appstate profile. More realistic test environment.
  • Composition shutdown — handle removal asserted directly in FFI test. Cleaner cleanup verification.
  • HyperdriveCore docs — updated to document 3-arg appstate_create signature.
  • Full-appstate shims — removed forwarding test shims. Direct composition-based setup only.
v1.2.3 June 2, 2026

Sync Refactoring & Test Fixes

  • Sync pipeline refactored — ingestThreadResponseInTransaction grouped parameters into context struct. Cleaner API.
  • Message persistence — backfill now persists Message rows alongside Thread rows.
  • Type consistency — fixed internalDate types across sync, preload, and test fixtures. All timestamps now consistent.
  • Async test fixes — MutedThreads test now properly waits for async enqueue dispatch.
  • Code cleanup — removed unused ThreadLabelSync include from BackfillCoordinator.
v1.2.2 June 1, 2026

Stack-Based Navigation & UI Polish

  • Stack-based thread navigation — replaced split-view with navigation stack. Cleaner state management, easier testing.
  • System appearance mode — respects system light/dark preference. Auto-switches with system theme.
  • Search keyboard polish — j/k keys navigate results. Two-stage Esc (dismiss, then clear). Recent searches keyboard accessible.
  • Contact tab — new WidgetPane tab showing contact info. Bridged from C++ presenter.
  • Undo banner — shows undo actions with keyboard shortcut hints.
  • Picker panels merged — date picker, move picker, and label picker PRs merged and integrated.
v1.1.10 May 30, 2026

Search UI & Modal Pickers

  • SearchPresenter — full search implementation with query, history, and account filtering. Real-time search results.
  • SearchFFI — C++ search bridge. Observe/search/clear operations with server-side FTS.
  • Mac search UI — SearchViewController with keyboard navigation and result display in thread list.
  • SnoozePresenter — snooze date picker with presets and custom dates. Generates unique snoozeId. Dispatches to ActionQueue.
  • MovePickerPresenter — select folder/label to move thread. System folders first, then user labels. Keyboard filterable.
  • LabelPickerPresenter — toggle labels on threads. Filter by name. Keyboard navigation through label list.
  • ContactCardPresenter — displays contact info in thread header.
  • DatePickerPresenter — shared date picker for snooze, reminder, and compose date inputs.
v1.1.9 May 29, 2026

Settings Tabs: Shortcuts, Signatures, Vectors

  • ShortcutsTabPresenter — view and customize keyboard bindings. Every action shows its current shortcut. Rebind via key capture.
  • SignaturesTabPresenter — manage email signatures. Create, edit, delete. Set default signature per account.
  • VectorsSettingsPresenter — configure custom vectors for email classification. Create labels, set colors, manage rules.
  • Non-rebindable actions — some actions (undo, redo, focus) have fixed shortcuts. Shown but not editable.
  • Keyboard shortcuts as ActionID — all shortcuts resolve to registry entries. Unified command/shortcut system.
v1.1.8 May 28, 2026

Settings Tabs & Theme Persistence

  • SettingsPresenter — coordinator for 8-tab settings panel. Manages tab selection and presenter lifecycle.
  • GeneralTabPresenter — app preferences (language, startup behavior, notifications).
  • PrivacyTabPresenter — privacy controls (block remote images, tracking opt-out). Per-account settings.
  • AccountsTabPresenter — manage connected accounts. Add, remove, set default account.
  • Theme persistence — theme selection saved to Store. Restored on app launch.
  • PreferencesStore — migration from hand-rolled SQL to Engine primitives. Full CRUD with type safety.
v1.1.7 May 27, 2026

Preferences System & Input Refactor

  • PreferencesSystem — app-wide preference storage with atomic setters. Observables for preference changes. Full roundtrip testing.
  • InputSystem migration — moved to Engine keyboard primitives. Deleted legacy hand-rolled types. Cleaner keyboard handling.
  • Pipeline batch emissions — ScopedBatch for efficient observable emissions. Stop() batches multiple updates into single notification.
  • LLM lazy loading — deferred model loading via coroutines. Models loaded on demand, not at startup.
  • Stale discard specificity — pipeline proves which stale updates are safe to discard. Integration tests verify versioning.
v1.1.6 May 26, 2026

Compose with ProseMirror Editor (Wave 1)

  • ComposePresenter — full compose state management. Recipients, subject, body, attachments, send scheduling. 28 tests.
  • ProseMirror editor — rich text editor bundled and integrated. 10 tests covering basic operations.
  • Mac compose window — full compose UI with editor WebView. FFI wiring to C++ backend.
  • Draft persistence — auto-save drafts every 5s. Persist to DraftManager. Recover on app restart.
  • Reply/forward — hydrate composer from original thread. Quote original message. Set recipients from headers.
  • Send options — send now or schedule for later. Add snippets and signatures. Attach files.
  • Snippet resolution — substitute variables in snippets (name, date, etc). 10 tests.
  • ComposeSendService — dispatch send and schedule actions. Integrate with ActionQueue.
v1.1.5 May 25, 2026

Audit & Engine Duplication Cleanup

  • Engine duplication audit — 87 files scanned, 52 findings of hand-rolled primitives that should use Engine. Resolved 8 violations.
  • StringUtils migration — replace trim, toLower, equalsIgnoreCase with Engine primitives. 52 findings fixed.
  • Hardcoded colors/fonts guard — CI checks prevent NSColor/NSFont in code. Enforces theme-driven styling.
  • Zoom integration — full C++ migration (config, client, system, FFI). Zoom scheduling in compose.
  • Slack integration — fixed per-account filtering, connectivity wiring, batch queries. Test coverage improved.
  • LLM classification — shared classifier across accounts. LLM cache for speed. AI proxy auth via credential store.
v1.1.4 May 24, 2026

Calendar Write Ops & Snippets

  • Calendar write operations — create, update, delete events. ETag support for conflict detection. Google Meet link support.
  • Recurrence rules — RRULE string parsing and generation. Bidirectional conversion. Recurring event support.
  • Scheduling links — full C++ migration for meeting links. Zoom and Google Meet integration.
  • Snippets system — variable resolution for email templates. Store snippets in database. Sync across devices.
  • Snippet model — per-account storage. Full-text search. Variable replacement on send.
  • Gmail filters — full API wrapping. Create filters with criteria and actions. Atomically block senders.
v1.1.3 May 23, 2026

Email Signatures & Composition Refactor

  • SignatureStore — CRUD operations for email signatures. Synced across devices via server API.
  • SignatureSyncService — push/pull signatures. Conflict resolution. HTML sanitization on import.
  • SignatureFFI — load, save, delete, push, pull over C ABI. Full test coverage.
  • AppComposition — centralized dependency graph. All systems created/wired in one place. Clear lifetime contracts.
  • HyperdriveApp refactor — delegates composition to AppComposition. Simpler bootstrap logic. Easier testing.
  • ComposePipeline — accepts signatures via ComposeConfig. Injects into composer. Variable substitution.
v1.1.2 May 22, 2026

Contact Management & Search

  • ContactsSystem — full sync of Google Contacts. Incremental sync for updates. Search across all contacts.
  • PeopleContactsClient — Google People API wrapper. Sync pagination. Photo/company/title extraction.
  • ContactSearchMerger — scored contact search. Combines Gmail recipients and Google Contacts. Frequency-based ranking.
  • ContactsFFI — search, create, syncNow operations. Contact list observable. Server-fired updates.
  • ContactsPipeline — full lifecycle. Bootstrap, sync, search. Integration tests verify parity.
v1.1.1 May 21, 2026

LLM Classification & Vector Config

  • VectorConfigSystem — per-account vector configuration persistence. Custom vector management in C++.
  • SenderLlmClassifier — LLM-based classification of senders. On-device inference for pitch/cold detection.
  • LlmClassificationParser — parse AI proxy responses. Map to sender classification categories.
  • SharedClassificationClient — cross-account shared classification lookup. Reduces redundant computation.
  • License key integration — store license in ICredentialStore. Enable AI proxy auth.
  • RestClient HeaderProvider — unified header auth across all clients (Classification, Deferred, etc).
v1.1 May 20, 2026

Hyperdrive v1.1 Released to Main

  • Complete NovaEngine rewrite shipped — moved from legacy Swift AppKit to cross-platform C++ foundation. Same feature set, modern architecture, ready for Windows/Linux.
  • 40 days of development — 812 commits. From bare scaffold (April 10) to production-ready release (May 20).
  • Full email client feature parity — read, compose, search, filter, archive, label, snooze, remind, schedule sends, track opens/clicks, classify messages.
  • Multi-account support — connect multiple Gmail accounts. Combined inbox view, per-account preferences, independent sync.
  • Offline-first architecture — all mutations queued durably. Syncs when reconnected. No data loss on crashes.
  • Keyboard-first design — 146 actions accessible via keyboard. Cmd+K command palette. Every feature reachable without mouse.
  • Performance optimized — sub-50ms response for user actions. WebView pooling with N+1 preload. 60fps thread list scrolling.
  • Extensible design — AI Agent tool integration. Vector classification system for custom email triage. Server-driven deferred sync for cross-device features.
  • Production quality — comprehensive error handling, extensive test coverage, graceful degradation on network failures.
v1.2.2 June 7, 2026

Settings UI Controls & Typography

  • General tab controls — control bounds (min/max) driven from C++ state. Serialized across FFI as JSON ranges.
  • Typography scaling — font sizes clamped to core-owned range. Proportional scaling via UserTypographyPrefs.
  • Page scroll — percent values published from core. FFI contract clarified in docs.
  • Appearance mode validation — asserts on invalid mode in GeneralSettingsView render.
v1.2.5 June 5, 2026

Thread List Mouse Input & FFI

  • ThreadListFFI mouse support — mouse input routed through C++ presenter. Click to select threads.
  • Thread selection — driven from C++ cursor via ThreadListFFI observable.
  • Keyboard consumed signal — threaded through FFI and Mac bridges. Prevents duplicate handling.
  • InputSystem coverage — hardened test coverage for Slice 4 input handling.
v1.2.4 June 4, 2026

Keyboard Bindings & Persistence

  • KeyBindingsSystem — loads and applies persisted rebinds on startup. Custom shortcuts restored on app launch.
  • Shortcuts tab FFI — resolved from live KeyBindingsSystem. Mutators degrade to no-op on nil handle.
  • CustomKeyBindings persistence — overrides stored through Store. Synced across sessions.
  • Keyboard and navigation FFI — resolved from AppState handle. Unified keyboard handling.
v1.2.3 June 3, 2026

Swift Test Migration & FFI Consolidation

  • Test base migration — all Swift tests migrated onto single appstate_create FFI symbol. Simplified bootstrap.
  • WidgetPaneViewTests — now run under Full appstate profile. More realistic test environment.
  • Composition shutdown — handle removal asserted directly in FFI test. Cleaner cleanup verification.
  • HyperdriveCore docs — updated to document 3-arg appstate_create signature.
  • Full-appstate shims — removed forwarding test shims. Direct composition-based setup only.
v1.2.2 June 2, 2026

Sync Refactoring & Test Fixes

  • Sync pipeline refactored — ingestThreadResponseInTransaction grouped parameters into context struct. Cleaner API.
  • Message persistence — backfill now persists Message rows alongside Thread rows.
  • Type consistency — fixed internalDate types across sync, preload, and test fixtures. All timestamps now consistent.
  • Async test fixes — MutedThreads test now properly waits for async enqueue dispatch.
  • Code cleanup — removed unused ThreadLabelSync include from BackfillCoordinator.
v1.2.1 June 1, 2026

Stack-Based Navigation & UI Polish

  • Stack-based thread navigation — replaced split-view with navigation stack. Cleaner state management, easier testing.
  • System appearance mode — respects system light/dark preference. Auto-switches with system theme.
  • Search keyboard polish — j/k keys navigate results. Two-stage Esc (dismiss, then clear). Recent searches keyboard accessible.
  • Contact tab — new WidgetPane tab showing contact info. Bridged from C++ presenter.
  • Undo banner — shows undo actions with keyboard shortcut hints.
  • Picker panels merged — date picker, move picker, and label picker PRs merged and integrated.
v1.0.34 May 19, 2026

Smart Vector Classifier & Cold Pitch Detection

  • VectorClassifier complete — classifies threads into user-defined vectors (categories) using ML and heuristics. Core email triaging engine.
  • Cold pitch detection — 3-gate system identifies unsolicited pitches and sales messages. Strips PII and matches against pitch corpus.
  • Smart signals — team detection, relationship analysis, backlog tracking, social/travel signals, shipping detection. 8 total signal types.
  • SmartVectorQueryBuilder — builds SQL queries for vector filtering. Handles label inclusion, FTS, date ranges, mixed eligibility.
  • LLM cache — caches classification decisions for speed. Shared intelligence across accounts.
  • ML prediction — integrates with on-device ML for semantic analysis alongside heuristics.
  • Findambiguous threads — identifies borderline classifications for review.
v1.0.33 May 18, 2026

DateParser C++ Port

  • DateParser ported to C++ — 110 tests verify exact parity with Swift version. Handles natural language dates like "next Friday", "in 3 days", "end of month".
  • Cross-platform compatible — works on macOS and future platforms. End-of-week boundary fixes and time handling standardized.
  • FFI bridge — C++ DateParser exposed to Swift for snooze/reminder date picking.
v1.0.32 May 17, 2026

Email Preloader & Sender Enrichment

  • PreloaderSystem — N+1 preloading of email bodies. While reading thread N, thread N+1 is pre-rendered in the background for instant display.
  • Enrichment LRU cache — fetched contact data (photo, company, title) cached with TTL. Reduces API calls on repeated opens.
  • SenderEnrichmentView — displays enriched sender info in thread header (photo, company, title, relationship).
  • Tracking activity list — merged view of open and click events for the current thread. Shows who opened and when.
  • Account-switch resilience — preloading handles account switches gracefully without data corruption.
v1.0.31 May 16, 2026

Email Open & Click Tracking

  • TrackingSystem — tracks when recipients open emails and click links. Optional opt-in feature. Requires mail server integration.
  • Pixel tracking — embeds invisible tracking pixels in emails. Records opens per recipient.
  • Link tracking — rewrites mailto links to route through tracking server. Records clicks per link.
  • Per-account polling — each account polls independently for open/click events. Coalesces rapid updates to avoid API hammering.
  • TrackingClient — queries server API for opens and clicks. Handles pagination and error recovery.
  • Contact enrichment — fetches enriched contact data (photo, company, title) from server.
v1.0.30 May 15, 2026

Email Rendering Pipeline Refactor

  • EmailRendererController — centralized controller for WebView rendering. Handles prewarm, next/previous message navigation, status tracking.
  • Engine integration — migrated to Engine::FFI::Internal::PointerRegistry for handle management. Engine::ObjectPool for WebView pooling. Engine string utilities for sanitization.
  • Atomic updates — threadId and html bundled atomically. Prevents rendering stale data on race conditions.
  • Utf8 validation — uses Engine::Encoding::Utf8::isValid for proper validation. Catches malformed emails before rendering.
  • Error logging — render failures logged clearly with threadId for debugging.
  • Color transform — dark mode adaptive coloring for email backgrounds. Preserves contrast and readability.
v1.0.29 May 14, 2026

Thread Display Fields & HTML Entities

  • Thread display fields — each thread has color, badge, icon, and divider for visual organization. Computed from vector classification.
  • HTML entity decoder — safely decodes HTML entities in thread snippets (&, <, >, named entities like  , {). No HTML injection.
  • Snippet normalization — whitespace normalized in thread list rows. Smart truncation preserves readability.
  • Badge rendering — displays sender classification badge (promotions, social, etc). Color-coded per vector.
  • ProviderDisplayResolver — maps provider-specific data (Slack channels, Gmail labels) to display fields.
  • SlackProviderMeta — metadata for Slack thread rendering. Channel, parent thread ID, and thread-specific attributes.
v1.0.28 May 13, 2026

Email Unsubscribe Service

  • UnsubscribeService — one-click unsubscribe from mailing lists. RFC 8058 (one-click POST) and RFC 2369 (List-Unsubscribe headers).
  • Unsubscribe detection — scans email headers and body for unsubscribe links. Tries multiple methods in priority order.
  • Block sender — alternative to unsubscribe. Creates Gmail filter to block all emails from sender.
  • Gmail filter integration — createFilter wraps Gmail settings API. Atomically blocks sender's emails.
  • Fallback chain — tries POST, mailto, then creates filter if both fail. Graceful degradation.
  • Header parsing — RFC 2369 List-Unsubscribe headers extracted and prioritized.
v1.0.27 May 11, 2026

Read-Only Calendar Integration

  • CalendarSystem — reads Google Calendar events for the active account. Displays calendar in sidebar/widget.
  • CalendarClient — Google Calendar v3 API wrapper. Fetches events with pagination and filtering. Read-only (no create/edit).
  • Calendar events indexed — CalendarEvent model with full-text search. Indexed by date range for fast queries.
  • Visibility toggle — users can hide/show specific calendars. Preference persisted per account.
  • Sync coalescing — rapid changes coalesced into single sync. Prevents API hammering on multiple calendar changes.
  • Multi-account support — each account has independent calendar sync and visibility preferences.
v1.0.26 May 10, 2026

Combined Inbox View

  • Combined inbox — unified view of all threads across all connected accounts. Single thread list shows emails from every account.
  • Account deduplication — same thread ID in multiple accounts shown once. Clicking opens the primary account's copy.
  • Folder aggregation — system labels (INBOX, SENT, DRAFT, TRASH) aggregated. User-created labels kept per-account.
  • Cross-account unread count — unread badge shows total across all accounts.
  • Toggle on/off — combined mode can be disabled to see single-account view. Preference persisted.
  • Composite indexing — database indexes optimized for cross-account queries. Fast aggregation even with thousands of threads.
v1.0.25 May 9, 2026

Backfill & Sent Mail Scanner

  • BackfillCoordinator — fetches old emails beyond initial inbox sync. Runs in background without blocking other syncs.
  • Staleness check — avoids backfill if inbox already synced recently. Prevents unnecessary API calls.
  • Page token persistence — backfill resumes from last position if interrupted. No duplicate fetching.
  • SentMailScanner — extracts recipients from sent emails. Builds relationship data for contact autocomplete and prioritization.
  • Recipient extraction — parses To/CC/BCC headers and finds unique email addresses. Normalizes and deduplicates.
  • Relationship upsert — stores relationships atomically. Multiple messages to same recipient increments count.
v1.0.24 May 8, 2026

Offline Detection & Connectivity

  • ConnectivitySystem — monitors network status via NWPathMonitor. Detects online/offline transitions in real time.
  • Sync pause on offline — sync polling pauses when network is unavailable. Reduces battery and data usage.
  • Automatic resume — when connectivity returns, sync resumes immediately with ActionQueue replay.
  • Backoff reset — network reconnection resets exponential backoff. Failed requests retry immediately on reconnect.
  • Offline gate — ActionQueue operations queued offline. On reconnect, all pending actions flushed to Gmail.
  • Status observable — connectivity state published as observable. UI shows offline indicator when disconnected.
v1.0.23 May 7, 2026

Thread Vector Classification

  • ClassificationSystem — categorizes threads into user-defined vectors (Personal, Work, Promotions, etc). Powers email triage.
  • Thread overrides — users can manually override auto-classification. Preference respected in UI.
  • SenderClassification — tracks sender-specific routing rules. "Always label this sender's emails as Work".
  • SenderRelationship — stores relationship level (close friend, coworker, cold). Used for prioritization and filtering.
  • Relationship computation — algorithmic scoring based on frequency, recency, and domain (company email vs personal).
  • Conflict resolution — handles duplicate/conflicting classifications atomically.
  • Sync engine — ClassificationSystem syncs server-computed categories and stores user overrides.
v1.0.22 May 6, 2026

Snooze, Reminders & Draft Management

  • SnoozeQueue — defer emails to appear later. Snoozed threads removed from inbox, scheduled to return at specified time.
  • ReminderQueue — set reminders on emails independently. Works on already-read emails. Notification at scheduled time.
  • DraftManager — local draft storage with throttled Gmail sync. Start composing, changes auto-save locally. Synced to Gmail every 30s.
  • Draft recovery — if app crashes, drafts are recovered on restart. No lost work.
  • Per-account drafts — each account has independent draft storage. Switching accounts shows that account's drafts.
  • Server-fired reminders — reminders can be set on the server. Cross-device sync ensures reminders fire on all devices.
v1.0.21 May 5, 2026

Deferred Sync & Offline-First Actions

  • DeferredSyncSystem — server-driven sync for data that can't be pulled (snoozes, reminders, sent status). Server notifies app when state changes.
  • DeferredAuthManager — secure token storage for server communication. Device fingerprint-based encryption.
  • SendLater — schedule emails to send at specific time. Server holds draft until send time, then delivers.
  • Cross-device sync — snoozes, reminders, and send-later work across devices. Set on phone, see in client.
  • Crypto vectors — V2 encrypted transport with cross-language crypto test vectors. Ensures compatibility across platforms.
  • Dedicated client — separate HttpClient for deferred API. Independent retry logic and timeouts.
v1.1 May 20, 2026

Hyperdrive v1.1 Released to Main

  • Complete NovaEngine rewrite shipped — moved from legacy Swift AppKit to cross-platform C++ foundation. Same feature set, modern architecture, ready for Windows/Linux.
  • 40 days of development — 812 commits. From bare scaffold (April 10) to production-ready release (May 20).
  • Full email client feature parity — read, compose, search, filter, archive, label, snooze, remind, schedule sends, track opens/clicks, classify messages.
  • Multi-account support — connect multiple Gmail accounts. Combined inbox view, per-account preferences, independent sync.
  • Offline-first architecture — all mutations queued durably. Syncs when reconnected. No data loss on crashes.
  • Keyboard-first design — 146 actions accessible via keyboard. Cmd+K command palette. Every feature reachable without mouse.
  • Performance optimized — sub-50ms response for user actions. WebView pooling with N+1 preload. 60fps thread list scrolling.
  • Extensible design — AI Agent tool integration. Vector classification system for custom email triage. Server-driven deferred sync for cross-device features.
  • Production quality — comprehensive error handling, extensive test coverage, graceful degradation on network failures.
v1.0.20 May 4, 2026

Keychain & Navigation Improvements

  • Keychain cleanup — command to delete stale OAuth tokens. Removes old nova.tokens entries from macOS Keychain.
  • Navigation overlay — shows when navigating between accounts/folders. Prevents interaction during state transition.
  • Thread participants — thread detail shows all participants in the conversation. Grouped by role (to, cc, bcc).
  • Folder type flags — system labels tagged as system vs user-created. UI renders differently for better organization.
v1.0.19 May 1, 2026

Command Palette & Keyboard Navigation

  • Command Palette (Cmd+K) — universal search and execute interface. Type to find any action in the app: move, label, snooze, compose, etc. Filters in real-time with fuzzy search.
  • ActionRegistry — 146 registered actions across all email operations. Includes both static actions (archive, delete) and dynamic ones (label-specific, account-specific).
  • Keyboard navigation — arrow keys to move between threads, Enter to open, Cmd+J for AI Agent. Every action is keyboard-accessible.
  • Agent tools — AI Agent has access to all 146 actions via ActionRegistry. Agent can automate any inbox operation.
  • Status bar hints — shows keyboard shortcuts for common actions. Hints update based on context (folder, thread selection, etc.).
  • Contact model extended — stores full Google People API fields (phone, address, organization, photo). Powers contact autocomplete in compose.
  • Email header parsing — To/CC/BCC headers are parsed and stored. Enables recipient search and contact mining from conversations.
  • Next/previous thread — Cmd+N and Cmd+P navigate threads in the current folder without touching the mouse.
v1.0.18 April 29, 2026

WebView Pooling & Preload Optimization

  • WebViewPool — reuses WebView instances instead of creating new ones for each email. Dramatically reduces memory usage and creation overhead.
  • Checkout/checkin — threads borrow a WebView from the pool to render email bodies, then return it for the next thread to use.
  • Pool pre-allocation — the pool starts with several pre-created WebViews ready to use. Reduces latency on first render.
  • N+1 preloading — while you're reading email N, email N+1 is pre-rendering in a preload slot. Switching threads is instant.
  • Preload claiming — when you select a thread, if its preload slot exists, ownership transfers atomically. No race conditions.
  • Pool exhaustion — if all WebViews are in use, new ones are created on demand and added to the pool.
  • FontSchemeHandler — custom scheme handler serves fonts (Hack monospace) to WebView. Fonts are embedded in the app binary.
  • Graceful shutdown — all pooled WebViews are destroyed cleanly on app exit.
v1.0.17 April 28, 2026

WebView Email Body Rendering

  • EmailRenderer — renders email bodies in a WebView. Handles complex HTML, styled text, embedded images, and special formatting from different email clients.
  • Sanitization pipeline — HTML is sanitized before rendering, removing scripts and dangerous content. CSP (Content Security Policy) is injected for additional protection.
  • Theme support — email bodies automatically adapt to light/dark mode via CSS custom properties. Fonts match the app's typography.
  • Rendered HTML cache — frequently viewed emails are cached after rendering to avoid re-sanitizing and re-rendering on every view.
  • Body style extraction — original email styling (colors, fonts, spacing) is preserved while removing dangerous CSS.
  • Document wrapping — proper HTML structure with viewport meta tags, UTF-8 encoding, and container divs for CSS scoping.
  • UTF-8 validation — malformed or corrupted email bodies are detected and handled gracefully.
  • Navigation events — clicks on links are tracked and can trigger custom actions (open in browser, add contact, etc.).
v1.0.16 April 28, 2026

Email Rendering & HTML Sanitization

  • HtmlSanitizer — strips malicious content from email HTML before displaying. Removes scripts, event handlers, iframes, and other dangerous elements.
  • Security — blocks javascript: URIs in links, removes onclick/onload/etc attributes, strips form elements and inputs. Prevents clickjacking and script injection.
  • Remote image blocking — tracking pixels and external images can be stripped based on settings. Protects privacy from email tracking.
  • Quoted content detection — automatically recognizes quoted/replied text from Gmail, Outlook, and Apple Mail. Formats quoted sections clearly so you can see the conversation thread.
  • ThreadRenderer — renders email bodies safely with proper formatting. Handles complex MIME structures and alternate content types.
  • Allowlist enforcement — only safe HTML tags and attributes are preserved. Iframe, object, embed, form, input, and base tags are always stripped.
  • Message count badge — thread rows show a badge when the thread has multiple messages, making it easy to spot conversations.
  • Hover selection — hovering over a thread row highlights it and opens it for quick preview.
v1.0.15 April 27, 2026

Thread List & Message Details

  • ThreadListViewController — displays all threads from the selected folder. Updates automatically when you switch folders or when new emails arrive.
  • Thread rows — show sender name, subject, snippet, and unread status. Rows stay fast-scrolling even with hundreds of threads (60fps optimized).
  • Thread selection — click a thread to open it. selectedThreadId is tracked in app state and reflected in the UI.
  • Sender information — each thread shows the sender's name and email address. Helps identify important conversations at a glance.
  • Attachment indicators — thread rows show an icon if the email has attachments.
  • Message details — open a thread to see the full message with headers, body, and all attachments.
  • Attachment caching — frequently accessed attachments are cached locally for instant access. Two-tier LRU storage balances memory and disk.
  • Attachment download — download attachments directly from the message view.
v1.0.14 April 25, 2026

Widget Pane, Status Bar & Overlay System

  • WidgetPaneView — right-side pane with tabbed interface. Switches between tools like AI Agent, Search, and future extensions. Resizes based on active tab.
  • Tab switching — segment control to navigate between different widgets. Tab width adjusts (300px default, 400px for Agent).
  • StatusBarView — bottom status bar showing app state (sync progress, unread count, etc.). Uses translucent themed background.
  • OverlayCoordinator — manages modal dialogs, alerts, and floating panels. Multiple overlays can coexist and layer properly.
  • Modal stacking — overlays are added/removed from a container, maintaining z-order. dismissAll clears all overlays at once.
  • Navigation stack — views can be pushed/popped with breadcrumb-like navigation. Same-mode push is a no-op, preventing duplicate states.
  • View animations — 0.15s fade crossfade when swapping between views. Smooth visual feedback during navigation.
  • Themed colors — all UI elements pull colors from the app theme. StatusBar and overlays automatically adapt to dark mode.
v1.0.13 April 24, 2026

Main Window & Sidebar Navigation

  • Three-pane layout — sidebar (folders), thread list (center), and widgets (right).
  • SidebarViewController — NSOutlineView displays all Gmail labels and folders. Click to navigate and search within a folder.
  • Folder selection — clicking a folder updates activeFolderId, which syncs the thread list and filters to that folder's emails.
  • Unread badges — each folder row shows a badge with the count of unread emails. Badges update in real time as emails are read.
  • Themed sidebar — folder rows respect the app's color scheme. No hardcoded colors or fonts.
  • Layout persistence — window size and pane widths are remembered across sessions (UserDefaults).
  • Window sizing — proper minimum size and content layout prevent the window from shrinking into an unusable state.
  • Data validation — app verifies all required data systems are initialized before showing the main window.
v1.0.12 April 24, 2026

macOS UI Layer & Account Switcher

  • HyperdriveCore singleton — central Swift-side state management that observes the C++ AppState and exposes it to SwiftUI/AppKit views.
  • Account switcher UI — dropdown menu in the window header to switch between Gmail accounts. Selection is live-updated across the app.
  • Accounts observable — live list of connected accounts. UI automatically reflects additions/removals.
  • Active account tracking — tracks which account is selected. All streams (threads, folders, contacts) automatically switch to the active account's data.
  • Active folder tracking — tracks which folder/label is selected. Used by thread list and other views to stay in sync.
  • FFI bridge — Swift observes C++ app state via FFI. Account/folder changes propagate to the UI in real time.
  • Platform lifecycle — HyperdriveCore is initialized at app startup and cleaned up at shutdown.
  • Test infrastructure — FFI helpers for inserting test accounts and verifying UI integration.
v1.0.11 April 20, 2026

OAuth Authentication & CI Infrastructure

  • OAuth authentication — Engine's auth pipeline integrated. Gmail login flow fully wired with secure credential exchange.
  • TokenStore — OAuth tokens stored securely with device fingerprint passphrase. Credentials are encrypted and bound to the device.
  • Auth interceptor — all outbound requests automatically include Authorization: Bearer headers with the current token.
  • Token refresh — expired tokens are automatically refreshed before requests fail, keeping the user logged in.
  • Multi-account support — OAuth config supports multiple Gmail accounts with independent token storage per account.
  • Inflight protection extended — pending mutations are preserved during both initial sync and incremental background folder syncs.
  • GitHub Actions CI — automated build and test pipeline on every commit. Runs on self-hosted Mac Mini for real-hardware verification.
  • Hardened initialization — proper error handling during auth setup. OAuth failures are caught and logged clearly.
v1.0.10 April 19, 2026

Sync Integration & Inflight Protection

  • Inflight protection — pending mutations (star, archive, etc.) are preserved during sync. Gmail's version doesn't overwrite your queued changes.
  • Grace window — threads are only deleted if they're missing from two consecutive syncs, not just one. Prevents accidental deletion from temporary sync issues.
  • Archive persistence — muted (archived) threads stay archived even if Gmail sync brings them back to the Inbox. Local state takes precedence.
  • Atomic sync transactions — all database writes during sync are all-or-nothing. Partial sync failures can't corrupt the database.
  • Efficient mutation tracking — pending mutations are snapshot-read once per sync page, reducing database traffic.
  • Smart merge logic — sync intelligently merges Gmail's data with pending mutations. Fields that have pending changes are preserved.
  • Full app bootstrap — HttpClient, GmailClient, SyncSystem, and AppState are all initialized and started when the app launches.
  • Clean shutdown — AppState is properly reset on app exit to prepare for next launch.
v1.0.9 April 19, 2026

Complete Email Actions

  • Email operations — all user-facing actions are now implemented with full durability and optimistic UI: Star, Unstar, MarkRead, MarkUnread, Trash, Mute (archive), Move, AddLabel, RemoveLabel, and Snooze.
  • Label management — add and remove Gmail labels from emails. Supports both Gmail system labels (Inbox, Unread, Starred) and custom labels.
  • Archive (Mute) — removing from Inbox archives emails. Muted threads no longer appear in the inbox but remain in the database and can be searched.
  • Move between folders — emails can be moved to any Gmail label. Moving automatically removes from the source folder and adds to the destination.
  • Snooze — defer emails to a specified time. Snoozed emails are hidden from inbox until the snooze time expires, then reappear automatically.
  • Robust error handling — storage failures and malformed payloads are logged with clear messages instead of silently failing.
  • Thread-safe replay — background job safely replays queued actions without data races.
  • Pre-flight validation — payloads are validated before dispatch to catch errors early.
v1.0.8 April 19, 2026

Durable Actions & Optimistic Updates

  • ActionQueue — persists all email mutations (star, unstar, mark read, archive, etc.) to the database before sending to Gmail. Ensures no action is lost even if the app crashes.
  • Optimistic updates — when you perform an action, the UI updates instantly. The action is sent to Gmail in the background, and the UI stays responsive.
  • Smart reversion — if the Gmail API call fails, the UI automatically reverts to the previous state. Users see a notification that the action failed.
  • Offline support — actions are queued when offline. When connectivity returns, the queue automatically replays all pending actions.
  • Automatic retry — transient failures (network timeouts, temporary server errors) automatically retry with exponential backoff. Max retry budget prevents endless loops.
  • FIFO ordering — actions are replayed in the order they were performed, preserving causality.
  • Offline indicator — when offline, the app shows a clear indicator so you know sync is paused.
  • Specific actions implemented — Star, Unstar, MarkUnread with full durability and optimistic UI.
v1.0.7 April 18, 2026

Email Sync Engine & Incremental Updates

  • SyncSubsystem — core engine that fetches emails from Gmail and keeps them in sync with your local database. Handles full and incremental synchronization.
  • Initial inbox load — when you first connect, all threads are fetched from your inbox and stored locally. Handles pagination for large inboxes (up to 10 pages).
  • Folder synchronization — all Gmail labels (system and custom) are synced as folders. Keeps folder list up to date in the background.
  • Incremental sync — after the initial load, only changes are synced using Gmail's history API. New messages, label changes, and deletions are tracked efficiently.
  • Resume capability — sync progress (page tokens, history ID) is saved to the database. If sync is interrupted, it picks up from where it left off.
  • Background polling — periodic polling of Gmail history keeps your email list fresh without constant full syncs.
  • Proper cleanup — in-flight sync operations are cancelled when stopping to prevent orphaned requests or data corruption.
  • Lifecycle management — clear phases (initial sync → folder sync → incremental polling) with proper state transitions and error handling.
v1.0.6 April 17, 2026

Gmail Data Mapping & Network Resilience

  • GmailAdapter — converts Gmail API responses into Hyperdrive's internal data format. Handles the full complexity of Gmail's nested message structure and label system.
  • Smart thread mapping — read/unread, starred, and inbox status are automatically derived from Gmail labels. The adapter understands Gmail's label conventions.
  • Message extraction — email bodies and headers are extracted from Gmail's payload tree structure. Handles both simple text messages and complex MIME structures.
  • Attachment handling — automatically extracts regular and inline attachments from messages. Handles edge cases like missing payloads and empty threads.
  • Folder mapping — Gmail labels (system and custom) are mapped to folder categories in Hyperdrive.
  • Rate limiting — requests to Gmail API are rate-limited to stay within quota. Automatic backoff when Gmail returns rate-limit headers.
  • Circuit breaker — if Gmail API starts returning errors, the client temporarily stops making requests to avoid cascading failures.
  • Auth retry — authentication headers are automatically injected and refreshed, with retry logic for token expiration.
v1.0.5 April 17, 2026

Swift-to-C++ FFI & Gmail Batch Sync

  • C FFI bridge — Swift on macOS can now call C++ app state, observables, and lifecycle management. Enables direct UI binding to core state.
  • Complete Gmail API coverage — all PRD-specified endpoints implemented (list threads, get profiles, batch operations, etc.).
  • Gmail batch API — efficiently fetch multiple threads and messages in a single HTTP request using Gmail's batch protocol. Engine's MimeParser and MultipartWriter handle the complexity.
  • Dependency injection — clean architecture where subsystems declare their dependencies and are activated in the right order.
  • Subscription lifecycle — kernel-managed subscription container ensures all observers are cleaned up when subsystems stop.
  • Detailed startup progress — lifecycle state changes are observable, so the UI can show step-by-step progress during app initialization.
  • Hardened against edge cases — boundary string parsing, JSON batch handling, subsystem activation failures all covered with tests and assertions.
v1.0.4 April 17, 2026

App State & Sync Engine

  • AppState — central hub for all application state. Owns the database store and exposes reactive streams for threads, folders, and contacts that automatically update the UI.
  • Gmail client — integrated network layer that fetches threads, messages, and profiles from Gmail API. Handles pagination and filtering.
  • Reactive streams — threads, folders, and contacts are pushed to the UI whenever they change. The UI stays in sync without polling.
  • Account switching — changing accounts automatically switches all active streams (threads, folders, contacts) to the new account's data.
  • Subsystem architecture — organized application logic into modular subsystems: Threads, Folders, Contacts, and AccountManager. Each subsystem owns its domain.
  • Lifecycle management — app has defined lifecycle states (starting, running, failed, restart). State transitions are observable so the UI can show loading states.
  • Thread safety — re-entrancy guards prevent crashes when rapid account switching or state changes happen concurrently.
  • Unread tracking — automatic count of unread threads, updated in real time.
v1.0.3 April 16, 2026

Gmail API Integration

  • Gmail configuration — client ID, client secret, and OAuth scopes configured for Gmail API access. Environment variables can override defaults for testing.
  • Gmail data models — DTOs for all Gmail API responses: threads, messages, labels, profiles, attachments, message metadata, and history tracking.
  • JSON parsing — automatic deserialization of Gmail API responses into structured data, with fallback handling for missing fields.
  • OAuth authentication — integrated with Engine's GoogleAuthProvider for handling Gmail login and token refresh.
  • Reflection system — Gmail models are fully reflectable, enabling automatic serialization and API integration.
  • Comprehensive testing — JSON roundtrip tests, boundary case handling, environment override validation, and integration with Engine utilities.
v1.0.2 April 15, 2026

Email Database & Full-Text Search

  • Core data models — designed Account, Thread, Message, Folder, Tag, Contact, and Attachment models that store and organize your emails.
  • Full-text search indexing — threads and messages are indexed for fast searching so you can find emails instantly without scanning your entire inbox.
  • Data integrity — foreign key relationships ensure that emails stay connected to their threads, attachments to messages, and contacts to accounts. Cascading deletes prevent orphaned data.
  • Vector support — serialization and deserialization for vector embeddings that power the AI classifier.
  • Database migrations — formalized schema versioning and automatic migrations so the database can evolve as features are added.
  • Gmail configuration — Account model stores Gmail client ID and secrets, ready for OAuth setup.
  • Improved test infrastructure — migrated to Engine's test framework, reducing code duplication and making tests faster.
v1.0.1 April 14, 2026

macOS Integration & Live Theme Switching

  • Theme bridge — Swift and C++ now communicate seamlessly. Theme updates sync in real time across the entire app.
  • Cross-platform app foundation — centralized startup and state management so the same core logic can run on Mac, iOS, Windows, and Linux.
  • Modern build system — replaced legacy Xcode configuration with a cleaner, maintainable setup.
  • Live theme switching — windows automatically reflow when you switch themes or toggle dark mode. No restart needed.
  • Native color & font mapping — theme values correctly map to macOS colors and fonts, so everything looks native to the platform.
  • Code reorganization — standardized naming and restructured directories to match the four-layer architecture design.
  • On-device AI ready — integrated NovaEngine's machine learning capabilities for local processing without cloud calls.
v1.0.0 April 10, 2026

NovaEngine Rewrite & Complete Theme System

  • Complete architectural rewrite on top of NovaEngine — eliminated legacy Swift AppKit code and moved all logic to a cross-platform C++ foundation. Enables future iOS, Windows, and Linux support with a single codebase.
  • Theme system from scratch — built comprehensive theming infrastructure with RGBA color structs, typography configs, layout tokens (spacing, radius), and 9 built-in palettes. Full theme switching with light/dark appearance mode support.
  • ThemeEngine — observable theme state management with atomic switches, appearance mode detection, typography preferences, and persistent database storage. Accounts and vector categories have custom color overrides.
  • ResolvedPalette — runtime theme + appearance mode resolution with fallback handling. CSS export helpers (rgbaToHex, rgbaToCSSString) for seamless DOM integration.
  • Complete test coverage — 50+ tests for theme integrity, palette lookups, spot-checks, and Observable emission on theme/mode switches.
  • Four-layer architecture formalized — Core (NovaEngine) → App (AppState, Models) → Systems (Domain logic) → Interface (Platform UI). Strict dependency rules prevent cross-layer coupling.