Tags: mario/drey
Tags
v0.1.3 Content-Length is matched without regard to case, so a client using CONTENT-LENGTH: is no longer told the header is missing. The test suites no longer leak daemons. A daemon detaches and only drey stop ends it; the CLI suite left 8 running per invocation, which accumulated until the suite timed out under the process pressure.
v0.1.2 Root widening no longer climbs to $HOME. A stray marker file in your home directory merged every project underneath into one backend indexing the whole home directory, which is wrong sharing, and wrong sharing is silent. A duplicate Content-Length header is now refused instead of letting the last value win, which desynchronised the stream with no error to point at the cause.
v0.1.1 drey install and drey uninstall, so a binary from Homebrew or cargo install can set up the PATH interposition without cloning the repository. The wrappers exec whichever drey binary you ran install from. Also fixes the config path on macOS: install.sh wrote ~/.config/drey, while the daemon reads dirs::config_dir(), which is ~/Library/Application Support/drey. The generated config was never read there.
v0.1.0 One language server per workspace, shared by every client. The shim looks like a language server on stdio; the daemon owns one real server per workspace and autostarts on first use. Clients attach by root containment, so a crate inside a Cargo workspace joins the server already holding it. Two clients with different unsaved edits to the same file share one process: each document keeps a base text and a loaded text, and the daemon swaps the loaded one rather than forking. Builtins for rust-analyzer, gopls, typescript, pyright, ruff, clangd, zls, lua, elixir and jdtls.