What's Changed
- docs(agents): proof for a bug fix depends on the bug by @juliusmarminge in #23008
- fix(server): removing a worktree on Windows no longer deletes what its junctions point to by @SunkenInTime in #21099
- perf(web): a streaming thread re-renders only its own sidebar row by @juliusmarminge in #22730
- refactor(web): the add environment dialog owns its form state by @juliusmarminge in #22686
- fix(desktop): use Clerk's upstream fix for abandoned browser sign-ins by @wobsoriano in #23038
- feat: show automation messages as compact timeline rows by @juliusmarminge in #22638
- feat(server,web,mobile): approvals in full access say why Claude asked by @juliusmarminge in #22546
- feat(claude): idle compaction has a global default and per-instance overrides by @juliusmarminge in #23037
- perf(web): typing no longer re-renders the traits picker or attach button by @juliusmarminge in #23040
- refactor(web): the composer's layout and provider hooks live in their own files by @juliusmarminge in #23042
- refactor(web): the prompt stash lives in useComposerStash by @juliusmarminge in #23046
- refactor(web): composer context imports live in useComposerContextImport by @juliusmarminge in #23048
- refactor(web): composer file intake lives in useComposerAttachmentIntake by @juliusmarminge in #23049
- refactor(web): the composer's footer controls render in ComposerControlsBar by @juliusmarminge in #23058
- refactor(web): composer key handling lives in useComposerCommandKey by @juliusmarminge in #23060
- refactor(web): ChatView's send paths live in useComposerSend by @juliusmarminge in #23062
- refactor(web): ChatView's terminal actions live in useChatTerminalActions by @juliusmarminge in #23063
- refactor(web): ChatView's right panel actions live in useRightPanelActions by @juliusmarminge in #23064
- refactor(web): ChatView's snooze, settle, and checkout actions live in useThreadLifecycle by @juliusmarminge in #23065
- refactor(web): ChatView's revert, rollback, and fork live in useTimelineRewind by @juliusmarminge in #23066
- refactor(web): ChatView's attachment preview handoff lives in useAttachmentPreviewHandoff by @juliusmarminge in #23067
- refactor(web): ChatView's project clone banner lives in useProjectCloneBanner by @juliusmarminge in #23068
- refactor(web): ChatView's model, mode, and workspace choices live in useComposerSelection by @juliusmarminge in #23069
- refactor(web): ChatView's pull request checkout lives in usePullRequestDraftThread by @juliusmarminge in #23070
- refactor(web): ChatView's thread derivations are tested functions in ChatView.logic by @juliusmarminge in #23071
- refactor(web): ChatView's paste-to-focus, titlebar controls, and timeline overlays move out by @juliusmarminge in #23072
- fix(cursor): a closed-stream write in the Cursor SDK no longer stops the server by @t3dotgg in #22897
- fix(server): Codex no longer offers a one-click update for installs it can't detect by @koushikxd in #22504
- fix(pi): declare properties on MCP tool schemas that omit them by @tlconde in #21822
- fix(server): a desktop backend whose launcher died shuts down cleanly instead of crashing by @SunkenInTime in #22471
- fix(mobile): chat feed no longer re-derives on every render by @t3dotgg in #22913
- docs(user): the outside agents guide says which addresses agents can sign in over by @Gourav224 in #22377
- fix(server): HTML preview reports a browser start error instead of an internal error by @t3dotgg in #22895
- fix(tailscale): a timed-out tailscale probe no longer outlives its call by @t3dotgg in #22900
- docs(composer): queued messages follow the Follow-up behavior setting by @t3dotgg in #22857
- fix(server): failed provider updates say why by @koushikxd in #22506
- test(telemetry): keep fixture PIDs from colliding with the test worker by @only21mil in #21446
- fix(server): server tests resolve the macOS temp dir symlink by @nabettu in #21442
- fix(scripts): mobile lint fails instead of passing when ktlint or detekt is missing by @t3dotgg in #22896
- fix(server): t3_thread_read clamps oversized page sizes instead of failing by @t3dotgg in #22901
- fix(mobile): opening a pull request no longer crashes with "Maximum update depth exceeded" by @nabettu in #22600
- fix(web): PR Code tab keeps its files after a refresh with an unchanged diff by @t3dotgg in #22917
- fix(web): finished provider updates no longer leave a hidden spinner in the sidebar by @t3dotgg in #22912
- fix(composer): mentions of files like
posts.$postId.tsxor[id].tsxstay chips by @t3dotgg in #22922 - refactor(web): resuming an interrupted run lives in its own hook by @juliusmarminge in #23087
- refactor(web): proposed-plan follow-ups and implement-in-new-thread live in their own hooks by @juliusmarminge in #23091
- refactor(web): multiple-model sends live in their own hook by @juliusmarminge in #23094
- refactor(web): the composer send reads its own settings and draft instead of taking them from ChatView by @juliusmarminge in #23095
- refactor(web): ComposerControlsBar renders without a memo() wrapper by @juliusmarminge in #23093
- refactor(web): chat shortcuts live with the hooks that own their actions by @juliusmarminge in #23097
- refactor(web): ChatView's timeline banners render in ChatBannerLane by @juliusmarminge in #23101
- fix(web): the branch toolbar and thread details panel stay cached while a reply streams by @juliusmarminge in #23103
- fix(server): scheduled tasks no longer jump to the top when toggled by @t3dotgg in #22899
- fix(server): Forgejo and GitCafe pull requests link to their threads again by @MarcoDotIO in #22937
- fix(server): pushes the remote refuses say why instead of a generic failure by @t3dotgg in #22904
- fix(composer): typing a price no longer opens the skill menu by @MarcoDotIO in #21519
- fix(web): thread details PR merge uses the last selected merge method by @tris203 in #22399
- fix(web): a Usage toggle shortcut now goes back instead of staying on Usage by @t3dotgg in #22905
- fix(web): quote comment box stays on screen for long code lines by @EtanHey in #22149
- fix(web): right panel launcher letters open their surface instead of typing into the composer by @t3dotgg in #22898
- fix(web): ../ file links outside the workspace open as host files by @t3dotgg in #22853
- fix(shared): recognize relative folder links with trailing slash by @macodev00 in #22188
- fix(client): usage limits skip disabled connections by @M4NU5 in #22936
- fix(web): imported VS Code themes keep destructive buttons red by @lgollut in #21924
- fix(shared): Azure DevOps repositories with a space in the name list their pull requests by @Tabonx in #22782
- fix(opencode): cancelled todos no longer keep the todo list running by @MarcoDotIO in #22938
- fix(web): copy to machine clones the fork, not its upstream by @AKolenda in #22492
- fix(server): JetBrains IDEs open file links at the right column by @levochkaa in #22826
- fix(server): sync pull request draft status changes by @Yash-Singh1 in #22832
- test(web): chat shortcut test types through the composer handle by @juliusmarminge in #23126
- fix(source-control): merge messages drop Claude Code's current claude.com footer by @MarcoDotIO in #23133
New Contributors
- @Gourav224 made their first contribution in #22377
- @nabettu made their first contribution in #21442
- @MarcoDotIO made their first contribution in #22937
- @M4NU5 made their first contribution in #22936
- @lgollut made their first contribution in #21924
- @Tabonx made their first contribution in #22782
- @levochkaa made their first contribution in #22826
Full Changelog: v0.1.2-nightly.20261021.3486...v0.1.2-nightly.20261021.3499