19963 Commits
Author SHA1 Message Date
kilo-maintainer[bot] 645e805250 release: v7.2.52 v7.2.52 2026-05-11 21:50:17 +00:00
kilo-maintainer[bot] 1f252acce1 release: v7.2.51 2026-05-11 16:59:59 +00:00
Catriel Müller 41596c5565 Merge pull request #10152 from Kilo-Org/glittery-writer
fix(cli): normalize IDN hostnames to punycode in permission dialogs
2026-05-11 13:39:23 -03:00
Catriel Müller 6308e7d548 update source links 2026-05-11 13:29:22 -03:00
Catriel Müller 0200183174 refactor(vscode): import normalizeUrls from shared kilocode util in PermissionDock 2026-05-11 13:27:26 -03:00
Joshua Lambert ed64e9b06b Merge pull request #10151 from Kilo-Org/feat/default-model-to-free
feat(gateway): change default model to kilo-auto/free
2026-05-11 12:24:30 -04:00
Catriel Müller a0dcf76177 fix(cli): strip trailing sentence punctuation from URL matches in normalizeUrls
\S+ was greedily consuming trailing punctuation (. ! , ;) into the URL
match, causing new URL() to mutate clean ASCII URLs — e.g.
"see https://example.com." became "see https://example.com./".

Fix: strip trailing sentence punctuation before parsing, extract and
replace only the hostname (not href) to avoid adding trailing slashes to
bare origins, and restore the stripped tail afterward.
2026-05-11 13:18:49 -03:00
Catriel Müller 9064478949 test(cli): add unit tests for normalizeUrls homograph protection 2026-05-11 12:55:08 -03:00
Catriel Müller 9c572ccbb2 chore(kilo-docs): exclude example punycode domain from link checker 2026-05-11 12:15:16 -03:00
Catriel Müller ab8af8009f update source links 2026-05-11 12:10:38 -03:00
Marius ea023b06dd fix(cli): prune tool outputs for large requests (#10143)
* fix(cli): prune tool outputs for large requests

* chore(cli): annotate pruning changes

* fix(cli): preserve transforms after payload pruning
2026-05-11 17:09:06 +02:00
Catriel Müller da92a30007 fix: add missing kilocode_change markers to all annotated lines 2026-05-11 12:07:48 -03:00
Catriel Müller 9fe37aeb39 refactor: extract normalizeUrls into src/kilocode/util/url.ts
Move Kilo-specific URL normalization logic out of shared upstream files
and into a mirror file under src/kilocode/, with kilocode_change markers
at each call site per the fork merge minimization convention.
2026-05-11 11:57:12 -03:00
Catriel Müller 862fed158f fix(cli): normalize IDN hostnames to punycode in permission dialogs
Prevent homograph attacks where visually identical Unicode characters
(e.g. Cyrillic а vs Latin a) could trick users into approving malicious
URLs in bash and webfetch permission prompts.
2026-05-11 11:50:52 -03:00
Josh Lambert b3bde8e740 feat(gateway): change default model to kilo-auto/free 2026-05-11 10:43:12 -04:00
Kirill Kalishev ac9d833739 Merge pull request #10097 from Kilo-Org/accidental-matrix
JetBrains session history
2026-05-11 10:41:47 -04:00
Truffleandmarius-kilocode 00313bfcd4 fix(tool): clarify semantic_search returns snippets not file paths (#10142)
* fix(tool): clarify semantic_search returns snippets not file paths

The first description bullet read "Find files most relevant to the
search query using semantic search.", which led an AI agent to tell a
user that the tool returns file paths only. The tool actually returns
matching content with file paths, line ranges, and relevance scores.

Updates the first two description bullets to name the output shape
directly. No runtime change.

Closes #9767.

* test(cli): cover semantic_search description

---------

Co-authored-by: marius-kilocode <marius@kilocode.ai>
2026-05-11 14:15:41 +00:00
Catriel Müller 1b452c6cb8 Merge pull request #10145 from thomasboom/docs/cleanup-questions-readme
docs: move Kilo CLI origin to FAQ section
2026-05-11 11:03:41 -03:00
Catriel Müller f383258f80 Merge pull request #10121 from shssoichiro/apply-auto-to-subagents
fix(cli): apply `--auto` flag to subagents from Task tool
2026-05-11 11:02:53 -03:00
Josh Holmer 0676243df3 ux(cli): remove --dangerously-skip-permissions (#10114)
This flag currently does nothing. Presumably, it was recently added by
OpenCode upstream, but since Kilo already has the `--auto` flag, the
code that would handle `--dangerously-skip-permissions` is wired into
`--auto` instead.

Removing this useless flag avoids confusion for users.
2026-05-11 15:45:49 +02:00
Kirill Kalishev 29d456b2e6 Merge branch 'main' into accidental-matrix 2026-05-11 09:18:48 -04:00
Marius 57996115a1 fix(cli): prevent nested subagent delegation (#10137) 2026-05-11 09:18:02 -04:00
Catriel Müller 0a5807b1b8 fix(cli): improve model info panel scrollbar padding and capabilities display 2026-05-11 09:18:02 -04:00
Aarav Sharma 4065364a83 fix(model-info-panel): resolve review comments - merge imports, guard fmtDate, use Show render-prop 2026-05-11 09:18:02 -04:00
Aarav Sharma 9d4c4eefca feat(cli): improve model info panel with modality and description support 2026-05-11 09:18:02 -04:00
Marius baeec988a8 test(vscode): cover nested subagent cost breakdown (#10138) 2026-05-11 09:18:02 -04:00
kilo-maintainer[bot] 54e595e271 release: v7.2.50 2026-05-11 09:18:01 -04:00
Marius 482a3b19dd fix(vscode): correct subagent cost breakdown after sync (#10134) 2026-05-11 09:18:01 -04:00
kiloconnect[bot] 3a7ee126c0 fix(upstream): rename shadowing path local in writeVersion 2026-05-11 09:18:01 -04:00
kiloconnect[bot] 413c5ce3c3 feat(upstream): record last merged tag in .opencode-version
Avoids the ls-remote + merge-base --is-ancestor walk in last() for the
common case by reading the recorded tag from .opencode-version. merge.ts
writes the file as part of the pre-merge compat commit so future runs of
fix-kilocode-markers, reset-to-upstream, and find-reset-candidates can
resolve the base tag instantly. Seeded with v1.14.33 (PR #9978).
2026-05-11 09:18:01 -04:00
Mark IJbema 792a996f45 fix(upstream-merge): always reconcile package.json post-merge
git rerere learns conflict resolutions from past upstream merges and
replays them on the next merge. When past resolutions used the buggy
mergeWithNewestVersions ordering, rerere auto-resolves package.json
files with stale content before transformConflictedPackageJson ever
gets a chance to run — so the fixed merge logic never reaches the
file.

Add reconcileAllPackageJson, which runs after every merge (clean,
auto-resolved, or partially conflicted) and rewrites every package.json
that the merge touched from the kilo branch's pre-merge HEAD and the
opencode compat branch using the same merge logic. Files that are
still conflicted are skipped so manual resolution isn't silently
overwritten.

This makes our merge logic the source of truth for package.json
content, regardless of what rerere or git's textual merge produced.
2026-05-11 09:18:01 -04:00
Mark IJbema 3a03c7378e fix(upstream-merge): preserve ours' key order in package.json dep merge
Seeding the result with theirs' keys and appending ours-only keys at the
end caused kilo-only deps (e.g. rotating-file-stream in packages/core)
to relocate from the middle of the deps block to the end during the
pre-merge transform. Git's textual 3-way merge then saw ours keeping
the line in place and theirs adding the same key elsewhere, producing
a duplicate JSON key in the merged file.

Iterate ours first so kilo-only deps stay in their original position,
then append any theirs-only keys at the end.
2026-05-11 09:18:01 -04:00
Mark IJbema 7fb217b4d7 chore(upstream): preserve & prune root package.json entries on merge
The transform that materialises the 'kilo compat for vX.Y.Z' commit during
an upstream merge takes upstream's package.json wholesale and re-applies a
hand-picked list of Kilo scripts. That list was incomplete: it only covered
`extension`, `changeset`, `changeset:version`, `test`, and `test:ci`, so
every merge silently dropped Kilo's `postinstall` tail (`&& bun run
script/setup-git.ts`) and the `dev-setup` root shortcut, and it never
pruned upstream-only scripts (`dev:desktop` / `dev:web` / `dev:console`)
or upstream-only catalog entries (`@sentry/solid`,
`@sentry/vite-plugin`) whose target packages Kilo doesn't ship.

- replace the per-script if-blocks with data-driven PRESERVE_SCRIPTS
- add DELETE_UPSTREAM_SCRIPTS for scripts that reference packages Kilo
  doesn't ship
- add DELETE_UPSTREAM_CATALOG for catalog entries with zero Kilo consumers
- apply the same policy in both transformPackageJson (conflict path) and
  transformAllPackageJson (pre-merge sweep path) — previously the
  pre-merge sweep was missing `changeset` / `changeset:version`
  preservation
- new tests covering preservation, deletion, opencode test scripts, and
  the catalog pruning
2026-05-11 09:18:01 -04:00
Mark IJbema be47492e86 fix: restore root package.json entries dropped by upstream-compat
The automated kilo compat transform keeps upstream's root scripts/catalog
wholesale and only re-applies a handful of Kilo-specific scripts, which
silently dropped:

- postinstall's `&& bun run script/setup-git.ts` tail (needed to set
  merge.conflictStyle=zdiff3 locally, which upstream merges rely on)
- the `dev-setup` script shorthand
- kept dead `dev:desktop` / `dev:web` / `dev:console` scripts whose
  target packages aren't tracked in Kilo
- kept `@sentry/solid` / `@sentry/vite-plugin` catalog entries that
  have zero consumers in our tree
2026-05-11 09:18:01 -04:00
Imanol Maiztegui d01e63cb87 Fix cursor positioning when text ends with newline (#10133)
* fix(vscode): fix cursor positioning when text ends with newline

A trailing newline is collapsed in a <div> with white-space: pre-wrap
but renders as a real empty line in the <textarea>. Without an extra
<br>, the overlay ends up one line shorter than the textarea, which
desyncs scrollTop and makes the visible caret appear one line off from
where the textarea actually inserts text.

* docs(vscode): simplify comment explaining trailing newline br element
2026-05-11 09:18:01 -04:00
Marius 7fed01f8c0 fix(vscode): keep revert checkpoints accessible (#10129)
* fix(vscode): keep revert checkpoints accessible

* fix(vscode): format revert checkpoint guard
2026-05-11 09:18:01 -04:00
Marius 1465303b34 chore: ignore generated Kilo config artifacts (#10128)
* chore: ignore generated Kilo config artifacts

* chore: ignore Kilo config node modules
2026-05-11 09:18:01 -04:00
Marius 5bc05966ee fix(vscode): improve review comment icon contrast (#10130) 2026-05-11 09:15:52 -04:00
kiloconnect[bot] 55ea2c76b1 refactor(upstream): improve compatibility commit lookup using semver
Update `findLatestCompatCommit` to use semantic versioning when identifying the latest compatibility commit. This ensures the correct commit is selected even when upstream tags diverge or are not strictly linear.

- Add semver parsing and comparison utilities
- Implement `targetSemver` to resolve versions from tags or commit messages
- Filter and sort compatibility candidates by version relative to the target version
- Add test case for diverging upstream tags
2026-05-11 09:15:52 -04:00
kiloconnect[bot] 62447fc1fc fix: preserve upstream ancestry on kilo merge 2026-05-11 09:15:52 -04:00
kiloconnect[bot] 6dc1b25f8d fix: resolve compat bases from version tags 2026-05-11 09:15:52 -04:00
kiloconnect[bot] ca61c5c711 fix: keep compat branches linear 2026-05-11 09:15:52 -04:00
kiloconnect[bot] 241da24f66 fix: preserve upstream compat merge bases 2026-05-11 09:15:52 -04:00
kiloconnect[bot] 98fbee8a91 chore(upstream): implement compatibility base tracking for merges
Update the upstream merge script to identify and link to the previous compatibility commit. This ensures that pre-merge transformations maintain a proper commit history by using multiple parents when a prior compatibility base is found, rather than creating disconnected commits.

- Add `findLatestCompatCommit` to locate previous compatibility commits
- Implement `commitTree` and `updateBranch` for low-level git manipulation
- Update `merge.ts` to integrate compatibility base detection and multi-parent commits
2026-05-11 09:15:52 -04:00
Marius 47a13fd8f0 fix(vscode): stabilize shell command streaming (#10127) 2026-05-11 09:15:52 -04:00
Marius ef620c3141 fix(vscode): hide empty task header graph (#10125) 2026-05-11 09:15:52 -04:00
Marius 33a233fd11 fix(cli): prevent nested subagent delegation (#10137) 2026-05-11 15:13:08 +02:00
Thomas Boom f2d5b4e33a Merge branch 'main' into docs/cleanup-questions-readme 2026-05-11 15:07:12 +02:00
Thomas Boom d7d0415974 docs: move Kilo CLI origin to FAQ section
Added FAQ section with details about Kilo CLI's origin.
2026-05-11 15:04:12 +02:00
Catriel Müller 9e28ec7d05 Merge pull request #10120 from IamCoder18/cli-model-picker-parity
cli: improve model picker panel to match VS Code extension
2026-05-11 10:01:34 -03:00