Changelog

New releases and improvements to stet.

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