What's Changed
- feat(mobile): add v2 preview store builds by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/11966
- fix(mobile): block incompatible server connections by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/11974
- fix(web): keep PR controls readable in narrow panels by @Bil0000 in https://github.com/pingdotgg/t3code/pull/11962
- fix(server): block updates under legacy service launchers by @Gigioxx in https://github.com/pingdotgg/t3code/pull/11940
- fix: reduce GitHub quota use with sharing enabled by @Bil0000 in https://github.com/pingdotgg/t3code/pull/11888
- fix(usage): refresh limits when the tab opens by @Bil0000 in https://github.com/pingdotgg/t3code/pull/11928
- fix(contracts): avoid Intl.Segmenter in monogram validation (Hermes crash) by @bompus in https://github.com/pingdotgg/t3code/pull/11984
- feat(lint): extend Hermes API bans with a configurable API list by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/11982
- fix(server): reuse Git index metadata during checkpoint capture by @im-kvijay in https://github.com/pingdotgg/t3code/pull/10792
- refactor: give project monograms their own icon variant by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/11993
- fix(clients): disable incompatible environments during discovery by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/11990
- fix(antigravity): stop health checks from filling the disk with _MEI folders by @t3dotgg in https://github.com/pingdotgg/t3code/pull/12008
- fix(mobile): bare t3code:// links no longer reset navigation to Home by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/12002
- fix(server): keep Claude rewind when fork history length changes by @maria-rcks in https://github.com/pingdotgg/t3code/pull/11954
- fix(mobile): use native toolbar search for licenses by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12011
- fix(server): detect unsupported legacy Android command-line tools by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/12017
- fix(web): stop the worktree setup card from flashing and shifting by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12015
- fix(clients): show unsupported environments as neutral rows with their machine icon by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12026
- fix(clients): hold the discovered machine icon across relay refreshes by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12030
- fix(server): resolve Node for standalone helper scripts by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12033
- feat(web): reveal timestamps on tool rows and turn folds by @saphid in https://github.com/pingdotgg/t3code/pull/8641
- docs: make the standalone installer the primary way to get the CLI by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/11696
- fix(web): submit PR comments with Cmd/Ctrl+Enter by @flamboh in https://github.com/pingdotgg/t3code/pull/11994
- refactor(web): centralize pull request icon state presentation by @flamboh in https://github.com/pingdotgg/t3code/pull/11144
- feat(providers): expose native slash commands across clients by @maria-rcks in https://github.com/pingdotgg/t3code/pull/11519
- feat(web): add send shortcut and follow-up controls by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12075
- feat(chat): show provider thinking traces by @maria-rcks in https://github.com/pingdotgg/t3code/pull/11784
- feat(usage): show OpenCode Go, Cursor, and Grok subscription limits by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12115
- fix(web): dropped folders become path chips on the local environment and are refused on remote ones by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/12001
- fix(web): adapt provider settings to available content width by @tris203 in https://github.com/pingdotgg/t3code/pull/12138
- fix(web): show private repository media in pull request tabs by @maria-rcks in https://github.com/pingdotgg/t3code/pull/11706
- fix(review): show complete counts and load large diffs progressively by @tris203 in https://github.com/pingdotgg/t3code/pull/10822
- fix(web): prioritize linked pull requests over automatic diffs by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12142
- feat(cli): show installer and update download progress by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12044
- fix(web): simplify agent approval prompts by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12082
- fix(web): show tooltips for composer environment and workspace controls by @flamboh in https://github.com/pingdotgg/t3code/pull/11787
- fix(chat): group thoughts into the changing tool activity line by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12147
- fix(web): keep tool timestamps before disclosure chevrons by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/12152
- fix(web): default diff panel to working tree by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12139
- design(mobile): unify Android Material layouts and native controls by @PixPMusic in https://github.com/pingdotgg/t3code/pull/11841
- feat(web): choose themes from chat with color previews by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12143
- fix(web): align follow-up and license settings controls by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12167
- fix(web): align composer task rows by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12165
- fix(mobile): prevent Android compose FAB animation jitter by @PixPMusic in https://github.com/pingdotgg/t3code/pull/12169
- fix(server): keep large sparse checkouts on the fast checkpoint path by @vedprakash2302 in https://github.com/pingdotgg/t3code/pull/12154
- feat(web): make pull request comments easier to scan by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12150
- fix(server): propagate linked pr changes and settle threads immediately by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12161
- fix(web): reuse cached GitHub PR details across entry points by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12168
- Remove
newbadge from Fable 5.1 by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12173 - fix(web): show author avatars in pull request previews by @extoci in https://github.com/pingdotgg/t3code/pull/12125
- fix(server): settle cancelled worktree setup before rollback by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12176
- feat(mobile): port worktree setup progress and agent handoff by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12177
- fix(server): flush checkpoint objects and refs before publishing them by @Mnigos in https://github.com/pingdotgg/t3code/pull/10944
- fix(server): keep ready checkpoints when a later placeholder arrives by @Adolanium in https://github.com/pingdotgg/t3code/pull/8432
- fix(server): keep VCS waits from blocking turn completion by @Vrtak-CZ in https://github.com/pingdotgg/t3code/pull/11970
- fix(web): keep header spacing stable when sidebar drawer opens by @flamboh in https://github.com/pingdotgg/t3code/pull/12162
- fix(web): fall back when pull request avatars fail by @tastelessjolt in https://github.com/pingdotgg/t3code/pull/11728
- feat(web): enable rich text composer by default by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12160
- feat(web): make keybindings searchable from settings search by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12175
- fix(web): preserve thread reading positions by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12144
- fix(diff): collapse files by default by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12190
- fix(web): folder links from chat open the file tree instead of a broken preview by @pc-style in https://github.com/pingdotgg/t3code/pull/10909
- feat(web): command palette search matches thread IDs by @saphid in https://github.com/pingdotgg/t3code/pull/11185
- fix(web): align notification icons with titles by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12202
- fix(skills): support unicode currency symbols as skill aliases by @WilgotM in https://github.com/pingdotgg/t3code/pull/12098
- feat(settings): add automatic storage cleanup per machine and project by @maria-rcks in https://github.com/pingdotgg/t3code/pull/11598
- feat(web): command palette finds the pull requests and usage pages by @flamboh in https://github.com/pingdotgg/t3code/pull/12211
- feat(web): start new threads with multiple models in separate worktrees by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12179
- fix(mobile): keep screen awake during dictation by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12227
- feat(mobile): add favorites to model picker by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12231
- fix(desktop): keep preview picking active across subframe navigation by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/9741
- fix(shared): keep the newest shared usage scan by @yashranaway in https://github.com/pingdotgg/t3code/pull/10315
- fix(web): keep thoughts and failed tool calls in one activity row by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12270
- fix(web): avoid reopening settled threads when adding projects by @dominic-r in https://github.com/pingdotgg/t3code/pull/11804
- feat(mobile): make Settings easier to navigate and scope by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12272
- fix(mobile): prevent overlapping text and UI on Android chat messages by @Exotic209093 in https://github.com/pingdotgg/t3code/pull/11611
- feat(web): pull request files can be marked as viewed by @yordis in https://github.com/pingdotgg/t3code/pull/7721
- fix(web): keep composer banners compact and readable by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12166
- fix(web): collapse thoughts within tool groups by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12302
- fix(usage): preserve saved totals after transcript cleanup by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12304
- fix(mobile): show Agent behavior icon on Android by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12316
- fix(web): keep PR panel actions in the current thread by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12320
- fix(web): keep browser pages aligned during panel animations by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12329
- fix(server): bound provider event log records before serialization by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12305
- fix(server): reject file rewind in shared workspaces by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12306
- fix(server): capture checkpoints when baseline lookup fails by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12307
- fix(server): refresh file search outside checkpoint processing by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12308
- fix(web): keep chat from jumping when the scroll-to-end pill mounts by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/12317
- fix(server): checkpoint workspaces with empty nested repositories by @saphid in https://github.com/pingdotgg/t3code/pull/12181
- chore(review): keep review bots out of the vendored .repos references by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12333
- fix(server): pass Codex image attachments by path to avoid oversized requests by @saphid in https://github.com/pingdotgg/t3code/pull/11050
- feat(web): filter sidebar from thread menu by @saphid in https://github.com/pingdotgg/t3code/pull/8719
- feat(web): open diff files from a right-click context menu by @saphid in https://github.com/pingdotgg/t3code/pull/11842
- fix(web): keep numbered jumps from stealing browser tabs by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/12315
- fix(mobile): define Clerk colors in every Uniwind theme by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12344
- refactor(web): reuse searchable picker inputs by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12353
- fix(web): share touch-visible pull request edit actions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12370
- fix(mobile): share accessible connection trace controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12371
- fix(mobile): share settings control row layout by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12356
- refactor(web): share diagnostic process actions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12358
- refactor(mobile): share Android toolbar search fields by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12359
- refactor(web): share settings group surfaces by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12360
- refactor(web): reuse inline settings actions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12362
- refactor(mobile): share thread list section controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12363
- refactor(mobile): share connection form fields by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12364
- refactor(mobile): share local environment lists by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12365
- refactor(mobile): share file preview feedback by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12368
- refactor(web): share standalone page layout by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12354
- fix(mobile): share settings action row defaults by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12369
- fix(mobile): share request action button defaults by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12366
- fix(web): share accessible color picker controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12355
- fix(mobile): use singular label for one settings environment by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12282
- feat(mobile): add copy thread ID to thread list actions by @jakeleventhal in https://github.com/pingdotgg/t3code/pull/12228
- fix(mobile): remove Android input underline backgrounds by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12394
- chore(deps): upgrade Effect to rc.115 and Alchemy to beta.78 by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12326
- chore(refs): sync Effect and Alchemy references to rc.115 and beta.78 by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12327
- chore(relay): deploy with the Alchemy CLI and publish client config through an Action by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12401
- chore(deps): bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/pingdotgg/t3code/pull/12411
- fix(git): prevent stale branch selections from restoring files by @yashranaway in https://github.com/pingdotgg/t3code/pull/10574
- chore(deps): bump parents that carry vulnerable transitive dependencies by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12417
- fix(web): keep a file-to-symlink type change from crashing the diff view by @Mnigos in https://github.com/pingdotgg/t3code/pull/11075
- Use T3 Device panel for mobile testing by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12414
- fix(web): client spans reach the trace proxy again by @yordis in https://github.com/pingdotgg/t3code/pull/12332
- fix(bitbucket): preserve rate limits from optional PR reads by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12486
- fix(mobile): synchronize native permission registry access by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12482
- fix(build): retain multiple license notices for one package by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12489
- fix(build): parse executable imports without matching source strings by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12488
- fix(mobile): synchronize native notification delegates by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12483
- fix(relay): accept delegated thread IDs in activity routes by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12484
- fix(git): explain fetch failures without exposing remote output by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12485
- fix(web): sidebar search matches message content by @koushikxd in https://github.com/pingdotgg/t3code/pull/11761
- fix(server): restore secrets when settings persistence fails by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12487
- fix(ci): accept V2 transfer reports without cross-scenario comparisons by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12492
- fix(web): speed up PR previews with fewer GitHub requests by @dominic-r in https://github.com/pingdotgg/t3code/pull/11825
- fix(server): retry transient git failures during checkpoint capture by @saphid in https://github.com/pingdotgg/t3code/pull/11665
- fix(mobile): keep archived threads visible during iOS search by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12420
- perf(mobile): isolate Material You conversion on Android by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12379
- perf(mobile): isolate iOS Live Activity imports by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12380
- refactor(mobile): split home headers by platform by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12381
- refactor(mobile): split native menus by platform by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12382
- refactor(mobile): isolate thread row appearance by platform by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12383
- refactor(mobile): split settings selection rows by platform by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12384
- refactor(mobile): centralize platform header rendering by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12388
- refactor(mobile): configure thread headers through the shared core by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12389
- refactor(mobile): share file header actions and search configuration by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12390
- refactor(mobile): share terminal header and menu configuration by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12391
- refactor(mobile): share archived thread header configuration by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12399
- refactor(mobile): compose review menus through the shared header by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12400
- feat(mobile): search projects when starting a task by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12496
- fix(mobile): preserve multiple model favorites by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12505
- feat(server): export log records over OTLP by @yordis in https://github.com/pingdotgg/t3code/pull/12493
- fix(mobile): use native settings and snooze controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12512
- feat(web): sort pull requests by what is blocked on me by @flamboh in https://github.com/pingdotgg/t3code/pull/12508
- fix(mobile): prefer pull-to-refresh on list screens by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12515
- fix(acp): accept SDK elicitation requests by @shivamhwp in https://github.com/pingdotgg/t3code/pull/11294
- fix(release): read relay configuration without loading deployment providers by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12518
- fix(ci): reconcile native change labels against pinned commits by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12517
- fix(release): strip Alchemy progress before parsing relay state by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12519
- refactor: remove obsolete code by @t3dotgg in https://github.com/pingdotgg/t3code/pull/9917
- fix(server): release oversized pull request diff cache entries by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12523
- feat(mobile): view and control agent devices by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12531
- fix(preview): recover host registration after request timeouts by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12535
- fix(mobile): align built-in theme colors with desktop by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12534
- feat(desktop): export main process telemetry over OTLP by @yordis in https://github.com/pingdotgg/t3code/pull/12520
- fix(codex): surface app permission requests as approvable by @Exotic209093 in https://github.com/pingdotgg/t3code/pull/7861
- chore(desktop): leave main process metrics export off until a metric exists by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12540
- fix(release): drop placeholder allowBuilds entry that broke desktop builds by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12544
- fix(mobile): adapt workspace navigation and expand controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12551
- chore(mobile): add dev client script with preview environment by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12558
- fix: detect installed editors outside PATH by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12439
- fix(web): show plain text in collapsed thought previews by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12377
- fix(web): wrap long titles in confirmation dialogs by @saphid in https://github.com/pingdotgg/t3code/pull/12571
- fix(mobile): keep the Android composer placeholder on one line by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/12605
- fix(web): restore providers settings heading by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12552
- Add new GitHub user 'yordis' to VOUCHED.td by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12546
- chore: vouch cestercian by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12638
- fix(web): keep desktop annotation screenshots under CSP by @cestercian in https://github.com/pingdotgg/t3code/pull/12636
- fix(web): keep typed text when a question option is clicked by @cestercian in https://github.com/pingdotgg/t3code/pull/12577
- fix(server): empty Claude homePath shares continuation with ~/.claude by @cestercian in https://github.com/pingdotgg/t3code/pull/12624
- fix(desktop): include SnapShot app text for Flatpak and GTK4 by @cestercian in https://github.com/pingdotgg/t3code/pull/12635
- fix(server): surface ACP stderr when cursor-agent exits at session start by @cestercian in https://github.com/pingdotgg/t3code/pull/12625
- fix(web): align pull request state glyph to top of row by @akash3444 in https://github.com/pingdotgg/t3code/pull/11268
- fix(web): align menu item icons in pull request detail panel by @akash3444 in https://github.com/pingdotgg/t3code/pull/11263
- fix(web): honor whitespace settings in pull request diffs by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12438
- fix(web): keep citation comment when popover is dismissed by @flamboh in https://github.com/pingdotgg/t3code/pull/10831
- fix(web): keep narrow chat headers readable and aligned by @shivamhwp in https://github.com/pingdotgg/t3code/pull/12453
- refactor(observability): hold OTLP export settings per signal by @yordis in https://github.com/pingdotgg/t3code/pull/12657
- fix(web): explain what enabling network access means in its confirmation by @Mnigos in https://github.com/pingdotgg/t3code/pull/10098
- fix(web): reuse current PR status in the sidebar by @flamboh in https://github.com/pingdotgg/t3code/pull/12545
- fix(web): stabilize pull request loading layout by @flamboh in https://github.com/pingdotgg/t3code/pull/12721
- fix(desktop): align preview recording cursors and show input feedback by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12779
- fix(web): the Run on / Workspace menu closes after a pick by @Mnigos in https://github.com/pingdotgg/t3code/pull/12685
- fix(web): keep portaled menus clickable over Electron drag regions by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12527
- fix(web): render citations in queued messages by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12403
- fix(web): keep the timeline still when the resting composer expands by @flamboh in https://github.com/pingdotgg/t3code/pull/12771
- fix: composer hero reads project name to screen readers by @Leos-Khai in https://github.com/pingdotgg/t3code/pull/12397
- fix(mobile): respect word wrap in diffs by @jakeleventhal in https://github.com/pingdotgg/t3code/pull/12590
- fix(web): allow full contrast in assistant replies by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12405
- fix(web): pull request chips share the link hover preview by @flamboh in https://github.com/pingdotgg/t3code/pull/12719
- fix(web): compact the worktree setup glass popover by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12802
- fix(web): route keyboard submit through the primary worktree action by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12526
- fix(web): skip image inline chip when composer is empty by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12528
- fix(web): only show notice details when text is clipped by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/12760
- fix(devices): recover simulator streams after failures by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12639
- chore(server): bump device tooling versions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12809
- fix: allow more attachments without raising the image payload budget by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12620
- fix(web): device Reconnect starts one stream instead of two by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12808
- fix(server): tolerate shutting down an iOS simulator that is already off by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12807
- feat(web): use the linked pull request row layout on the pull requests page by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12536
- fix(clients): keep backslashes in copied Codex citations by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/12243
- feat(web): truncate branch names and paths in the middle by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12805
- fix(web): paste markdown with inline code inside bold, italic, or strikethrough by @Gigioxx in https://github.com/pingdotgg/t3code/pull/12290
- feat(web): show the pull request refresh spinning in the detail header by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12833
- fix(web): dismiss composer suggestions with Escape by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/12836
- fix(mobile): keep the source worktree when starting a thread on a branch by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/12623
- fix(web): keep composer controls visible while they fit by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12837
- feat(devices): show installed and running tool versions per host by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12816
- feat(devices): show automatic update progress and host retry by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12817
- feat(devices): add read-only update discovery and remote ownership by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12818
- fix(devices): safely reclaim obsolete managed tool versions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12819
- fix(web): match thread notification icons to sidebar status by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12806
- fix(web): move sidebar shelves as one block by @maria-rcks in https://github.com/pingdotgg/t3code/pull/11772
- fix(web): offer undo after unpinning a thread by @saphid in https://github.com/pingdotgg/t3code/pull/10744
- feat(web): undo settle, snooze and archive, with a mod+z shortcut by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12848
- fix(mobile): use a proper pull request icon on iOS by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12855
- test(web): remove redundant favicon test by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/12856
- feat(devices): offer manual updates in tool version details by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12877
- feat(web): answer pull request actions on the row at once by @maria-rcks in https://github.com/pingdotgg/t3code/pull/12843
- fix(mobile): stop iOS autocorrect from rewriting search queries by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12949
- fix(web): pull request embed chip shows the state icon by @flamboh in https://github.com/pingdotgg/t3code/pull/12951
- fix(web): dismiss selection actions when pressing buttons by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/12950
- fix(web): name message copy actions accurately by @saphid in https://github.com/pingdotgg/t3code/pull/12865
- fix(contracts): old message-sent events without turnId no longer stop the server from starting by @Mnigos in https://github.com/pingdotgg/t3code/pull/12763
- fix(web): the custom snooze calendar starts the week where the locale does by @Mnigos in https://github.com/pingdotgg/t3code/pull/12745
- feat(server): let t3.json limit or disable submodule init in new worktrees by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12953
- feat(settings): resolve t3.json inside the project settings resolver by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12954
- feat(settings): choose how new worktrees initialize submodules by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12955
- fix(web): show thread undo notice in the sidebar by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12972
- feat(web): merge the comment and review buttons into one composer by @Bil0000 in https://github.com/pingdotgg/t3code/pull/12945
- fix(web): allow text selection when renaming threads by @carterwsmith in https://github.com/pingdotgg/t3code/pull/12935
- chore(lint): report className restyling of components/ui exports by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12982
- refactor(web): drop className overrides that repeat the base styles by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12984
- fix(web): close menus when clicking into the browser tab by @Gigioxx in https://github.com/pingdotgg/t3code/pull/11148
- refactor(web): give Spinner and RefreshIcon a size prop by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12985
- fix(web): retry failed attachment uploads after reconnect by @StiensWout in https://github.com/pingdotgg/t3code/pull/10338
- fix(web): respect panel motion in composer transitions by @gsimone in https://github.com/pingdotgg/t3code/pull/11064
- fix(web): read panel animation settings in the composer by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13098
- feat(models): add opus 5.5 without changing existing aliases by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13094
- refactor(web): use ghost-muted where ghost buttons restyled to muted by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13020
- refactor(web): fold repeated overrides into ui defaults by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13021
- refactor(web): mark the current menu value with MenuRadioGroup by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13022
- refactor(web): add an active prop to CommandItem by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13023
- chore(lint): exempt CollapsibleTrigger from no-restyle by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13024
- refactor(web): use icon-xs where icon buttons were forced to size-6 by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13025
- refactor(web): add radius="none" to ScrollArea by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13026
- refactor(web): add font="mono" to Input by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13027
- refactor(web): add SidebarInput by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13028
- refactor(web): add a label variant to Badge by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13029
- refactor(web): give Skeleton three shapes by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13030
- refactor(web): one wrap width for tooltips, plus a code variant by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13031
- refactor(web): one vertical rhythm for dialog bodies by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13032
- refactor(web): ghost-muted icons follow the text; add ghost-destructive by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13033
- refactor(web): InlineButton underlines on hover and takes a tone by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13034
- refactor(web): one minimum width for menus, three widths for popovers by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13035
- refactor(web): every textarea caps its growth; the diff comment box is a Textarea by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13036
- refactor(web): stacked sidebar groups share one inset by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13037
- refactor(web): Collapsible stays a plain container by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13038
- refactor(web): show more / show less are ordinary sidebar sub-rows by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13039
- refactor(web): Empty has three sizes by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13040
- refactor(web): one row height for select, combobox and radio items by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13041
- refactor(web): render menu and popover triggers through Button by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13042
- refactor(web): sidebar alerts use the standard variants; one keycap by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13043
- fix(server): bypass owned caches on explicit provider refresh by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13109
- chore(devices): bump agent-device to 0.21.12 by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13124
- chore(mobile): drop dead nitro-markdown tgz override and @expo/metro-runtime by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13148
- feat(web): show settings scope as a sentence at the top of the page by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13139
- refactor(web): move settings scope pickers into breadcrumbs by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13165
- feat(auth): share provider sign-in flows and credential bindings by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12983
- refactor(mobile): git sheets use uniwind platform variants instead of className ternaries by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13161
- chore(mobile): name the two project favicon caches by their job by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13160
- revert(mobile): git sheets back to Platform.OS ternaries (un-guarded uniwind variants broke both platforms) by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13169
- docs(mobile): document the two mobile routes that intentionally skip deep links by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13164
- refactor(mobile): break module cycles with focused extractions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13151
- fix(server): generate PR diffs from branch changes by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13170
- fix(web): preserve nested scroll behavior in chat timeline by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13167
- test(web): cover usage model ordering without static markup by @flamboh in https://github.com/pingdotgg/t3code/pull/13104
- fix(desktop): find linuxbrew node for the WSL backend by @CodyRay in https://github.com/pingdotgg/t3code/pull/7827
- chore(models): use GPT-6 Luna for text generation by @extoci in https://github.com/pingdotgg/t3code/pull/13115
- fix(mobile): keep ordinary offline outbox failures out of console.warn by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13144
- feat(providers): check remote compatibility ranges by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13130
- chore(lint): keep mobile theme escape-hatch allowlist honest by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13146
- fix(web): the pull request badge reads at the meta size again by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13175
- fix(mobile): uniwind platform variants stay guarded on both platforms by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13172
- refactor(mobile): git sheets use uniwind platform variants instead of className ternaries by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13185
- refactor(mobile): remaining className platform ternaries become class variants by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13188
- fix(web): align provider emails without clipping by @Derpedyea in https://github.com/pingdotgg/t3code/pull/13174
- perf(mobile): recycle the default v2 home list and scope the snooze minute tick by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13149
- refactor(mobile): retire the legacy grouped thread list by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13183
- fix(server): background PR checks spend less GitHub quota by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13189
- fix(server): background PR sync reads summaries in batches by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13198
- fix(server): GitHub PR lookups stop probing owner-qualified heads by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13200
- chore(mobile): clear the legacy-list deletion fallout by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13203
- hatch/variant functions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13191
- refactor(web): context chips render through one ContextChip component by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13192
- refactor(web): ui components drop their secondary className props by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13193
- refactor(web): menu triggers and items stop restyling ui/menu by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13205
- refactor(web): field controls stop restyling Input, Select, Combobox and Command by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13206
- refactor(web): app code stops restyling sidebar, popover, table and misc ui exports by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13207
- refactor(web): Button consumers outside the composer stop restyling it by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13208
- refactor(web): composer controls own their look instead of restyling ui components by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13209
- chore(web): no-restyle fails lint, and the ceiling gate goes by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13210
- fix(mobile): recover from screen render errors by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13197
- feat(web): navigate back and forward with mod+[ and mod+] by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13212
- fix(web): sort title matches by recent activity by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13219
- test(desktop): remove redundant keyring module-load test by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13220
- feat(mobile): capture Live Activities and agent notifications in showcase screenshots by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13316
- feat(mobile): manage environment and provider updates by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13302
- fix(ci): shard release tests like pull request CI by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13321
- fix(web): show previous worktree branch on second line by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13314
- fix(providers): restore compatibility ranges for every harness by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13328
- fix(preview): use the visible browser for new agent sessions by @Bil0000 in https://github.com/pingdotgg/t3code/pull/13064
- fix(server): stop replaying old agent alerts on restart by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13340
- fix(web): use a brain icon for the effort dropdown by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13309
- fix(desktop): SnapShot shortcut helper no longer adds a Dock icon on macOS by @Gigioxx in https://github.com/pingdotgg/t3code/pull/13286
- fix(web): composer chip rings no longer clip at the editor edge by @flamboh in https://github.com/pingdotgg/t3code/pull/13301
- fix(web): switches announce their real state to screen readers by @Leos-Khai in https://github.com/pingdotgg/t3code/pull/11580
- fix(shared): preserve final quoted empty CSV records by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/11425
- feat(web): add an interactive 3D device workspace by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12787
- chore: add scratchyone to vouched list by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13353
- feat(observability): honor the OpenTelemetry kill switch by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13355
- fix(server): preserve racy edits in review diff previews by @tris203 in https://github.com/pingdotgg/t3code/pull/12613
- fix(web): show repository names on linked pull requests by @Bil0000 in https://github.com/pingdotgg/t3code/pull/13061
- lint/unknown and static by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13366
- fix(web): web colors come from theme tokens by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13371
- fix(web): appearance classes use theme tokens and scale values by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13397
- fix(server): keep Codex's reset answer when the re-probe fails by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13363
- fix(mobile): branch search finds remote and space-typed branches by @Bil0000 in https://github.com/pingdotgg/t3code/pull/13454
- chore(ci): use GPT 6 Sol Max for check agents by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13473
- feat(server): show and redeem Claude banked resets by @Bil0000 in https://github.com/pingdotgg/t3code/pull/13118
- fix(observability): a malformed OTEL_RESOURCE_ATTRIBUTES no longer stops startup by @yordis in https://github.com/pingdotgg/t3code/pull/13469
- fix(antigravity): let Stop end commands that outlived their turn by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13388
- fix(web,mobile): drop the baked-in tile from the Antigravity icon by @flamboh in https://github.com/pingdotgg/t3code/pull/13373
- fix(marketing): use the official OpenCode and Antigravity logos by @flamboh in https://github.com/pingdotgg/t3code/pull/13365
- fix(acp): keep one answer when a running tool reports progress by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13386
- feat(web): run shell commands from chat in the thread terminal by @Bil0000 in https://github.com/pingdotgg/t3code/pull/13060
- fix(antigravity): keep Windows runtime unpacking under MAX_PATH by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13389
- fix(codex): the protocol generator runs again on Effect rc.115 by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13480
- feat(codex): require Codex 0.156 and regenerate its protocol by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13481
- feat(threads): add per-thread auto-settle switch by @t3dotgg in https://github.com/pingdotgg/t3code/pull/11846
- fix(web): working and monitoring threads fade in the sidebar again by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13506
- fix(server): streamed section titles wait for the text under them by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13504
- fix(web): normalize disabled control opacity by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/11441
- fix(web): sidebar Back always returns to the main app by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13516
- fix(desktop): desktop updates reconnect in seconds, not minutes by @t3dotgg in https://github.com/pingdotgg/t3code/pull/12006
- fix(connect): remove tunnels after hosts go offline by @t3dotgg in https://github.com/pingdotgg/t3code/pull/9386
- fix(mobile): capture a lit 6.9-inch lock screen in the agent-activity showcase by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13522
- feat(grok): offer one-click updates through
grok updateby @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13523 - fix(mobile): make Android subscription usage widgets scrollable by @tris203 in https://github.com/pingdotgg/t3code/pull/13474
- fix(web): keep sidebar terminal pulses in sync by @t3dotgg in https://github.com/pingdotgg/t3code/pull/12962
- feat(web): add iPhone Duo 3D controls by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/12813
- fix(relay): export tunnel cleanup counters to Axiom by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13528
- fix(server): Grok accounts with no usage yet no longer vanish from Limits by @jakeleventhal in https://github.com/pingdotgg/t3code/pull/12799
- fix(server): report the Grok account email so usage limits merge across environments by @jakeleventhal in https://github.com/pingdotgg/t3code/pull/12588
- feat(web): add usage page keybinding by @jakeleventhal in https://github.com/pingdotgg/t3code/pull/9434
- chore: clear Effect language service suggestions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13536
- ci(relay): add a forced manual relay deploy by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13550
- fix(web): selected text stays visible on a revealed file line by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13548
- fix(web): collapsed composer bar stops flipping its labels while you scroll by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13555
- fix(clients): sync status no longer flickers when opening running threads by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13551
- fix(server): newer Codex models get T3 Code's instructions again by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13547
- feat(web): control Android foldables in the Device panel by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13534
- fix(mcp): preview snapshots fit in the agent's tool output again by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13558
- fix(web): paste after clicking away from the composer lands in it again by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13553
- feat(desktop): keep running threads synced in the background by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13554
- fix(mcp): preview errors tell agents what to do instead by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13559
- feat(web): agents working banner links to the Agents panel by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13572
- fix(web): size the Android fold model from the inner display by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13574
- fix(clients): a preview app no longer knocks the desktop's own server offline by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13577
- fix(web): keep nested task states out of parent bullets by @dominic-r in https://github.com/pingdotgg/t3code/pull/11477
- feat(release): ship a Linux .deb that updates itself by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13575
- perf(desktop): cache compiled JavaScript between launches by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13501
- fix(dev): one t3.json setup action that works on every OS by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13589
- fix(web): new worktree threads no longer say "checkout" during setup by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13590
- fix(desktop):
t3 appkeeps working after a second desktop app quits by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13585 - fix(usage): price Claude fast-mode requests at the fast rate by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13599
- fix: update OpenAI logo to current brand asset by @aaditagrawal in https://github.com/pingdotgg/t3code/pull/13611
- fix(mobile): render assigned project icons in chat list by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/12810
- feat(usage): read cursor, opencode, and antigravity history by @maria-rcks in https://github.com/pingdotgg/t3code/pull/10409
- fix(sqlite): retry failed statement preparations by @yashranaway in https://github.com/pingdotgg/t3code/pull/10584
- fix(mobile): scale Android controls with appearance text size by @none23 in https://github.com/pingdotgg/t3code/pull/13356
- fix(web): return focus to the composer after saving a citation note by @mackinleysmith in https://github.com/pingdotgg/t3code/pull/13450
- feat(observability): honor the standard OTLP endpoint, headers, and protocol variables by @yordis in https://github.com/pingdotgg/t3code/pull/13492
- fix(terminal): settling a thread closes its idle shells by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13673
- fix(server): load Cursor keyring with createRequire by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13678
- perf(server): avoid rereading unchanged files in review previews by @shivamhwp in https://github.com/pingdotgg/t3code/pull/13395
- feat(desktop): honor the standard OTLP variables in the main process and WSL backends by @yordis in https://github.com/pingdotgg/t3code/pull/13641
- fix(web): restore compact provider instance badges by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13700
- perf(mobile): lighter Home rows away from the viewport by @AKolenda in https://github.com/pingdotgg/t3code/pull/13702
- fix(usage): price Cursor cache savings by base model by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13731
- perf(mobile): render Home rows further ahead while scrolling by @AKolenda in https://github.com/pingdotgg/t3code/pull/13705
- refactor(observability): name each service after its application by @yordis in https://github.com/pingdotgg/t3code/pull/13699
- perf(server): stop remapping every thread on each thread event by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13720
- Remove unused items tracking from Claude adapter state by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13718
- feat(observability): name the command on subprocess spans by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13701
- fix(cli): t3 triage points agents at log files that exist by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13685
- fix(server): the SQLite WAL file shrinks back after large writes by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13684
- feat(cli): summarize the server trace file from the command line by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13698
- perf(server): pull request sync reads only threads with linked pull requests by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13704
- feat(observability): write a server heap snapshot on SIGUSR2 by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13694
- perf(server): shutdown no longer rewrites every stopped session row by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13688
- perf(server): build the thread list snapshot without decoding it twice by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13693
- fix(client): slow servers finish loading the thread list instead of loading it twice by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13683
- perf(web): hidden terminal drawers no longer keep full thread history in memory by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13686
- perf(server): per-thread settlement and PR checks no longer rebuild the whole thread list by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13691
- fix(mobile): running threads open at the latest message by @AKolenda in https://github.com/pingdotgg/t3code/pull/13530
- feat(observability): record event loop stalls in the server trace by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13697
- perf(server): stop re-running git for every project each minute by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13689
- fix(usage): hide the Cursor keychain prompt when Cursor isn't set up by @Gigioxx in https://github.com/pingdotgg/t3code/pull/13714
- feat(web): add chat width setting for wide screens by @otavio in https://github.com/pingdotgg/t3code/pull/11594
- fix(opencode): accept v2 serve ready line when spawning server by @shirishpothi in https://github.com/pingdotgg/t3code/pull/13651
- fix(editors): stop treating the agy CLI as the Antigravity IDE by @ishaanko in https://github.com/pingdotgg/t3code/pull/7079
- fix(web): make the empty workspace draggable on desktop by @otavio in https://github.com/pingdotgg/t3code/pull/13713
- fix(server): installed editors no longer vanish when discovery is slow by @bfowler in https://github.com/pingdotgg/t3code/pull/13669
- fix(git): exclude SSH ports from provider URLs by @GaMeRaM in https://github.com/pingdotgg/t3code/pull/12537
- fix(web): Mod+B bolds on non-Latin layouts by @ValeraZSD in https://github.com/pingdotgg/t3code/pull/13409
- fix(server): prune expired replay-protection files from the secrets directory by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13695
- fix(web): terminal links drop a trailing colon by @ValeraZSD in https://github.com/pingdotgg/t3code/pull/13408
- fix(server): bump node-pty to 1.2.0-beta.15 for linux-arm64 prebuild by @Ephraim-9 in https://github.com/pingdotgg/t3code/pull/13748
- Show a focus ring on sidebar thread and draft rows by @ryanilano in https://github.com/pingdotgg/t3code/pull/13344
- fix(mobile): keep composer within folded screen after resume by @PixPMusic in https://github.com/pingdotgg/t3code/pull/13310
- fix(server): let OpenCode generate session titles by @macodev00 in https://github.com/pingdotgg/t3code/pull/13368
- fix(server): let Antigravity inspect unsupported files by path by @Bil0000 in https://github.com/pingdotgg/t3code/pull/13339
- fix(mobile): link URLs with ports and single-label hosts by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13795
- feat(web): add keyboard navigation for usage by @tris203 in https://github.com/pingdotgg/t3code/pull/10158
- perf(observability): stop writing empty spans on spawns, projected events, and idle polls by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13756
- perf(server): opening Diagnostics no longer loads the whole trace ring into memory by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13763
- perf(clients): sort projects and settled threads without re-parsing dates per comparison by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13759
- fix(observability): the renderer trace proxy stops tracing itself by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13761
- perf(server): background sweeps only read threads that can still settle by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13765
- perf(clients): saving the thread list cache no longer freezes the UI by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13767
- perf(server): cut idle wakeups from the Connect relay and session reaper by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13774
- fix(mobile): keep trailing underscores and tildes in autolinked URLs by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13807
- fix(web): queued messages send while their thread is not open by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13764
- fix(server): background git status fetches no longer fill the disk with failed repacks by @t3dotgg in https://github.com/pingdotgg/t3code/pull/13812
- fix(mobile): thread list shows the pull request icon instead of # by @flamboh in https://github.com/pingdotgg/t3code/pull/13742
- fix(accessibility): correct control announcements and sidebar traversal by @blinding-pixels in https://github.com/pingdotgg/t3code/pull/13491
- fix(usage): tolerate newer provider variants by @tris203 in https://github.com/pingdotgg/t3code/pull/10076
- fix(usage): omit Cursor warning when no login is saved by @tris203 in https://github.com/pingdotgg/t3code/pull/13820
- fix(usage): identify client version mismatches by @tris203 in https://github.com/pingdotgg/t3code/pull/8208
- fix(web): stop mistaking offline servers for updates by @tris203 in https://github.com/pingdotgg/t3code/pull/13083
- test(usage): assert contract mismatch details by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13861
- fix(build): validate Linux node-pty prebuilds in Windows artifacts by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13867
- fix(clients): hide duplicate Cursor Keychain prompts by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13870
- feat(observability): honor OTEL_*_EXPORTER=none per signal by @yordis in https://github.com/pingdotgg/t3code/pull/13736
- fix(web): align reasoning arrows with tool calls by @Adamulek123 in https://github.com/pingdotgg/t3code/pull/13850
- fix(server): let agents use simctl and adb alongside device tools by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/13908
- fix(web): environment status tooltip resizes when the status changes by @BearHuddleston in https://github.com/pingdotgg/t3code/pull/13845
- test(relay): remove constant-restating database mode test by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13932
- fix(web): continue onboarding after incomplete history imports by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/13935
- fix(server): let Claude abort turns before closing sessions by @Yash-Singh1 in https://github.com/pingdotgg/t3code/pull/13999
- fix(web): prevent usage summary shift for unpriced records by @tris203 in https://github.com/pingdotgg/t3code/pull/13991
- fix(web): skip unchanged shortcut modifier updates - 195x typing latency improvement by @callmemorgan in https://github.com/pingdotgg/t3code/pull/13884
- fix(web,mobile): say that removing a T3 Connect environment keeps its account registration by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/14127
- Add Claude Sonnet 5.5 to the model manifest by @arturict in https://github.com/pingdotgg/t3code/pull/14152
- fix(server): restore Windows terminal startup after node-pty upgrade by @SegFaultZero in https://github.com/pingdotgg/t3code/pull/13927
- fix(desktop): make Linux URL handlers discoverable with the app icon by @limwa in https://github.com/pingdotgg/t3code/pull/8673
- fix(server): prevent Windows PTY helper crashes in watch mode by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/14179
- fix(shared): local-path remotes no longer crash legacy PR link projection by @pujitha24 in https://github.com/pingdotgg/t3code/pull/13463
- fix(server): preserve usage in oversized transcript records by @shivamhwp in https://github.com/pingdotgg/t3code/pull/13650
- fix(server): OpenCode stop no longer hangs when a turn is interrupted before submission by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/12003
- feat: save Bitbucket credentials from Source Control settings by @gabrielelpidio in https://github.com/pingdotgg/t3code/pull/14103
- fix(provider): mark OpenCode v2 incompatible by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/14198
- fix(web): pull request badge sits on the sidebar row's baseline by @Jardo-51 in https://github.com/pingdotgg/t3code/pull/14007
- feat(codex): connect ChatGPT accounts with managed authentication by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/14290
New Contributors
- @bompus made their first contribution in https://github.com/pingdotgg/t3code/pull/11984
- @im-kvijay made their first contribution in https://github.com/pingdotgg/t3code/pull/10792
- @vedprakash2302 made their first contribution in https://github.com/pingdotgg/t3code/pull/12154
- @Adolanium made their first contribution in https://github.com/pingdotgg/t3code/pull/8432
- @Vrtak-CZ made their first contribution in https://github.com/pingdotgg/t3code/pull/11970
- @pc-style made their first contribution in https://github.com/pingdotgg/t3code/pull/10909
- @Exotic209093 made their first contribution in https://github.com/pingdotgg/t3code/pull/11611
- @dependabot[bot] made their first contribution in https://github.com/pingdotgg/t3code/pull/12411
- @koushikxd made their first contribution in https://github.com/pingdotgg/t3code/pull/11761
- @cestercian made their first contribution in https://github.com/pingdotgg/t3code/pull/12636
- @akash3444 made their first contribution in https://github.com/pingdotgg/t3code/pull/11268
- @CodyRay made their first contribution in https://github.com/pingdotgg/t3code/pull/7827
- @aaditagrawal made their first contribution in https://github.com/pingdotgg/t3code/pull/13611
- @AKolenda made their first contribution in https://github.com/pingdotgg/t3code/pull/13702
- @otavio made their first contribution in https://github.com/pingdotgg/t3code/pull/11594
- @shirishpothi made their first contribution in https://github.com/pingdotgg/t3code/pull/13651
- @bfowler made their first contribution in https://github.com/pingdotgg/t3code/pull/13669
- @GaMeRaM made their first contribution in https://github.com/pingdotgg/t3code/pull/12537
- @ValeraZSD made their first contribution in https://github.com/pingdotgg/t3code/pull/13409
- @Ephraim-9 made their first contribution in https://github.com/pingdotgg/t3code/pull/13748
- @ryanilano made their first contribution in https://github.com/pingdotgg/t3code/pull/13344
- @macodev00 made their first contribution in https://github.com/pingdotgg/t3code/pull/13368
- @blinding-pixels made their first contribution in https://github.com/pingdotgg/t3code/pull/13491
- @BearHuddleston made their first contribution in https://github.com/pingdotgg/t3code/pull/13845
- @callmemorgan made their first contribution in https://github.com/pingdotgg/t3code/pull/13884
- @arturict made their first contribution in https://github.com/pingdotgg/t3code/pull/14152
- @SegFaultZero made their first contribution in https://github.com/pingdotgg/t3code/pull/13927
- @limwa made their first contribution in https://github.com/pingdotgg/t3code/pull/8673
- @pujitha24 made their first contribution in https://github.com/pingdotgg/t3code/pull/13463
Full Changelog: https://github.com/pingdotgg/t3code/compare/v0.0.42...v0.0.43