Changelog

New releases and improvements to stet.

v0.10.2

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

v0.10.1

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

v0.10.0

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

v0.9.1

Features

  • ✨help: explain the tree & gutter marks in the ? overlay #331

Bug fixes

  • πŸ›diagnostics: unblock intel on servers with no load phase #329

v0.9.0

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

v0.8.0

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

v0.7.4

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

v0.7.3

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

v0.7.2

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

v0.7.1

Bug fixes

  • πŸ›icons: add gradle-wrapper.properties #247
  • πŸ›install: point pinned downloads at the stet-v tag format #245

v0.7.0

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

v0.6.2

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

v0.6.1

Bug fixes

  • πŸ›npm: publish the launcher as @jimmy.codes/stet #227

v0.6.0

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

v0.5.1

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

v0.5.0

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

v0.4.3

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

v0.4.2

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

v0.4.1

Performance improvements

  • ⚑️ui: add virtualization for lists #187

v0.4.0

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

v0.3.5

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

v0.3.4

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

v0.3.3

Bug fixes

  • πŸ›intel: wait for tsserver project load before go-to-definition #150
  • πŸ›memory: bound diagnostics state and diff caches #148

v0.3.2

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

v0.3.1

Features

  • ✨viewer: add ability to open in editors #109

Bug fixes

  • πŸ›viewer: pin non-wrap diff rows to one terminal row #120

v0.3.0

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

v0.2.10

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

v0.2.9

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

v0.2.8

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

v0.2.7

Features

  • ✨diff: highlight any Shiki language on demand #77
  • ✨ui: quiet the visual language & follow the terminal theme #79

v0.2.6

Features

  • ✨viewer: own the diff renderer on @pierre/diffs and Shiki #75

v0.2.5

Features

  • ✨worktree: recover when the active worktree is deleted #72

Bug fixes

  • πŸ›git: force canonical a//b/ diff prefixes #74

v0.2.4

Features

  • ✨viewer: toggleable word wrap for long lines #69

v0.2.3

Features

  • ✨git: refresh from a filesystem watcher #68
  • ✨sidebar: resize the sidebar width with [ / ] / \ #66

v0.2.2

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

v0.2.1

Bug fixes

  • πŸ›git: prevent index.lock conflicts with concurrent git processes #50
  • πŸ›quit: exit instantly on ctrl-c #52

v0.2.0

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

v0.1.7

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

v0.1.6

Features

  • ✨ui: display version in header #21
  • ✨ui: switch git worktrees with w key #23

v0.1.5

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

v0.1.4

Performance improvements

  • ⚑️two-tier polling to reduce ls-files frequency on large repos #8

v0.1.3

Bug fixes

  • πŸ›pass NPM_TOKEN to npm publish step #6

v0.1.2

Bug fixes

  • πŸ›exclude CHANGELOG.md from oxfmt checks #4

v0.1.1

Features

  • ✨initial version of sideye #2