It’s Perf Time
This release is all about juicin’ UI perf. We did a ton of work around it, and it should be particularly noticeable with long sessions, long messages, long, open-toggled thinking blocks, mouse selection, scrolling and stuff like that.
We always strive to make the Crush user experience top-notch, so if you notice any places where perf is suffering please let us know!
Have a great weekend,
The Charm Team
Changelog
Fixed
- 646a505: fix(ui): keep tool spinners animating during long-running tasks (@meowgorithm)
Other stuff
- 30f9c6e: chore(ui): make spinner deterministic for testing (@meowgorithm)
- 8370edb: perf(chat): cache the parts of an assistant message separately (@meowgorithm)
- 771117c: perf(chat): cache the prefixed render of chat messages (@meowgorithm)
- 77b6c38: perf(chat): only render the chat lines that fit on screen (@meowgorithm)
- 1c7ccfd: perf(chat): reuse the rendered prefix of a streaming reply (@meowgorithm)
- 43b986c: perf(chat): show only the tail of long reasoning blocks when expanded (@meowgorithm)
- 65f30a1: perf(chat): skip re-parsing the rendered chat when nothing has changed (@meowgorithm)
- 6b101f3: perf(chat): skip re-rendering chat list items that have not changed (@meowgorithm)
- 6938ded: perf: batch streaming message updates (@meowgorithm)
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.69.1/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.69.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.