What's Changed
- fix(web): preserve theme when toggling advanced colors by @StiensWout in #8500
- fix(chat): keep latest command live between messages by @maria-rcks in #9098
- fix(media): preview host files and stream videos across clients by @juliusmarminge in #9023
- feat(cli): open projects in the running desktop app by @t3dotgg in #8824
- chore: vouch six repeat contributors by @t3dotgg in #9131
- chore: delete dead code, unused deps, and duplicate helpers by @t3dotgg in #9129
- fix(web): mute routine notices and update actions by @maria-rcks in #9063
- perf(provider): bound persisted session lookups by @nateEc in #8909
- fix(claude): skills picked from the composer now run by @t3dotgg in #9128
- fix(web): stop highlighter freezes and worker spin by using the Oniguruma WASM engine by @LetZico in #8360
- perf: make streaming projection and activity appends incremental by @t3dotgg in #9152
- fix(server): bound orchestration replay payloads by @rcawston in #8992
- perf(client-runtime): keep turn and checkpoint refs stable while streaming by @t3dotgg in #9145
- perf(clients): lease sidebar status by visibility by @StiensWout in #9052
- fix(desktop): show newest changes in nightly previews by @t3dotgg in #9138
- fix(settings): sync auto-settle and other shared preferences across environments by @t3dotgg in #9147
- fix(server): prevent accidental service downgrades by @t3dotgg in #5302
- fix(server): keep attachments until the command commits by @t3dotgg in #7941
- fix(claude): preview images read from the workspace by @t3dotgg in #9119
- fix(web): keep generated muted foreground dimmer than entered text by @flamboh in #9113
- fix(clients): stop repeating expanded commands by @t3dotgg in #9120
- fix(grok): health check, model selection, and stop all work against the real CLI by @t3dotgg in #9154
- perf(web): halve the cold-start bundle by splitting Clerk and cold routes by @StiensWout in #9058
- feat(desktop): update the desktop app on remote Macs from the Update button by @t3dotgg in #6554
- test(server): measure shell, second client, and reconnect transfer by @t3dotgg in #9157
- fix(web): project default model works on the hosted app by @juliusmarminge in #9142
- fix(web): darken neutral control surfaces by @maria-rcks in #9064
- fix(web): preserve panel state across workspace refreshes by @maria-rcks in #8968
- feat(files): open markdown, HTML, and PDF files outside the workspace by @juliusmarminge in #9140
- feat(web): render HTML and PDF files in the file viewer by @juliusmarminge in #9143
- fix(web): compact project settings actions by @maria-rcks in #9160
- fix(web): browse folders from file breadcrumbs by @404khai in #8910
- feat(pull-requests): copy provider checkout commands by @maria-rcks in #9086
- fix(web): hide build pill in narrow sidebars by @flamboh in #9159
- feat(web): cite assistant responses with inline citations by @juliusmarminge in #9146
- fix(provider): drop removed custom models from the model picker by @StiensWout in #9075
- fix(web): align composer notices and stash by @Bil0000 in #8890
- fix(web): label keybinding condition removal actions by @RakshithBhat03 in #8664
- fix(contracts): accept legacy pull request checkout results by @jakeleventhal in #8238
- fix(desktop): hold-to-quit no longer gets stuck by @saphid in #9141
- chore: remove unused code and brittle tests by @t3dotgg in #9150
- fix(chat): improve tool group summaries and scrolling by @juliusmarminge in #9106
- feat(web): copy the full error report from the error page by @StiensWout in #9166
- fix(chat): replace failed tools with thinking by @maria-rcks in #9165
- fix(chat): align failed task progress test by @maria-rcks in #9172
- fix(web): open PR toast actions in app by @eimexdev in #9006
- fix(desktop): check artifact build prerequisites by @juliusmarminge in #8975
- fix(server): discover project skills for Codex and OpenCode by @UtkarshUsername in #8778
- fix(pull-requests): expand code tab diffs by default by @maria-rcks in #9174
- chore: bump vendored GhosttyKit and update terminal integration by @Yash-Singh1 in #9155
- fix(web): copying a code block no longer copies triple backticks by @ipanasenko in #8448
- fix(models): restore sticky new-thread selections by @maria-rcks in #9164
- fix(web): model info button opens its details on click by @StiensWout in #9177
- fix(desktop): skip cached monitor compiler check by @juliusmarminge in #9184
- fix(web): avoid stale file writes on close by @yashranaway in #8630
- fix(server): bound OpenCode version probes by @yashranaway in #8750
- fix(server): allow large Azure DevOps PR lists by @Lucenx9 in #8572
- fix(server): allow local-only worktree bases by @yashranaway in #8751
- fix(web): remove projects with archived threads by @none23 in #8798
- feat(web): make context window indicator opt-in by @maria-rcks in #9190
- fix(connect): refresh relay credentials before expiry by @maria-rcks in #9178
- fix(pull-requests): reuse github api reads by @maria-rcks in #9176
- fix(server): stop titling linked PR threads from local git history by @t3dotgg in #9191
- feat(updates): continue active threads across server restarts by @maria-rcks in #9167
- fix(mobile): prevent message and composer overlap by @juliusmarminge in #9195
- fix(web): preserve composer draft during worktree setup by @maria-rcks in #9197
- fix(web): prevent two-digit list markers from being clipped by @G-R3 in #9101
- fix(server): discover project skills for Claude by @anirudhsama in #9210
- feat(web): redesign provider editor and models list by @StiensWout in #8508
- fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in #8706
- fix(pull-requests): align checkout control with author by @maria-rcks in #9196
- fix(release): pin patched expo-sharing version by @willsheldon in #9250
- chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in #9248
- fix(web): hide deleted providers with prototype keys by @Lucenx9 in #8337
- feat(mobile): long-press file references for path and open actions by @juliusmarminge in #9258
- fix(desktop): exclude opposite macOS pty prebuilds by @extoci in #9240
- feat(web): add copy path button to diff headers by @ipanasenko in #2403
- fix(server): subscribe before provider settings watcher by @t3-code[bot] in #9271
- fix(mobile): show filled filter icon on Android when filters are active by @none23 in #9217
- fix(chat): show single tool calls without summaries by @maria-rcks in #9267
- fix(web): warn when shared settings have no target environment by @imabdulazeez in #9207
- fix(web): confirm closing agent-controlled browsers by @maria-rcks in #9272
- feat(desktop): browser profiles for the preview browser by @juliusmarminge in #7254
- refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in #7272
- feat(web): add opt-in panel animations by @maria-rcks in #8830
- feat(projects): automatically pull clean default branches by @maria-rcks in #9277
- fix(web): show pull request state icons in tabs by @flamboh in #9112
- feat(providers): add context compaction across harnesses by @maria-rcks in #8808
- feat(web): add proactive panels by @maria-rcks in #9276
- fix(web): unify control sizing across settings pages by @juliusmarminge in #9281
- fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in #9279
- Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in #9284
- fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in #9280
- fix(cursor): honor auto and full access modes by @maria-rcks in #9283
- fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in #9285
- fix(pull-requests): missing features & better behaviour by @maria-rcks in #9188
- fix(providers): discover workspace skills everywhere by @maria-rcks in #9180
- fix(server): preserve automatic settlement timestamps by @eimexdev in #9254
- fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in #9287
- feat(web): preview document attachments in the file viewer by @juliusmarminge in #9292
- chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in #9297
- chore(ci): only run check-run agents on vouched contributors by @juliusmarminge in #9298
- fix(web): stop remounting markdown on every activity delta by @juliusmarminge in #9306
- fix(pull-requests): keep cached PR chrome on reopen by @maria-rcks in #9294
- feat(environments): draw each environment as the machine it runs on by @juliusmarminge in #9299
- feat(web): apply and remove labels from the pull request tab by @juliusmarminge in #9313
- fix(sidebar): collapse settled and snoozed shelves by default by @maria-rcks in #9314
- refactor(media): unify file and media previews across clients by @juliusmarminge in #9253
- fix(chat): keep live tool labels in present tense by @maria-rcks in #9316
- chore: audit lint directives and move plugin allowlists into config by @juliusmarminge in #9300
- chore(ci): narrow the Effect conventions check-run agent by @juliusmarminge in #9321
- refactor(mobile): style plain views with Uniwind classes instead of the theme bridge by @juliusmarminge in #9322
- fix(dev): share dev servers on the loopback Vite actually binds by @juliusmarminge in #9324
- fix(web): line up the titlebar wordmark label and version pill by @tristanmanchester in #9255
- fix(web): make the diff layout toggle a persisted setting by @juliusmarminge in #9326
- chore: dedupe lightningcss and tailwind node bindings by @juliusmarminge in #9331
- chore: upgrade vite-plus to 0.3.0 by @juliusmarminge in #9327
- feat(web): add a file tree to the diff panel and pull request code tab by @juliusmarminge in #9330
- feat(web): add PageUp/PageDown chat navigation by @Yash-Singh1 in #9315
- fix(web): collapse PR header actions to icons when narrow by @maria-rcks in #9334
- fix(web): resolve Vite sourcemap and supports warnings by @juliusmarminge in #9343
- feat(web): choose whether links open in the default browser or in T3 Code by @juliusmarminge in #9339
- fix(web): add press feedback to buttons by @maria-rcks in #9349
- feat(web): add customizable project icons by @saphid in #9137
- fix(mobile): stop indented code overflowing Android chat bubbles by @Adamulek123 in #9347
- fix(web): let the pull request list use wide screens by @juliusmarminge in #9351
- feat: display native app and browser icons in work logs by @Yash-Singh1 in #9093
- fix(web): collapse oldest pull request comments by @maria-rcks in #9323
- fix(pull-requests): shared state + not settling? by @maria-rcks in #9332
- fix(web): stop usage summary requests reporting slow RPCs by @juliusmarminge in #9358
- feat(web): suggest ssh hosts in a dropdown under the host field by @flamboh in #9171
- feat(web): mod+w closes the active right panel tab before the window by @juliusmarminge in #9363
- test(web): remove static markup-only component tests by @t3-code[bot] in #9364
- fix(environments): draw the machine icon everywhere an environment is named by @juliusmarminge in #9365
- fix(web): settled sidebar rows use the project fallback icon by @juliusmarminge in #9366
- fix(web): match project icon chooser button sizes by @Yash-Singh1 in #9368
- fix(mobile): pressed and disabled styles no longer apply unconditionally by @juliusmarminge in #9355
- fix(mobile): size expanded tool groups correctly by @juliusmarminge in #9359
- fix(web): collapse the resting composer by @chrisdeeming in #7855
- fix(web): keep trailing tool groups out of "Worked for" accordion by @Yash-Singh1 in #9384
- feat(marketing): put named-developer quotes on the landing page by @t3dotgg in #9385
- fix(claude): expand slash commands when a message has attachments by @t3dotgg in #9122
- fix(web): stop the resting composer layout loop by @t3dotgg in #9393
- fix(web): render assistant images inline in chat by @t3dotgg in #9126
- feat(providers): add Google Antigravity via the official ACP agent by @t3dotgg in #9348
- fix(mobile): show an error instead of an endless preview spinner by @t3dotgg in #9123
- fix(usage): price new models without waiting a day for the rate table by @t3dotgg in #9202
- fix(web): unlock the composer when preview capture fails by @t3dotgg in #9127
- fix(antigravity): refresh the model manifest so older Gemini models fold as legacy by @t3dotgg in #9397
- perf(ci): reuse dependency checks in release builds by @t3dotgg in #9399
- fix(web): send cited messages with Cmd+Enter by @extoci in #9307
- fix(web): preserve explicit preview navigation URLs by @nateEc in #8902
- fix(web): prevent loading ssh environments from overriding navigation by @flamboh in #9168
- fix(mobile): skip unsupported shared settings targets by @Lucenx9 in #9381
- fix(web): avoid duplicate Antigravity install status by @RakshithBhat03 in #9419
- fix(composer): mute fast icon when collapsed by @maria-rcks in #9451
- fix(web): unify skeleton loading animations on one pulse by @maria-rcks in #9448
- fix(web): prioritize authored pull requests by @maria-rcks in #9453
- fix(web): make project icons the default by @maria-rcks in #9457
- fix(server): reuse pr state when settling threads by @maria-rcks in #9459
- fix(web): keep agent images collapsed by @maria-rcks in #9460
- fix(web): banner buttons no longer expand the resting composer by @juliusmarminge in #9452
- fix(web): stop clipping the traits chevron on long Codex effort labels by @zortos293 in #9433
- fix(web): make right panel tabs easier to scroll by @maria-rcks in #9461
- fix(web): render transparent previews on white by @UtkarshUsername in #9463
- fix(mobile): show loading and syncing in the working pill by @juliusmarminge in #9466
- fix(server): keep a/ and b/ prefixes in rendered git patches by @Mnigos in #9438
- fix(server): full-access OpenCode threads no longer ask for approvals by @shivamhwp in #9282
- fix(web): reuse pull request list data while loading by @maria-rcks in #9467
- feat(web): let users turn off composer collapse on blur and scroll by @juliusmarminge in #9469
- fix(web): move workflow approval beside checks by @maria-rcks in #9465
- fix(desktop): refresh generated annotation styles by @juliusmarminge in #9488
- fix(web): let the PR reviewer and label search boxes take keystrokes by @juliusmarminge in #9479
- fix(web): dont collapse composer when interacting with bottom row by @extoci in #9490
- fix(desktop): restore second-press quit fallback by @maria-rcks in #9485
- fix(web): keep opencode icon hollow in collapsed composer by @maria-rcks in #9492
- fix(web): keep agent browser preview visible by @maria-rcks in #9484
- fix(mobile): keep the machine glyph next to the environment label by @juliusmarminge in #9486
- fix(mobile): let back swipe pop from horizontal scroll edges by @juliusmarminge in #9493
- fix(antigravity): discover legacy workspace skills by @Lucenx9 in #9410
- fix(mobile): resolve Antigravity provider icon and normalize driver matching by @Invictine in #9495
- fix(antigravity): forward Google sign-in URLs from browser helper by @WellyngtonF in #9425
- feat(desktop): import browser cookies into a profile by @juliusmarminge in #7255
- feat(desktop): import from Chrome, Edge, Brave, Vivaldi, Opera, Arc and Firefox by @juliusmarminge in #7260
- feat(desktop): resolve Chromium cookie keys on Linux by @juliusmarminge in #7261
- fix(antigravity): allow slow runtime startup during setup by @t3dotgg in #9510
- fix(antigravity): keep model choices up to date by @t3dotgg in #9511
- fix(antigravity): handle native sign-in URLs on stderr by @t3dotgg in #9514
- fix(antigravity): update managed runtime to 1.1.1 by @t3dotgg in #9509
- fix(desktop): address the browser import review left over from the stack by @juliusmarminge in #9516
- feat(antigravity): show subagent calls and results by @t3dotgg in #9515
- fix(web): let paste expand a resting composer by @juliusmarminge in #9498
- fix(web): keep the composer open while selecting timeline text by @juliusmarminge in #9499
- fix(web): return focus to the composer after closing a media preview by @juliusmarminge in #9513
- fix(server): keep events during thread subscription startup by @t3dotgg in #9521
- chore: forward issue/PR/discussion events to Cursor hygiene by @juliusmarminge in #9518
- fix(auth): keep pairing credentials out of access read models by @t3dotgg in #9523
- chore: drop comment events from Cursor hygiene forwarder by @juliusmarminge in #9527
- feat(codex): support async questions by @t3dotgg in #9512
- fix(web): keep right panel controls clickable by @maria-rcks in #9517
- feat(usage): show Codex and Claude subscription limits on a Limits tab by @juliusmarminge in #9507
- feat(web): reorganize settings pages by @maria-rcks in #9354
- fix(server): settle branch threads immediately on pull request merge by @maria-rcks in #9528
- fix(server): back off relay client restarts after rapid exits by @derektrimm in #8788
- fix(codex): accept rate limit errors on thread resume by @nateEc in #8897
- fix(desktop): preview CDP sessions no longer hard-crash the app by @sethwebster in #9068
- Fix worktree removal timing out on large install trees by @jakeleventhal in #3902
- fix(web): settle the resting composer layout with a pixel of slack by @matheustimbo in #9482
- fix(web): keep automatic project icons consistent by @t3dotgg in #9535
- fix(server): include SQLite conditions in persistence errors by @t3dotgg in #9536
- fix(dev): keep shared dev reloads and hot updates working by @t3dotgg in #9543
- feat(providers): add context compaction command by @maria-rcks in #9293
- fix(mobile): keep store screenshots free of system banners and show dictation by @juliusmarminge in #9548
- fix(web): restore composer controls as space becomes available by @juliusmarminge in #9539
- fix(web): measure collapsed model labels at their visible width by @juliusmarminge in #9540
- fix(web): close composer menus when their controls hide by @juliusmarminge in #9541
- fix(web): thread error banner no longer shifts the chat by @flamboh in #9473
- fix(server): reveal normalized paths in File Explorer by @juliusmarminge in #9551
- feat(marketing): fresh screenshot and floating marks on the homepage by @t3dotgg in #9547
- feat(usage): redeem Codex reset credits from the Limits tab by @juliusmarminge in #9534
- fix(server): find newly opened pull requests after agent turns by @t3dotgg in #9125
- ci: add on-demand Windows test workflow by @juliusmarminge in #9538
- fix(web): simplify expanded tool details by @maria-rcks in #9549
- fix(web): keep the last message visible when the resting composer expands by @t3dotgg in #9553
- test(web): fix flaky startup and Tailwind tests by @t3dotgg in #9558
- fix(web): keep codex restart responses continuous by @maria-rcks in #9560
- fix(web): make settings sidebar sub-section buttons full width by @juliusmarminge in #9562
- fix(web): render settings sidebar immediately by @maria-rcks in #9563
- chore: vouch august contributors by @maria-rcks in #9557
- fix(web): stabilize right panel transitions by @maria-rcks in #9554
- fix: better shell syntax handling for labels by @Yash-Singh1 in #9371
- fix(web): align the sidebar wordmark by baseline by @maria-rcks in #9578
- fix(antigravity): keep subagent batches active after launch by @t3dotgg in #9579
- fix(mobile): render workspace images in markdown file previews by @SunkenInTime in #8769
- fix(usage): deduplicate CLI proxy subscription accounts by @juliusmarminge in #9584
- fix(web): bound disconnected send toasts by @maria-rcks in #9592
- fix(desktop): restore panel titlebar interactions by @maria-rcks in #9591
- fix(connect): refresh authorization without disconnecting by @maria-rcks in #9582
- fix(web): show context meter in compact composer by @GuilhermeVieiraDev in #9430
- fix(pull-requests): refresh data after thread turns by @maria-rcks in #9496
- fix(web): render draft PRs in gray by @extoci in #9537
- refactor(web): move usage provider controls to settings by @juliusmarminge in #9599
- fix: show idle subagent batches without completion marks by @t3dotgg in #9616
- fix(web): group image views like other tool calls by @juliusmarminge in #9597
- fix: preserve tool icons on failed calls by @juliusmarminge in #9606
- fix(connect): diagnose incomplete headless server setup by @juliusmarminge in #9602
- fix(web): keep command palette above composer menus by @Gigioxx in #9613
- fix(web): snooze menu no longer overlaps thread details by @RakshithBhat03 in #9601
- fix(web): match composer pull request state icons by @flamboh in #9375
- fix(server): load OpenCode workspace skills via SDK to avoid 64KB CLI pipe truncation by @BarryHenryJr in #9585
- fix(web): mute sidebar branch name to match worktree icon by @maria-rcks in #9622
- fix(web,mobile): fold context compaction under settled turn folds by @maria-rcks in #9623
- feat(mobile): make chat text selectable on Android by @SunkenInTime in #8779
- fix(web): toggle a single stashed prompt with Cmd+S by @t3dotgg in #9644
- fix(server): prevent duplicate desktop clients after restart by @seeb1337 in #6305
- fix(web): resume Antigravity threads without repeated sign-in by @t3dotgg in #9647
- feat(mobile): paste the phone clipboard into the terminal by @lnieuwenhuis in #9199
- feat(web): show which sidebar threads hold an unsent draft by @t3dotgg in #9658
- fix(server): unblock OpenCode approvals and stop by @t3dotgg in #9653
- fix(desktop): quit immediately on a second shortcut press by @t3dotgg in #9657
- fix(server): update Claude Agent SDK to 0.3.260 by @t3dotgg in #9135
- perf(server): stop loading message bodies for thread summaries by @t3dotgg in #9662
- perf(web): speed up terminal snapshots by @t3dotgg in #9663
- fix(web): show machine icons in the environment picker by @t3dotgg in #9668
- perf(mobile): bound diff syntax highlighting work by @t3dotgg in #9673
- perf(web): keep Markdown mounted during streaming by @t3dotgg in #9677
- perf(mobile): skip unused legacy list work by @t3dotgg in #9679
- perf(marketing): serve images at their display size by @t3dotgg in #9682
- perf(server): cache and stream static web assets by @t3dotgg in #9669
- perf(server): batch projector cursor writes by @t3dotgg in #9671
- perf(server): stop retaining unused OpenCode tool history by @t3dotgg in #9684
- perf(mobile): reuse chat feed rows during streaming by @t3dotgg in #9688
- perf(server): omit repeated OpenCode progress logs by @t3dotgg in #9689
- perf(clients): avoid waiting to read cached relay tokens by @t3dotgg in #9691
- perf(mobile): reuse diff rows during comment edits by @t3dotgg in #9693
- perf(web): defer composer draft serialization by @t3dotgg in #9695
- feat(server): measure provider turn token usage by @t3dotgg in #9132
- perf(marketing): stop continuous homepage motion by @t3dotgg in #9697
- perf(server): avoid full patches for checkpoint summaries by @t3dotgg in #9694
- perf(web): defer diff workers until a code view opens by @t3dotgg in #9692
- perf(marketing): serve website fonts locally by @t3dotgg in #9701
- perf(server): stop rebuilding terminal history per chunk by @t3dotgg in #9703
- perf(server): use one query for buffered provider events by @t3dotgg in #9706
- perf(relay): avoid repeated activity decoding by @t3dotgg in #9708
- perf(web): stop continuous chat status animations by @t3dotgg in #9709
- fix(mobile): preserve saved work after storage read failures by @t3dotgg in #9710
- perf(web): stop replaying terminal buffers on rollover by @t3dotgg in #9707
- feat(web): preview pull request links by @maria-rcks in #9631
- perf(client): reduce thread-list update work by @t3dotgg in #9716
- fix(server): settle inactive threads with open PRs by @Gigioxx in #9610
- fix(server): bound slow-client event buffers by @t3dotgg in #9715
- test(server): allow either valid file-search match by @t3dotgg in #9720
- fix(web): match provider settings layout for disconnected devices by @flamboh in #9619
- fix(web): keep the slash menu above the composer when vertical space is short by @Mnigos in #9625
- fix(mobile): remove provider setup by @juliusmarminge in #9721
- perf(web): stop rendering hidden terminals by @t3dotgg in #9718
- fix(mobile): read file-backed image drafts before enabling them by @t3dotgg in #9713
- perf(server): replay only the selected thread by @t3dotgg in #9726
- fix(web): mute composer helper text by @jakeleventhal in #9654
- feat(web): unpin threads from the sidebar multi-select menu by @gsimone in #9651
- perf(web): reuse timeline rows while text streams by @t3dotgg in #9725
- fix(relay): bound stalled push requests by @t3dotgg in #9734
- perf(server): stop caching unused OpenCode tool parts by @t3dotgg in #9738
- fix(web): fold single trailing activity by @maria-rcks in #9739
- fix(web): show project settings for new threads by @maria-rcks in #9743
- perf(mobile): bound the parsed review cache by @t3dotgg in #9749
- perf(web): avoid repeated terminal metadata scans by @t3dotgg in #9747
- perf(server): bound terminal history by bytes by @t3dotgg in #9748
- feat(web): link pull request authors to profiles by @maria-rcks in #9627
- fix(web): refine server update notice by @maria-rcks in #9744
- perf(client): stop thread streams when unused by @t3dotgg in #9740
- perf(mobile): defer file preview highlighter startup by @t3dotgg in #9752
- perf(server): skip history reads for metadata commands by @t3dotgg in #9758
- perf(web): defer image URL requests for thread history by @t3dotgg in #9760
- fix(models): make GPT-6-Astra current by @juliusmarminge in #9762
- fix(web): stop empty diffs replacing pull requests by @maria-rcks in #9753
- fix(sidebar): mute background working threads by @maria-rcks in #9759
- fix(web): reset automatic pull to default by @maria-rcks in #9763
- fix(web): restore file comment focus in editable preview by @ShpetimA in #9061
- docs: keep internal guides focused on architecture by @juliusmarminge in #9755
- docs: focus user guides on features and workflows by @juliusmarminge in #9756
- fix(web): stop panel motion during navigation by @juliusmarminge in #9766
- fix(web): open composer selectors below controls by @maria-rcks in #9767
- perf(server): skip unused Linux process detail reads by @t3dotgg in #9768
- fix(server): remove retired Codex models after refresh by @juliusmarminge in #9773
- test: stop path and platform tests depending on the host OS by @juliusmarminge in #9564
- test(server): skip posix executable fixtures on a Windows host by @juliusmarminge in #9565
- test: skip symlink fixtures where the host cannot create symlinks by @juliusmarminge in #9566
- test(server): run fake provider CLIs through a Node stub on every host by @juliusmarminge in #9567
- test(desktop): make path fixtures and timeouts host-portable by @juliusmarminge in #9568
- fix(server): tolerate the missing directory fsync on Windows by @juliusmarminge in #9569
- test(server): pin git config for fixtures and compare native realpaths by @juliusmarminge in #9570
- test: skip POSIX mode-bit assertions on a Windows host by @juliusmarminge in #9571
- test(server): keep provider fixture directories host-portable by @juliusmarminge in #9572
- test: resolve the Windows temp directory to its long name by @juliusmarminge in #9573
- test(server): run the Antigravity install harness for the host platform by @juliusmarminge in #9574
- fix(server): canonicalise media paths the same way their callers do by @juliusmarminge in #9575
- test(server): make Windows path and async fixtures deterministic by @juliusmarminge in #9576
- fix(server): refuse symlinked theme files on Windows too by @juliusmarminge in #9580
- test(scripts): keep Windows packaging checks host-portable by @juliusmarminge in #9589
- fix(contracts): include tool.denied in runtime event types by @Lucenx9 in #9770
- feat(mobile): split the usage page into Usage and Limits tabs by @juliusmarminge in #9775
- fix(web): restore the running tool label shine by @maria-rcks in #9777
- fix(web): align provider controls with machine tabs by @maria-rcks in #9769
- docs(web): document panel motion during navigation by @maria-rcks in #9778
- feat(usage): support custom model prices by @juliusmarminge in #9774
- fix(web): center pull request link previews by @maria-rcks in #9794
- fix: address usage limits and merge settlement regressions by @maria-rcks in #9784
- fix(web): give toggle thumbs consistent inset spacing by @maria-rcks in #9805
- fix(web): use segmented controls for mode switches by @maria-rcks in #9781
- fix(server): recover opted-in threads after machine restarts by @maria-rcks in #9803
- fix(web): simplify changed files into a persistent folder tree by @maria-rcks in #9821
- feat: add custom model names and option descriptors by @juliusmarminge in #9807
- fix(cursor): discover symlinked skills as package boundaries by @EzraBuild in #9420
- fix(ssh): exec managed servers without npm wrappers by @juliusmarminge in #9843
- fix(server): detect nested Git workspaces for checkpoints by @juliusmarminge in #9842
- fix(web): keep worktree origin preference visible by @juliusmarminge in #9846
- fix(web): smooth settings sidebar transitions by @juliusmarminge in #9811
- feat(web): highlight visible settings sections by @juliusmarminge in #9812
- fix(web): keep the sidebar project filter across navigation by @Mnigos in #9416
- fix(server): surface Claude safety model fallback notices instead of dropping them by @darahaas15 in #8853
- fix(web): reload saved colors when reopening the theme editor by @juliusmarminge in #9847
- feat(desktop): import cookies from Safari by @juliusmarminge in #7262
- fix(web): respect case in POSIX file links by @Michel-Liao in #9309
- fix(server): surface a missing workspace folder instead of a spawn error by @kakismash in #5040
- fix: stop favicon requests for private link hosts on web and mobile by @fe-franco in #5838
- fix(server): preserve native provider executable paths during updates by @juliusmarminge in #9850
- fix(web): restore composer expansion after tool calls by @t3dotgg in #9782
- fix(client): explain possible network blocking for T3 Connect by @t3dotgg in #9783
- fix(desktop): isolate preview keyboard shortcuts from the host by @maria-rcks in #9840
- fix(prs): reuse GitHub data and defer optional reads by @maria-rcks in #9835
- perf(shared): skip duplicate PATH entries and per-probe tracing by @jadeva in #9618
- fix(web): preserve focus and prioritize picker shortcuts by @maria-rcks in #9795
- fix(skills): support names beginning with digits by @amiralibg in #9244
- fix(server): advertise truecolor in the integrated terminal by @shubhxho in #7680
- fix(claude): surface usage-limit pauses in the thread by @vitalyiegorov in #7165
- fix: restore UX after performance improvements by @t3dotgg in #9799
- fix(codex): show what a file-change approval will change by @walid-baharwal in #8669
- fix(ci): add fallback Ubuntu package mirrors by @maria-rcks in #9864
- fix(web): copy text over plain HTTP by @Michel-Liao in #8023
- fix(server): dismiss native questions when their turn ends by @juliusmarminge in #9851
- fix(server): quote copied native provider update commands by @juliusmarminge in #9856
- fix(release): install the correct Windows Spectre component by @maria-rcks in #9859
- fix(web): show retained runtime diagnostics in the work log by @juliusmarminge in #9870
- fix(web): make sidebar project actions reachable by keyboard and screen reader by @akj in #5521
- fix(preview): bound automation waits and screenshot captures by @juliusmarminge in #4685
- fix(web): render and filter usage as environments respond by @juliusmarminge in #9860
- feat(web): edit usage prices across selected environments by @juliusmarminge in #9861
- fix(mobile): keep usage tabs below the header when switching by @juliusmarminge in #9876
- fix(connect): refresh HTTP credentials without reconnecting by @juliusmarminge in #9594
- fix(web): keep file autosaves active after effect replay by @juliusmarminge in #9878
- fix(web): prioritize open panel pull request when copying by @maria-rcks in #9877
- fix(cli): resolve projects with missing workspace directories by @juliusmarminge in #9885
- fix(web): sort equally merge-ready pull requests by diff size by @maria-rcks in #9887
- fix(chat): show hours for long runs by @t3dotgg in #9894
- fix(server): only run provider updates through the installer that owns the binary by @juliusmarminge in #9325
- fix(web): discard stale highlights after file edits by @juliusmarminge in #9902
- feat(web): recall sent prompts with the up arrow by @t3dotgg in #9173
- fix(server): keep mise-owned npm packages manual-only by @juliusmarminge in #9927
- fix(settings): share restart continuation across environments by @maria-rcks in #9933
- fix(server): capture turn checkpoints after all edits finish by @juliusmarminge in #9841
- fix(web): load file grammar before enabling edits by @juliusmarminge in #9947
- fix(web): deduplicate PR project filter choices by @juliusmarminge in #9948
- test(web): keep provider field readers private by @juliusmarminge in #9952
- test(mobile): keep composer selection helper private by @juliusmarminge in #9953
- test(client-runtime): keep scoped key implementation private by @juliusmarminge in #9955
- fix(web): reveal reselected diff files by @juliusmarminge in #9951
- refactor(web): remove obsolete changed-files preview helpers by @juliusmarminge in #9956
- fix(web): give the browser keybinding notice breathing room by @juliusmarminge in #9964
- chore: configure Knip workspace audits by @juliusmarminge in #9958
- refactor(web): prune unused UI and provider code by @juliusmarminge in #9959
- chore(mobile): remove obsolete widget wiring script by @juliusmarminge in #9960
- chore: remove redundant root tooling dependencies by @juliusmarminge in #9961
- ci: reject unused files and dependencies with Knip by @juliusmarminge in #9962
- test(contracts): keep driver default lookup private by @juliusmarminge in #9968
- test(server): remove Azure permissions constant snapshot by @juliusmarminge in #9973
- refactor(shared): remove unused viewport formatters by @juliusmarminge in #9970
- refactor(mobile): remove unused provider option summary by @juliusmarminge in #9971
- refactor(client-runtime): remove unused connection phase message by @juliusmarminge in #9972
- refactor(mobile): remove unused layout calculations by @juliusmarminge in #9974
- refactor(client-runtime): remove unused file position predicate by @juliusmarminge in #9976
- refactor(mobile): remove unused font size steppers by @juliusmarminge in #9975
- test(server): cover thread lookup through command invariants by @juliusmarminge in #9978
- test(server): remove provider equality wrapper fixture by @juliusmarminge in #9979
- test(server): assert the dispatched welcome thread model by @juliusmarminge in #9980
- refactor(desktop): remove unused keyring remediation text by @juliusmarminge in #9981
- refactor(desktop): remove test-only Electron error predicates by @juliusmarminge in #9982
- refactor(web): remove unused pull request state label by @juliusmarminge in #9984
- perf(web): keep timeline row reuse engaged while text streams by @juliusmarminge in #9909
- fix(web): reset markdown widgets when the previewed file changes by @juliusmarminge in #9910
- fix(mobile): keep highlighting review diffs after a long line by @juliusmarminge in #9911
- fix(marketing): align the endorsement carousel with its heading by @juliusmarminge in #9912
- fix(client): keep warm thread resumes live instead of flashing sync by @juliusmarminge in #9913
- test(server): remove authorization prompt snapshots by @juliusmarminge in #9985
- test(server): remove static OAuth page snapshots by @juliusmarminge in #9986
- test(server): remove provider label identity assertion by @juliusmarminge in #9987
- test(server): consolidate agent activity opt-in coverage by @juliusmarminge in #9988
- refactor(shared): remove unused preview URL predicate by @juliusmarminge in #9989
- refactor(shared): remove unused mention path serializer by @juliusmarminge in #9990
- refactor(shared): remove retired PATH capture parser by @juliusmarminge in #9991
- refactor(client-runtime): remove unused subagent selectors by @juliusmarminge in #9992
- refactor(web): test the live usage column builder by @juliusmarminge in #9993
- refactor(web): remove unused aspect ratio reconciler by @juliusmarminge in #9994
- refactor(web): remove obsolete cloud listing helpers by @juliusmarminge in #9995
- test(web): remove composer control style snapshots by @juliusmarminge in #9996
- test(web): keep the preview profile label helper private by @juliusmarminge in #9997
- test(server): cover raw OpenCode deltas through the adapter by @juliusmarminge in #9977
- refactor(web): remove obsolete pull request link opener by @juliusmarminge in #9983
- test(relay): keep the stage slug helper private by @juliusmarminge in #9998
- refactor(mobile): keep project selection helper private by @juliusmarminge in #9999
- refactor(mobile): keep review default ID helper private by @juliusmarminge in #10000
- refactor(mobile): remove unused native style constants by @juliusmarminge in #10001
- refactor(mobile): test terminal palettes through public theme API by @juliusmarminge in #10002
- refactor(mobile): remove unused file tree walkers by @juliusmarminge in #10003
- refactor(shared): keep persisted settings helpers private by @juliusmarminge in #10004
- test(mobile): remove mocked UUID shape assertions by @juliusmarminge in #10006
- refactor(mobile): test final connection status presentation by @juliusmarminge in #10007
- test(web): keep pull request menu items private by @juliusmarminge in #10016
- refactor(shared): test favicon selection through public API by @juliusmarminge in #10005
- refactor(server): remove test-only pricing normalizer by @juliusmarminge in #10017
- refactor(web): remove unused desktop update visibility helper by @juliusmarminge in #10014
- refactor(web): remove obsolete provider update helpers by @juliusmarminge in #10015
- refactor(web): remove unused terminal context preview formatter by @juliusmarminge in #10009
- refactor(web): test environment-scoped draft promotion by @juliusmarminge in #10010
- fix(web): retain wrapped row heights during edits by @juliusmarminge in #10018
- refactor(shared): remove unused Clerk hostname predicate by @juliusmarminge in #10008
- refactor(tailscale): keep package internals private by @juliusmarminge in #10011
- ci: reject unused tailscale exports with Knip by @juliusmarminge in #10012
- fix(web): keep chat media at a stable size while it loads by @juliusmarminge in #9938
- refactor(server): keep manifest age parsing private by @juliusmarminge in #10028
- refactor(mobile): remove unused awareness relay URL normalizer by @juliusmarminge in #10029
- refactor(server): remove unused startup heartbeat launcher by @juliusmarminge in #10030
- refactor(shared): keep search ranking comparator private by @juliusmarminge in #10031
- refactor(server): keep telemetry identity errors private by @juliusmarminge in #10032
- refactor(mobile): test composer persistence through the live decoder by @juliusmarminge in #10033
- refactor(web): remove unused sidebar selectors by @juliusmarminge in #10034
- refactor(server): keep Cursor fallback models private by @juliusmarminge in #10038
- refactor(web): remove unused xterm link range helpers by @juliusmarminge in #10040
- refactor(mobile): remove obsolete review list builder by @juliusmarminge in #10039
- test(server): remove duplicate VCS error constructor checks by @juliusmarminge in #10042
- refactor(mobile): keep appearance calculations private by @juliusmarminge in #10043
- refactor(web): remove unused sidebar menu action by @juliusmarminge in #10044
- refactor(web): test live Ghostty link resolution directly by @juliusmarminge in #10041
- test(server): exercise Codex prompts through public assembly by @juliusmarminge in #10045
- refactor(shared): remove unused elapsed-time adapter by @juliusmarminge in #10046
- refactor(web): remove unused preview thread reset helper by @juliusmarminge in #10049
- refactor(desktop): remove test-only error predicates by @juliusmarminge in #10047
- refactor(mobile): keep review reset hashing private by @juliusmarminge in #10048
- test(web): remove AppRoot element order snapshot by @juliusmarminge in #10052
- refactor(codex): keep app-server client internals private by @juliusmarminge in #10035
- ci: reject unused Codex client exports with Knip by @juliusmarminge in #10036
- refactor(server): simplify native telemetry error internals by @juliusmarminge in #10057
- refactor(mobile): remove write-only terminal font cache by @juliusmarminge in #10058
- refactor(web): remove obsolete HSL theme generator by @juliusmarminge in #10061
- refactor(mobile): remove obsolete native diff token stream by @juliusmarminge in #10062
- test(server): remove title prompt editorial snapshots by @juliusmarminge in #10063
- test(server): remove repeated runtime prompt interpolation cases by @juliusmarminge in #10059
- refactor(web): observe preview tests through the live registry by @juliusmarminge in #10064
- test(server): remove keybinding default assignment snapshot by @juliusmarminge in #10065
- refactor(mobile): remove obsolete whole-file review highlighters by @juliusmarminge in #10067
- test(server): cover CLI runner detection through command suggestions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10066
- refactor(mobile): remove unused cloud relay URL normalizer by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10068
- refactor(web): test live keybinding resolvers directly by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10069
- test(server): cover Grok skill parsing through discovery by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10070
- test(web): remove mocked diff view prop snapshot by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10073
- test(web): remove mocked annotation options snapshot by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10074
- refactor(web): keep pending action labels private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10075
- refactor(mobile): remove unused cloud pending-status mapper by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10071
- refactor(web): remove unused model picker hint helpers by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10072
- fix(server): resume checkpointing after git init by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10078
- feat(web): first-run welcome wizard with agent setup and project import by @t3dotgg in https://github.com/pingdotgg/t3code/pull/5362
- fix(server): keep Homebrew mise shims manual-only by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10085
- fix(ssh): report remote package installation failures accurately by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10088
- fix(web): keep bulk thread deletion going after failures by @m-de-graaff in https://github.com/pingdotgg/t3code/pull/4615
- fix(web): scale agent spawn rows with interface font by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10092
- fix(web): prevent sidebar tooltip title clipping by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/10086
- fix(web): keep the composer expanded until the thread can scroll by @t3dotgg in https://github.com/pingdotgg/t3code/pull/9965
- fix(web): preserve original mention text in the composer by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10100
- refactor(mobile): remove unused pairing redaction wrapper by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10147
- test(web): drop provider banner styling assertions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10148
- refactor(client-runtime): remove unused relay token waiter by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10151
- test(web): drop sidebar artwork styling snapshots by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10152
- refactor(ssh): keep package internals private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10144
- ci: reject unused SSH exports with Knip by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10145
- refactor(acp): keep protocol implementation exports private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10165
- fix(shared): validate cloudflared with the version subcommand by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9880
- fix(desktop): separate LAN and Tailscale pairing endpoints by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9882
- fix(server): install pinned runtime when pnpm node lacks npm by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9923
- fix(web): hide sidebar search shortcut on mobile by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9932
- fix(web): align tool disclosure chevrons with expanded state by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9935
- fix(antigravity): distinguish session initialization auth failures by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9919
- fix(cursor): cache successful model discovery between refreshes by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9918
- fix(opencode): revert from the first removed assistant message by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9924
- fix(web): resume imported custom-provider threads by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10184
- test(web): cancel pending highlight fixture frames during cleanup by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10188
- feat(server): report image dimensions with signed asset URLs by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10198
- fix(mobile): size a chat image's frame before its bytes arrive by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10199
- fix(web): size the chat image slot from server-reported dimensions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10200
- refactor(shared): remove unused runtime helpers and exports by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10166
- refactor(client-runtime): remove unused runtime exports and helpers by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10167
- refactor(contracts): keep RPC implementation exports private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10168
- refactor(contracts): trim unused client API runtime exports by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10169
- refactor(contracts): keep unused settings and relay exports private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10170
- ci: enforce runtime exports while allowing types and schemas by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10171
- fix(web): copy provider update commands from compact rows by @MatthewFeroz in https://github.com/pingdotgg/t3code/pull/9888
- fix(web): align provider header action sizes and spacing by @MatthewFeroz in https://github.com/pingdotgg/t3code/pull/9890
- fix(mobile): restore live tool shimmer and add a Thinking row by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10173
- fix(mobile): even out the working pill's spacing by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10209
- fix(mobile): only make work rows expandable when the body adds something by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10210
- fix(mobile): fold subagent lifecycle rows into one batch per spawn by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10211
- fix(mobile): stop clipping expanded tool groups by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10212
- fix(web): defer browser discovery in integrations by @zortos293 in https://github.com/pingdotgg/t3code/pull/9797
- refactor(web): test file cache identity through its public helpers by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10219
- refactor(web): test favicon fallback through the component by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10220
- feat: show provider usage limits with /usage-limits by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/9875
- refactor(web): test formatted timestamps instead of formatter options by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10221
- feat(usage): show remaining quota instead of used by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/9889
- fix(ui): unify loading and refresh feedback across clients by @StiensWout in https://github.com/pingdotgg/t3code/pull/9561
- fix(client-runtime): report terminated thread loads by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10216
- fix(server): settle threads using actual pull request terminal timestamps by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9934
- fix(clients): persist project icons across reloads and reconnects by @StiensWout in https://github.com/pingdotgg/t3code/pull/10138
- fix(mobile): use selected theme across input forms and controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10239
- fix(mobile): keep the new-task draft when switching environment by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10247
- fix(web): keep timestamp tooltip dates in English by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/10256
- fix(web): let authorized clients scrolling reach settings by @flamboh in https://github.com/pingdotgg/t3code/pull/10080
- fix(web): remember usage page selection by @extoci in https://github.com/pingdotgg/t3code/pull/10189
- fix(server): keep the Antigravity Google sign-in across server restarts by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10244
- fix(antigravity): load user skills from ~/.gemini for every project by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10257
- fix(web): respect reduced motion in shared disclosures by @saphid in https://github.com/pingdotgg/t3code/pull/10258
- feat(marketing): add a Windows 95 landing page by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10286
- refactor(web): remove unused runtime wrappers and exports by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10225
- refactor(web): keep feature component helpers private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10226
- refactor(web): keep app utilities private and remove dead helpers by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10227
- ci: enforce unused runtime exports in the web app by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10228
- test(desktop): cover Clerk setup through the service by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10284
- test(desktop): cover WSL hashes through runtime resolution by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10285
- test(desktop): cover password store through startup by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10287
- test(desktop): cover WSL paths through public behavior by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10289
- test(desktop): exercise WSL cache safety through public scripts by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10301
- test(web): cover file classification through diff ordering by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10304
- test(web): focus command palette tests on search behavior by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10302
- fix(web): add project settings to legacy sidebar project menu by @hwanseoc in https://github.com/pingdotgg/t3code/pull/10021
- test(web): keep Markdown gutter styling private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10306
- feat(settings): add shared project defaults and scoped overrides by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9754
- feat(connections): balance new threads across connected machines by @maria-rcks in https://github.com/pingdotgg/t3code/pull/9895
- test(web): keep settings viewport comparison private by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10307
- fix(web): prevent file tree search focus ring clipping by @GuilhermeVieiraDev in https://github.com/pingdotgg/t3code/pull/10175
- fix(mobile): stop the work log flickering during subagent runs and failing calls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10273
- fix(mobile): save linked media from chat by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10271
- feat(markdown): show the GitHub mark for github.com links by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10324
- fix(marketing): show a real preview card when t3.codes is shared by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10305
- feat(usage): pool subscription limits per provider across accounts and environments by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10300
- chore(web): remove usage limits demo fixtures by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10330
- fix(web): expose error disclosure state by @saphid in https://github.com/pingdotgg/t3code/pull/10125
- fix(web): name the editor picker accurately by @saphid in https://github.com/pingdotgg/t3code/pull/10124
- fix(web): make task row states readable by @saphid in https://github.com/pingdotgg/t3code/pull/10128
- fix(web): explain hosted connection prerequisites by @saphid in https://github.com/pingdotgg/t3code/pull/10129
- fix(web): name combobox chip removal targets by @saphid in https://github.com/pingdotgg/t3code/pull/10127
- fix(marketing): present the Git workflow as an illustration by @saphid in https://github.com/pingdotgg/t3code/pull/10130
- feat(mobile): pool usage limits across selected environments by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10334
- fix(release): space automatic nightlies at least six hours apart by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10272
- refactor(web): share bulk thread deletion between sidebars by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10106
- refactor(client): share tool outcome rules by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10122
- refactor(server): share Claude result status and error mapping by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10296
- fix(server): settle inactive threads without a PR lookup by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10103
- fix(ssh): report remote stop failures without losing ownership by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10105
- perf(server): stop scanning old OpenCode parts by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10116
- perf(server): avoid full thread reads on turn start by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10108
- perf(web): skip checkpoint map rebuilds while streaming by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10118
- perf(server): skip plan bodies in thread summaries by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10341
- fix(server): skip disabled provider instances for text generation fallback by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10346
- fix(server): capture checkpoints before refreshing PR status by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10347
- fix(web): keep manual panel choices during a turn by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10113
- fix(threads): keep completed requests closed across clients by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10123
- perf(server): finish runtime messages without full thread reads by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10120
- refactor(server): let adapters declare context compaction by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10112
- fix(server): link thread PRs without an open client by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10101
- fix(web): show Tux icon for WSL environments by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/8511
- perf(web): speed up folder menu sorting by @AksharP5 in https://github.com/pingdotgg/t3code/pull/10190
- style(web): fix inconsistencies in new settings layouts by @extoci in https://github.com/pingdotgg/t3code/pull/10177
- feat(threads): persist manual active thread order by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/9729
- feat(mobile): arrange active threads from both thread lists by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/9730
- feat(web): drag threads across sections with consistent motion by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/9731
- feat(web): simplify sidebar drag destination cues by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/9750
- fix(mobile): keep pending tasks queued when a send fails in flight by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10245
- feat(mobile): show new-task drafts alongside pending tasks in the thread list by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10260
- feat(mobile): allow several new-task drafts per project by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10327
- fix(mobile): slide settled threads out before collapsing by @StiensWout in https://github.com/pingdotgg/t3code/pull/10345
- fix(clients): show feedback results in composer banners by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10398
- fix(server): stop Windows terminal polling from spiking CPU by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/9476
- fix(web): onboarding installs agents without needing Node or npm by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10402
- fix(server): allow settling threads with unanswered async questions by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10400
- feat(ci): ship stable releases from the latest nightly commit by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10410
- feat(marketing): add a nightly channel to the download page by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10408
- fix(web): keep settings inputs focused during IME composition by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/10262
- fix(server): preserve Codex reset credits during usage updates by @yashranaway in https://github.com/pingdotgg/t3code/pull/10308
- docs: link the repository security reporting policy by @yashranaway in https://github.com/pingdotgg/t3code/pull/10303
- fix(web): only show auto balance errors after failed checks by @maria-rcks in https://github.com/pingdotgg/t3code/pull/10407
- fix(web): improve preview recording frame delivery by @maria-rcks in https://github.com/pingdotgg/t3code/pull/10403
- fix(server): preserve inline provider secrets on redacted saves by @maxwellyoung in https://github.com/pingdotgg/t3code/pull/10054
- fix(web, mobile): replace Apple desktop machine labels by @extoci in https://github.com/pingdotgg/t3code/pull/10396
- fix(web): hide browser when the right panel starts closing by @Neel2107 in https://github.com/pingdotgg/t3code/pull/10385
- fix(web): keep settings section headings description-free by @maria-rcks in https://github.com/pingdotgg/t3code/pull/10415
- fix(usage): read and redeem hub reset credits through CLIProxyAPI by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10395
- fix(web): deduplicate expanded tool labels and keep errors expandable by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10420
- fix(server): skip git status scans while the index is locked by @Gigioxx in https://github.com/pingdotgg/t3code/pull/9845
- fix(mcp): allow text-only preview snapshots by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10232
- fix(claude): name the expired login or usage limit instead of a generic API error by @vitalyiegorov in https://github.com/pingdotgg/t3code/pull/10321
- feat(mobile): queue a message while its attachment is still uploading by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10404
- feat(mobile): show when an existing thread has a message waiting in the outbox by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10405
- fix(codex): accept misalignment policy errors on thread resume by @realbakari in https://github.com/pingdotgg/t3code/pull/10373
- fix(server): skip disabled settlement lookups by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10424
- fix(server): run OpenCode CLI commands sequentially by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10427
- feat(web): name the drop action while dragging sidebar threads by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/10378
- perf(web): keep the sidebar responsive during bulk thread updates by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10413
- fix(web): onboarding wizard now supports light mode by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10432
- feat(threads): dismiss async questions without replying by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10431
- fix(web): stop collapsing the composer when it loses focus by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10437
- fix(server): keep interrupted threads resumable after restarts by @maria-rcks in https://github.com/pingdotgg/t3code/pull/10421
- fix(web): show load balancing note for a single machine by @maria-rcks in https://github.com/pingdotgg/t3code/pull/10433
- fix(server): follow placeholder branches after checkout updates by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10441
- fix(mobile): expand single-line tool details in work logs by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10442
- fix(server): import transcripts with oversized tool records by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10430
- fix(marketing): deploy site with nightly releases by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10443
- fix(web): preserve multiline composer drafts during timeline scrolling by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10444
- fix(server): handle JSON-wrapped titles and verbose Claude output by @Noojuno in https://github.com/pingdotgg/t3code/pull/10446
- fix(marketing): restore continuous endorsement scrolling by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10450
- Revert "fix(marketing): restore continuous endorsement scrolling" by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10454
- fix(marketing): bring back the endorsement marquee by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10455
- chore: enable CodeRabbit automatic reviews by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10457
- fix(codex): keep Spark limits from replacing the main allowance by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/10458
- fix(marketing): send 95 nightly downloads to the downloads page by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10460
- fix(web): composer regains focus when you tab back into T3 Code by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10463
- fix(web): keep sidebar drag dividers clear and gestures smooth by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10453
- fix(server): mark Cursor transport error answers as failed by @shivamhwp in https://github.com/pingdotgg/t3code/pull/10337
- fix(web): clear stuck panel resize cursor by @t3dotgg in https://github.com/pingdotgg/t3code/pull/10461
- fix(web): clarify sidebar drag dividers and empty targets by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10464
- fix(web): make onboarding a shared multi-computer wizard by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10465
- fix(shared): redeem reset credits through the hub when it holds the account by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/10462
New Contributors
- @LetZico made their first contribution in #8360
- @rcawston made their first contribution in #8992
- @404khai made their first contribution in #8910
- @eimexdev made their first contribution in #9006
- @G-R3 made their first contribution in #9101
- @tristanmanchester made their first contribution in #9255
- @Mnigos made their first contribution in #9438
- @Invictine made their first contribution in #9495
- @WellyngtonF made their first contribution in #9425
- @matheustimbo made their first contribution in #9482
- @Gigioxx made their first contribution in #9613
- @BarryHenryJr made their first contribution in #9585
- @seeb1337 made their first contribution in #6305
- @ShpetimA made their first contribution in #9061
- @EzraBuild made their first contribution in #9420
- @darahaas15 made their first contribution in #8853
- @Michel-Liao made their first contribution in #9309
- @fe-franco made their first contribution in #5838
- @jadeva made their first contribution in #9618
- @amiralibg made their first contribution in #9244
- @shubhxho made their first contribution in #7680
- @akj made their first contribution in #5521
- @m-de-graaff made their first contribution in https://github.com/pingdotgg/t3code/pull/4615
- @Neel2107 made their first contribution in https://github.com/pingdotgg/t3code/pull/10385
- @realbakari made their first contribution in https://github.com/pingdotgg/t3code/pull/10373
Full Changelog: v0.0.38...v0.0.39