Commit Graph
251 Commits
Author SHA1 Message Date
kilo-maintainer[bot] b10b4c5d74 release: v7.3.6 2026-05-21 13:21:21 +00:00
kilo-maintainer[bot] 13e900f630 release: v7.3.5 2026-05-21 12:30:15 +00:00
kilo-maintainer[bot] 87fd1d6016 release: v7.3.4 2026-05-21 08:18:26 +00:00
kilo-maintainer[bot] 90bc4b0fb3 release: v7.3.3 2026-05-21 07:38:43 +00:00
kilo-maintainer[bot] 841687d57f release: v7.3.2 2026-05-20 13:56:06 +00:00
Imanol Maiztegui 2d84bfb01e Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.34 2026-05-20 08:59:50 +02:00
kilo-maintainer[bot] f6bb9972e8 release: v7.3.1 2026-05-19 14:01:52 +00:00
Imanol Maiztegui f9679c4771 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.34 2026-05-19 15:56:46 +02:00
Mark IJbema 523e3d8f03 chore: remove upstream vscode sdk 2026-05-19 10:50:27 +02:00
Catriel Müller 2aa1b95074 refactor: resolve comments 2026-05-18 11:45:36 -03:00
Imanol Maiztegui 09923fbe52 style: apply formatting and lint fixes across packages
Reformat code with consistent line breaks, trailing commas, semicolons,
and line-length compliance. No logic changes — purely whitespace,
indentation, and punctuation adjustments driven by the project formatter.

- Break long function signatures and conditionals across multiple lines
- Remove trailing blank lines and stray leading newlines
- Replace string-expression JSX whitespace with literal spaces
- Convert quoted object keys to unquoted where valid
- Remove erroneous shell command prefix from openapi.json
- Deduplicate SessionNetworkWait1 schema and simplify Finite unions to
  plain number type in OpenAPI spec
2026-05-18 12:40:16 +02:00
Imanol Maiztegui e68fd6781d resolve merge conflicts 2026-05-15 13:13:17 +02:00
kilo-maintainer[bot] d1404579fa release: v7.3.0 2026-05-15 10:22:34 +00:00
kilo-maintainer[bot] 8de6c2ea86 release: v7.2.54 2026-05-15 08:44:02 +00:00
kilo-maintainer[bot] 645e805250 release: 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
kilo-maintainer[bot] 7a69410acc release: v7.2.50 2026-05-11 11:14:30 +00:00
Mark IJbema 08a3e0a099 Merge pull request #10131 from Kilo-Org/mark/opencode-version-file
feat(upstream): record last merged tag in .opencode-version
2026-05-11 11:31:28 +02:00
Mark IJbema 8155e3a50f Merge pull request #10003 from Kilo-Org/mark/fix-root-pkgjson-regressions
fix: restore root package.json entries dropped by upstream-compat
2026-05-11 11:31:03 +02:00
kiloconnect[bot] 5b8121ea5c fix(upstream): rename shadowing path local in writeVersion 2026-05-11 08:51:59 +00:00
kiloconnect[bot] 8710e9d9de 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 08:11:40 +00:00
Mark IJbema ee3ee5b06b 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 10:02:35 +02:00
Mark IJbema d79664f084 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 10:02:34 +02:00
Mark IJbema a156e7a98d 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 10:02:34 +02:00
Mark IJbema 2d37f83daa Merge pull request #9852 from Kilo-Org/mark/upstream-compat-base
fix: preserve upstream compat merge bases
2026-05-11 09:59:59 +02:00
kilo-maintainer[bot] 9d37a1aead release: v7.2.49 2026-05-09 20:12:04 +00:00
kilo-maintainer[bot] e306eb3f79 release: v7.2.48 2026-05-08 14:13:57 +00:00
kilo-maintainer[bot] b7f436b5b7 release: v7.2.47 2026-05-08 09:13:52 +00:00
Mark IJbema 76f49645f6 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-07 16:12:34 +02:00
kilo-maintainer[bot] 8699edd5a3 release: v7.2.44 2026-05-07 13:16:09 +00:00
Catriel Müller f40970557f refactor: renegare sdk 2026-05-06 14:26:06 -03:00
kiloconnect[bot] 70fde2221e 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-06 14:34:13 +00:00
Mark IJbema ca36a75c2d Merge branch 'main' into mark/upstream-merge-head-base 2026-05-06 11:52:23 +02:00
Mark IJbema ed9a538668 Merge branch 'main' into mark/upstream-compat-base 2026-05-06 11:41:39 +02:00
kiloconnect[bot] e88dd31421 feat: support HEAD as upstream merge base 2026-05-06 09:38:26 +00:00
Mark IJbema c4a9ab912f Merge branch 'main' into session/agent_a6ecf426-6df9-4de2-832c-c3835090b68b 2026-05-06 11:22:24 +02:00
kilo-maintainer[bot] b1349843c8 release: v7.2.42 2026-05-06 09:05:30 +00:00
Mark IJbema ef45bedc33 Merge branch 'main' into session/agent_a6ecf426-6df9-4de2-832c-c3835090b68b 2026-05-06 10:25:08 +02:00
kiloconnect[bot] c239a6bb22 chore(config): enforce zdiff3 conflict style via postinstall
Add a new setup script to configure `merge.conflictStyle=zdiff3` locally
within the repository. This ensures that the common ancestor is visible
during merge conflicts, which is required for structural resolution by
`mergiraf` and simplifies manual conflict resolution.

The configuration is applied during `bun install` via the `postinstall`
hook and remains as a fallback for the upstream merge utilities.
2026-05-05 14:49:50 +00:00
Mark IJbema 0c5ec06f6e fix(upstream): pre-filter big + policy-protected files
Fixes hang when running the finder from the repo root without a path
scope. Root cause: upstream-only packages (packages/console, packages/web,
packages/desktop, etc. in config.skipFiles) contain multi-megabyte
media assets that stall concurrent Bun `git show` subprocesses on the
pipe buffer.

Changes:
- Batch upstream blob sizes in one `git cat-file --batch-check`
  subprocess before classifying anything. Files with missing upstream
  land directly in `upstream-missing`; files > 256 KB land in the new
  `too-large` bucket. Only sane-sized survivors get per-file `git show`.
- Filter out files matching the merge config's `keepOurs` and
  `skipFiles` globs (.github workflows, translated READMEs, upstream-
  only packages, etc.) — these are intentionally preserved or removed
  in Kilo and would otherwise pollute the report and tempt incorrect
  resets.

Full-repo dry-run now completes in ~2s.
2026-05-05 15:25:37 +02:00
Mark IJbema c1accfa588 fix(upstream): stop finder hanging on big assets
Replace the subprocess-based line diff in classifyDrift with an
in-process multiset diff (approxDiff) so concurrent classifications
don't deadlock on big text files like sprite.svg via Bun $.quiet()
pipe-buffer stalls.

Also filter non-code assets (SVG, PNG, fonts, archives, lock files,
etc.) before classification so they don't bloat the report or stress
git subprocesses. Switch kilo-only path excludes to glob pathspecs so
every packages/kilo-*/ and **/kilocode/** dir is excluded without
maintaining a hand list.

Rename the 'whitespace-only' bucket to 'cosmetic-only' — with the
multiset diff it also catches line reordering, so the old label was
misleading.
2026-05-05 14:17:33 +02:00
Mark IJbema 3f2ea7188b chore(upstream): add find-reset-candidates helper
Bulk-finds files that have drifted insignificantly from the last merged
upstream and (optionally) resets them. Extracts shared clean/changed
marker helpers into utils/markers.ts and shared reset logic into
utils/reset.ts so both the single-file reset helper and the new finder
use the same classification pipeline.
2026-05-05 13:44:01 +02:00
kiloconnect[bot] 6986b2b879 chore(upstream): skip files Kilo has removed from upstream
Add .github/TEAM_MEMBERS and other files Kilo has deleted to skipFiles
so future upstream merges auto-remove them via git rm instead of
surfacing delete-by-us conflicts that need manual resolution.

Also drop the stale github/.gitignore entry from keepOurs (the file
does not exist in Kilo main; keepOurs was a no-op) and move it to
skipFiles so upstream's copy is dropped on merge instead of added.
2026-05-05 10:27:26 +00:00
Mark IJbema 694773a7c9 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-05 11:30:58 +02:00
Mark IJbema e77c6c005a Merge pull request #9889 from Kilo-Org/mark/reset-file-to-upstream
Add reset-to-upstream helper
2026-05-05 11:29:48 +02:00
kilo-maintainer[bot] 8fcc77a2ae release: v7.2.40 2026-05-05 09:05:27 +00:00
kiloconnect[bot] 33aa8e5184 fix(cli): isolate upstream rerere training 2026-05-05 08:40:26 +00:00
kilo-maintainer[bot] 4e1bae01ae release: v7.2.39 2026-05-05 08:30:11 +00:00
kiloconnect[bot] b59dfaa642 fix: preserve binary upstream resets 2026-05-05 08:28:57 +00:00
kiloconnect[bot] 6e3ddaad60 feat: add reset-to-upstream script 2026-05-05 08:19:17 +00:00