It’s Time for a Bugfix Throwdown
This release is all about stability and quality of life with a buncha fixes around MCP, server-client, and odds and ends. Here's what’s inside:
- UX: Typing
clearin the command will match Summarize; thanks, @joestump! - LSP: @piakdev fixed a case where LSP could panic
- MCP: Slow loading MCPs could block messages from being sent: we reduce default timeout
- Server-Client: MCP OAuth didn't work in server-client mode; now it does
- Server-Client: Clients in the same workspace could kill each other: not anymore
- Server-Client: When the server is running over TCP keystrokes no longer hit the server and slow everything down
- Hyper: Added various small improvements for better UX
Thanks for using Crush. Have good weekend!
Charm 💌
Changelog
New!
Fixed
- bdad0f1: fixmcp): don't hold callback port open permanently (#3481) (@taciturnaxolotl)
- 1134a5d: fix(dialog): raise permission-guard quiet period to survive natural typing pauses (#3393) (@albatrossflyon-coder)
- 768ffad: fix(hyper): keep working cache when provider cache can't be written (@meowgorithm)
- 9efc08c: fix(hyper): render error messages from back-end (#3513) (@andreynering)
- 42f3ce0: fix(lsp): handle window/workDoneProgress/create to prevent server crash (#3445) (@piakdev)
- 604a7e3: fix(providers): swap the provider cache instead of rewriting it (@meowgorithm)
- 85d83ce: fix(server): keep concurrent sessions from killing each other (@meowgorithm)
- ebd1857: fix(server): mcp auth in client-server mode (@meowgorithm)
- 71fa577: fix(server): release test DB before Windows temp-dir cleanup (@meowgorithm)
- 390ee36: fix(server): replace stale servers that predate shutdown_if_idle (@meowgorithm)
- 7cdef9e: fix(server): typing lag over TCP in client/server mode (@meowgorithm)
- cf4f4df: fix(server): widen permission cross-client test timeout to stop CI flake (@meowgorithm)
- 69080c9: fix(workspace): retire integration-test clients so the DB closes (@meowgorithm)
- 8fd69b4: fix(workspace): wait for recovery notice before asserting resync (@meowgorithm)
- bb3d449: fix: reduce default and suggested mcp timeout (#3509) (@andreynering)
Docs
- 5f11f8e: docs(agents): mark crushrc as primary config format over crush.json (@meowgorithm)
- d99076e: docs: add missing OAuth flags to mcp add in crush-config skill (@pshickeydev)
Other stuff
- 97ac154: chore(mcp,ui): make 'needs auth' color tang, consolidate theme naming (@meowgorithm)
- 9882a88: hyper: hide hypercredits if the server sends USD as the monetary unit (@meowgorithm)
- fb0f6c5: refactor(server): tidy mcp client-server auth wiring (@taciturnaxolotl)
- b109e35: refactor(ui): route all agent-model rebuilds through one helper (@taciturnaxolotl)
Verifying the artifacts
First, download the checksums.txt file and the checksums.txt.sigstore.json file files, for example, with wget:
wget 'https://github.com/charmbracelet/crush/releases/download/v0.88.1/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.88.1/checksums.txt.sigstore.json'Then, verify it using cosign:
cosign verify-blob \
--certificate-identity 'https://github.com/charmbracelet/meta/.github/workflows/goreleaser.yml@refs/heads/main' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
--bundle 'checksums.txt.sigstore.json' \
./checksums.txtIf the output is Verified OK, you can safely use it to verify the checksums of other artifacts you downloaded from the release using sha256sum:
sha256sum --ignore-missing -c checksums.txtDone! You artifacts are now verified!
Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.