Commit log

93652d1 Merge branch 'main' into docker-bias

Christian Rocha created

562d49f ci: fix govulncheck (#2399)

Andrey Nering created

871b367 chore(deps): update fantasy

Andrey Nering created

f8da538 feat(notification): alert on turn completion and permission request (#1356)

Click to expand commit body
* feat(notification): add em'

Assisted-by: Claude Sonnet 4.5 via Crush

* refactor(permission): check allowlist first

* docs(notification): correct example, fix rendering

* fix(notification): bump godbus/dbus to v5.2.2

v5.1.0's FreeBSD SendNullByte() was in a CGO file, so it was excluded
when building with CGO_ENABLED=0, causing the freebsd/amd64 cross-build
to fail. v5.2.2 rewrites it in pure Go.

Amolith created

ae720e3 chore(deps): pin fantasy v0.12.0

Andrey Nering created

f69f366 chore(deps): bump the all group across 1 directory with 11 updates (#2394)

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

| Package | From | To |
| --- | --- | --- |
| [charm.land/bubbletea/v2](https://github.com/charmbracelet/bubbletea) | `2.0.1` | `2.0.2` |
| [charm.land/catwalk](https://github.com/charmbracelet/catwalk) | `0.28.1` | `0.28.4` |
| [charm.land/glamour/v2](https://github.com/charmbracelet/glamour) | `2.0.0-20260123212943-6014aa153a9b` | `2.0.0` |
| [charm.land/lipgloss/v2](https://github.com/charmbracelet/lipgloss) | `2.0.0` | `2.0.1` |
| [charm.land/log/v2](https://github.com/charmbracelet/log) | `2.0.0-20251110204020-529bb77f35da` | `2.0.0` |
| [github.com/charmbracelet/colorprofile](https://github.com/charmbracelet/colorprofile) | `0.4.2` | `0.4.3` |
| [github.com/charmbracelet/fang](https://github.com/charmbracelet/fang) | `0.4.4` | `1.0.0` |
| [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) | `0.30.5` | `0.31.1` |
| [golang.org/x/sync](https://github.com/golang/sync) | `0.19.0` | `0.20.0` |
| [mvdan.cc/sh/v3](https://github.com/mvdan/sh) | `3.12.1-0.20250902163504-3cf4fd5717a5` | `3.13.0` |



Updates `charm.land/bubbletea/v2` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/charmbracelet/bubbletea/releases)
- [Commits](https://github.com/charmbracelet/bubbletea/compare/v2.0.1...v2.0.2)

Updates `charm.land/catwalk` from 0.28.1 to 0.28.4
- [Release notes](https://github.com/charmbracelet/catwalk/releases)
- [Commits](https://github.com/charmbracelet/catwalk/compare/v0.28.1...v0.28.4)

Updates `charm.land/glamour/v2` from 2.0.0-20260123212943-6014aa153a9b to 2.0.0
- [Release notes](https://github.com/charmbracelet/glamour/releases)
- [Commits](https://github.com/charmbracelet/glamour/commits/v2.0.0)

Updates `charm.land/lipgloss/v2` from 2.0.0 to 2.0.1
- [Release notes](https://github.com/charmbracelet/lipgloss/releases)
- [Commits](https://github.com/charmbracelet/lipgloss/compare/v2.0.0...v2.0.1)

Updates `charm.land/log/v2` from 2.0.0-20251110204020-529bb77f35da to 2.0.0
- [Release notes](https://github.com/charmbracelet/log/releases)
- [Commits](https://github.com/charmbracelet/log/commits/v2.0.0)

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

Updates `github.com/charmbracelet/colorprofile` from 0.4.2 to 0.4.3
- [Release notes](https://github.com/charmbracelet/colorprofile/releases)
- [Commits](https://github.com/charmbracelet/colorprofile/compare/v0.4.2...v0.4.3)

Updates `github.com/charmbracelet/fang` from 0.4.4 to 1.0.0
- [Release notes](https://github.com/charmbracelet/fang/releases)
- [Commits](https://github.com/charmbracelet/fang/compare/v0.4.4...v1.0.0)

Updates `github.com/ncruces/go-sqlite3` from 0.30.5 to 0.31.1
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.30.5...v0.31.1)

Updates `golang.org/x/sync` from 0.19.0 to 0.20.0
- [Commits](https://github.com/golang/sync/compare/v0.19.0...v0.20.0)

Updates `mvdan.cc/sh/v3` from 3.12.1-0.20250902163504-3cf4fd5717a5 to 3.13.0
- [Release notes](https://github.com/mvdan/sh/releases)
- [Changelog](https://github.com/mvdan/sh/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdan/sh/commits/v3.13.0)

---
updated-dependencies:
- dependency-name: charm.land/bubbletea/v2
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/catwalk
  dependency-version: 0.28.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/glamour/v2
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/lipgloss/v2
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/log/v2
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/aymanbagabas/go-udiff
  dependency-version: 0.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/charmbracelet/colorprofile
  dependency-version: 0.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/charmbracelet/fang
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: github.com/ncruces/go-sqlite3
  dependency-version: 0.31.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golang.org/x/sync
  dependency-version: 0.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: mvdan.cc/sh/v3
  dependency-version: 3.13.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

a897f65 feat: set user-agent to Charm Crush/<version> (#2357)

Christian Rocha created

45c25b3 chore: update AGENTS.md (#2388)

Christian Rocha created

1f1426b chore(legal): @ZeitbyteRepo has signed the CLA

Charm created

a3bfa19 chore(agent): allocate errors once, reuse errors

Christian Rocha created

7d50e8f chore(agent): cleanup logic

Christian Rocha created

e0d3141 fix(events): remove redundant posthog exit event (#2371)

Christian Rocha created

2dacfbd fix(noninteractive): actually use models to generate titles (#2372)

Click to expand commit body
Prior to this, non-interactive titles would simply be the prompt, which
could be multiple lines and would include data piped in.

This revision also removes the "non-interactive:" title prefix as it's
irrelevant. Non-interactive sessions can be picked up in the TUI and are
treated no different than interactive sessions.

Christian Rocha created

ec8c8dd fix(events): panic when metrics are disabled

Christian Rocha created

4fee559 fix(ui): properly truncate info message (#2379)

Ayman Bagabas created

79c3ffa chore: improve examples in `crush --help`

Christian Rocha created

7f2e9f8 fix(ui): format xhigh as XHigh (not Xhigh) (#2369)

Christian Rocha created

a0a0040 v0.47.2

Andrey Nering created

eb71faf chore: add gpt 5.4 and gpt 5.4 pro (#2363)

Click to expand commit body
* https://github.com/charmbracelet/fantasy/pull/158
* https://github.com/charmbracelet/catwalk/pull/204

Andrey Nering created

ef0671c fix: suppress message when clipboard is empty (#2361)

Andrey Nering created

784359d chore(docker): bias towards docker mcp discovery

Christian Rocha created

a512006 v0.47.1

Andrey Nering created

ca13661 chore: update bubble tea to v2.0.1 (#2360)

Click to expand commit body
This fixes some resize issues on some terminal emulators, particularly on
Windows.

Andrey Nering created

7e187f4 Merge remote-tracking branch 'origin/main' into feat/docker-mcp-integration

Christian Rocha created

fae0f2e fix(lsp/edit): properly handle non-ascii chars (e.g. CJK) (#2325)

Christian Rocha created

8a9000b ci: update golangci-lint to v2.10 and fix new issues (#2355)

Andrey Nering created

ae1bac3 chore: update hyper (#2354)

Andrey Nering created

5b2e5be ci: add hyper to labeler

Andrey Nering created

8bcca78 v0.47.0

Andrey Nering created

6d89de6 chore: update catwalk

Andrey Nering created

56d79d1 fix(lsp): fallback to Kill() on timeout (#2349)

Tai Groot created

aa0997b chore: bump powernap to v0.1.2

Click to expand commit body
Related: https://github.com/charmbracelet/crush/pull/2349

Ayman Bagabas created

9ec46b8 feat(shell): add blocking wait option to job_output tool (#2189)

Sean Porter created

da2eef2 chore(deps): bump actions/setup-go from 6.2.0 to 6.3.0 in the all group (#2340)

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


Updates `actions/setup-go` from 6.2.0 to 6.3.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5...4b73464bb391d4059bd26b0524d20df3927bd417)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.3.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

59031cb v0.46.2

Andrey Nering created

8762efc fix(ui): follow scroll when at bottom (#2336)

Click to expand commit body
* fix(ui): follow scroll when at bottom

This change attempt to completely fix the agent scroll issue when at
bottom. It should follow the agent when the follow flag is set.

* fix(ui): make sure we select the last item when at bottom

Ayman Bagabas created

4596b02 fix(lsp): treat adjacent ranges as non-overlapping per LSP spec (#2322)

Click to expand commit body
Fix rangesOverlap() to treat LSP ranges as half-open intervals [start, end)
per the specification. Adjacent edits where one range ends where another
begins are no longer incorrectly rejected as overlapping.

huaiyuWangh created

c843441 chore(deps): bump the all group with 4 updates (#2341)

Click to expand commit body
Bumps the all group with 4 updates: [github.com/charmbracelet/x/powernap](https://github.com/charmbracelet/x), [github.com/go-git/go-git/v5](https://github.com/go-git/go-git), [github.com/modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) and [golang.org/x/net](https://github.com/golang/net).


Updates `github.com/charmbracelet/x/powernap` from 0.1.0 to 0.1.1
- [Commits](https://github.com/charmbracelet/x/compare/v0.1.0...vcr/v0.1.1)

Updates `github.com/go-git/go-git/v5` from 5.16.5 to 5.17.0
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.16.5...v5.17.0)

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

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

---
updated-dependencies:
- dependency-name: github.com/charmbracelet/x/powernap
  dependency-version: 0.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/go-git/go-git/v5
  dependency-version: 5.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/modelcontextprotocol/go-sdk
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golang.org/x/net
  dependency-version: 0.51.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

2baf565 chore(legal): @vmfu has signed the CLA

Charm created

42a9e75 chore(legal): @taoeffect has signed the CLA

Charm created

57744ca chore(deps): bump charm.land/catwalk from v0.24.0 to v0.25.0 (#2326)

Click to expand commit body
Catwalk v0.25.0 release: https://github.com/charmbracelet/catwalk/releases/tag/v0.25.0

This updates `vertexai.json` provider definition to include `gemini-3.1-*` and `claude-*-4.6`.

Ivan De Marino created

20e8aea chore(legal): @detro has signed the CLA

Charm created

61953d4 v0.46.1

Andrey Nering created

02ec5db bugfix: find references, double timeout

Tai Groot created

d3682ac use new wg pattern

Tai Groot created

0583221 fix(tools/view): fix view paging, test for edge cases

Christian Rocha created

d98c854 perf(lsp): use shared timeout for parallel diagnostics collection

Christian Rocha created

ded666a chore(lint): don't shadow err vars

Christian Rocha created

3c5fcff perf(tools/view): pause briefly for LSP diagnostics when viewing a file

Christian Rocha created

6604dd0 perf(lsp): don't watch for changes when simply reading files

Christian Rocha created