Kody v2026.08.07
Kody v2026.08.07
This is the redesign release. Every public surface β landing, pricing, blog, community, login, onboarding, and account β has been rebuilt around a green OKLCH palette, self-hosted Bricolage Grotesque + Wix Madefor Text, and a restrained motion system that enhances without distracting. Onboarding now leads with a zero-setup first win instead of homework, provider guides ship as a real catalog, code blocks finally have syntax highlighting, and you can triage run errors without deleting history.
New
-
The heykody.dev redesign is live across all nine surfaces. A new green token system on the existing custom properties, self-hosted display and body fonts (Google Fonts wouldn't survive the CSP), scroll and card reveals gated behind
prefers-reduced-motion, and shared primitives β pill/ghost buttons, surface cards, page-head scaffolds β that give the whole product a consistent vocabulary. Every loader, form POST, auth flow, and server-owned content source came through untouched. (#1233) -
Onboarding starts with a guaranteed first win β no setup required. Instead of ending on "connect an integration," step 3 now hands you two copyable prompts: send yourself a welcome email (teaching the storage-first model β Kody stores your reply, nothing answers until your agent reads it) and a tiny memory interview. A derived checklist computes six items from live signals β email verified, MCP grant, stored mail, active memories, saved integrations, saved packages β and shows up on the onboarding page, the account banner, and as a one-line agent notice that retires itself once you're done. The checklist lives only on the final step now, provider icons sit at text height, and both prompts start with "Hey Kody, " so the receiving agent knows the request is for it. (#1266, #1269)
-
Provider connect guides are now a bundled, single-source catalog. Five verified guides β Google, GitHub, Notion, Spotify, Discord β with current console steps, prefilled
/connect/oauthand/account/secrets/newlinks, minimal-scope tiers, and the sharp edges called out (Google's Testing-mode 7-day refresh-token trap, Spotify's Premium requirement). Guides serve three ways: the MCPcoding_guide_getcapability (no more request-time GitHub fetch), browsable/guidespages with header and footer links, and raw markdown via content negotiation. (#1255) -
Code blocks across the site now have VS Code-quality syntax highlighting. Shiki renders GitHub light/dark themes via CSS variables, wired into guides, blog posts, community READMEs, onboarding snippets, and JSON dumps β with a safe plaintext fallback for unknown languages or oversized snippets. (#1259)
-
You can now ignore or resolve retained run errors without deleting history. Soft triage (
ignored,resolved, or reopen toopen) persists on each run with an optional note, who decided, and when. Activity andrun_listdefault to showing only open errors, so handled noise drops out of view while the records stay. Your agents can set triage viarun_update, andrun_summarybreaks counts into open, ignored, and resolved. (#1251) -
You can follow community package owners from the listing page. A follow button sits next to each public owner's
@username; signed-out visitors are sent to login and returned. New accounts also auto-follow@kodyand@kentcdoddsso the community timeline starts with something useful. Public owners link to their profile; private owners show a lock with a "This profile is private" tooltip. (#1261, #1256)
Improved
-
Selecting a record in any list/detail sidebar no longer scrolls you back to the top. Every list entry across memories, secrets, values, jobs, packages, MCP servers, integrations, email, activity, and admin views is now a real link with scroll preservation β middle-click and cmd-click open in a new tab, and hover prefetch warms the destination. (#1270)
-
Account Activity is usable on phones. The shared list/detail layout stacks below 1100px, long ids wrap, metadata goes single-column, and the selected run's detail pane moves above the list on stacked screens. (#1265)
-
Activity now offers a copyable prompt for reviewing open errors. A short prompt under the page description points your agent at
run_summary, the open-errorrun_list, andrun_get, then asks for ignore / resolve / fix recommendations β one click to copy, paste to your agent. (#1264) -
Profile package cards are quieter, and code blocks everywhere indent at 2 spaces. The package name is now the listing link, the redundant kody-id subtitle and "View listing" action are gone, and Fork is a compact icon. Site-wide
tab-size: 2replaces the browser default of 8, and billing/usage shows a single current-plan line unless an admin grant overrides it. (#1260) -
Codemod run history no longer gets stuck in "running" forever. Step-level failures now mark the run
failed, every continuation step bumps a liveness heartbeat, and a reconciliation sweep marks stale runsabandonedβ so the admin history reflects reality. Run ids and initiator attribution are visible at a glance. (#1257) -
Every blog post now carries a quiet callout noting the current posts are AI-written placeholders until Kent rewrites them. (#1258)
Fixed
-
The closed mobile menu no longer swallows taps. After opening and closing the header menu on mobile, taps in the area the menu had covered were still landing on invisible links. The panel's
display: gridmoved into&:popover-openso the closed state falls back to the browser'sdisplay: none. (#1249) -
Source maps now actually reach Sentry. The worker upload step was looking in the wrong directory and exiting silently; the client build wasn't generating source maps at all. Both are fixed, and the upload step now fails the deploy if credentials are set but artifacts are missing β so this can't go unnoticed again. (#1268)
-
The status page's audit-database uptime dip β caused by isolated transient blips against a cold, idle database with no retry β is resolved by wrapping the health-check queries with the same retry tolerance every other database path already had. (#1253)
-
Redundant identical database queries within a single run-log call β the same counter re-fetched on every operation β are now memoized in-isolate, cutting repeated round trips. (#1250)