Commit log

4018154 fix(event): guard against panic (#2310)

Christian Rocha created

3994293 chore(events): log when crush stats is called

Christian Rocha created

655ce65 fix(ui): truncate status messages that would otherwise wrap (#2306)

Christian Rocha created

62b8c0b fix(lsp): fix multiple bugs in lsp client lifecycle and handlers (#2305)

Click to expand commit body
- Remove dead client from map when initialization fails to allow retry
- Use client's cwd field instead of os.Getwd() in openKeyConfigFiles
- Fix slog key-value pair in HandleServerMessage error logging
- Remove redundant hardcoded timeout in WaitForServerReady

huaiyuWangh created

643919d fix: initialize lsp manager callback to prevent nil pointer panic (#2307)

Click to expand commit body
The `callback` field was `nil` when the app returned early before
`SetCallback` was called, causing a segfault in `startServer`.

💘 Generated with Crush

Assisted-by: Claude Opus 4.6 via Crush <crush@charm.land>

Andrey Nering created

d159984 v0.45.0

Andrey Nering created

841165e feat: add support or gemini 3+ thinking levels

Andrey Nering created

a439237 chore: update catwalk to v0.22.0

Andrey Nering created

407ab1f chore: update fantasy to v0.10.0

Andrey Nering created

dff955f fix(mcp): gracefully handle Method not found for resources/list (#2239)

Click to expand commit body
Some MCP servers advertise resources capability but don't implement
resources/list, causing the entire MCP client to fail. This change
handles JSON-RPC error code -32601 gracefully by marking resources
as unavailable instead of failing.

Fixes #2227

0xarcher created

c046219 chore: update lip gloss, bubble tea and bubbles to v2.0.0 (#2299)

Andrey Nering created

dcc67b7 fix(app): fix goroutine leak, shutdown context, and model matching (#2298)

Click to expand commit body
- Add missing return after error send in RunNonInteractive goroutine
- Use context.WithoutCancel for shutdown to preserve tracing context
- Use strings.EqualFold for case-insensitive model matching
- Preserve LSP ConnectedAt across state transitions

huaiyuWangh created

57a09a1 chore(deps): bump the all group with 3 updates (#2290)

Click to expand commit body
Bumps the all group with 3 updates: [charm.land/catwalk](https://github.com/charmbracelet/catwalk), [github.com/clipperhouse/displaywidth](https://github.com/clipperhouse/displaywidth) and [github.com/pressly/goose/v3](https://github.com/pressly/goose).


Updates `charm.land/catwalk` from 0.21.0 to 0.21.1
- [Release notes](https://github.com/charmbracelet/catwalk/releases)
- [Commits](https://github.com/charmbracelet/catwalk/compare/v0.21.0...v0.21.1)

Updates `github.com/clipperhouse/displaywidth` from 0.10.0 to 0.11.0
- [Release notes](https://github.com/clipperhouse/displaywidth/releases)
- [Changelog](https://github.com/clipperhouse/displaywidth/blob/main/CHANGELOG.md)
- [Commits](https://github.com/clipperhouse/displaywidth/compare/v0.10.0...v0.11.0)

Updates `github.com/pressly/goose/v3` from 3.26.0 to 3.27.0
- [Release notes](https://github.com/pressly/goose/releases)
- [Changelog](https://github.com/pressly/goose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pressly/goose/compare/v3.26.0...v3.27.0)

---
updated-dependencies:
- dependency-name: charm.land/catwalk
  dependency-version: 0.21.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/clipperhouse/displaywidth
  dependency-version: 0.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/pressly/goose/v3
  dependency-version: 3.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

c65b807 ci: allow `MIT-0` dependencies (#2297)

Click to expand commit body
One of our indirect dependencies switched to "MIT-0". This is even more
permissive than MIT, so totally valid for us.

* https://github.com/segmentio/asm/pull/86

Check failure:

* https://github.com/charmbracelet/crush/pull/2290
* https://github.com/charmbracelet/crush/actions/runs/22323633569/job/64588201366?pr=2290

About the license:

* https://github.com/aws/mit-0
* https://opensource.org/license/mit-0

Andrey Nering created

38c6632 fix: wrap correct error (#2296)

Click to expand commit body
Fixes #2284

Andrey Nering created

0ac3d9a chore(deps): bump goreleaser/goreleaser-action in the all group (#2289)

Click to expand commit body
Bumps the all group with 1 update: [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action).


Updates `goreleaser/goreleaser-action` from 6.4.0 to 7.0.0
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/e435ccd777264be153ace6237001ef4d979d3a7a...ec59f474b9834571250b370d4735c50f8e2d1e29)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

eb12fbe chore: update `x/powernap` (#2295)

Click to expand commit body
* Closes https://github.com/charmbracelet/crush/discussions/2287
* Ref https://github.com/charmbracelet/x/pull/784

Andrey Nering created

262c74e fix(agent): fix minor bugs in coordinator and view tool (#2276)

Click to expand commit body
- Fix misleading error message: report "small model provider not configured"
  instead of "large" when the small model provider is missing
- Fix error handling order in view tool: check readTextFile error before
  UTF-8 validation to avoid validating partial/empty content
- Fix MCP tool filtering: move "MCP not allowed" log into correct branch
  and break after tool is added to prevent duplicate additions

huaiyuWangh created

6e019e9 chore(legal): @Jaylonnet has signed the CLA

Charm created

44f532e v0.44.0

Christian Rocha created

c1d294d feat(ui): indicate when skills are loaded

Christian Rocha created

d6312f4 chore(styles): create specific styles for image loading indicators

Christian Rocha created

e3376ad fix(ui): fix cases where compact header and footer bleed off screen (#2279)

Christian Rocha created

12a6372 fix(ui): apply the message style to each line of the message items

Click to expand commit body
Related: 46ebd20b63d8

Ayman Bagabas created

3f07c90 chore(legal): @erikstmartin has signed the CLA

Charm created

6bd3f26 v0.43.4

Andrey Nering created

c9074a0 ci: fix release action, update go to 1.26

Andrey Nering created

cabfede v0.43.3

Andrey Nering created

54d924b fix: more reliably detect windows drive (#2273)

Andrey Nering created

c43192c fix(agent): pass correct model config to small provider builder (#2236)

Click to expand commit body
When building the small model provider, we were incorrectly passing
largeModelCfg instead of smallModelCfg to buildProvider. This caused
isAnthropicThinking to check the wrong model config, preventing the
small model from enabling Anthropic thinking mode even when configured.

Fixes #2141

0xarcher created

9e31414 chore(deps): bump catwalk

Andrey Nering created

f89a9d8 fix: proper validate io.net api keys (#2272)

Click to expand commit body
They changed the `/models` endpoint so it actually validates the API key
header if given.

Andrey Nering created

a189a3d chore(deps): bump the all group across 1 directory with 7 updates (#2270)

Click to expand commit body
Bumps the all group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [charm.land/catwalk](https://github.com/charmbracelet/catwalk) | `0.19.2` | `0.20.2` |
| [charm.land/fantasy](https://github.com/charmbracelet/fantasy) | `0.8.1` | `0.9.0` |
| [github.com/aymanbagabas/go-udiff](https://github.com/aymanbagabas/go-udiff) | `0.3.1` | `0.4.0` |
| [github.com/clipperhouse/uax29/v2](https://github.com/clipperhouse/uax29) | `2.6.0` | `2.7.0` |
| [github.com/modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) | `1.2.0` | `1.3.1` |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `1.44.3` | `1.46.1` |



Updates `charm.land/catwalk` from 0.19.2 to 0.20.2
- [Release notes](https://github.com/charmbracelet/catwalk/releases)
- [Commits](https://github.com/charmbracelet/catwalk/compare/v0.19.2...v0.20.2)

Updates `charm.land/fantasy` from 0.8.1 to 0.9.0
- [Release notes](https://github.com/charmbracelet/fantasy/releases)
- [Commits](https://github.com/charmbracelet/fantasy/compare/v0.8.1...v0.9.0)

Updates `github.com/aymanbagabas/go-udiff` from 0.3.1 to 0.4.0
- [Release notes](https://github.com/aymanbagabas/go-udiff/releases)
- [Commits](https://github.com/aymanbagabas/go-udiff/compare/v0.3.1...v0.4.0)

Updates `github.com/clipperhouse/uax29/v2` from 2.6.0 to 2.7.0
- [Release notes](https://github.com/clipperhouse/uax29/releases)
- [Commits](https://github.com/clipperhouse/uax29/compare/v2.6.0...v2.7.0)

Updates `github.com/modelcontextprotocol/go-sdk` from 1.2.0 to 1.3.1
- [Release notes](https://github.com/modelcontextprotocol/go-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/go-sdk/compare/v1.2.0...v1.3.1)

Updates `golang.org/x/net` from 0.49.0 to 0.50.0
- [Commits](https://github.com/golang/net/compare/v0.49.0...v0.50.0)

Updates `modernc.org/sqlite` from 1.44.3 to 1.46.1
- [Changelog](https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.44.3...v1.46.1)

---
updated-dependencies:
- dependency-name: charm.land/catwalk
  dependency-version: 0.20.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: charm.land/fantasy
  dependency-version: 0.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/aymanbagabas/go-udiff
  dependency-version: 0.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/clipperhouse/uax29/v2
  dependency-version: 2.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/modelcontextprotocol/go-sdk
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golang.org/x/net
  dependency-version: 0.50.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: modernc.org/sqlite
  dependency-version: 1.46.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

ac0972b fix: use `Authorization` header for MiniMax (#2269)

Click to expand commit body
Co-authored-by: Greg Slepak <contact@taoeffect.com>

Andrey Nering and Greg Slepak created

d699acd chore(deps): bump the all group with 2 updates (#2271)

Click to expand commit body
Bumps the all group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [actions/dependency-review-action](https://github.com/actions/dependency-review-action).


Updates `github/codeql-action` from 4.32.3 to 4.32.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9e907b5e64f6b83e7804b09294d44122997950d6...89a39a4e59826350b863aa6b6252a07ad50cf83e)

Updates `actions/dependency-review-action` from 4.8.2 to 4.8.3
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261...05fe4576374b728f0c523d6a13d64c25081e0803)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/dependency-review-action
  dependency-version: 4.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

4ba7e02 ci: update to go 1.26 stable for govulncheck

Andrey Nering created

dcf03db refactor: simply code

Andrey Nering created

0a2a3fe fix(lsp): prevent nil client from being stored in clients map (#2262)

Austin Cherry created

3a7d79f fix(ci): allow Unlicense in dependency review action (#2259)

Ayman Bagabas created

fc4a534 v0.43.2

Andrey Nering created

46ebd20 fix(ui): optimize assistant message rendering to improve performance (#2258)

Click to expand commit body
This commit attempts to fix an issue where the rendering of assistant
messages in the chat UI can become significantly degraded in
performance, especially for long messages. The root cause of the
performance degradation was identified as the use of lipgloss.Render for
applying styles to the message content, which involves wrapping logic
that can be expensive for long messages.

Ayman Bagabas created

9862d3a fix: address `nil` pointer dereference panics on lsp client methods (#2256)

Click to expand commit body
Co-authored-by: andreynering <7011819+andreynering@users.noreply.github.com>

Copilot and andreynering created

84fe27b ci(cla): try capital letter

Andrey Nering created

cd7e238 ci(cla): attempt `copilot`

Andrey Nering created

95210c0 ci(cla): attempt without `[bot]` suffix

Andrey Nering created

ded372c ci(cla): allow prs from github copilot

Andrey Nering created

72bb086 Revert "fix(ui): cache blurred and focused renderings separately for assistant messages (#2252)"

Click to expand commit body
This reverts commit 2656a188bca1a241911b9145a75290d735b82b48.

Ayman Bagabas created

199c508 v0.43.1

Andrey Nering created

2656a18 fix(ui): cache blurred and focused renderings separately for assistant messages (#2252)

Click to expand commit body
Assistant messages can have long content, and rendering them can be
expensive. To improve performance, we cache the rendered content for
both blurred and focused states separately.

Ayman Bagabas created

699c8d7 refactor: simplify some code by using `cmp.Or` (#2253)

Andrey Nering created