Repository navigation
Kernel 0.5.0
You brief Kernel itself now, and a chat with Kernel can hand work to teammates or build it in place, with its own reviewed pull requests. Switching accounts tells you which long chats would re-read their history and what that costs, and lets you keep them where they are or move them with a summary. New chat is a page with the same message box as a chat. Turns fold their steps into one line, and Settings has fewer, clearer pages. Rooms can pin read-only reference folders, @ lists folders and teammates, and Kernel has a new icon.
New
- Settings, a room, Setup and scripts offers a script Kernel found in the repo under an empty Setup or Archive row, with a Use button. (#654)
- A room with no setup script now offers a suggested script, Ask Kernel and Add manually in the Setup tab. (#658)
- Kernel can set a room's setup, run and archive scripts, and saves them only after you check them on a card and press Save. (#682)
- When you tell the Lead to go past a review's blockers, Kernel remembers it for that commit, so Merge works without Merge anyway until the next commit, and auto-merge still waits. (#694)
- Right-click any image to copy it or save it to a file. (#695)
- You can overrule a code review's blockers from the PR band, so the PR reads ready and merges normally until a new commit brings them back. (#697)
- Typing @ in the message box now also lists folders, and picking one gives the agent the folder's path. (#702)
- A message to the Lead that mentions a teammate tells the Lead who you addressed, and the Lead is reminded to act for each one before it ends its turn. (#707)
- Typing @ in Kernel's chat lists the room's teammates above the files, and picking one adds a chip that the Lead reads as addressed to them. (#710)
- A room can pin folders outside its repo as read-only references, so its agents can read a sibling project and the @ menu searches it. (#713)
- Teammates can ask the Lead a question or propose handing part of their work to another teammate, and both show in the Team update so the Lead can answer or ask you. (#716)
- Settings, room, General lists the room's reference folders, with Add folder and Remove, and marks a folder that is no longer on the Mac as missing. (#721)
- A toast now warns that switching models mid-chat makes the next reply slower and uses more tokens. (#731)
- Under New chat's box you can pick the room, Worktree or Local, and the branch, and the + menu can link a pull request. (#752)
- Chats with Kernel can switch between Hand off and Build here from the composer, with the default for new chats set in Settings, Agents and Room, Agents. (#761)
- A pull request opened from a chat in Build here gets reviewed and can auto-merge like a teammate's, its checks, conflicts and review results come back to that chat, and once it merges the chat's next change starts on a new branch. (#762)
- A Lead chat shows what it still owes above the message box, such as a teammate's question or blockers not passed on, and you can dismiss each one. (#766)
- Agents can draw Claude Design canvases and share them as links. (#771)
- Control 1 to 9 open the workspaces of the chat you're in. (#805)
- Switching accounts now shows which long chats would re-read their history, what that costs, and lets you keep them on their account or move them, with the matching settings in Settings, Accounts. (#839)
- A long chat now says above the composer when its next turn would re-read its history on another account or model, with the size and, on an API key, the price, and lets you continue with a summary, continue anyway or keep it on its account. (#842)
Improved
- Settings has fewer, clearer pages with one place for each setting, every account's usage on one Accounts page, and dropdowns that match the rest of Kernel. (#650)
- A new room starts with no setup or run script of Kernel's choosing, so a workspace runs only the scripts you set. (#651)
- Settings, Permissions now says protected branches are blocked in Bypass and asked about in other modes. (#652)
- The files card under a reply says its files changed in that reply, and the latest one links to every changed file in the workspace. (#653)
- The footer's other accounts show a swap icon and a tooltip before you click, a "more" chip holds the extra ones, and the Codex chip opens Codex's usage. (#657)
- Toasts rise from the bottom, sit evenly in the corner with the title over the subtitle, and close with a swipe right or down. (#666)
- You now brief Kernel itself, which plans with you and hands work to your teammates. (#667)
- The New agent name field suggests a neutral example name. (#669)
- Settings, Accounts says when an account is also Claude Code's own login in Terminal. (#670)
- Every account switch shows a notice saying what changed, and Undo switches back, including when Kernel switched at a limit. (#671)
- Archiving a workspace takes effect right away, and its worktree is cleaned up in the background. (#672)
- Chats with Kernel no longer show a Lead's name in the composer, and Settings, Team lets you customize or reset Kernel's instructions. (#673)
- When a pull request a teammate waits for merges, Kernel's message to that teammate names the pull request's title and the commands that show what changed. (#681)
- Loading indicators across the app are a quiet grid of dots instead of a spinning ring. (#685)
- Kernel retries a failed update sooner, picks up a stalled download again, checks after the Mac wakes and always installs the newest release. (#687)
- Room pages in Settings update when the room's settings files change on disk, from a hand edit or a git pull. (#692)
- Settings fields that save when you click away now say Saving and Saved, explain a number that was corrected, and keep what you typed when you leave the page. (#693)
- Settings pages line up: the content column stays put, section headings share one size, and Archive room and branch name fields look like what they are. (#696)
- The loading indicator is smaller and quieter, and matches the size of the text next to it. (#698)
- Clicking an image in a diff opens it in its own tab, like an image in a chat. (#699)
- Settings rows whose change doesn't reach running agents now say when it applies, like "Applies to new chats", and saving one while chats run says they keep the old value. (#704)
- Settings says Kernel instead of Lead, and a room whose Kernel file isn't kernel.md can move it there from Settings, Agents. (#706)
- Room settings now say where each value is saved and use the same switches and segments as the app pages, with one Reset, and app pages list the rooms that change a setting. (#708)
- Pull request states have their own icons in the sidebar, chat, PR header and History, so checks failed, changes requested and merge conflicts no longer look alike. (#711)
- The loading dots are smaller and round, and fade out between beats instead of showing a faint grid. (#712)
- Toasts stay on screen longer, so there is time to read them and press their button. (#714)
- A running chat or workspace in the sidebar shows the loader in place of its icon, on the left, instead of at the end of the row. (#715)
- Redrew the plan, keyboard, lock, link, plug, chip, collapse, swap, comment, environment, lightbulb and sparkle icons so they stay readable at small sizes. (#717)
- Settings search and the command palette now open the page, scroll to the setting, highlight it and focus its control, and so do the "Changed in" links to a room's setting. (#718)
- Loading dots now move differently for each kind of wait, and running rows in the sidebar no longer pulse in step. (#719)
- The PRs tab no longer has Merge all, so each pull request merges from its own row, or Kernel merges the ones you name. (#720)
- The PRs tab groups pull requests into Ready to merge, Needs attention and In progress, with each title on top and its state on the line below. (#720)
- Running states like Checks running in Team updates show a spinner and a word instead of a grey button. (#720)
- The Lead is reminded when it ends a turn without answering a teammate's question, passing on a review's blockers or taking a proposed hand-off to you. (#722)
- The dot loader now loops faster, never goes blank between waves, and matches the size of the icons beside it. (#723)
- Loading dots now have a distinct pattern for each place: agents working, chat tabs, running checks, scripts, loading data and switching accounts. (#727)
- The right panel's toggle stays in the top right corner when you open or close the panel. (#732)
- Code reviews check each acceptance criterion in turn, confirm a suspected bug before blocking on it, keep approvals short, and wait for running checks before approving. (#733)
- After you revert files to a checkpoint, the agent's next turn is told the files changed and re-reads them before editing. (#734)
- New plans are saved as plan.md in the workspace's plans folder, then plan-2.md and up, instead of a name taken from the plan's first heading. (#737)
- Tool calls in a chat read as short sentences with the mark of the service they used, and opened calls have Copy buttons and hide secrets. (#739)
- Buttons that are working show a loader pattern that matches the action, so Send, Merge, Approve, Archive, Refresh and Run each look different. (#741)
- The loading dots now swell and sink smoothly in a steady gray instead of blinking on and off, and they are a little thicker and faster. (#742)
- The purple Merged label in Team updates and the Lead's PRs tab now shows the merged icon before the word. (#743)
- Revert files from the "..." menu on the turn you want to undo, with a list of what changes first, and the Checkpoints drawer is gone. (#744)
- Approving a plan closes its strip smoothly with no spinner. (#745)
- Every PR state in a Team update, such as Merge conflicts, Checks failed, Changes requested and Draft, now shows its icon before the word. (#746)
- Repeated tool calls collapse into one row such as "Filed 7 issues in Linear", a running turn folds its finished steps above one live line, and a finished turn's summary says what it did, like "Read 6 files, ran 3 commands, filed 7 issues". (#748)
- Approvals in the Inbox, on Home, on the approval card and in notifications name a tool call the way the chat does, such as "File issue in Linear", instead of the server and tool names. (#750)
- New chat's message box matches a chat's, with the same controls in the same order, a where row under it, and stays in place when the chat starts. (#751)
- New chat opens as a page with the same box as a chat, from every place that started a chat, and the new chat opens with its right panel closed. (#759)
- The loading dots now rest at full size and dip out and back in a smooth wave, and every loader on screen moves in step. (#767)
- Queued messages now sit in one tray attached to the message box, with a clearer Send now, Up to edit the last one and ⌘⇧ Enter to send the first one now. (#776)
- A finished turn keeps the agent's messages visible with only the steps between them folded, empty thoughts are gone, and commands without a description or unknown tools read "Ran a command" or "Used a tool" instead of a raw name. (#778)
- The right panel's toggle sits in the pull request bar, with no gap beside it. (#779)
- The installer window shows where to drag Kernel and what to do next. (#782)
- Steps in a chat keep their icons inside a folded list, joined by a thin line, and an opened step is one card with labelled sections, a copy button on each and pretty-printed JSON. (#785)
- The revert confirm says main keeps your commits once the PR is merged, and names the files main changed too that go back to your version. (#786)
- Your message moves to the top of the chat when you send it, and the reply streams in below it. (#788)
- New chat has the Hand off and Build here chip like a chat with Kernel, and the room, Worktree and branch menus open next to their button. (#789)
- Loaders move faster, so the app no longer feels like it is slowing down while it waits. (#791)
- A turn that ends without a reply now says why, such as a compact, a hook stopping it or Claude declining to answer. (#795)
- Switching a chat with Kernel back and forth between Build here and Hand off, or turning Bypass permissions on and off during a turn, leaves one note instead of a stack. (#796)
- New chat asks "What's next for" the room, and clicking the room's name picks another room. (#802)
- Up next in New chat has quieter rows that show each issue's project, and the whole row starts a plan. (#802)
- Dragging files over a chat now shows a "Drop to attach" overlay on the whole pane, and a dropped, pasted or picked file appears at once as a loading chip that fills in when it is ready. (#806)
- The message box shows a quiet "⌘L to focus" hint in its corner while it is empty, in a chat and on New chat. (#808)
- Kernel has a new app icon and logo. (#813)
- Kernel's own logo now marks the Lead and the Home and Welcome screens. (#814)
- Approve, Allow and Deny on Home, in the Inbox and in a chat act at once, with no spinner, and the approval folds away. (#827)
- A pull request Kernel brings up to date with its base keeps its review approvals and blockers, and isn't reviewed again. (#828)
- An agent's in-between messages now sit inside the turn's fold as their own rows, so a finished turn shows one fold of work and a single reply. (#831)
- Auto-merge brings a pull request up to date with main and waits for its checks to pass again before merging it, instead of merging checks that ran against an older main. (#833)
- Approving a plan or answering a question shows your answer as your own message at the top of the chat. (#835)
- After a chat moves to another account, its note says how many tokens the new account had to read again, once that turn ends. (#837)
- Switching accounts no longer moves chats that are already running elsewhere, so they keep their cache, and only new chats start on the account you switched to. (#838)
- A long chat that moves to another account is summarized first by default, or continues or asks you as Settings, Account says, and Kernel stops switching accounts by itself when the account it switched to fills within 30 minutes. (#840)
- Messages scrolling past the top of a chat now fade out instead of being cut off, and a sent message sits just below that fade. (#841)
- A running turn shows one summary line, and its commands, thinking and messages appear only when you open it. (#843)
- A turn shows its steps while it works and folds them into one line with how long it took when it ends, and Settings, Appearance, Tool calls changes this. (#848)
Fixed
- Fixed Run in a workspace of the Kernel repo quitting at once while Kernel Dev was open, and the Run tab not saying when a run script ended. (#647)
- Fixed a Claude account added in Settings, Providers sometimes asking to sign in again after Kernel shared MCP sign-ins, and a sign-in error from a chat that started before a switch signing out the account now in use. (#648)
- Fixed Jira having no way to connect, when Kernel said to connect it in Settings, Integrations. (#650)
- Fixed agents in Bypass permissions being stopped when pushing their own branch. (#655)
- Fixed the usage meters for Claude Code and Codex jumping back and forth between two values, such as 2%, then 3%, then 2% again. (#659)
- Fixed a teammate started early with Send now never being asked to rebase when the pull request it waited for merged. (#661)
- Fixed Settings, Accounts listing one login twice when Claude Code's or Codex's own login matched an added account. (#662)
- Fixed a pull request reading ready to merge, and merging, while a check the repo doesn't require was still running. (#665)
- Fixed a teammate's wait for a merge ending when the teammate never rebased onto it. The wait now stays and the Lead hears about it. (#668)
- Fixed a teammate's chat saying its branch now starts from a merged pull request when that merge went into a different branch, and Kernel now refuses a wait on work that merges into another base. (#676)
- Fixed Use on an imported setup script suggestion replacing the run and archive scripts the room already had. (#679)
- Fixed the window opening dark before switching to the Light theme, text size or density chosen in Settings, Appearance, and menus and dialogs now follow the theme chosen there. (#680)
- Fixed workspaces sharing one Docker Compose project and database when Kernel itself runs from inside a Kernel workspace. (#683)
- Fixed the room name sitting too high in the title of a room's settings pages, and long Always allow commands running past the edge of Settings, Permissions. (#684)
- Fixed a pull request reading Ready to merge before its review approved it, with "Wait for the reviewer's approval to merge" on in Settings, Pull requests. (#688)
- Fixed closing a tab jumping to the first chat, so it now returns to the tab you used before it. (#689)
- Fixed messages from the app that still called Kernel "the Lead". (#700)
- Fixed an open menu staying above a dialog that opens over it, and gave the permission mode menu room between its rows. (#705)
- Fixed buttons and labels in the PRs tab overlapping when the right panel is narrow. (#720)
- Fixed a usage meter in Settings, Accounts disappearing after its limit reset, and accounts without Fable 5.1 now say Not in plan. (#729)
- Fixed a chat switching to Accept edits after its plan was approved when Shift+Tab was used to reach Plan. (#730)
- Fixed a chat jumping to its end when you come back to it after opening a file, another tab or another workspace, instead of showing where you were reading. (#735)
- Fixed a pull request staying at Ready to merge with Merge without asking me on in Settings, Pull requests, when GitHub was still checking it. (#736)
- Fixed the Lead telling you a teammate was paused by a usage limit after Kernel had already moved it to another account, and never hearing when it was working again. (#738)
- Fixed the Missing label in Settings tables sitting out of line with the Status column, the Reference folders footnote lacking a final period, and the Lead's empty @ menu not mentioning teammates. (#763)
- Fixed Codex agents being able to edit a room's reference folders, which are now read-only for them in every permission mode, as they are for Claude agents. (#764)
- Fixed what a Lead chat still owes staying behind after the chat is deleted from History. (#765)
- Fixed the Lead hearing several times that a teammate is waiting on a usage limit. (#772)
- Fixed New chat not putting the caret in the box when it opens, and ⌘L not returning it there. (#775)
- Fixed Continue on a just-merged pull request sometimes switching the branch without the workspace showing it. (#781)
- Fixed reverting files in a chat also undoing work that came from main. (#783)
- Fixed a reply's changed files card listing files from a branch update. (#784)
- Fixed a sent message jumping back to the top after you scrolled away, blank space lingering under a chat when a send never started a turn, and plan, command output and stop steps reading "Used a tool". (#792)
- Fixed old "Switch to Hand off" buttons showing again in a chat after switching back to Build here. (#794)
- Fixed archived workspaces leaving their folders on disk and their programs running. (#798)
- Fixed an error that could appear while quitting if a sign-in check or Keychain read was still running. (#800)
- Fixed the branch menu in New chat showing a loading line for a moment each time it opened. (#802)
- Fixed Hand off or Build here, Worktree or Local and the branch in New chat going back to their defaults after opening another chat. (#802)
- Fixed the Inbox and History tabs, the GitHub issue filter, the picked run script and a shared page's preview width resetting when you came back to them. (#802)
- Fixed Up next in New chat listing issues from other Linear teams instead of the room's own. (#802)
- Fixed the panel toggle in a chat's top right corner shifting and changing colour when the panel opens or closes. (#803)
- Fixed hover cards in the sidebar piling up when the pointer moves quickly along the list. (#804)
- Fixed attachment chips in the message box making their line taller and sitting against the text typed after them. (#810)
- Fixed the spinner and the turn's clock sitting at the right end of the running step instead of on their own row below it. (#811)
- Fixed the Linear and Jira logos in chat and on the Issues screen looking clipped and jagged instead of clean. (#816)
- Fixed the panel toggle in the top right corner moving by a pixel when the right panel opens or closes. (#817)
- Fixed a sent message, in a long chat or the first message of a new chat, not ending at the top of the view. (#819)
- Fixed the quit dialog counting agents that are only waiting for you to approve a plan as working. (#821)
- Fixed an empty gap under every agent message in a chat, and Retry and Fork being offered while a turn was still running. (#822)
- Fixed new workspaces failing once 51 were open, and when Kernel does run out of ports the error now says to archive finished workspaces. (#823)
- Fixed auto-merge giving up when another pull request landed on the base branch mid-merge, merging a commit pushed after Kernel checked the pull request, and reporting a merge as failed after GitHub had merged it. (#825)
- Fixed approving a plan jolting: the message box now stays in plan mode while the strip closes and shrinks with it, the chat glides to its end, and Approve asks first when you have typed changes. (#826)
- Fixed a new chat's first message staying at the bottom of the view, and the view jumping down when a short reply finishes. (#829)
- Fixed the message box going blank for a moment when a plan is approved, and Home rows springing back or showing a sixth row while an approval is sent. (#832)
- Fixed a Codex chat sometimes hanging on /compact after a turn that finished very quickly. (#842)
- Fixed Codex chats sometimes waiting forever on a compaction when the previous turn had finished very quickly. (#842)
- Fixed the Lead's request to run a review again landing in the wrong review chat, and its reviewer's reply never reaching the Lead. (#844)
- Fixed a sent message dropping down after switching chats or scrolling, and made approving a plan and a new chat's first message move as smoothly as any send. (#847)
Full list of changes
- fix(engine): stop Kernel rolling back Claude logins and blaming the wrong account by @cjjutba in #648
- fix(engine): Run in a Kernel workspace of Kernel stays up, and a run script's log says how it ended (KERNEL-679) by @cjjutba in #647
- feat(settings): redesign every settings page with a custom Select (KERNEL-680) by @cjjutba in #650
- chore(platform): retire design PNGs and canvas, remove Lumi by @cjjutba in #649
- feat(engine): new rooms get no script values, and scripts.suggest offers scripts to import (KERNEL-682) by @cjjutba in #651
- fix(engine): let Bypass permissions push the agent's own branch with HEAD (KERNEL-687) by @cjjutba in #655
- fix(settings): correct Protected branches copy in Permissions (accompanies KERNEL-687) by @cjjutba in #652
- feat(workspace): files card says in this reply and links to the workspace's changes (KERNEL-686) by @cjjutba in #653
- feat(engine): Rowan saves a room's scripts behind a Save card, and scripts.askLead (KERNEL-683) by @cjjutba in #656
- feat(settings): offer a suggested script under an empty Setup or Archive row (KERNEL-684) by @cjjutba in #654
- feat(engine): Kernel reports every account switch, who switched and why (KERNEL-694) by @cjjutba in #660
- fix(engine): Send now keeps the wait, so the teammate hears when the PR merges (KERNEL-689) by @cjjutba in #661
- feat(workspace): Setup tab offers a suggested script, Ask Rowan and Add manually (KERNEL-685) by @cjjutba in #658
- fix(engine): usage meters keep the highest reading in a window (KERNEL-700) by @cjjutba in #659
- feat(footer): footer row shows a click switches accounts, and handles many accounts (KERNEL-697) by @cjjutba in #657
- fix(engine): one login shows as one account row, and auto-switch skips its twins (KERNEL-701) by @cjjutba in #662
- test(engine): end to end run of suggested setup scripts by @cjjutba in #664
- fix(engine): a PR doesn't read ready or merge while any check runs (KERNEL-703) by @cjjutba in #665
- feat(engine): Kernel is the only Lead, and a repo Lead file customizes it (KERNEL-692) by @cjjutba in #667
- feat(footer): every account switch shows a notice with Undo (KERNEL-699) by @cjjutba in #671
- feat(ui): toasts rise from the bottom, swipe right or down, show two rows (KERNEL-705) by @cjjutba in #666
- feat(settings): Accounts says when an account is also the CLI's own login by @cjjutba in #670
- fix(engine): a started teammate's wait ends only once its branch has the merge (KERNEL-691) by @cjjutba in #668
- feat(renderer): Kernel is the Lead in the UI, with no persona or picker (KERNEL-696) by @cjjutba in #673
- feat(agent): rename the sample agent Lumi to Wren (KERNEL-704) by @cjjutba in #669
- feat(engine): archive returns once the workspace is archived and cleans up in the background (KERNEL-702) by @cjjutba in #672
- docs: make AGENTS.md the instruction file, CLAUDE.md imports it (KERNEL-706) by @cjjutba in #674
- fix(engine): refuse a wait across base branches, and claim a merge only when HEAD has it (KERNEL-693) by @cjjutba in #676
- fix(engine): a script suggestion leaves out every script the room has (KERNEL-707) by @cjjutba in #679
- fix(platform): open the window in the saved appearance (KERNEL-708) by @cjjutba in #680
- docs: say Kernel instead of Rowan in docs, the site and the repo's Lead file (KERNEL-698) by @cjjutba in #675
- feat(engine): a waiting teammate's release message says what merged and how to read it (KERNEL-695) by @cjjutba in #681
- docs: remove every remaining Rowan reference, history included (KERNEL-709) by @cjjutba in #682
- fix(engine): a parent Kernel workspace's Compose project and database names lose to the workspace's own (KERNEL-710) by @cjjutba in #683
- feat(workspace): replace the ring spinner with a dot-matrix loader (KERNEL-714) by @cjjutba in #685
- feat(platform): the updater recovers on its own (KERNEL-711) by @cjjutba in #687
- fix(workspace): closing a tab returns to the tab used before it (KERNEL-719) by @cjjutba in #689
- fix(workspace): align the room crumb in settings titles and truncate long Always allow tags (KERNEL-716) by @cjjutba in #684
- feat(engine): record when each setting change takes effect (KERNEL-724) by @cjjutba in #690
- feat(engine): room settings pages update when settings.toml changes on disk (KERNEL-723) by @cjjutba in #692
- feat(platform): a self-contained update test mode in the packaged app (KERNEL-713) by @cjjutba in #691
- feat(platform): Settings fields say Saving and Saved (KERNEL-721) by @cjjutba in #693
- feat(engine): record an overrule of a review's blockers per head commit (KERNEL-732) by @cjjutba in #694
- feat(platform): right-click an image to copy or save it (KERNEL-738) by @cjjutba in #695
- feat(workspace): overrule a review's blockers from the PR band (KERNEL-733) by @cjjutba in #697
- feat(platform): Settings pages line up (KERNEL-722) by @cjjutba in #696
- feat(workspace): dot loader is one size that follows its text, in a quieter color (KERNEL-740) by @cjjutba in #698
- feat(release): staged rollout and a live feed check (KERNEL-712) by @cjjutba in #686
- feat(workspace): clicking an image in a diff opens the image tab (KERNEL-739) by @cjjutba in #699
- feat(engine): Kernel wording in engine messages, and move an old Lead file to kernel.md (KERNEL-741) by @cjjutba in #700
- feat(platform): Settings rows say when a change applies (KERNEL-725) by @cjjutba in #704
- feat(platform): end-to-end update test between two signed builds (KERNEL-715) by @cjjutba in #703
- build(test): run vitest on plain Node instead of Electron (KERNEL-735) by @cjjutba in #701
- fix(workspace): permission mode menu gets room, menus close under a modal (KERNEL-751) by @cjjutba in #705
- feat(workspace): Kernel wording in Settings, and Move to kernel.md on the Team card (KERNEL-742) by @cjjutba in #706
- feat(workspace): @ lists folders in the composer (KERNEL-744) by @cjjutba in #702
- feat(engine): mentioned agents reach the Lead, and Kernel reminds it to act for them (KERNEL-745) by @cjjutba in #707
- fix(engine): a PR waits for the reviews Kernel planned before it reads ready (KERNEL-717) by @cjjutba in #688
- feat(platform): cap test runs at 2 at once across the Mac (KERNEL-736) by @cjjutba in #709
- feat(platform): room settings say where each value comes from (KERNEL-726) by @cjjutba in #708
- feat(workspace): Kernel's own PR state icons (KERNEL-753) by @cjjutba in #711
- feat(workspace): @ lists teammates in the Lead's composer (KERNEL-746) by @cjjutba in #710
- feat(workspace): dot loader fades out between beats (KERNEL-755) by @cjjutba in #712
- feat(workspace): toasts stay on screen for 5s (KERNEL-758) by @cjjutba in #714
- feat(workspace): running rows show the loader in the icon slot (KERNEL-756) by @cjjutba in #715
- feat(engine): teammates can ask the Lead and propose a hand-off (KERNEL-747) by @cjjutba in #716
- feat(workspace): redraw weak icons, merge duplicates (KERNEL-754) by @cjjutba in #717
- feat(engine): reference folders agents read and @ searches (KERNEL-748) by @cjjutba in #713
- feat(workspace): compact title-first PRs tab, and remove Merge all (KERNEL-757) by @cjjutba in #720
- feat(workspace): reference folders in room settings (KERNEL-750) by @cjjutba in #721
- feat(workspace): dot loader has one pattern per kind of wait (KERNEL-759) by @cjjutba in #719
- feat(platform): Settings search opens the page and lands on the setting (KERNEL-727) by @cjjutba in #718
- feat(engine): Kernel holds the Lead to open questions, blockers and hand-offs (KERNEL-749) by @cjjutba in #722
- feat(workspace): dot loader never goes blank, loops in 1s and is 12px by @cjjutba in #723
- fix(telemetry): flaky usage data test by @cjjutba in #724
- docs(workspace): describe the dot loader as it is now by @cjjutba in #726
- feat(workspace): dot loader has 13 patterns and each place its own by @cjjutba in #727
- feat(engine): link checkpoints to turns, preview a revert, tell the agent after one (KERNEL-764) by @cjjutba in #734
- fix(engine): auto-merge weighs a PR again when GitHub hadn't settled it (KERNEL-768) by @cjjutba in #736
- feat(workspace): right panel toggle stays in the top right corner (KERNEL-769) by @cjjutba in #732
- fix(platform): Settings, Accounts keeps a reset meter at 0% and says Not in plan without Fable (KERNEL-774) by @cjjutba in #729
- feat(engine): save new plans as plan.md instead of after their first heading (KERNEL-767) by @cjjutba in #737
- feat(workspace): toast when switching models mid-chat (KERNEL-771) by @cjjutba in #731
- feat(engine): sharper code reviews, no approval while checks run, security review on risky paths (KERNEL-773) by @cjjutba in #733
- feat(workspace): tool rows read as sentences with the service's mark (KERNEL-782) by @cjjutba in #739
- feat(workspace): busy buttons use the loader pattern for their action (KERNEL-759) by @cjjutba in #741
- fix(engine): the Lead hears what Kernel does about a teammate's limit (KERNEL-777) by @cjjutba in #738
- feat(workspace): merged label shows the merged PR icon by @cjjutba in #743
- fix(workspace): Shift+Tab into Plan puts back the chat's mode (KERNEL-772) by @cjjutba in #730
- fix(workspace): a chat keeps the spot you were reading (KERNEL-765) by @cjjutba in #735
- feat(workspace): dot loader dots swell and sink instead of fading by @cjjutba in #742
- test(engine): check KERNEL-743 end to end (KERNEL-743) by @cjjutba in #725
- feat(engine): New chat contracts, lead.start mode, branch list with commit times, PR chip part (KERNEL-776) by @cjjutba in #749
- feat(workspace): revert files from the turn's menu, remove the Checkpoints drawer (KERNEL-766) by @cjjutba in #744
- feat(engine): approval and notification titles say what the chat says (KERNEL-785) by @cjjutba in #750
- feat(workspace): one composer for New chat and chat, with the where row and a pinned box (KERNEL-781) by @cjjutba in #751
- feat(workspace): New chat where row pickers: room, Worktree or Local, branch menu, Link pull request (KERNEL-786) by @cjjutba in #752
- test(platform): faster setup in the slowest test files, and a stable accounts suite (KERNEL-737) by @cjjutba in #747
- ci: spike running the test suite on Ubuntu by @cjjutba in #728
- feat(workspace): every PR state in a Team update row shows its icon by @cjjutba in #746
- feat(engine): Hand off and Build here modes for chats with Kernel (KERNEL-770) by @cjjutba in #740
- docs(design): loader comment and busy button table match the code by @cjjutba in #758
- feat(workspace): repeated tool calls collapse and a turn summarizes what it did (KERNEL-784) by @cjjutba in #748
- ci(platform): PRs run only the affected tests, main runs everything by @cjjutba in #753
- feat(workspace): New chat page replaces the New chat modal (KERNEL-788) by @cjjutba in #759
- feat(workspace): Hand off and Build here switch in the composer and its defaults in Settings (KERNEL-780) by @cjjutba in #761
- fix(workspace): Lead's empty @ text, Missing lines up with Status, footnote period (KERNEL-793) by @cjjutba in #763
- fix(engine): a deleted Lead chat takes its open items with it, and open items push a change event (KERNEL-791) by @cjjutba in #765
- feat(workspace): see and dismiss what the Lead still owes (KERNEL-792) by @cjjutba in #766
- fix(engine): Codex agents can't edit reference folders (KERNEL-790) by @cjjutba in #764
- feat(workspace): dot loader rests full and dips out, center never alone, rows in step by @cjjutba in #767
- test(platform): stable accounts tests for one login, one row (KERNEL-752) by @cjjutba in #769
- test: stop chatTabs failing when another test picks its hook port by @cjjutba in #770
- feat(engine): agents can draw Claude Design canvases (KERNEL-795) by @cjjutba in #771
- feat(engine): Build here pull requests get reviews, updates and a fresh branch (KERNEL-778) by @cjjutba in #762
- test: make the suite pass on Ubuntu by @cjjutba in #772
- ci: run the Test check on Ubuntu, with a macOS job for the macOS-only tests by @cjjutba in #773
- feat(workspace): dock queued messages to the composer as one tray by @cjjutba in #776
- fix(workspace): New chat puts the caret in the box and ⌘L returns it (KERNEL-801) by @cjjutba in #775
- refactor(scripts): runScript decides how a script ended through scriptEndOf by @cjjutba in #777
- ci: cache node_modules in the Test workflow and fail the gate on a skipped job by @cjjutba in #774
- fix(engine): revert keeps what arrived from main and counts only the agent's commits (KERNEL-797) by @cjjutba in #783
- test: every test file gets its hook port from the OS by @cjjutba in #780
- fix(engine): Continue and Archive on merge no longer race after a merge by @cjjutba in #781
- feat(workspace): keep messages visible in a finished turn and tidy step labels (KERNEL-800) by @cjjutba in #778
- feat(workspace): step rows and the opened card match Claude's step list (KERNEL-802) by @cjjutba in #785
- feat(workspace): revert confirm wording for merged PRs and files main changed too (KERNEL-798) by @cjjutba in #786
- feat(workspace): a sent message scrolls to the top and the reply streams below it (KERNEL-803) by @cjjutba in #788
- feat(workspace): panel toggle sits in the PR band as a plain icon (KERNEL-799) by @cjjutba in #779
- feat(workspace): faster dot loader, 0.8s loop by @cjjutba in #791
- feat(workspace): New chat uses the chat's composer, where menus anchor to their button (KERNEL-805) by @cjjutba in #789
- test(platform): regression tests for Build here and Hand off cases (KERNEL-783) by @cjjutba in #787
- feat(workspace): plan strip closes smoothly on Approve, with no spinner (KERNEL-789) by @cjjutba in #745
- feat(platform): polish the DMG installer window (KERNEL-796) by @cjjutba in #782
- fix(platform): account work still running at stop no longer reaches the closed database (KERNEL-806) by @cjjutba in #800
- fix(engine): archive deletes its worktree and ends what agents started (KERNEL-810) by @cjjutba in #798
- fix(engine): a reply's files card leaves out a branch update that raced its checkpoint (KERNEL-804) by @cjjutba in #784
- feat(engine): mode switches and Bypass toggles update one note (KERNEL-809) by @cjjutba in #796
- fix(workspace): old Switch to Hand off buttons stay hidden after switching back (KERNEL-811) by @cjjutba in #794
- fix(workspace): tool-call polish follow-ups (KERNEL-807) by @cjjutba in #792
- ci: build check on every PR, full macOS run nightly and on release PRs by @cjjutba in #793
- fix(platform): a killed test run takes its vitest workers with it (KERNEL-812) by @cjjutba in #799
- feat(engine): turns that end without a reply say what happened (KERNEL-808) by @cjjutba in #795
- feat(workspace): New chat names the room, remembers its picks, and Up next lists the room's team by @cjjutba in #802
- fix(workspace): sidebar hover cards no longer pile up (KERNEL-817) by @cjjutba in #804
- fix(workspace): the panel toggle stays put and neutral when the panel opens or closes by @cjjutba in #803
- feat(workspace): ⌃1 to ⌃9 open the workspaces of the chat you're in (KERNEL-814) by @cjjutba in #805
- feat(workspace): show feedback when files are dragged, dropped or pasted into a chat by @cjjutba in #806
- feat(brand): Block K brand masters (KERNEL-818) by @cjjutba in #807
- feat(workspace): composer shows a ⌘L to focus hint while the box is empty by @cjjutba in #808
- fix(workspace): the running spinner and clock get their own row (KERNEL-823) by @cjjutba in #811
- feat(platform): Block K app icon and DMG (KERNEL-819) by @cjjutba in #813
- feat(workspace): Block K as the app's own mark (KERNEL-821) by @cjjutba in #814
- fix(platform): MCP sign-ins test waits for the add's background reads by @cjjutba in #815
- fix(workspace): inline composer chips sit on the text line (KERNEL-824) by @cjjutba in #810
- fix(workspace): Linear and Jira marks render cleanly by @cjjutba in #816
- fix(workspace): panel toggle never moves when the panel opens or closes by @cjjutba in #817
- feat(site): Block K on the website (KERNEL-820) by @cjjutba in #812
- test(workspace): hover card tests cover the open delay, the shared record and a keyboard card by @cjjutba in #820
- fix(workspace): a sent message in a long chat reaches the top of the view (KERNEL-825) by @cjjutba in #819
- fix(engine): quit dialog skips agents only waiting on a plan approval (KERNEL-827) by @cjjutba in #821
- fix(engine): widen workspace ports and say how to free them (KERNEL-830) by @cjjutba in #823
- fix(workspace): plan approval closes as one motion (KERNEL-833) by @cjjutba in #826
- fix(engine): make the merge call safe (KERNEL-829) by @cjjutba in #825
- fix(workspace): reply actions leave no gap and no Retry mid-turn (KERNEL-828) by @cjjutba in #822
- feat(workspace): every approval in Home, Inbox and the chat card acts at once (KERNEL-834) by @cjjutba in #827
- feat(platform): pnpm shots --motion captures a contact sheet and GIF (KERNEL-831) by @cjjutba in #824
- fix(engine): Kernel's own branch updates keep the PR's reviews (KERNEL-832) by @cjjutba in #828
- feat(workspace): in-between agent messages become rows in the turn's fold (KERNEL-840) by @cjjutba in #831
- feat(engine): answers to plans, questions and agent proposals become the user's chat messages (KERNEL-836) by @cjjutba in #830
- fix(workspace): approval motion follow-ups (KERNEL-839) by @cjjutba in #832
- fix(engine): auto-merge brings a stale PR up to date before merging (KERNEL-835) by @cjjutba in #833
- fix(engine): auto-merge holds the updated head's ready until Kernel records the update (KERNEL-835) by @cjjutba in #834
- fix(workspace): a new chat's first message anchors and the padding outlives the turn (KERNEL-837) by @cjjutba in #829
- feat(workspace): plan approvals and question answers show and anchor as the user's own message (KERNEL-838) by @cjjutba in #835
- feat(engine): account moves A: per-turn cache facts, placement and contracts (KERNEL-842) by @cjjutba in #837
- feat(engine): account moves B: chats keep the account that holds their cache (KERNEL-843) by @cjjutba in #838
- feat(workspace): account moves D: switch confirmation, Settings controls and chats per account (KERNEL-845) by @cjjutba in #839
- feat(engine): account moves C: move policy, summarize first and guards against burning accounts (KERNEL-844) by @cjjutba in #840
- feat(workspace): chat top edge fades instead of clipping by @cjjutba in #841
- feat(workspace): a collapsed fold shows nothing from inside it by @cjjutba in #843
- feat(workspace): account moves E: chat move notice before the next turn (KERNEL-841) by @cjjutba in #842
- test(engine): account moves F: end-to-end QA of the 21 cases (KERNEL-841) by @cjjutba in #846
- feat(workspace): a sent message keeps its place, and every send glides the same by @cjjutba in #847
- fix(engine): Lead messages reach the review kind it names, and replies to them reach the Lead by @cjjutba in #844
- feat(workspace): show steps while a turn works, fold them when it ends by @cjjutba in #848
- chore(release): 0.5.0 by @cjjutba in #850
Full Changelog: v0.4.1...v0.5.0