Skip to content

Kernel 0.6.0

Choose a tag to compare

@cjjutba cjjutba released this 16 Oct 17:24
· 178 commits to main since this release
6791542

Issues and pull requests share one Work page, and its Pull requests tab lists open pull requests across every project, with Merge on the ones that are ready. Chats, panels and lists reopen where you left them after a restart, and a file path an agent mentions opens in a tab. You can attach any file to a message, and the Run button always sits in the bottom panel. Adding a project takes seconds: clone a GitHub repo, open a folder or start from scratch, and it opens straight into New chat. Rooms are now called projects, both themes use neutral greys, and frontend and backend agents can run on different models.

New

  • A Pull requests page in the sidebar lists open pull requests across every project with their checks, review and conflicts, offers Merge on the ready ones, and shows recently merged ones under Merged. (#860)
  • Issues and Pull requests are now one entry in the sidebar, Work, with a tab for each and a project picker that includes All projects on Pull requests. Press 1 or 2 to switch tabs. (#888)
  • The bottom bar has a History button, just left of Help, that opens History for all projects. (#920)
  • You can attach any file to a message, up to 50 MB each, and the chip shows its type and size. (#929)
  • The Run button is always in a workspace's bottom panel, with a menu to start any run script, run them all or open the project's scripts. (#930)
  • Chats reopen where you left them after a restart, and Scroll to bottom shows how many new messages arrived while you were reading higher up. (#942)
  • Work, Issues has a Linear | GitHub switch in its header for projects that have both, and remembers the choice per project. (#958)
  • File paths that agents mention in chat open the file in a tab when you click them. (#1003)
  • Command Shift H switches a chat with Kernel between Hand off and Build here. (#1022)

Improved

  • A running turn shows its timer on its own line under the work, and says when it is waiting for you. (#852)
  • Images you attach to a message are named image.png, image-2.png and so on in the order you add them, so you can refer to one by name in your prompt. (#855)
  • The collapsed run panel no longer shows the port when nothing is running. (#856)
  • The Team update card in a Lead chat no longer shows a Copy button. (#857)
  • The sidebar now has Search in the top bar next to Back and Forward, and three rows: New chat, Inbox and Issues. Home is gone, and archived workspaces open from Search or from a project's menu. (#858)
  • The model pickers list GPT-6.1-Sol and Haiku 5.5, along with the older Claude and Codex models, which are marked legacy. (#862)
  • The message box toolbar has its own Effort menu next to the model, new permission mode icons, and a quieter layout, and an open chat's row under the box shows only Worktree or Local and the branch. (#863)
  • Jira is no longer offered as an issue tracker, and a project that used it now has none. (#864)
  • The model picker has a rail to switch between Favorites, Claude and Codex, shows only that provider's models with older ones folded under Legacy models, and dims the other provider in a chat that has started. (#869)
  • A new chat opens with your first message already at the top, and a chat that is still loading no longer shows the new chat welcome. (#870)
  • The line that groups a chat's workspaces in the sidebar is now a single straight guide, and the selected row no longer covers it. (#873)
  • Where a new chat runs and which branch it starts from moved into the + menu, Hand off and Build here is a switch, the extra attach button is gone, and ^⌘1 to 9 pick a Claude or Codex model in any chat. (#876)
  • The footer now shows an update's download progress, and a failed update check says why, such as no internet connection, with a Try again button. (#877)
  • Home and End move to the first and last chat tab, and a shared file that can no longer be found says so instead of disappearing from the chat. (#878)
  • Escape now dismisses the newest toast, Command Option Z presses its Undo, Settings shows its title with a loading or Try again state, and the usage data question can be closed with Escape to be asked again next launch. (#879)
  • Escape now stops a running turn, Stop stays available while you type and returns queued messages to the box, and a queue or mode that fails to load says so with a Retry. (#880)
  • Every scroll the chat makes on its own, a sent message, Scroll to bottom, the chat rail and Approve, now moves the same way, and a failed answer no longer makes the view jump. (#881)
  • The setup checks now say when they are taking longer than expected and offer Check again, and Home offers to add your first project when you have none. (#882)
  • The model picker is cleaner, with one line per model and its effort beside the model name in the message box, and Cmd+Shift+/ now cycles the effort. (#883)
  • Issues keeps the loaded list when a refresh fails, tells apart GitHub being signed out, the repo being gone and being offline, and points a rejected Linear token to Settings, Integrations. (#884)
  • Connect a repo and Open a folder show when they are loading, empty or failed with Try again, the GitHub header shows your real sign-in, and a project setup that stops says so. (#885)
  • Pull requests now says when its status was last read and warns when GitHub couldn't be reached, Delete in History shows a Try again when it can't count, and Projects and Pull requests remember their tab. (#886)
  • Inbox, Issues, Projects, Pull requests and History now share the same list keys: the arrows or J and K to move, Home and End to jump, and Enter to open. (#887)
  • Work shows each issue's agent and pull request state, with the ready PR one click from Merge, and Open pull requests start with what can merge, then what needs you. (#889)
  • Buttons now show a clear hover and press and fade between them. (#892)
  • A chat rail jump or a send that another scroll interrupts now finishes cleanly, and the approval fold, group collapse, queue tray and modal backdrop share one set of timings. (#893)
  • A question's choices are one group you move through with the arrow keys, the merged pull requests note sits above the list, and "Try again" buttons stay busy until the reload finishes. (#894)
  • Escape now closes the innermost thing first and a toast last, and closing a menu, picker, modal or the command palette puts focus back where it was opened. (#896)
  • A project setup step that failed now has a Try again button, and Try again in Connect a repo and Open a folder waits for the list to actually reload. (#897)
  • Escape in a text field no longer backs out of the plan question, a retry on an issue waits for its own load, and the GitHub issue list shows its 100 issue note at the top. (#898)
  • Rooms are now called projects everywhere in Kernel. (#899)
  • Sending a message now shows it at the end of the chat at once, and the chat stays at the end while the reply streams, with no scroll to the top. (#906)
  • Work, Issues shows the last list and the last issue you read at once when you come back, then refreshes in the background. (#909)
  • The Lead's PRs tab shows an approved review in green and a failing state in red, each with a small icon, so you can spot what is ready and what is broken. (#912)
  • Sending a message, Stop, Retry, Send now and approving a plan now show their result at once, with the message, the Working line and the box all changing together, and the placeholder no longer flickers. (#913)
  • Issue chips in a chat show the issue's title on hover and open it in Issues, or in your browser when Issues can't show it. (#917)
  • The demo on the landing page shows the latest version of the app. (#918)
  • The ⌘K palette opens with your recent items and actions, has tabs for Chats, Shared, Pages and Projects, and shows an icon on each row. (#924)
  • The composer no longer suggests your next message. (#925)
  • The panel toggle takes the colour of the pull request band when the panel is open. (#926)
  • Project settings are down to six pages, and Scripts edits the setup and archive scripts in place with line numbers, with Permissions, Skills and MCP servers now on Agents and Files to copy on Environment. (#931)
  • New workspaces run the project's scripts right away, without asking you to trust them first. (#934)
  • Inbox and Pull requests open where you left them, including after a restart. (#936)
  • The right panel, file and diff views, and the setup and run logs reopen where you left them, including after a restart. (#937)
  • Issues, History, All projects, Settings and the sidebar reopen where you left them, even after a restart. (#938)
  • Search is now a field above New chat in the sidebar that opens the ⌘K palette. (#947)
  • Shared pages, files, images, text and diffs now fill the column, and the message box under them shrinks to one line until you click it, type, or have something to answer. (#951)
  • A GitHub issue handed to an agent in a project that uses Linear now brings its description, labels and assignees, and so does a Linear issue in a project that uses GitHub. (#953)
  • Settings, MCP servers opens right away with the last results and updates each account as its check finishes. (#955)
  • Switching accounts happens at once, with no confirmation and no notice, and a chat only asks how to move when it has to wait for your answer. (#956)
  • Kernel now moves to an account with room before the one in use hits its limit, unless you turn it off in Settings, Accounts. (#956)
  • New chat opens even before you have a project, and offers Connect a repo, Open a folder and Start from scratch above the message box. (#957)
  • Settings, MCP servers shows the last results while it checks each account, and when each was last checked. (#959)
  • A fresh install opens on a short Kernel splash and then New chat, and a check that needs fixing shows one line above the message box instead of its own screen. (#960)
  • The footer shows usage for the account in use only, so a stray click there never switches accounts, and your other accounts' usage is in the Usage popover. (#961)
  • Connect a repo is now Clone a GitHub repo: paste a URL or pick one of your repos, shown with their avatars and descriptions, choose where it goes, and Clone starts the project right away. (#963)
  • Open a folder is one list with your pick highlighted, takes a folder dropped on it, and offers to create a private GitHub repo for a folder that isn't on GitHub yet. (#964)
  • New project starts from scratch as an empty repo with a README, asks only for a name, a location and the private GitHub repo to create, and links to Clone a repo and Open a folder for the rest. (#965)
  • A new project opens straight into its New chat, where setup shows as a few plain rows instead of a screen of its own, and adding a project no longer installs dependencies, so it is ready in seconds. (#966)
  • Setup and archive scripts, pull request instructions and account names in Settings save as you edit them, with no Save button. (#968)
  • Settings, MCP servers updates as soon as a chat finds a server that needs a sign-in or works again, and handing work to an agent says when one of its tools needs a sign-in on the account it runs on. (#971)
  • Up next in New chat fills up to three issues from Backlog when Todo has fewer. (#976)
  • The chat holds still while it opens, follows and reveals a plan, instead of jumping between positions. (#979)
  • A long chat opens in place after a restart without moving as it draws. (#981)
  • A teammate's chat no longer shows a line each time Kernel brings its pull request up to date with the base branch. (#982)
  • A new chat shows its branch, its worktree and its setup script as plain rows above the first message, with the elapsed time and the last line of output while setup runs, and a message sent meanwhile can go out at once with Send now. (#983)
  • The account menu shows the check for the account in use on the left, lines up each account's plan on the right, lists API keys after subscriptions and keeps Manage accounts and Settings together. (#985)
  • A brief that waited for another pull request to merge is now the first thing in the teammate's chat, with no Kernel notes above it. (#988)
  • The account menu shows the Claude and OpenAI marks before their groups, icons on Manage accounts and Settings, and a larger, easier to read Settings shortcut, which also applies to shortcuts in other menus. (#990)
  • Settings, Models has separate Frontend and Backend rows, so frontend and backend agents can run on different models, and a model you chose for engineers before carries over to both. (#992)
  • Kernel answers questions without ending on an offer to file or hand off the work. (#993)
  • A Lead chat's header is one row: the project, then the chat tabs, with the chat's title shown once. (#997)
  • New chats in a project you've already set up open without the setup rows at the top. (#998)
  • The dark and light themes use neutral greys, so the sidebar, the chat and the message box are easier to tell apart. (#1000)
  • Up next on New chat shows Plan on every issue, so you can see what to click without hovering. (#1002)
  • Kernel files, edits, comments on or moves a tracker issue only after you say so in your latest message, or once you approve a plan. (#1004)
  • Settings, Models lists the agents each role applies to and marks the ones that set their own model. (#1007)
  • Switching accounts keeps the account menu open with a spinner on the chosen account, and the footer shows the new account as switching until its usage arrives. (#1008)
  • The model picker opens older models in a flyout beside the list instead of growing it, and its rows have even spacing and clearer hover and selected states. (#1009)
  • A draft in a message box comes back with the cursor and scroll where you left them, and a draft restored after a restart opens at its end. (#1010)
  • In Settings, Models, each role's Model opens the same picker as the composer, with Claude and Codex tabs, logos and a Legacy models flyout. (#1011)
  • Hover previews of images, pasted text and issues now sit in a framed card with a lit top edge. (#1012)
  • Project icons show the picture's own colors instead of grayscale. (#1013)
  • The model picker's Effort and Legacy models menus open with the same small gap beside the picker. (#1017)
  • Build here chats show a PR's progress as short status lines, and Kernel only replies when something needs you. (#1018)
  • In Build here chats, a review of the chat's own PR shows as a compact card, and older chats no longer repeat the PR's opened and ready lines in a Team update card. (#1019)
  • In Build here, Kernel asks before changing files when your message is a question or leaves the fix open, the same way Hand off asks before handing work out. (#1021)
  • Build here chats no longer repeat that a pull request opened or is ready to merge when the reply or review already says so. (#1023)
  • Hovering Not reviewed on a pull request says when automatic review is off. (#1026)
  • Pressing ⌘, while Settings is open now takes you back to the app. (#1027)
  • A chat's row in the sidebar shows its pull request's state after Build here, as a teammate's row does. (#1028)
  • Kernel no longer repeats that automatic review is off each time a pull request is ready to merge. (#1029)
  • The sidebar's Search field now sits as close to New chat as the rows below it sit to each other. (#1031)
  • Settings, Models and effort shows each role as one model chip with its effort and compact window, and an agent count that opens the list of agents on that row. (#1032)

Fixed

  • Fixed long commands in a turn's steps running past the edge of the chat. (#852)
  • Fixed the account switch dialog running a second switch when one started while it was open, and it no longer offers to keep chats on an account that hit its limit. (#853)
  • Fixed a chat saying the agent was working when Kernel quit while it was waiting for your approval or answer. (#859)
  • Fixed the sidebar button shifting slightly when the sidebar is shown or hidden. (#861)
  • Fixed agents being asked to rebase a branch they had already pushed, which they then couldn't push, from Update branch, Resolve conflicts, a base that moved, a finished wait and the Lead's to do lines. (#904)
  • Fixed Settings (Skills, Integrations, Privacy) and the files panel showing "empty" or "not connected" before they had loaded, or after a failed read. (#910)
  • Fixed the usage data question needing two Escape presses to close, and a toast on New chat not clearing with Escape. (#914)
  • Fixed ⌘K in the Lead's chat offering to open that chat or its workspace. (#916)
  • Fixed the window buttons drifting off the top bar, or covering the sidebar button, after zooming the window in or out. (#919)
  • Fixed a chat gliding into place when you switch back to it while its agent is working. It now opens at the bottom, or on the lines you were reading. (#932)
  • Fixed a notice above the composer saying an idle chat would re-read its history on a plan account, where there is nothing to do about it. (#935)
  • Fixed a chat drifting toward the bottom each time you left it and came back. (#940)
  • Fixed the button that sends a diff line to the chat showing in the code font. (#941)
  • Fixed Settings, MCP servers showing a server as ready when it still needed a sign-in. (#952)
  • Fixed a project pausing at a limit while some of its chats could still run on another account, and Sign in on a signed-out added account signing in the wrong login. (#956)
  • Fixed a chat losing its history after moving to an account that had kept its own chats folder, and a removed account's running turn carrying on without a login. (#956)
  • Fixed a script or pull request instruction in Settings losing what you were typing when its settings file changed on disk, and Escape in the instructions sheet now closes it without saving the edit. (#970)
  • Fixed a chat with a plan waiting shaking after you switch to another chat and back. (#972)
  • Fixed the GitHub owner picker in New project and Open a folder opening a macOS menu instead of Kernel's own dropdown. (#984)
  • Fixed the window buttons sometimes sitting above the sidebar toggle and Back and Forward after zooming. (#989)
  • Fixed the window buttons sitting above the sidebar toggle and Back and Forward with Settings, Appearance, Font size set to Large or Small. (#991)
  • Fixed a chat with Kernel being unable to edit files in its own folder, including after Kernel renamed that folder. (#994)
  • Fixed a chat with Kernel saying it could edit files right after a switch to Build here, while the reply already running still couldn't. (#996)
  • Fixed a frontend agent's profile and composer showing the Backend effort from Settings, Models instead of the Frontend one. (#999)
  • Fixed a long plan sometimes opening near the start of the chat instead of at its top. (#1014)
  • Fixed the Back and Forward buttons missing from the sidebar in Settings. (#1015)
  • Fixed Edit and Cancel flashing under a message right after starting a new chat. (#1016)
  • Fixed a working chat sliding down when you came back to it or a new step arrived, while its steps list was open. (#1020)
  • Fixed a message sent while a reply was stopping being answered in the chat's old mode after switching between Hand off and Build here. (#1030)
  • Fixed the window flashing a darker background for a moment while Kernel opens. (#1033)

Full list of changes

  • feat(workspace): turn timer on its own line, long commands stop at the column edge by @cjjutba in #852
  • feat(workspace): hide the idle status on the collapsed bottom panel by @cjjutba in #856
  • feat(workspace): remove the Copy button under the Team update card by @cjjutba in #857
  • fix(engine): account moves follow-ups: check move values, test the notice and Codex case 15 (KERNEL-841) by @cjjutba in #854
  • fix(workspace): a second switch can't take over the switch dialog (KERNEL-841) by @cjjutba in #853
  • feat(sidebar): New chat, Inbox, Issues rows, Search in the top bar, no Home by @cjjutba in #858
  • feat(workspace): name a message's images image.png, image-2.png in order by @cjjutba in #855
  • fix(engine): the quit note says the agent was working only when it was by @cjjutba in #859
  • feat(prs): Pull requests page in the sidebar by @cjjutba in #860
  • fix(sidebar): the toggle stays in place when the sidebar opens or hides by @cjjutba in #861
  • feat(composer): toolbar, effort menu, permission icons, where row by @cjjutba in #863
  • feat(providers): latest and legacy Claude and Codex models by @cjjutba in #862
  • docs(audit): UX audit of the Team screens by @cjjutba in #865
  • feat(integrations): remove Jira as an issue tracker by @cjjutba in #864
  • docs(audit): UX audit of the app shell and platform screens by @cjjutba in #866
  • docs(audit): UX audit of chat and workspace by @cjjutba in #867
  • feat(composer): model picker with a provider rail, folded legacy models and favorites by @cjjutba in #869
  • fix(composer): keep favorite models through remember.ts by @cjjutba in #872
  • feat(sidebar): straight indent guide for a chat's workspaces by @cjjutba in #873
  • feat(transcript): new chat's first message at the top with no motion (KERNEL-860) by @cjjutba in #870
  • feat(composer): where in the + menu, Hand off | Build here switch, model keys for both providers by @cjjutba in #876
  • feat(ui): state kit and motion tokens by @cjjutba in #871
  • feat(workspace): chat tabs take Home and End, a missing shared file says so by @cjjutba in #878
  • feat(update): failed and downloading states outside About (KERNEL-864) by @cjjutba in #877
  • feat(composer): Escape stops a turn, Stop returns the queue, failed loads show (KERNEL-869) by @cjjutba in #880
  • feat(toasts): keyboard for toasts, Settings loading and failed states (KERNEL-866) by @cjjutba in #879
  • feat(transcript): one scroll engine, plan approve in sequence, failed answer keeps the view (KERNEL-862) by @cjjutba in #881
  • feat(onboarding): setup checks say when they are slow, Home offers a first room (KERNEL-865) by @cjjutba in #882
  • feat(composer): effort beside the model, one-line picker rows, working Cycle effort by @cjjutba in #883
  • feat(github): GitHub errors by kind and PR status read time (KERNEL-861) by @cjjutba in #875
  • feat(issues): sign-in paths, failed refresh keeps rows, cap note, detail retry (KERNEL-867) by @cjjutba in #884
  • feat(rooms): loading, empty and failed states in Connect a repo, Open a folder and room setup (KERNEL-863) by @cjjutba in #885
  • feat(team): History, Pull requests, New agent and palette states (KERNEL-868) by @cjjutba in #886
  • feat(team): one keyboard model for lists (KERNEL-871) by @cjjutba in #887
  • feat(work): Issues and Pull requests under one sidebar entry, Work (KERNEL-874) by @cjjutba in #888
  • feat(work): issues linked to their work, PRs grouped by what they need (KERNEL-875) by @cjjutba in #889
  • docs(audits): re-audit after the UX pass (KERNEL-872) by @cjjutba in #891
  • feat(workspace): interrupted glides finish cleanly, remaining motion on the tokens (KERNEL-881) by @cjjutba in #893
  • feat(team): question card keys, issue and PR list notes, honest busy states (KERNEL-882) by @cjjutba in #894
  • feat(ui): Escape order and focus return across overlays (KERNEL-878) by @cjjutba in #896
  • feat(rooms): try a failed room setup again (KERNEL-876) by @cjjutba in #895
  • feat(rooms): Try again on a failed setup step (KERNEL-877) by @cjjutba in #897
  • feat(ui): buttons show a hover and a press and fade between them (KERNEL-879) by @cjjutba in #892
  • feat(workspace): plan question Escape, dev focus return, detail retry, GitHub cap note (KERNEL-884) by @cjjutba in #898
  • feat(site): new landing page, docs, pricing and a Windows and Linux waitlist by @cjjutba in #836
  • chore(deps): drop unused pngjs and @types/pngjs (KERNEL-889) by @cjjutba in #900
  • refactor(engine): remove dead code in the main process (KERNEL-887) by @cjjutba in #903
  • chore(renderer): remove dead files, components and CSS (KERNEL-888) by @cjjutba in #905
  • refactor: rename rooms to projects (KERNEL-880) by @cjjutba in #899
  • feat(platform): require a contributor agreement on outside pull requests (KERNEL-890) by @cjjutba in #902
  • feat(workspace): sending follows the end, no anchor or glide (KERNEL-891) by @cjjutba in #906
  • feat(projects): retry a failed setup after a failed clone and after a restart (KERNEL-883) by @cjjutba in #907
  • fix(engine): never ask an agent to rebase a pushed branch (KERNEL-886) by @cjjutba in #904
  • docs(audits): final check of the UX pass (KERNEL-885) by @cjjutba in #908
  • feat(team): Issues and issue details show the last data at once (KERNEL-892) by @cjjutba in #909
  • fix(platform): Settings and the files panel show loading or failed, not a false empty state (KERNEL-893) by @cjjutba in #910
  • feat(engine): messages keep the id the window gives them (KERNEL-894) by @cjjutba in #911
  • feat(workspace): color state words on the Lead's PRs tab (KERNEL-897) by @cjjutba in #912
  • feat(workspace): every chat action draws its result in one frame (KERNEL-895) by @cjjutba in #913
  • fix(platform): one Escape closes the usage question, and toasts clear on New chat (KERNEL-896) by @cjjutba in #914
  • docs(audit): final one-frame send and Escape checks (KERNEL-885) by @cjjutba in #915
  • fix(workspace): ⌘K leaves out the Lead's own chat items in the Lead's chat (KERNEL-364) by @mykd13 in #916
  • feat(workspace): issue chips preview on hover and open on click (KERNEL-898) by @cjjutba in #917
  • fix(platform): traffic lights stay centered on the top row at every zoom (KERNEL-901) by @cjjutba in #919
  • feat(workspace): History button in the bottom bar, left of Help (KERNEL-902) by @cjjutba in #920
  • feat(site): refresh the landing page demo, fallback image and clips (KERNEL-899) by @cjjutba in #918
  • feat(platform): type-check the landing demo and refresh it at release (KERNEL-900) by @cjjutba in #921
  • feat(workspace): shorter command palette with scope tabs and icons (KERNEL-903) by @cjjutba in #924
  • feat(engine): remove Claude's prompt guesses (KERNEL-906) by @cjjutba in #925
  • feat(workspace): panel toggle takes the PR band's colour when the panel is open (KERNEL-911) by @cjjutba in #926
  • feat(engine): save any attached file to the workspace (KERNEL-908) by @cjjutba in #927
  • feat(platform): Homebrew tap for Kernel, updated by every release (KERNEL-904) by @cjjutba in #922
  • docs: README and site copy match the app before 0.6.0 (KERNEL-905) by @cjjutba in #923
  • feat(workspace): composer attaches any file by path (KERNEL-909) by @cjjutba in #929
  • feat(team): six project settings pages and a Scripts page with line-numbered editors (KERNEL-914) by @cjjutba in #931
  • fix(workspace): a chat opens in place instead of gliding (KERNEL-912) by @cjjutba in #932
  • feat(workspace): split Run button with a run menu (KERNEL-915) by @cjjutba in #930
  • feat(engine): remove the script trust gate (KERNEL-913) by @cjjutba in #934
  • fix(engine): no idle cache notice on plan accounts (KERNEL-917) by @cjjutba in #935
  • fix(site): deploy the site from the Site workflow, only when site/ changes by @cjjutba in #933
  • feat(workspace): Inbox and Pull requests keep their scroll position (KERNEL-919) by @cjjutba in #936
  • feat(workspace): right panel, diffs, code views and logs keep their scroll position (KERNEL-921) by @cjjutba in #937
  • feat(workspace): Issues, History, Projects, Settings and the sidebar keep their scroll position (KERNEL-920) by @cjjutba in #938
  • fix(workspace): a chat keeps its place across round trips (KERNEL-918) by @cjjutba in #940
  • chore(deps): Bump the minor-and-patch group across 1 directory with 4 updates by @dependabot[bot] in #868
  • fix(workspace): diff line Send button uses the interface font (KERNEL-924) by @cjjutba in #941
  • feat(workspace): chats keep their scroll position after a restart, and Scroll to bottom counts new messages (KERNEL-922) by @cjjutba in #942
  • feat(ui): design tokens for type, layers and motion, shared controls, theme checks with a baseline (KERNEL-926) by @cjjutba in #943
  • feat(site): named design tokens and shared components (KERNEL-925) by @cjjutba in #944
  • fix(ci): make main green again by @cjjutba in #946
  • feat(workspace): move Search into a field above New chat (KERNEL-930) by @cjjutba in #947
  • feat(ui): let fixture runs keep remembered choices with KERNEL_FIXTURE_PERSIST=1 by @cjjutba in #948
  • refactor(ui): move the app shell and small screens onto design tokens (KERNEL-927) by @cjjutba in #949
  • test(workspace): end-to-end check that every view keeps its scroll position (KERNEL-923) by @cjjutba in #945
  • feat(workspace): viewer tabs fill the column, composer shrinks to one line (KERNEL-934) by @cjjutba in #951
  • fix(engine): never show an MCP server as ready until Claude Code says so (KERNEL-935) by @cjjutba in #952
  • refactor(ui): move Settings and Projects onto design tokens (KERNEL-928) by @cjjutba in #954
  • feat(engine): read an issue from the tracker its key names (KERNEL-933) by @cjjutba in #953
  • feat(engine): MCP servers page answers from saved checks, Ready accounts re-checked (KERNEL-936) by @cjjutba in #955
  • feat(workspace): MCP servers page shows saved and checking states (KERNEL-937) by @cjjutba in #959
  • feat(workspace): Linear or GitHub switch in the Work header (KERNEL-938) by @cjjutba in #958
  • feat(platform): footer and Usage popover show usage only (KERNEL-949) by @cjjutba in #961
  • feat(workspace): settings fields save without a Save button by @cjjutba in #968
  • refactor(ui): move the workspace onto design tokens and make the theme checks strict (KERNEL-929) by @cjjutba in #969
  • fix(workspace): settings autosave keeps typed text and Escape drops it by @cjjutba in #970
  • feat(workspace): New chat with no projects offers the three ways to add one (KERNEL-943) by @cjjutba in #957
  • fix(workspace): a chat with a plan waiting no longer shakes after switching back (KERNEL-950) by @cjjutba in #972
  • feat(platform): a splash, then New chat, with the checks inside the app (KERNEL-942) by @cjjutba in #960
  • feat(engine): sessions correct the account's MCP status, hand-offs name missing sign-ins (KERNEL-939) by @cjjutba in #971
  • feat(engine): create a private GitHub repo for a project that has none (KERNEL-944) by @cjjutba in #962
  • test(workspace): motion fixtures and race tests for chat scroll edge cases (KERNEL-952) by @cjjutba in #975
  • feat(team): Open a folder is one list, and a folder without GitHub gets a repo (KERNEL-946) by @cjjutba in #964
  • test(engine): lock in the MCP status edge cases (KERNEL-940) by @cjjutba in #977
  • feat(team): New project from scratch is an empty repo on GitHub (KERNEL-947) by @cjjutba in #965
  • feat(workspace): one scroll owner for the chat transcript (KERNEL-953) by @cjjutba in #979
  • feat(engine): project setup happens in New chat, with no install step (KERNEL-948) by @cjjutba in #966
  • test(workspace): plan round trip overflows the view, first-open baselines, race tests follow reveal order (KERNEL-952) by @cjjutba in #980
  • feat(workspace): keep row heights with a chat's spot across a restart (KERNEL-954) by @cjjutba in #981
  • feat(team): Clone a GitHub repo, like Conductor's (KERNEL-945) by @cjjutba in #963
  • feat(engine): stop posting a chat note when Kernel brings a PR up to date (KERNEL-970) by @cjjutba in #982
  • feat(engine): Up next fills from Backlog after Todo (KERNEL-955) by @cjjutba in #976
  • fix(team): the GitHub owner picker uses Select, not a native select (KERNEL-946) by @cjjutba in #984
  • feat(workspace): setup rows in the chat, owner avatars and the team check (KERNEL-951) by @cjjutba in #983
  • feat(platform): polish the account menu by @cjjutba in #985
  • feat(engine): seamless account switching (KERNEL-941) by @cjjutba in #956
  • chore(deps): Bump the minor-and-patch group across 1 directory with 6 updates by @dependabot[bot] in #901
  • feat(engine): let agents run approved live tests (KERNEL-971) by @cjjutba in #986
  • fix(guard): let an approved live test run detached (follows up KERNEL-971) by @cjjutba in #987
  • feat(engine): drop the wait notes from the top of a teammate's chat (KERNEL-973) by @cjjutba in #988
  • fix(platform): traffic lights follow every page zoom (KERNEL-972) by @cjjutba in #989
  • feat(platform): provider marks, row icons and a readable shortcut in the account menu (KERNEL-975) by @cjjutba in #990
  • fix(platform): traffic lights follow the Font size zoom (KERNEL-972) by @cjjutba in #991
  • feat(engine): split Frontend and Backend into their own rows in Settings, Models (KERNEL-974) by @cjjutba in #992
  • fix(guard): take the repo root from the chat's own folder (KERNEL-976) by @cjjutba in #994
  • feat(engine): the Lead answers a question without ending on an offer (lead stops ending answers with a question) by @cjjutba in #993
  • feat(engine): resolve and safely read clickable file mentions by @cjjutba in #995
  • fix(engine): a switch to Build here during a reply waits for that reply by @cjjutba in #996
  • feat(workspace): chat header in one row by @cjjutba in #997
  • feat(workspace): Up next shows Plan on every row by @cjjutba in #1002
  • feat(workspace): show the setup block only on a project's first worktree chat by @cjjutba in #998
  • fix(workspace): frontend agents fall back to the Frontend effort (KERNEL-974) by @cjjutba in #999
  • feat(workspace): neutral grey palette for dark and light themes by @cjjutba in #1000
  • feat(engine): new chats start on the Settings, Models row by @cjjutba in #1001
  • feat(workspace): file paths in chat open the file in a tab by @cjjutba in #1003
  • feat(workspace): Settings, Models lists the agents each role applies to by @cjjutba in #1007
  • chore(fixtures): show CJ Jutba as the fixture account by @cjjutba in #1006
  • feat(workspace): show a switching state while an account switch runs (KERNEL-986) by @cjjutba in #1008
  • feat(engine): the Lead files tracker issues only through file_issue by @cjjutba in #1004
  • feat(workspace): model picker opens legacy models in a flyout (KERNEL-987) by @cjjutba in #1009
  • feat(workspace): composer keeps each draft's cursor and scroll (KERNEL-989) by @cjjutba in #1010
  • feat(workspace): Settings, Models role cell opens the model picker (KERNEL-988) by @cjjutba in #1011
  • feat(workspace): hover previews share the landing page's bezel frame by @cjjutba in #1012
  • feat(workspace): show project icons in their own colors by @cjjutba in #1013
  • feat(workspace): model picker flyouts open 8px from the card by @cjjutba in #1017
  • fix(workspace): a long plan opens at its top when it arrives live (KERNEL-991) by @cjjutba in #1014
  • feat(engine): quiet PR events in Build here chats (KERNEL-990) by @cjjutba in #1018
  • feat(workspace): quiet PR event rows and a compact review card in Build here (KERNEL-990) by @cjjutba in #1019
  • feat(workspace): Cmd+Shift+H switches between Hand off and Build here by @cjjutba in #1022
  • feat(engine): drop the redundant opened and ready rows in Build here chats (KERNEL-990) by @cjjutba in #1023
  • feat(engine): Build here asks for a go-ahead before changing files (KERNEL-992) by @cjjutba in #1021
  • fix(settings): show Back and Forward in the Settings sidebar by @cjjutba in #1015
  • chore(fixtures): clean Build here fixtures of the opened and ready rows (KERNEL-990) by @cjjutba in #1024
  • chore(config): turn off Claude Code attribution in commits and PRs by @cjjutba in #1025
  • fix(workspace): hide Edit and Cancel while a new chat's worktree is being made by @cjjutba in #1016
  • fix(workspace): an open steps list no longer replays its open motion by @cjjutba in #1020
  • feat(workspace): ⌘, closes Settings when it is already open by @cjjutba in #1027
  • feat(engine): stop repeating that automatic review is off for every ready PR by @cjjutba in #1029
  • feat(workspace): explain Not reviewed on hover when automatic review is off by @cjjutba in #1026
  • feat(workspace): a Lead chat's sidebar row shows its own PR state by @cjjutba in #1028
  • fix(engine): a message sent during a mode switch runs in the chat's current mode (KERNEL-994) by @cjjutba in #1030
  • fix(workspace): match the gap under the sidebar Search field to the rows below it by @cjjutba in #1031
  • feat(workspace): one model chip per role and an agent count in Settings, Models (KERNEL-995) by @cjjutba in #1032
  • fix(platform): match the startup window color to the new canvas, token the Up next plan arrow by @cjjutba in #1033
  • chore(release): 0.6.0 by @cjjutba in #1034

Full Changelog: v0.5.0...v0.6.0