Changes
- refactor: move sync display into forge_main @tusharmath (#2087)
- refactor: streaming control via context @tusharmath (#2066)
🚀 Features
- feat(search): add line numbers to semantic search results @tusharmath (#2085)
- feat: add local LLM providers configuration @dariuszkowalski-com (#2050)
- feat: support data generation @tusharmath (#2067)
- feat(indexing): stream progress events during codebase sync @laststylebender14 (#2063)
- refactor: allow multiple queries in sem search tool @laststylebender14 (#2001)
- feat(codebase-indexing): add indexing capability @laststylebender14 (#1899)
- feat: add provider name support to forge prompt functions @dariuszkowalski-com (#2029)
📝 Documentation
- chore(docs): remove unsupported commands from readme @laststylebender14 (#2044)
🐛 Bug Fixes
- fix(reasoning): add gemini-3 model support with extended reasoning fields @amitksingh1490 (#2069)
- fix(ui): simplify search query display format @tusharmath (#2083)
- fix(ui): remove brackets from progress bar template @tusharmath (#2081)
- fix: improve skill detection @amitksingh1490 (#2079)
- fix(zsh): resolve multiline clipping issue and dash-leading prompt parsing bug @amitksingh1490 (#2078)
- fix(ui): progress bar layout @laststylebender14 (#2072)
- fix(provider): skip context engine providers in env migration @laststylebender14 (#2062)
- fix(editor): add .md extension to FORGE_EDITMSG temp file @tusharmath (#2065)
- fix: improve porcelain output @tusharmath (#2058)
- fix(ui): show error message if agent has a misconfigured provider @tusharmath (#2060)
- fix(workflow): drop write ops on forge.yaml @laststylebender14 (#2054)
- fix(ui): replace completion with debug for internal status messages @tusharmath (#2051)
- fix(ui): validate provider configuration before loading agents @amitksingh1490 (#2052)
- fix(ui): print absolute path in sync completion message @laststylebender14 (#2043)
- fix(config): apply provider/model overrides correctly with caching @amitksingh1490 (#2045)
- fix(zsh): handle empty parameters in action command parsing @tusharmath (#2042)
- chore(ci): remove redundant lint job from workflow @tusharmath (#2039)
- fix(evals): correct validation type in sem_search task @laststylebender14 (#2041)
- fix(skills): remove breadth limit for skill directory discovery @tusharmath (#2038)
- fix(template): correct indentation and formatting in tool usage instructions @tusharmath (#2034)
- fix(template): correct typo in handlebar function name @tusharmath (#2033)
🚀 Performance
- refactor: improve semantic search performance @tusharmath (#2071)
- perf(boot): improve boot up time @laststylebender14 (#2064)
- perf(search): deduplicate query results from batch @laststylebender14 (#2059)
🧰 Maintenance
- refactor(sem-search): combine results from the same file @tusharmath (#2088)
- fix(zsh): case insensitive matching of commands @tusharmath (#2084)
- refactor: drop
max_walker_depthfrom the configuration @tusharmath (#2080) - refactor: improve semantic search performance @tusharmath (#2071)
- refactor: remove tree-sitter dependency for remote validation @tusharmath (#2053)
- refactor(repo): flatten module structure by removing proto directory @tusharmath (#2057)
- refactor: allow multiple queries in sem search tool @laststylebender14 (#2001)
- chore(docs): remove unsupported commands from readme @laststylebender14 (#2044)
- chore(ci): add protoc installation steps for cross builds in Cross.toml @amitksingh1490 (#2047)
- chore(ci): add protobuf compiler setup to all build jobs @amitksingh1490 (#2046)
- chore(ci): remove redundant lint job from workflow @tusharmath (#2039)
- chore: update rust toolchain to 1.91 @tusharmath (#2036)
- refactor(info): simplify file change display format @tusharmath (#2035)