Features
- β¨vue: type-check .vue files through the tsserver Vue plugin #369
Bug fixes
- πbump deps #363
- πdeps: bump deps and bun 1.4 #367
- πdeps: bump deps, follow the effect & fumadocs api changes #366
Bug fixes
- πdiagnostics: run npm server provisioning with --ignore-scripts #350
- πgit: support empty tree on SHA-256 repos #354
- git: πhandle a missing git, a non-repo, and an unborn HEAD #348
Breaking changes
- π₯layout: the resize rebind ids grow-sidebar, shrink-sidebar and reset-sidebar are now grow-pane, shrink-pane and reset-pane, and
[ / ] resize the focused pane rather than always the sidebar
Features
- β¨layout: dock panels to any edge #338
- β¨layout: make the problems panel a resizable pane #337
- β¨layout: zoom the focused pane with m #339
Bug fixes
- πdeps: bump opentui to 0.4.5 & unbreak the compiled build #333
- πlayout: cycle focus through the panes that are open #341
- πproblems: keep the panel cursor on a finding #342
Features
- β¨help: explain the tree & gutter marks in the ? overlay #331
Bug fixes
- πdiagnostics: unblock intel on servers with no load phase #329
Breaking changes
- π₯config: the search pane's scope picker moved from
ctrl-s to ctrl-o - π₯config: top-level servers moved to diagnostics.servers and the flat icons glyph map moved to icons.glyphs
Features
- β¨config: save session settings to config w/
ctrl-s #313 - β¨config: shape user config by feature w/ off switches #310
- β¨diagnostics: deliver json/yaml schema validation & intel capabilities #326
- β¨diagnostics: discover Python servers in virtualenvs #302
- β¨go: add diagnostics & code intel via gopls #308
- β¨icons: swap the json & git file glyphs #306
- β¨keys: configurable keybindings #315
- β¨problems: copy entries and focus by mouse #316
- β¨sidebar: reopen a collapsed sidebar with
] #304 - β¨status: context-aware status bar over source-tagged alerts #317
- β¨theme: honor the
NO_COLOR convention #311
Bug fixes
- πmouse: reset double-click tracker on ignored row clicks #323
- πtheme: honor NO_COLOR=0/false per no-color.org #324
- πtree: keep sidebar row text on one line #307
- πviewer: restore drag selection & add edge auto-scroll #305
Breaking changes
- π₯config: Replace combined language entries with separate files, icons, languages, and servers registries.
Features
- β¨config: make file support user configurable #299
- β¨diagnostics: per-repo server gates via when & firstOf, adding ty #282
- β¨diff: highlight
.npmrc and .prettierrc #294 - β¨editor: open the IDE rooted at the repo for
o #298
Bug fixes
- β¨diagnostics: tell language servers when files change #281
Features
- β¨icons: add icons for alembic.ini, .mako, & README #286
- β¨worktree: surface which worktree agents are working in #284
Bug fixes
- πheader: drop the worktree-activity cue #287
- πworktree: avoid stale worktree-deletion exits #288
- πworktree: filter the picker by what tells worktrees apart #293
Features
- β¨config: add languages to the user config #266
- β¨icons: add icons for .sql, Procfile, & .txt #274
- β¨python: add diagnostics, intel & lsp support #273
- β¨status: recent changed file by kind color & recency dot #271
- β¨tree: use minimal Material outline folder glyphs #275
- β¨viewer: add a per-line provenance rail #276
- β¨viewer: show image & binary metadata #270
Features
- β¨diagnostics: hold documents open across runs #254
- β¨diagnostics: provision rust-analyzer through a binary #256
- β¨diagnostics: pull diagnostics where servers advertise them #251
- β¨header: surface git identity & scope #261
Bug fixes
- πicons: add gradle-wrapper.properties #247
- πinstall: point pinned downloads at the stet-v tag format #245
Breaking changes
- π₯keymap:
q now opens a Quit alert dialog (confirm with y); esc no longer quits (it only closes panels); ctrl-c still exits instantly
Features
- β¨icons: add icons for CODEOWNERS, xls/xlsx, & cpuprofile #242
- β¨keymap: confirm before quitting via an alert dialog #237
Bug fixes
- πintel: drive cache invalidation from watcher writes #243
Bug fixes
- πbump opentui and shiki deps #234
- πhelp: single-source keybindings for the ? overlay & --help #235
- πviewer: keep caret restore for the settled diff #233
Performance improvements
- β‘οΈintel: eliminate intel action latency #229
Bug fixes
- πnpm: publish the launcher as @jimmy.codes/stet #227
Breaking changes
- π₯the binary, npm package (stet), Homebrew formula, config dir (~/.config/stet), cache dir (~/.cache/stet), and env vars (STET_EDITOR, STET_IDE, STET_NO_LSP_DOWNLOAD, STET_INSTALL_DIR) are all renamed; re-point existing config and environment
Features
- β¨rename
sideye to stet #223
Features
- β¨diagnostics: live status while language servers download #221
- β¨ui: quiet panel borders with corner-tick focus #222
- β¨viewer: add line selection and copy #216
- β¨viewer: diff gutter w/ a change bar & diagnostic glyphs #218
Bug fixes
- πdiagnostics: pin and bound LSP auto-provisioning #220
Breaking changes
- π₯viewer: the viewer's
z key now folds/expands regions; long-line wrap moved from z to x - π₯scope: the default scope reads "uncommitted" (was "all changes" in the picker and "worktree vs HEAD" in the header)
Features
- β¨intel: add find implementations #213
- β¨intel: call hierarchy via LSP #212
- β¨ruby: highlight & icon .rb.tmpl formula templates #206
- β¨scope: group the scope menu and unify its labels #210
- β¨tree: add test/spec and storybook file icons #209
- β¨viewer: add code folding and expandable git gaps #214
- β¨viewer: add symbol outline / find symbols #208
Features
- β¨icons: add icons for astro, pdf, video, & license files #204
- β¨scope: view any recent commit as its own diff #199
Bug fixes
- πhighlight: resolve languages by basename #201
- πupgrade: stack the release notice #205
Features
- β¨ui: context-aware command menu #195
- β¨ui: highlight file finder matches on single-line rows #197
- β¨ui: spread file icons & syntax highlighting across lists #196
Bug fixes
- πbump deps #194
- πreferences: follow the cursor when navigating the results #198
- πui: restore the scrollbar for windowed lists #192
Performance improvements
- β‘οΈdiff: compute per-file diffs in-process #190
Performance improvements
- β‘οΈui: add virtualization for lists #187
Breaking changes
- π₯search: the file tree sidebar toggle moved from
b to ctrl-b
Features
- β¨diagnostics: register JSON & YAML language servers #170
- β¨intel: find references via LSP (Shift+F12) #172
- β¨search: full-view project search pane #185
Bug fixes
- πgit: sanitize inherited GIT_* env vars in subprocess calls #176
- πstatus: keep the recent file's name when its path is long #175
- πviewer: restore and dedup history on jump navigation #177
Features
- β¨diagnostics: support Biome as a repo-gated LSP source #163
- β¨finder: better fuzzy ranking & support multi-word search #168
- β¨intel: add in-flight status while resolving a definition #166
- β¨viewer: reserve a footer for truncated files #169
Bug fixes
- πtree: stabilize the file tree during the cold-start load #161
Features
- β¨intel: hover type/docs via a anchored decoration seam #162
- β¨logs: color status & terminal output by severity #156
- β¨sidebar: author an empty state for the file tree #159
- β¨upgrade: check the latest release & surface updates #154
Performance improvements
- β‘οΈskip O(N) allocs in reactive cascade on every git poll #151
Bug fixes
- πintel: wait for tsserver project load before go-to-definition #150
- πmemory: bound diagnostics state and diff caches #148
Features
- β¨cli: add upgrade command for self-updating #127
- β¨intel: add go to definition through intel #138
- β¨intel: refcount shared LSP document opens per uri #146
- β¨intel: skip non-providers via static registry capability hints #144
- β¨overlays: filter worktrees with a combobox #135
- β¨overlays: group the help dialog keys by category #136
- β¨viewer: add back/forward history & preview/pin tabs #123
- β¨viewer: copy the entire file with Y #145
- β¨viewer: in-line word caret w/ diagnostic columns #129
Bug fixes
- πintel: relativize symlinked-root definitions #143
- πviewer: wrap diff lines again when toggling long-line mode #134
- πwatcher: drop spurious .git-internal events that flood refreshes #137
Features
- β¨viewer: add ability to open in editors #109
Bug fixes
- πviewer: pin non-wrap diff rows to one terminal row #120
Breaking changes
- π₯y in the viewer copies path:line only; the line's code snippet is no longer appended.
Features
- β¨copy file path from the file tree #110
- β¨theme: runtime theme switcher #112
Bug fixes
- πtheme: render focused overlay input text in theme color #116
Performance improvements
- refresh: β‘οΈcut refresh load & harden exit/startup #115
Features
- β¨config: user config w/ custom themes & live following #106
- β¨icons: add icons for .csv, .http & NOTICE #105
- β¨input: add mouse navigation across panes & overlays #99
- β¨scopes: add session & last-commit scopes behind a picker #102
- β¨title: set terminal title for tab bars #98
Bug fixes
- πtheme: darken active diff line in light mode #104
- πviewer: keep whole-file view scrolled to the change after toggling #93
- πworktree: defer full-tree load when switching worktrees #103
Features
- β¨problems: group diagnostics by file w/ aligned columns #92
- β¨theme: new palette, fix diff current-line/diagnostic cues #87
- β¨tree: highlight Gradle files and add JVM file-type icons #91
Bug fixes
- πviewer: follow the cursor with a scroll-off margin #89
Features
- β¨theme: adopt a Catppuccin-grounded, pink-forward palette #80
- β¨tree: broaden file-icon coverage #83
- β¨tree: render symlinks as their target path #84
- β¨ui: vanish the scrollbar track into its surface #85
Bug fixes
- πsidebar: stop the file tree scrollbox from hijacking arrow keys #86
- πviewer: stop wheel scroll from blanking the lower viewport #82
Features
- β¨diff: highlight any Shiki language on demand #77
- β¨ui: quiet the visual language & follow the terminal theme #79
Features
- β¨viewer: own the diff renderer on @pierre/diffs and Shiki #75
Features
- β¨worktree: recover when the active worktree is deleted #72
Bug fixes
- πgit: force canonical a//b/ diff prefixes #74
Features
- β¨viewer: toggleable word wrap for long lines #69
Features
- β¨git: refresh from a filesystem watcher #68
- β¨sidebar: resize the sidebar width with [ / ] / \ #66
Features
- β¨diagnostics: add oxlint findings alongside typescript #53
- β¨find: add in-buffer find (/) to the viewer #55
- β¨search: add project content search (ctrl-f) #56
Bug fixes
- πgit: prevent index.lock conflicts with concurrent git processes #50
- πquit: exit instantly on ctrl-c #52
Breaking changes
- π₯diagnostics: Diagnostics are now powered by an LSP
Features
- β¨diagnostics: to an auto provisioning LSP client #46
- β¨tree: add Nerd Font file-type icons to the file tree #44
Bug fixes
- πchecker: run checkers via the repo's package manager #41
Features
- β¨ui: mute scrollbars to theme colors #39
Bug fixes
- πfile: classify deleted binaries on the git-show path #36
- πsyntax: highlight JSX with the tsx grammar #38
- πui: stop the tree-navigation freeze w/ solidjs #33
Features
- β¨ui: display version in header #21
- β¨ui: switch git worktrees with w key #23
Features
- β¨diagnostics: support monorepo workspace typecheck discovery #11
- β¨ui: smart truncate tree names preserving extension #18
- β¨ui: surface activity on collapsed directories #15
- β¨ui: toggle file tree sidebar with b key #19
Bug fixes
- πinstall: add sideye bin to PATH automatically #14
- πui: reserve badge space when tree rows #20
Performance improvements
- β‘οΈdefer repo file enumeration to after initial render #13
- β‘οΈlint: enable perf oxlint rules #16
Performance improvements
- β‘οΈtwo-tier polling to reduce ls-files frequency on large repos #8
Bug fixes
- πpass NPM_TOKEN to npm publish step #6
Bug fixes
- πexclude CHANGELOG.md from oxfmt checks #4
Features
- β¨initial version of
sideye #2