Changelog
All notable changes to CoachKeeper are documented here.
Maintainers: format follows Keep a Changelog; the
bug-hunter routine (.claude/skills/bug-hunter/) appends entries under ## Unreleased as
changes ship, and cutting a release is a human step. The audience is users — this file is
rendered at coachkeeper.com/changelog, so every entry
describes what a user can see or do, in plain language. Internal work (tests, tooling,
refactors, infrastructure) doesn’t belong here.
Unreleased
Added
- The Library, rebuilt around tag cards — the Library now opens on a grid of tag cards
instead of a sidebar list. Each card shows its colour, what’s inside split by kind
(
4 notes · 7 todos · 2 events), and a glimpse of the actual items, so you recognise a topic by its contents. Search tags by name and sort by name, most items, or recent. - Manage tags where you see them — rename, recolour, merge, and delete any tag from its card or its page. Renaming into a name that already exists offers to merge the two instead of failing. Deleting a tag never deletes your items: they simply lose the tag, and nested tags move up a level. The confirmation says exactly what will happen first.
- Calendar events join your tags — events are now full members of the tag system. Tag an event and it counts towards the tag, shows up in the Library grouped under Events, and can carry several tags like notes and todos already could. Existing event tags were brought across automatically.
- A tag’s page, grouped — items on a tag page are grouped into Notes, Todos, Events and Files, each with its own count, and you can switch between gallery and list layouts (the choice is remembered per tag). Todo cards now show due dates and priority; event cards show when they happen. Open in board jumps to the Kanban filtered to that tag.
- ⌥5 opens the Library from anywhere.
- Google Calendar, two-way — connect a Google account from Settings and CoachKeeper creates its own dedicated “CoachKeeper” calendar there. Events you create, edit, or delete in CoachKeeper (including via chat, MCP, or ICS import) show up on that calendar within about a minute, and changes made on the Google side sync back automatically. Settings shows when it last synced.
- Calendar redesigned — a persistent mini-month sidebar shows a dot under any day with events plus an upcoming-events list; the day/week grid now always shows the full 24-hour timeline and auto-zooms to where your events actually are; the old “List” view is now a rolling 30-day Agenda instead of snapping to calendar weeks; and the view switcher reads Day / N days / Month / Agenda with a day-count picker and a desktop ”+ New” button.
- Notebooks — drag one note onto another in the notes list to bind them into an ordered, readable/editable book. Pages stay individually editable; read one page at a time or as continuous scroll; export the whole book as one markdown file. The Library gets a notebook shelf, and notebooks can now carry a tag of their own so they show up on tag shelves too. The AI assistant and connected agents can list, read, create, and reorder notebooks.
- Split-view tabs can be bound and unbound by dragging one tab onto another in the tab strip, and dragging a paired tab back onto empty space unbinds it.
- Library: untagged inbox — a rail of recent notes, todos, and events that haven’t been filed under any tag yet, with drag-and-drop or tap-to-file onto a shelf. Shelves with no activity for 30+ days are marked dormant. Dragging one todo onto another now merges their checklists and context, with an undo toast.
- Chat and connected-agent edits write themselves in — only the part of a note that actually changed animates when the assistant or an MCP client edits an open note, instead of the whole document flashing to the new version. Notes now get the same brief “agent updated” highlight todos already had.
- External AI agents can navigate your workspace properly — a workspace overview, meaning-based semantic search, and a tag list with live counts are now available over MCP, and every agent list tool (notes, todos, sources) is paginated with real filters instead of a silent 200-item cap. Notes can now be tagged by chat and connected agents too.
- See your connected AI agent — a top-bar indicator and a Settings section show whether your MCP agent (e.g. Claude) is connected, with a dismissible hint card in chat and a guided-tour step introducing it. Todos an agent creates land at the top of the board, and cards it adds or updates briefly pulse with an “Agent added/updated” badge.
- Quick Capture has a home in the sidebar — a Capture entry (⌥I) makes it discoverable without knowing the shortcut, and a low-confidence guess now asks you to confirm the type instead of filing itself silently.
- Event times read left to right — Start and End are
[date | time]fields joined by a line carrying the duration, with one-tap duration presets and plain-language day labels (Today / Fri, 7 Aug). Editing an event now feels like editing a todo: it autosaves, shows the linked todo’s progress, and opens that todo already expanded. - Routines fade into the background — recurring events (a daily standup, a lunch break) render with softer colour and a repeat glyph, so the one-off events on a busy day actually stand out. A toolbar toggle hides routines entirely.
- A calmer mobile editor — the note editor’s toolbar chrome moves into a bottom action sheet on phones, freeing up roughly 100px of writing space.
- One floating bar for formatting and inserting — select text to format or send it to AI edit, or type ”/” for block inserts; both now live in the same bar instead of two competing menus.
Changed
- Notes and todos have a new layout — the list is now a resizable sidebar next to the editor (instead of a separate list screen); collapse it to write full-width, or keep both visible side by side. Opening Chat from the sidebar now opens it as its own tab.
- Quick Capture redesigned — a wider popup, an input that grows and wraps instead of scrolling sideways, rotating example prompts, and a clearer “thinking” indicator while it classifies your capture.
- Onboarding tour redesigned — a dimmed spotlight, smoother motion between steps, and an icon for each step.
- Pricing simplified to one $9/month plan; the model picker in Settings now points at your connected agent instead of choosing between tiers.
- Inter is now the default editor typeface, so a note looks the same on every device instead of following the OS.
- The sidebar show/hide toggle moved next to the sidebar it controls, so it no longer looks like a selected tab.
- Refreshed the coachkeeper.com landing page with a new hero animation and motion throughout.
Fixed
- Typed approval actually works now — replying “yes” (or “sí”, “go ahead”, etc.) to a bulk action the assistant proposes now approves it the same as clicking the checkmark; previously only the button worked, and a typed reply just re-presented the same plan.
- Your “yes” only ever approves the plan you were shown — if the assistant comes back with a different or larger plan than the one on the table, it has to ask again instead of treating your earlier approval as covering it.
- Notes created by chat or a connected agent always open with a proper title heading, so the sidebar can no longer show a truncated sentence as the note’s name.
- Notes and todo context written by chat or a connected agent now render nested lists,
checklists, tables, blockquotes, and code blocks correctly instead of degrading to plain
text, and horizontal rule dividers (
---) no longer silently disappear. - Selecting text in the note editor on mobile no longer pops the floating bubble menu on top of the bottom formatting bar and the phone’s own selection menu.
- A light-theme bug that could render some calendar headings invisible is fixed.
- Landscape phones no longer risk the page scrolling out from under the app shell — the scroll lock that already protected portrait mode now covers landscape too.
- Kanban board columns are full-width with swipe-to-page paging on phones, instead of a cramped fixed width.
- Notebook page controls (remove/edit) that used to need a hover now stay visible on touch devices, and Library cards/inputs/touch targets were resized to stop long titles from panning the page and to prevent iOS’s input focus-zoom.
- Fixed the AI assistant and connected agents (Claude, Cursor, and other MCP clients) being completely broken — every tool call had been failing.
- Empty notes no longer linger: clearing a note’s content removes it once you navigate away (with an “Undo” toast), and a blank draft never gets saved as a note in the first place.
- AI actions in the editor (the sparkles/extract button and AI edit) used to fail silently — they now show what went wrong with a way to retry, and correctly count toward your monthly usage.
- Closing the chat panel mid-response no longer erases the reply you’d already read.
- Fixed the Settings page showing Google Calendar and billing status as unavailable when they were actually configured correctly.
- The free-time label on the calendar no longer overlaps and garbles the event titles it sits beside.
- Fixed real-time updates occasionally losing their connection and being slow to reconnect.
- The app now recovers automatically from an occasional blank screen after a deploy, instead of getting stuck needing a hard refresh.
- Login and register pages now scroll properly on phones — the invite code and Register button were previously unreachable on some screens.
- Bottom navigation on mobile now switches tabs instantly, without occasional dropped taps.
- Dropped a canvas-based text measurement in the tag list that Safari’s tracking protection flagged as fingerprinting; “clear my data” in Settings now reliably clears every stored preference.
- Faster across the board — quicker page loads, a smoother AI chat during long conversations, and reduced backend latency on every request.
2026-07-31
Added
- A new home — this site, with the guide, blog, and changelog, now lives at coachkeeper.com. The app itself moved next door to app.coachkeeper.com: old links and bookmarks take you there automatically, you’ll just be asked to sign in once.
- Request an invite — CoachKeeper is in private beta, and you can now join the waitlist right from the homepage. We send invites as spots open up.
- Help & Guide in the app’s account menu — the user guide is one click away.
2026-07-28
Added
- Note mentions & backlinks — type
[[in any note to link another note, or create one on the spot. Mentions appear as chips that always show the note’s current title, and every note and todo now has a “Referenced by” panel showing what links to it — mentioning notes, related todos, and the calendar events that schedule them. Links stay correct no matter how a note is edited, including through the AI assistant.
Fixed
- Split view: opening a note, todo, or event now always happens in the pane you clicked, and unsaved edits are safely stored before the view changes — no more jumping back to the previous item.
- Tags always keep a color — a colorless tag could previously break list views.
- Calendar import: large
.icsfiles import faster, and importing the same file twice no longer creates duplicate events.
2026-07-13
Added
- Multiple tags per note and todo, with one primary tag — add, reorder, and remove tags right from the tag picker.
- Library — a new view that turns your tags into collections: browse everything carrying a tag as a gallery of notes, todos, links, and videos. Paste a bare URL in Quick Capture and it becomes a link card with title and preview.
- Kanban lanes for every tag — a todo with several tags appears in each of its lanes, and lanes fold away with a click.
- Reading pane — lists now open items in a resizable side pane instead of a separate rail.
- Calendar in color — events take their tag’s color, and you can now export your calendar,
import
.icsfiles, and subscribe from Google or Apple Calendar. - Mention an uploaded file by name in chat and the AI reads and searches inside it.
Fixed
- Deleting your account now removes all of your data, completely. You can also export everything yourself from Settings.
2026-07-12
Added
- Accounts — sign up with email (with verification) or continue with Google or GitHub. CoachKeeper opens as an invite-only beta.
- Planning preferences in Settings, including your preferred break length between blocks.
- A new brand mark — the pennant.
Fixed
- PDF export now works reliably in Safari.