Core
- Remove allow always button (@imanolmzd-svg)
- Propagate isFree flag from cloud API through CLI to extension (@kirillk)
- Update mDNS runtime defaults from opencode.local to kilo.local (@kilo-code-bot[bot])
- Updated retry logic in session management
- Use .cmd shim for local tsc on Windows (@alex-alecu)
- Add undo/redo functionality with per-message revert button in VS Code extension
- Reset global config lazy cache on session dispose so marketplace writes take effect
- Race pipe drains against timeout so tsc hangs are killed (@alex-alecu)
- Save permission rules to configuration file (@imanolmzd-svg)
- Replace remaining "opencode" branding references with "kilo" (@kilo-code-bot[bot])
- Publish bus event after TsClient diagnostics (@alex-alecu)
- Add timeout to TypeScript diagnostic wait to prevent indefinite hanging (@alex-alecu)
- Kill stuck tsgo process after timeout (@alex-alecu)
- Resolve workspace-local tsc from node_modules (@alex-alecu)
- Fallback to TsClient when tsgo LSP spawn fails in experimental mode (@alex-alecu)
- Use persistent tsgo LSP server when KILO_EXPERIMENTAL_LSP_TOOL is enabled (@alex-alecu)
- Remove process tree status dialog feature (@alex-alecu)
- Enable incremental mode for warm tsgo runs, reducing subsequent checks to 200-400ms (@alex-alecu)
- Defer tsgo to waitForDiagnostics and skip warm-up calls (@alex-alecu)
- Resolve native tsgo binary directly, skip node.js wrapper (@alex-alecu)
- Replace TypeScript language server with lightweight tsgo client (@alex-alecu)
- Add lightweight LSPClient adapter backed by tsgo diagnostics (@alex-alecu)
- Add tsgo/tsc diagnostic runner for lightweight TypeScript checking (@alex-alecu)
- Cap TypeScript server memory at 1.5 GB and disable automatic typing acquisition (@alex-alecu)
- Use ucomm for reliable ps parsing and extract script names from args (@alex-alecu)
- Add GET /process server route for process status (@alex-alecu)
- Add process tree utility for memory diagnostics (@alex-alecu)
TUI
- Update PR command implementation
- Apply code review suggestions
- Use variable for binary name in pr.ts to minimize upstream diff (@kilo-code-bot[bot])
- Rename shadowed args variable in PR command to fix typecheck (@kilo-code-bot[bot])
- Display process tree with memory usage in TUI status dialog (@alex-alecu)
SDK
- Regenerate SDK with ProcessInfo and ProcessStatus types (@alex-alecu)
Thank you to 5 community contributors:
- @alex-alecu:
- feat: add process tree utility for memory diagnostics
- feat: add GET /process server route for process status
- chore(sdk): regenerate SDK with ProcessInfo and ProcessStatus types
- feat: display process tree with memory usage in TUI status dialog
- fix: use ucomm for reliable ps parsing and extract script names from args
- fix: cap tsserver memory at 1.5 GB and disable automatic typing acquisition
- feat: add tsgo/tsc diagnostic runner for lightweight TypeScript checking
- feat: add lightweight LSPClient adapter backed by tsgo diagnostics
- feat: replace typescript-language-server with lightweight tsgo client
- fix: resolve native tsgo binary directly, skip node.js wrapper
- fix: defer tsgo to waitForDiagnostics, skip warm-up calls
- perf: enable --incremental for warm tsgo runs (~200-400ms after first check)
- Merge branch 'main' into feat/process-diagnostics-status-dialog
- refactor: remove process tree status dialog feature
- feat: use persistent tsgo --lsp server when KILO_EXPERIMENTAL_LSP_TOOL is enabled
- fix: fallback to TsClient when tsgo LSP spawn fails in experimental mode
- fix: resolve workspace-local tsc from node_modules
- kill stuck tsgo process after timeout
- add timeout to TsClient diagnostic wait
- publish bus event after TsClient diagnostics
- fix(cli): race pipe drains against timeout so tsc hangs are killed
- fix(cli): use .cmd shim for local tsc on Windows
- Merge pull request #7083 from Kilo-Org/feat/process-diagnostics-status-dialog
- @kirillk:
- feat(vscode): add Recommended group to model selector
- feat(vscode): align model selector active state and group label styling with kilo-ui design system
- feat(vscode): filter model selector by model name only
- feat(vscode): sort models within groups alphabetically to cluster same-prefix models together
- feat(vscode): wire isFree attribute to free badge with cost fallback, use kilo-ui Tag
- feat(vscode): scroll active model into center view when model picker opens
- feat(vscode): set selectedIndex to active model when model picker opens
- fix(vscode): update isFree tests to match new isFree/cost-based signature
- Merge branch 'main' into kirillk/model-picker
- fix(vscode): gate isFree on kilo gateway provider with cost fallback
- feat(vscode): propagate isFree from cloud API through CLI to extension
- test(vscode): remove isFree fallback tests now handled by backend
- Merge pull request #7137 from Kilo-Org/kirillk/model-picker
- @kilo-code-bot[bot]:
- test(vscode): add CI check for missing translation keys
- test(vscode): add locale completeness checks and fix missing translations
- fix(vscode): address i18n test review feedback
- fix(cli): replace remaining "opencode" branding references with "kilo"
- fix(cli): rename shadowed args variable in pr command to fix typecheck
- fix(cli): use variable for binary name in pr.ts to minimize upstream diff
- fix(cli): update mDNS runtime defaults from opencode.local to kilo.local
- test(vscode): add marketplace screenshot stories for MCP and Modes tabs
- fix(vscode): re-fetch merged config after settings update to prevent revert
- @imanolmzd-svg:
- @Githubguy132010:
- fix(vscode): preview pasted images in chat input (#7052)