Commit Graph

556 Commits

Author SHA1 Message Date
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
kirillk 410bae8c2a ci: add publish-jetbrains.yml to workflow allowlist 2026-05-14 13:19:02 -04: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
Marius 1988db53e3 chore: ignore generated Kilo config artifacts (#10128)
* chore: ignore generated Kilo config artifacts

* chore: ignore Kilo config node modules
2026-05-11 10:29:20 +02: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
Marius d2ae16a921 fix: support Azure provider endpoint setup (#10016)
Allow Azure provider connections to capture resource names or endpoint URLs so GPT-5 deployments can use the native Azure path instead of generic OpenAI-compatible setup.
2026-05-07 16:03:40 +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
Mark IJbema 68b2725f22 Merge pull request #9942 from Kilo-Org/mark/check-workflow-allowlist
ci: guard against upstream workflow additions
2026-05-06 09:27:07 +02:00
kiloconnect[bot] 37af1bc751 check-workflows: drop disabled list, only check runnable workflows 2026-05-06 07:11:04 +00:00
kiloconnect[bot] 0c21808597 fix(check-workflows): also catch .yaml files 2026-05-06 06:48:06 +00:00
kiloconnect[bot] ed973a93c0 annotate kilocode_change markers 2026-05-06 06:40:25 +00:00
kiloconnect[bot] 34959bfaac ci: guard against upstream workflow additions
Hardcodes the list of active and disabled workflows and fails CI when
.github/workflows/ drifts. Wired into check-opencode-annotations so we
don't add a new workflow file for this.
2026-05-06 06:38:28 +00:00
Catriel Müller ec57cd450c refactor: fix opencode annotations when rollback a kilocode change 2026-05-05 15:29:06 -03:00
Mark IJbema 4d14811e63 Merge pull request #9925 from Kilo-Org/chore/zdiff3-conflict-style
chore: enforce zdiff3 conflict style via postinstall
2026-05-05 17:37:01 +02:00
kiloconnect[bot] 05fabd3f1f chore: mark script/setup-git.ts with kilocode_change marker 2026-05-05 15:11:02 +00:00
Mark IJbema b5c584ceac Merge pull request #9916 from Kilo-Org/mark/sync-upstream-versions
chore: add sync-versions script for upstream merges
2026-05-05 17:05:13 +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
kiloconnect[bot] 3618565040 chore: annotate sync-versions.ts as kilocode new file 2026-05-05 13:45:44 +00:00
kiloconnect[bot] 6a989dc6bc chore: add sync-versions script for upstream merges
Upstream opencode stamps its own version into shared files (the Zed extension toml + any package.json it bumps), which leaves the tree pointing at an upstream release tag that doesn't exist on Kilo's pipeline — Zed download URLs silently 404 as a result.

script/sync-versions.ts rewrites every top-level package.json version and the Zed extension toml (version + 5 download URLs) to a single target in one shot. Defaults to the root package.json version, accepts an explicit version argument, and skips packages/kilo-jetbrains/ which tracks its own cadence.

Documented in .kilo/command/upstream-manual-merge.md as a dedicated step-10 commit after 'resolve merge conflicts' so version churn stays out of the behavioural merge commit.
2026-05-05 13:43:54 +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
Mark IJbema 23818a5127 Merge pull request #9896 from Kilo-Org/mark/skip-team-members
chore(upstream): skip files Kilo has removed from upstream
2026-05-05 12:49:41 +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 33891196c7 Merge pull request #9895 from Kilo-Org/mark/release-slack-prerelease-status
fix: show release type in Slack notifications
2026-05-05 12:15:27 +02: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
kiloconnect[bot] 47cab6b3df fix: show release type in Slack notifications 2026-05-05 09:12:27 +00:00