Commit log

07d065d refactor: simplify context value retrieval using generics

Click to expand commit body
- Introduce generic getContextValue helper function to eliminate code duplication
- Reduce code from 75 to 56 lines (25.3% reduction)
- Simplify Get*FromContext functions from ~13 lines to 2 lines each
- Add comprehensive test coverage (18 test cases) for context functions
- Maintain backward compatibility with existing API

wanghuaiyu@qiniu.com created

2904a36 v0.46.0

Andrey Nering created

24f99f0 fix(lsp): replace recursive fastwalk with filepath.Glob in root marker detection (#2316)

Click to expand commit body
hasRootMarkers used fsext.Glob which triggered a full recursive fastwalk
of the working directory with no gitignore filtering. In large JS
monorepos this walked millions of files in node_modules, causing 800%
CPU usage. Root markers are simple filenames (go.mod, package.json,
*.gpr, etc.) that only need a single-directory check.

🐘 Generated with Crush

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

Austin Cherry created

c6f8546 feat: add support for anthropic thinking effort (#2318)

Andrey Nering created

cd34bd6 feat: add minimax china provider (#2315)

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

AN Long and Andrey Nering created

b726b20 chore(legal): @aisk has signed the CLA

Charm created

1dbde3e chore(legal): @mavaa has signed the CLA

Charm created

234a87c v0.45.1

Andrey Nering created

8d6433b ci: notify me on winget prs

Andrey Nering created

c9fec16 chore: update catwalk

Andrey Nering created

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