Skip to content
C

Crush v0.96.0

Released · Charm

What the release notes say

Themes and more!

This release is HUGE and we are so excited to share what our team and contributors have done!

The long awaited feature!

<p><img width="800" alt="out" src="https://github.com/user-attachments/assets/656752be-6b87-4515-a3ab-68e43b655dd9" /></p>

Crush now has themes! 🎨 Open the new Themes dialog from the command palette to switch looks with live preview, try the built-in Gruvbox Dark, or create and edit your own custom palettes right inside the TUI. Thank @meowgorithm and @gurnben for this feature!

QoL and fixes

Small changes but no less important.

  • Hypercredits are now displayed in real time!
  • Added spaces to errors in chat by @taciturnaxolotl
  • Increased default timeout to 2 minutes by @andreynering
  • Fixed extended help, while in a mode by @meowgorithm
  • Fixed wrapping while displaying the plan
  • Fixed syntax highlighting on long bash calls by @taciturnaxolotl
  • More bang mode and bash tools improvement also by our favorite @taciturnaxolotl

See more below!

Happy week! Charm XX 💫

Changelog

New!

  • b07464e98e61248469ca2307ceb30520b1316d5b: feat(hyper): live display of hypercredits (#3699) (@andrinoff)

  • f38b7947fd52b635b84f9b4ce70713675534080c: feat: add theme support (#3884) (@gurnben)

Fixed

  • 051fb37ae1d6bd6d6f2f6cbc8a629d5f85aa9bd7: fifix(ui): color the to-do task name while the tool is still running (@taciturnaxolotl)

  • b8e93d119273032cb51cb249d87ca994d61fe7e5: fix(bash): let the agent recover truncated tool output (@taciturnaxolotl)

  • 10ec02a58c581c060aaa52279347bf716ad7ef08: fix(shell): bound bang-mode output and spill the rest to a file (@taciturnaxolotl)

  • 2019da14717e4e00aeee7664873c6b78f147a3eb: fix(tui): unfreeze spinner clock when the boot busy probe lands (#3839) (@andreynering)

  • 242b4d3aaa024e26937f7579869d81e007c17c42: fix(ui): drop the empty gap under a failed edit (#3851) (@taciturnaxolotl)

  • e41ae8ee78dafe884eb4f6e18ffd38d3d6d706e5: fix(ui): keep syntax highlighting across a wrapped tool parameter (#3850) (@taciturnaxolotl)

  • eb845a9eacd25c5ce6522ae90c82289f43b5833d: fix(ui): nudge the yolo/plan badges + align help (#3863) (@meowgorithm)

  • fd58b5ed201f490641d018cab6f06a29cdaff2c0: fix(ui): read the session transcript off the event loop (@taciturnaxolotl)

  • 87a5bbd874d4d78a506237ba4b6d94d8a4f5b59e: fix(ui): set the finish banner off from the message above it (#3815) (@taciturnaxolotl)

  • 9636af6446be2274b9b5b048c1d122ebad9c7b41: fix: wrapping in plan display (#3888) (@andrinoff)

Other stuff

  • 239d00630d719b8cc8838806201ae9205c12466e: chore: auto-update files (@charmcli)

  • 3bc8ff4fc76ef38fbecf3f6df338fce3d1616001: chore: auto-update files (@charmcli)

  • 27a53ef82b8b63817f92540d37850482dd9daddd: chore: auto-update files (@charmcli)

  • 591167920d6850effe669c423d8e76b184057570: chore: bump devShell to Go 1.27 (#3832) (@LarsArtmann)

  • 460653aa2599329a99b9c0d493e53e0f356d8ea5: chore: double default request timeout from 60 to 120 seconds (#3862) (@andreynering)

  • d55e017d60cdb87ecb21a19a9fed9a2097c0da64: perf(agent): read only the post-summary tail of a compacted session (@taciturnaxolotl)

  • 978d49d53f9343f2e57406cc503daddf282e12ae: perf(db): cap prompt history at the 200 most recent messages (@taciturnaxolotl)

  • 296b5c396260ece70fdceed288ed25c7a99ba349: perf(db): index messages by role so user-message reads stop scanning (@taciturnaxolotl)

  • 595f625f19a6a186307b911d59dd37c764541251: perf(message): decode message parts in one structural pass (@taciturnaxolotl)

  • 9207cb2c053ecbe3ec5c0c3985b746877c1f322d: perf(ui): skip the global prompt-history scan when a session is loading (@taciturnaxolotl)


<details> <summary>Verifying the artifacts</summary>

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.96.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.96.0/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.txt

If 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.txt

Done! You artifacts are now verified!

</details>

<a href="https://charm.land/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-banner-next.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.