v0.43.0

charmbracelet/crushv0.43.0Feb 13, 2026by github-actions[bot]

AI Summary

This release focuses on significant performance improvements for Crush when handling large projects with many files (monorepos). Contributor @acmacalister replaced regex-based gitignore matching with glob-based matching, greatly reducing CPU usage and disk access. The release also includes a new toggle for todos/pills menu item and various fixes.

Key Highlights

  • Performance optimization: replaced regex-based gitignore with glob-based matching for big repos/monorepos
  • New feature: added toggle todos/pills menu item
  • Fix: completions offset for attachments row
  • Added io.net API key validation fallback
  • Windows terminal bash support improvements via lipgloss and colorprofile upgrades

New Features

  • Toggle todos/pills menu item (feat(pills): add toggle todos/pills menu item #2202)
  • io.net API key validation fallback
  • Glob-based gitignore matching for improved performance

Full Release Notes

# Faster Crush on big repos

If you've been following our recent releases, you probably noticed we're frequently shipping performance improvements. We really want Crush to be light on CPU, memory and disk.

For this release, our talented contributor @acmacalister did an incredible job on profiling and addressing a few performance bottlenecks for projects with many files (the so-called monorepos). This greatly reduces both CPU usage and disk access for these big projects.

Enjoy!
The Charm™ Team :sparkles:

## Changelog
### New!
* 8ccb3c70918b2affbe0b0f96717e972313f2cd8f: feat(pills): add toggle todos/pills menu item (#2202) (@meowgorithm)
### Fixed
* eae61e16b238063ee1d8c4a03ce396e011dd8d0e: fix(ui): completions offset for attachments row (#2208) (@caarlos0)
* aa1ea496985d81e219a537271ca9ba993a3d0f0f: fix: add io.net api key validation fallback (@andreynering)
### Docs
* 27548b6424ec062185ebbe2a435ba8fdda698d9f: docs(readme): mention io.net provider (@andreynering)
### Other stuff
* db46f5e1c8d5fe3a76dc00eec215e94c6b954c4c: chore: auto-update files (@charmcli)
* 45663b77649a540f4ffcc2f24478475c99bfd944: chore: update catwalk to v0.19.0 (@andreynering)
* 976cca116c531a915e7ad301f6a7e4a728c8d62e: chore: upgrade lipgloss and colorprofile to fix windows terminal bash (@aymanbagabas)
* d7e225282c3d4b5a4a9d3ecea08240d439fa2d8b: perf: replace regex-based gitignore with glob-based matching (#2199) (@acmacalister)

---

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

First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.43.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.43.0/checksums.txt.sigstore.json) files, for example, with `wget`:

```bash
wget 'https://github.com/charmbracelet/crush/releases/download/v0.43.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.43.0/checksums.txt.sigstore.json'
```

Then, verify it using [`cosign`](https://github.com/sigstore/cosign):

```bash
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`:

```bash
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](https://x.com/charmcli), [Discord](https://charm.land/discord), [Slack](https://charm.land/slack), [The Fediverse](https://mastodon.social/@charmcli), [Bluesky](https://bsky.app/profile/charm.land).