Skill toggles, tool timers and a faster Hyper ⚡
This release was brought to you by our team and our favorite contributors! Long awaited features ahead, read along!
Toggle skills
Skills can now be switched on and off right from the command palette. Broken skills are easy to spot, too! (they're marked with a red × and the reason they failed)
🕐 How long is this taking?
Every tool call now shows how long it's been running. Now, you'll know whether that test suite is just slow or actually stuck.
Lighter, faster Hyper ⚡
Requests to Hyper are now compressed with Brotli 🥦. That means much smaller uploads on every turn and snappier responses, especially in long sessions. Hyper now also supports Gzip that other agents could use when Brotli if not viable.
Big thanks to @BrunoKrugel for the first 2 awesome features!
See more below ⬇️
Have a great Thursday,
Charm XX 🌞
Changelog
New!
- 2b7816f: feat(skill): toggle skills (#3994) (@BrunoKrugel)
- 7f9e482: feat(ui): Add elapsed time on tool call (#3600) (@BrunoKrugel)
- f38c0dc: feat: add CRUSH_DATA_DIR env var to override the project data directory (#4245) (@andreynering)
- ebca1dc: feat: persist model display name on messages (#4243) (@andreynering)
- fedf5b8: feat: pipe question tools (#4209) (@andrinoff)
Fixed
- c0f19df: fix(agent): stop a cancelled or silent stream instead of hanging the turn (@taciturnaxolotl)
- 03b24e5: fix(fetch): preserve JSON number precision (#4131) (@Ricardo-M-L)
- 67d838f: fix(permissions): make yolo mode block dangerous commands without asking (@taciturnaxolotl)
- fa57a39: fix(run): stop subagents from hanging on permission prompts (#3365) (@Amolith)
- 8f1f029: fix(ui): clamp dialog and shell scroll offsets when their content changes size (@taciturnaxolotl)
- 1886155: fix(ui): keep scrolled lists anchored when content shrinks or goes away (@taciturnaxolotl)
- 9698a7c: fix(ui): preserve CRLF lines in bang mode output (#4228) (@remote-controlled-man)
- 66b433f: fix(ui): render question answers from structured data, not parsed text (#3903) (@taciturnaxolotl)
- f3c51b9: fix(ui): show a sent prompt instantly in long chats (@taciturnaxolotl)
- 9baf089: fix: bump snapshots and releases version (@andrinoff)
- 5e5c8c0: fix: crush run should not spawn a server if none is running (#4255) (@andrinoff)
- cd3cbd8: fix: exit cleanly when the TUI is started without a terminal (@taciturnaxolotl)
- be06016: fix: pin fantasy to v0.46.0 (@taciturnaxolotl)
- a191a19: fix: remove the Alias with hyper email (#4257) (@andrinoff)
Other stuff
- feede88: chore: add a few portuguese names to sub-agents names list (@andreynering)
- d855def: chore: auto-update files (@charmcli)
- ad71b6d: chore: use the new charm.land/tone (#4260) (@andrinoff)
- 1b7582d: perf(agent): prefer brotli for compressed requests to hyper (#4265) (@andreynering)
- 1b37350: perf: send gzip-compressed http requests to hyper (#4100) (@andreynering)
- f1cdae4: refactor(agent): own cancel and timeouts in one request guard (@taciturnaxolotl)
- c98fc54: ui: theme the exit banner (#4239) (@Amolith)
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.101.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.101.0/checksums.txt.sigstore.json'Then, verify it using cosign:
cosign verify-blob \
--certificate-identity-regexp '^https://github.com/charmbracelet/crush/\.github/workflows/(release|nightly)\.yml@' \
--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.