1bc41c8
fix(tui): guard against panics in map member access
Christian Rocha created
1bc41c8
fix(tui): guard against panics in map member access
Christian Rocha created
3c82e31
ci(goreleaser): start releasing for android / termux (#780)
Closes #576
Andrey Nering created
4932b38
chore(legal): @neomantra has signed the CLA
Charm created
0354fef
fix(fsext): prevent `.*` on gitignore from ignoring entire root dir (#766)
Fixed critical bug where gitignore patterns like `.*` would match the root directory itself, causing `filepath.SkipDir` to abort entire file listing. The fix prevents gitignore rules from applying to the scan root directory, matching Git's actual behavior.
James Trew created
659d81a
ci(issue-labeler): add android label
Andrey Nering created
4315b71
chore: update codeowners (#760)
* chore: update codeowners Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * Update CODEOWNERS --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
5af4d19
feat(mcp): ping and recreate mcp client if needed (#772)
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
5ff0f32
fix(gemini): fix tool calls for google gemini (#779)
Samiul Islam created
a4100a7
chore(legal): @samiulsami has signed the CLA
Charm created
e815b71
chore: auto-update generated files
actions-user created
90097e9
feat(lsp): add filetypes configuration (#666)
* feat(lsp): add filetypes configuration Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix: simplify Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix: test Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * refactor: cleanup Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix: improvements Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix: accept fts and exts Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
f8da476
fix(lsp): return a copy of lsp diagnostics to avoid data race (#681)
* fix(lsp): return a copy of lsp diagnostics to avoid data race * Replace maps.Copy with maps.Clone
Liiiz created
57df1f9
fix(tui): underline quit dialog buttons (#548)
This underlines the "Y" and "N" in "Yep!" and "Nope" of the quit dialog to make it consistent with other dialogs and indicates that these buttons can be activated by a key press.
Ayman Bagabas created
ed5e17e
chore(deps): bump github.com/ncruces/go-sqlite3 from 0.25.0 to 0.27.1 (#728)
Bumps [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) from 0.25.0 to 0.27.1. - [Release notes](https://github.com/ncruces/go-sqlite3/releases) - [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.25.0...v0.27.1) --- updated-dependencies: - dependency-name: github.com/ncruces/go-sqlite3 dependency-version: 0.27.1 dependency-type: direct:production update-type: version-update:semver-minor ... 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
0e7d61b
chore(deps): bump github.com/openai/openai-go from 1.11.1 to 1.12.0 (#717)
Bumps [github.com/openai/openai-go](https://github.com/openai/openai-go) from 1.11.1 to 1.12.0. - [Release notes](https://github.com/openai/openai-go/releases) - [Changelog](https://github.com/openai/openai-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/openai/openai-go/compare/v1.11.1...v1.12.0) --- updated-dependencies: - dependency-name: github.com/openai/openai-go dependency-version: 1.12.0 dependency-type: direct:production update-type: version-update:semver-minor ... 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
bc52493
feat(mcp): configurable MCP timeout
closes #604 closes https://github.com/charmbracelet/crush/discussions/754 Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
09fca23
chore(deps): bump github.com/charmbracelet/catwalk from 0.4.6 to 0.4.10 (#716)
Bumps [github.com/charmbracelet/catwalk](https://github.com/charmbracelet/catwalk) from 0.4.6 to 0.4.10. - [Release notes](https://github.com/charmbracelet/catwalk/releases) - [Changelog](https://github.com/charmbracelet/catwalk/blob/main/.goreleaser.yaml) - [Commits](https://github.com/charmbracelet/catwalk/compare/v0.4.6...v0.4.10) --- updated-dependencies: - dependency-name: github.com/charmbracelet/catwalk dependency-version: 0.4.10 dependency-type: direct:production update-type: version-update:semver-patch ... 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
dcca5ab
fix: truncate long paths in compact header (#773)
* fix(lint): normalize method pointer receiver names * chore(compact-header): bake var as const * chore(compact-header): reduce idential consts * chore(compact-header): reduce allocs and function calls * chore(compact-header): remove magic numbers * chore(compact-header): further reduce allocs and function calls * fix(compact-header): truncate path if it's too long * chore: go mod tidy * fix(compact-header): color cwd * chore(compact-header): improve a var name
Christian Rocha created
0f403fe
fix(llm): set request timeout (#736)
* fix(llm): set request timeout If the server is down, address don't resolve, or another myriad of reasons, currently, it'll get stuck. This makes it so it times out after 1 minute. Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix: remove log Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
16f5400
fix(lint): check length before slicing to avoid a panic in list
Christian Rocha created
64e8235
chore: bump dependencies to fix linux console perf
Ayman Bagabas created
eb3ef66
chore: bump bubbletea to v2.0.0-beta.4.0.20250813201422-d4d69f63338d
Ayman Bagabas created
e0042b4
chore: bump bubbletea to v2.0.0-beta.4.0.20250813191918-4ea1703d4181
Ayman Bagabas created
073d130
fix(mcp): tool output join with new line (#686)
* fix(mcp): tool output join with new line refs #604 refs #658 Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix: make Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
4d63624
fix: add top padding
Kujtim Hoxha created
d795c00
fix: make the queue push the messages above
Kujtim Hoxha created
b159b36
chore(legal): @orospakr has signed the CLA
Charm created
96dcf0d
fix: stdio mcp startups to match mark3labs upgrade (#742)
Tai Groot created
39ede6e
fix(editor): better sorting of files when completing with / (#733)
* fix(editor): better sorting of files when completing with / basically, show shorter paths first Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * Update internal/tui/components/chat/editor/editor.go Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com> --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Carlos Alexandro Becker and Andrey Nering created
b550c69
feat: steering (#605)
* feat: enable steering the model while in the loop * feat: show queued messages in the TUI
Kujtim Hoxha created
afbdba1
chore(deps): bump google.golang.org/genai from 1.3.0 to 1.19.0 (#726)
Bumps [google.golang.org/genai](https://github.com/googleapis/go-genai) from 1.3.0 to 1.19.0. - [Release notes](https://github.com/googleapis/go-genai/releases) - [Changelog](https://github.com/googleapis/go-genai/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/go-genai/compare/v1.3.0...v1.19.0) --- updated-dependencies: - dependency-name: google.golang.org/genai dependency-version: 1.19.0 dependency-type: direct:production update-type: version-update:semver-minor ... 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
142e266
v0.5.0
Andrey Nering created
dba44be
fix(sidebar): fix full path appearing on sidebar on windows
Andrey Nering created
705d6f6
fix(sidebar): compute the right line count even on windows / crlf
The diff library we're using assumes LF, so we need to convert CRLF to LF to ensure it works properly.
Andrey Nering created
a3efafc
fix(tool): fix `edit` and `multi-edit` tools on windows
We should convert the content to LF to apply the patch while still respecting the original line endings when saving the file on disk. Co-authored-by: theguy000 <istiakm30@gmail.com>
Andrey Nering and theguy000 created
bb94be2
chore: fix dependabot label
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker created
22b5c63
chore(deps): bump actions/checkout from 4 to 5 (#720)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... 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
df23e9a
feat(config): allow configure the default diff mode (#454)
bbrodriges created
dce9578
chore: bump glamour/ultraviolet/cellbuf for performance improvements
Related: https://github.com/charmbracelet/crush/pull/687
Ayman Bagabas created
30b07f0
chore(deps): bump golang.org/x/text from 0.27.0 to 0.28.0 (#715)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.27.0 to 0.28.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.27.0...v0.28.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.28.0 dependency-type: direct:production update-type: version-update:semver-minor ... 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
bdb0a4c
perf: reduce GC pressure in rendering pipeline (#687)
The `renderIterator` function previously caused an extremely large amount of small strings and other objects to be created and abandoned during rendering, which caused performance issues after some time as the GC had to occasionally collect all of these objects. This was exacerbated by using streaming in models, which leads to extremely frequent updates. This commit refactors renderIterator to avoid constructing temporary strings. Instead, the function now performs two passes: 1. A first pass in which the "fragments" to render are aggregated, but the `rendered` string is not yet copied and appended/prepended to. 2. A second pass, which uses a `strings.Builder` to efficiently construct the final output string. This has *significantly* improved crush's performance for me. Whereas before `perf` would show it spending up to 70% (!) of its time in GC-related Go runtime functions, it now spends a trivial amount there. pprof's heap profiling previously showed renderIterator as a massive hotspot, whereas it now doesn't even show up in alloc `top` anymore. The updated function is slightly harder to read. I did spend some time trying different options for making it more readable, and also asking various LLMs about it (using crush!), but ultimately didn't find anything better than the two-pass solution.
tazjin created
95c4d55
ci: sync dependabot config (#308)
Charm created
42bcc33
chore(legal): @wwwjfy has signed the CLA
Charm created
d336224
chore(legal): @jamestrew has signed the CLA
Charm created
8d799d9
chore(legal): @liznear has signed the CLA
Charm created
9d68f99
fix(gemini): retry at rate limit
Previously, Gemini API would silently terminate when reaching its rate limit.
ras0q created
b8d88b6
chore(legal): @tazjin has signed the CLA
Charm created
36204c7
chore(legal): @pwnintended has signed the CLA
Charm created
a47d761
feat: add yolo mode command (#654)
* feat: add yolo mode command * chore: small improvements * chore(theme): move yolo mode styling into theme --------- Co-authored-by: Christian Rocha <christian@rocha.is>
Kujtim Hoxha and Christian Rocha created
2f0fd54
docs(readme): break out windows package managers
Christian Rocha created