All notable changes to this project will be documented in this file.
- Support many LLMs via OpenRouter (#261)
- Embeddings without an external provider via FastEmbed (#262)
- Allow running
init
on different filenames (#266) - Onboarding flow improvements (#265)
- (README) Slower demo
- Add automatic message tailing to chat interface (#237)
- Add dirty repository check with --allow-dirty flag (#243)
- Add back read file tool to
whole
edit mode - Only show chat commands help if the screen is big enough
- Do not allow sending empty messages to agents
- (README) Improved demo
- Opt-out of auto pushing to remote and pull requests (#232)
- Opt-out of automatically committing to git (#239)
- Reworked, opt-in line editing (#234)
- Disable line edits for now (#238)
- Add support for experimenting with multiple agents (#231)
- HOTFIX openai api key was improperly filled down stream
- Add ctrl+enter and shift+enter as shortcuts to send a message (#219)
- Adjust arrow key behavior in chat input (#220)
- Wrap input lines neatly when chatting with an agent (#226)
- Enable overwriting config with env variables or a kwaak.local.toml (#222)
- Use the git diff to steer on test and coverage results (#229)
- (ci) Remove rust cache
- (tracing) Run otel in http mode if enabled (#218)
- Local docker executor now returns NonZeroExit correctly on file not found
- (tools) Allow for block edit to also insert new lines (#227)
- Disable ultra verbose ui event logging on debug
- Add persistance to jaeger in compose
- Ensure the are no dangling trace spans
- Guided onboarding (#212)
- Git owner and repo name are now optional (#216)
- Human readable branch names via LLM (#195)
- Vendor ssl in linux builds for now
- (ci) Fix deletion detection GC test on CI (#214)
- Update README tagline (#210)
- (README) Update copy on configuration
- Improve test coverage for tools (#211)
- When running kwaak locally use nightly for coverage (#175)
- Manually retry the last completion (#192)
- Various UI improvements (#207)
- Fix several typos in system prompt (#202)
- Enable agent to replace small blocks in files instead of writing full (#197)
- Exclude .git/ from file search and initial overview (#194)
- Fixes occasional parse errors and other tool call weirdness (#199)
- (frontend) Modularize chat_mode with separate widgets (#193)
- Add Golang support (#189)
- Test and coverage commands are now optional
- (ci) Reduce test jobs in CI (#187)
- Fix multiple reliability issues with docker (#172)
- /quit should properly quit the app
- Allow viewing the git diff from an agent and pulling changes to a local branch (#159)
- Add /help and show a helpful message if the first chat is still empty (#160)
- Github token is now optional (#163)
- (config) [breaking] Simplify configuration for better user errors (#168)
- (tools) Accidental regexes from llm in code search should not lead to message overflow
- (ci) Add rust cache and clean up disk (#161)
- Improve test consistency and remove testing feature flag (#164)
- (docker) Show build errors from docker if the image has errors
- (ci) Fix pipelines (#169)
- Rework command handling (#156)
- (README) Move how does it work above the config section
- (README) Update TOC in readme (#155)
- (README) Updated QA in line with community feedback <3 (#166)
- (ci) Announce new releases to discord (#141)
- Ollama support! (#147)
- After clearing the cache app should self-heal (#142)
- Handle breaking, non-panic errors gracefully with more informative output (#144)
- (docker) Fix socket connection errors when setting up docker (#148)
- Render demo in higher font size and trim terminal start/stop
- Trim waiting times from demo and up font size (#137)
- Trim the last couple of frames of the demo and slightly larger font
- (README) Update blog posts
- Update README.md (#138)
- Enhance README with OpenAI and Ollama Configuration Details (#146)
- Update readme with all configuration settings (#151)
- Use llvm cov for speed internally with nextest (#132)
- (ci) Ensure libxcb is installed in release
- Ignore hidden and case with file and code search (#130)
- (ci) Use tarpaulin instead of llvm-cov for coverage (#131)
- (ci) Skip linux aarm build in release (#129)
- Snapshot ui tests (#108)
- Add pretty formatting for new tools (#117)
- Refute changing branches and add reset file tool (#118)
- Small prompt improvements (#124)
- Implement /copy command to use copypasta crate (#114)
- Change quit keybinding to Ctrl+Q and update documentation (#111)
- Truncate chat titles to 30 characters in rename_chat function (#113)
- Use cancellation token for stopping agents (#116)
- Delete chat should not panic on index out of bounds (#121)
- Use rendered linecount fixing wrap overflow (#122)
- Downtune plan prompting
- Add copypasta deps to internal dockerfile
- Committed changes after completion
- Add QA on missing default docker socket
- Update swiftide (#110)
- Add coverage workflow
- Show message status with nice icons (#107)
- Deny opening more than one kwaak on a project
- Fix overflow in scroll to end
- Print instead of dbg that otel is enabled
- Run init before loading config (#103)
- Just keep the last 10 lines in view when scrolling and increase scroll speed
- Escape any jinja curlies if they appear in a summarized tool
- Abort running agents
- Update readme and demo
- Fix demo in readme
- Format QA better
- Enable otel in own config
- Run fmt in local lint and fix even if clippy failed
- Update deps (#104)
- Refactor CLI to Use Subcommands Instead of --mode (#95)
- Make
otel
Feature Contingent on Feature Flag and Configuration (#97) - Add conventional commits guidelines to pull request tool description (#99)
- Add /delete_chat command (#100)
- Enhance Garbage Collection to Handle Removed Files Since Last Index (#96)
- Give chat a pretty name on initial message (#101)
- Add debug logs and backtrace to own config
- RuntimeSettings#from_db available in release build
- Update init instructions
- Support git@ urls for remotes (#71)
- Pre-indexing garbage collection (#79)
- Index markdown in the project (#81)
- Tune context generation (#83)
- Prettier tool formatting (#87)
- Uniform uuid for branch/chat/docker and display subtly (#86)
- Add endless mode for headless (#91)
- (tools) Agents can now search code on github and fetch urls (like from github) (#88)
- Tool prompt tuning to deal with lazy file writes
- Prompt for not removing existing comments and remove unused code
- Instruct for considering excisting functionality
- Accept non zero exit when reading files (#72)
- Remove message history from PR for now as it gets too big
- (tracing) Ensure all spans are captured correctly with sane defaults (#78)
- Improve tool prompts
- Automatically index lancedb after indexing code (#80)
- Use fd with full path for more consistent behaviour
- (README) Update install instructions (#68)
- Update Rust in dockerfile
- Update swiftide and use external docker executor (#92)
- (ci) Add homebrew to release pipeline
- Add
make
installation to Dockerfile (#56) - Container can be both exiting and removing in tests (#57)
- Explicitly prompt for goal in conversation summary
- Truncate tool output for PRs (#66)
- Random suffix on docker containers fixes flaky tests (#63)
- (README) Update installation instructions
- Add demo.gif to readme (#65)
- (README) Faster edited demo
- (README) Fix CI badge
- Ensure dist build for all targets works (#53)
- (ci) Use correct git token
- (ci) Add token to checkout as well and remove pr trigger
- (ci) Add rust cache
- The best splash screen (#46)
- (ci) Publish builds on release PR
- (ci) Include libssl-dev in build
- (README) More copy improvements (#49)
- Bonkers UX Improvements (#45)
- Update readme copy
- Readme copy update
- (README) Update badges
- Reference bosun.ai in the readme
- Add license