0.26.0 - 2026-08-17
Release Notes
Changed
-
BREAKING — the project is now GrooveSeek, and the command is
groove.
The old name collided inside its own category (github.com/moikas-code/kb-mcp
is also a knowledge-base MCP server) and bound the product to one of the two
ways it is read — a browser opening/uiis the other. The rename lands now
because the name is written into your filesystem, and after 1.0.0 changing it
would mean carrying a "look for the old name too" layer for all of 1.x.
Reasoning and the candidates that were measured and rejected:
ADR-0007.There is no automatic migration, and no aliases. A 0.26.0 binary does not
see anything left by 0.25.0. To carry an install over:Old New kb-mcp(command)groovekb-mcp.tomlgroove.toml.kb-mcp.db.groove.db.kb-mcpignore.grooveignore.kb-mcp-eval-history.json.groove-eval-history.json.kb-mcp-eval.yml.groove-eval.ymlKB_MCP_CONFIG_HOMEGROOVE_CONFIG_HOMEKB_MCP_TRAY_LOGGROOVE_TRAY_LOGKB_MCP_BINGROOVE_BINKBMCP_BENCH_KBGROOVE_BENCH_KBkb-mcp-svc/kb-mcp-traygroove-svc/groove-tray<config_dir>/kb-mcp/<service>/<config_dir>/groove/<service>/Renaming the files is enough — the formats did not change, so the index does
not need rebuilding. A service registered bykb-mcp service installmust be
uninstalled with the old binary beforegroove service installis run;
the new binary does not know the old registration exists..mcp.jsonentries need their"command"updated togroove. The MCP server
now identifies itself asgrooveseekinserverInfo.name.
Fixed
-
The watcher missed every file inside a directory that was newly created
under the knowledge base — on Linux. Copy a folder of notes into a watched
KB and its contents stayed unindexed until the next fullgroove index; the
directory event arrived, the files' did not.This is not a debounce or a deadline: the events are unobservable. inotify
watches are per-directory, so a file written into a directory that was created
microseconds earlier is reported by no watch at all — not the parent's, which
only names the directory, and not the new directory's, which is registered too
late. Measured on Ubuntu 22.04 with raw inotify: the file was on disk 0.79 ms
aftermkdir, and the earliest a watcher could register the new watch was
2.41 ms. Nothing insidenotifyrecovers it, so the watcher now looks inside
a directory once when it appears.Windows was never affected —
ReadDirectoryChangesWwatches the subtree from
a single handle — which is why this survived unnoticed until a Linux-only CI
failure.What gets indexed is decided by the full index walk's filter, now reachable
for a subtree, so a directory drop and a latergroove indexagree. The count
is logged: a directory drop is never a silent bulk index.
grooveseek 0.26.0
Download grooveseek 0.26.0
| File | Platform | Checksum |
|---|---|---|
| grooveseek-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| grooveseek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| grooveseek-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| grooveseek-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
groove-tray 0.26.0
Download groove-tray 0.26.0
| File | Platform | Checksum |
|---|---|---|
| groove-tray-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
groove-svc 0.26.0
Download groove-svc 0.26.0
| File | Platform | Checksum |
|---|---|---|
| groove-svc-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |