<?xml version="1.0" encoding="UTF-8"?>
<!-- RelayKit changelog Atom feed.
     Auto-regenerated by scripts/generate-changelog.py on each release.
     https://schalliol.com/relaykit/changelog/feed.xml -->
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>RelayKit Changelog</title>
  <subtitle>Every RelayKit build, what changed, and why.</subtitle>
  <link href="https://schalliol.com/relaykit/changelog/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="https://schalliol.com/relaykit/changelog" rel="alternate" type="text/html"/>
  <id>https://schalliol.com/relaykit/changelog/feed.xml</id>
  <updated>2026-06-01T09:00:00-04:00</updated>
  <author>
    <name>RelayKit</name>
    <email>relaykit@schalliol.com</email>
  </author>
  <rights>Copyright 2026 Schalliol Automation</rights>
  <icon>https://schalliol.com/relaykit/assets/favicon.png</icon>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b107</id>
    <title>Build 107 — Two Claude accounts, one app (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b107" rel="alternate"/>
    <updated>2026-05-31T12:00:00-04:00</updated>
    <published>2026-05-31T12:00:00-04:00</published>
    <summary type="html">
      &lt;p&gt;Run work and personal Claude side by side — pick which account a session uses right beside the model picker, with a default for new sessions, and curate/rename/hide accounts on the Mac in the new Platforms &amp;amp; Accounts panel. Plus a large reliability + AI-efficiency pass.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Multi-account — choose the Claude account per session (with a default); the picker appears only when you have more than one&lt;/li&gt;
        &lt;li&gt;Mac Platforms &amp;amp; Accounts panel — rename, set default, enable/disable; account names show your email&lt;/li&gt;
        &lt;li&gt;Sessions from every Claude desktop instance you run now appear together in one list&lt;/li&gt;
        &lt;li&gt;Reconnect-race fix; AI request coalescing + caching; the usage chip no longer freezes after a quota reset&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b90</id>
    <title>Build 90 — Privacy catalog &amp; accessibility polish (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b90" rel="alternate"/>
    <updated>2026-05-22T20:21:00-04:00</updated>
    <published>2026-05-22T20:21:00-04:00</published>
    <summary type="html">
      &lt;p&gt;Adds the required PrivacyInfo.xcprivacy catalog for App Store submission and ships a round of VoiceOver and Dynamic Type fixes across the session list, transcript, and settings surfaces.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;PrivacyInfo.xcprivacy catalog listing all API reason codes&lt;/li&gt;
        &lt;li&gt;VoiceOver labels on AI cluster headers, session row chevrons, and usage meters&lt;/li&gt;
        &lt;li&gt;Dynamic Type scaling applied to the composer bar and session status chip&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b88</id>
    <title>Builds 88–89 — Voice input &amp; Codex usage chart (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b88" rel="alternate"/>
    <updated>2026-05-22T01:03:00-04:00</updated>
    <published>2026-05-22T01:03:00-04:00</published>
    <summary type="html">
      &lt;p&gt;Dictate prompts with a mic button in the composer (opt-in; on-device Speech recognition). ChatGPT Pro and Plus subscribers see a by-model usage breakdown in the Codex usage block.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Voice-to-prompt mic button in the composer (opt-in, on-device Speech recognition)&lt;/li&gt;
        &lt;li&gt;Codex by-model usage chart for ChatGPT Pro/Plus plans&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b83</id>
    <title>Builds 83–87 — Crash protection, persistence, accessibility (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b83" rel="alternate"/>
    <updated>2026-05-21T22:58:00-04:00</updated>
    <published>2026-05-21T22:58:00-04:00</published>
    <summary type="html">
      &lt;p&gt;Crash telemetry via MetricKit CrashReporter, persistence fix for collapsed AI cluster state, and accessibility textual fallbacks for VoiceOver users.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;CrashReporter integration for MetricKit crash diagnostics&lt;/li&gt;
        &lt;li&gt;Accessibility textual fallbacks for ConnectionStatusChip and UsageMeterView&lt;/li&gt;
        &lt;li&gt;Markdown accessibility semantic markup on AI cluster headers&lt;/li&gt;
        &lt;li&gt;Fix: Collapsed AI cluster state now persists across relaunches&lt;/li&gt;
        &lt;li&gt;Fix: Smart Groups progress bar retuned&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b71</id>
    <title>Builds 71–82 — Transcript search, Helper Diagnostics, tap-target fixes (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b71" rel="alternate"/>
    <updated>2026-05-21T13:55:00-04:00</updated>
    <published>2026-05-21T13:55:00-04:00</published>
    <summary type="html">
      &lt;p&gt;Full-text transcript search, a Daily Digest summary card, a Helper Diagnostics screen in Settings, and a round of tap-target and sort reliability fixes.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Transcript search UI — "Found in transcripts" section in search results (pv17)&lt;/li&gt;
        &lt;li&gt;Daily Digest — "Today" summary card powered by the Mac helper (pv16)&lt;/li&gt;
        &lt;li&gt;Helper Diagnostics screen in Settings&lt;/li&gt;
        &lt;li&gt;AI Smart Groups error surface&lt;/li&gt;
        &lt;li&gt;Fix: Graceful reconnect after backgrounding&lt;/li&gt;
        &lt;li&gt;Fix: Chevron tap reliably toggles group collapse&lt;/li&gt;
        &lt;li&gt;Fix: Sessions within grouped buckets sort by last-updated&lt;/li&gt;
        &lt;li&gt;Fix: Chevron tap target enlarged to 44×44 pt&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b67</id>
    <title>Builds 67–70 — New Session sheet, project candidates, real-progress streaming (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b67" rel="alternate"/>
    <updated>2026-05-20T09:09:00-04:00</updated>
    <published>2026-05-20T09:09:00-04:00</published>
    <summary type="html">
      &lt;p&gt;The + button now opens a full New Session sheet with project-path picker, scope indicator, and backend selector. Smart Groups computation streams real progress — bytes received, first cluster name as it emerges.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;New Session sheet with project picker and scope chip (pv13)&lt;/li&gt;
        &lt;li&gt;Helper-supplied project candidates: starred paths, recent sessions, auto-discovered git roots&lt;/li&gt;
        &lt;li&gt;Real-progress streaming for Smart Groups: bytes, first cluster name, KB/s rate (pv14)&lt;/li&gt;
        &lt;li&gt;Smart Groups loading UI with elapsed-time counter and stage labels&lt;/li&gt;
        &lt;li&gt;Mac helper: Project Roots window with starred-path management&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b60</id>
    <title>Builds 60–66 — AI Smart Groups, Smart Titles, Suggested Prompts, cross-session search (v1.2.0)</title>
    <link href="https://schalliol.com/relaykit/changelog#b60" rel="alternate"/>
    <updated>2026-05-19T23:57:00-04:00</updated>
    <published>2026-05-19T23:57:00-04:00</published>
    <summary type="html">
      &lt;p&gt;The Mac helper semantically clusters sessions using Claude Haiku, generates short AI titles for generic sessions, and suggests three follow-on prompts after each reply. Cross-session metadata search filters all grouping modes instantly.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;AI Smart Groups — helper-powered semantic clustering, collapsible Mail-style sections (pv10)&lt;/li&gt;
        &lt;li&gt;Group by Project — Apple Mail-style threaded session list&lt;/li&gt;
        &lt;li&gt;Grouping picker: None / Project / Title / AI Smart Groups&lt;/li&gt;
        &lt;li&gt;Cross-session search — instant metadata filter across all grouping modes&lt;/li&gt;
        &lt;li&gt;Smart Titles — AI-generated short titles for sessions with generic names (pv11)&lt;/li&gt;
        &lt;li&gt;Suggested Next Prompts — 3 tap-to-fill follow-on chips after each reply (pv12)&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>


  <!-- ============================================================ -->
  <entry>
    <id>https://schalliol.com/relaykit/changelog#b50</id>
    <title>Builds 50–59 — v1.2.0: Codex backend launch</title>
    <link href="https://schalliol.com/relaykit/changelog#b50" rel="alternate"/>
    <updated>2026-05-18T23:28:00-04:00</updated>
    <published>2026-05-18T23:28:00-04:00</published>
    <summary type="html">
      &lt;p&gt;RelayKit now drives OpenAI Codex CLI sessions alongside Claude Code. Codex turns route tool-call approvals to your iPhone with a 30-second window. Sessions, sends, and approvals survive app suspension.&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Codex CLI backend support — multi-backend session routing (pv7–pv9)&lt;/li&gt;
        &lt;li&gt;Tool-call approval sheet with 30s timeout (pv9)&lt;/li&gt;
        &lt;li&gt;Always Allow — per-kind approval persisted for the session&lt;/li&gt;
        &lt;li&gt;Helper-side persistent send queue survives iOS suspension (pv8)&lt;/li&gt;
        &lt;li&gt;Plan-aware Codex usage display and real ChatGPT tier from JWT&lt;/li&gt;
      &lt;/ul&gt;
    </summary>
  </entry>

</feed>
