Skip to content

Commit 1e45df0

Browse files
authored
chore(release): bump kimi-cli 1.39.0 and kosong 0.52.0 (#2054)
1 parent 4335ee5 commit 1e45df0

10 files changed

Lines changed: 34 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Only write entries that are worth mentioning to users.
1111

1212
## Unreleased
1313

14+
## 1.39.0 (2026-04-24)
15+
1416
- Skill: Fix project-scope skills being ignored and user-scope skills silently winning name conflicts — the system prompt now groups discovered skills under `### Project` / `### User` / `### Extra` / `### Built-in` headings so the model can tell where each skill came from, and when the same name exists in multiple scopes the more specific scope wins (Project > User > Extra > Built-in) so a project's own `.kimi/skills/foo` or `.claude/skills/foo` correctly overrides a user-level or bundled `foo` instead of the other way around
1517
- Skill: Accept single-file `<name>.md` skills alongside the canonical `<name>/SKILL.md` subdirectory layout — useful when migrating a flat markdown collection into a skills directory; `name` defaults to the filename stem (frontmatter `name:` still wins if set), description follows the same three-step chain as subdirectory skills (frontmatter `description:` → first non-empty body line, capped at 240 characters → `"No description provided."` placeholder), and if a flat and a subdirectory skill share a name in the same directory the subdirectory wins with a warning
1618
- Skill: Add `extra_skill_dirs` config field for pulling in custom skill directories on top of the built-in / user / project auto-discovery — each entry may be an absolute path, a `~`-prefixed path (expanded against `$HOME`), or a path relative to the project root (the nearest `.git` ancestor of the work directory, not the current working directory); non-existent entries are silently skipped and symlink/trailing-slash duplicates canonicalize to a single root so a path listed twice or aliased to an already-discovered directory does not render twice in the system prompt

docs/en/release-notes/breaking-changes.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ This page documents breaking changes in Kimi Code CLI releases and provides migr
44

55
## Unreleased
66

7+
## 1.39.0
8+
9+
### `merge_all_available_skills` default flipped to `true`
10+
11+
The `merge_all_available_skills` config option default has changed from `false` to `true`. kimi-cli now merges all existing user- and project-level brand skill directories (`.kimi/skills`, `.claude/skills`, `.codex/skills`) by default instead of only using the first one found. Users who keep skills in multiple brand directories — for example both `~/.kimi/skills` and `~/.claude/skills` — will see every skill out of the box after upgrading.
12+
13+
- **Affected**: Users who maintain multiple brand skill directories and relied on the first-match behavior to hide duplicates
14+
- **Migration**: Set `merge_all_available_skills = false` in your config to restore the previous first-match behavior
15+
716
## 1.25.0
817

918
### Wire protocol 1.6 — subagent and approval field changes

docs/en/release-notes/changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ This page documents the changes in each Kimi Code CLI release.
44

55
## Unreleased
66

7+
## 1.39.0 (2026-04-24)
8+
79
- Skill: Fix project-scope skills being ignored and user-scope skills silently winning name conflicts — the system prompt now groups discovered skills under `### Project` / `### User` / `### Extra` / `### Built-in` headings so the model can tell where each skill came from, and when the same name exists in multiple scopes the more specific scope wins (Project > User > Extra > Built-in) so a project's own `.kimi/skills/foo` or `.claude/skills/foo` correctly overrides a user-level or bundled `foo` instead of the other way around
810
- Skill: Accept single-file `<name>.md` skills alongside the canonical `<name>/SKILL.md` subdirectory layout — useful when migrating a flat markdown collection into a skills directory; `name` defaults to the filename stem (frontmatter `name:` still wins if set), description follows the same three-step chain as subdirectory skills (frontmatter `description:` → first non-empty body line, capped at 240 characters → `"No description provided."` placeholder), and if a flat and a subdirectory skill share a name in the same directory the subdirectory wins with a warning
911
- Skill: Add `extra_skill_dirs` config field for pulling in custom skill directories on top of the built-in / user / project auto-discovery — each entry may be an absolute path, a `~`-prefixed path (expanded against `$HOME`), or a path relative to the project root (the nearest `.git` ancestor of the work directory, not the current working directory); non-existent entries are silently skipped and symlink/trailing-slash duplicates canonicalize to a single root so a path listed twice or aliased to an already-discovered directory does not render twice in the system prompt

docs/zh/release-notes/breaking-changes.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44

55
## 未发布
66

7+
## 1.39.0
8+
9+
### `merge_all_available_skills` 默认值翻转为 `true`
10+
11+
`merge_all_available_skills` 配置项的默认值从 `false` 改为 `true`。kimi-cli 现在默认会合并用户级和项目级所有已存在的品牌 Skills 目录(`.kimi/skills``.claude/skills``.codex/skills`),而不是仅使用找到的第一个。升级后,同时维护多个品牌目录(例如同时保留 `~/.kimi/skills``~/.claude/skills`)的用户会开箱即看到全部 Skills。
12+
13+
- **受影响**:同时维护多个品牌 Skills 目录,并依赖旧的"仅取第一个"行为来隐藏重复项的用户
14+
- **迁移**:在配置中显式设置 `merge_all_available_skills = false` 可恢复旧的仅匹配第一个目录的行为
15+
716
## 1.25.0
817

918
### Wire 协议 1.6——子 Agent 与审批字段变更

docs/zh/release-notes/changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
## 未发布
66

7+
## 1.39.0 (2026-04-24)
8+
79
- Skill:修复项目级 Skill 被忽略、用户级 Skill 在同名冲突时静默获胜的问题——系统提示现在会把发现到的 Skill 按 `### Project` / `### User` / `### Extra` / `### Built-in` 四个分组呈现,让模型能分辨出每个 Skill 来自哪一层;当同一 Skill 名称同时存在于多个作用域时,越具体的作用域优先(Project > User > Extra > Built-in),项目自身的 `.kimi/skills/foo``.claude/skills/foo` 现在能正确覆盖用户级或内置的同名 `foo`,而不是被它们覆盖
810
- Skill:除了标准的 `<name>/SKILL.md` 子目录结构之外,现在也会识别 Skills 目录下的扁平 `<name>.md` 单文件 Skill——便于将扁平 Markdown 集合迁移到 Skills 目录;`name` 默认取文件名去掉 `.md` 后的部分(frontmatter 里显式写了 `name:` 时以 frontmatter 为准),描述解析与子目录形式统一走同一条三级链(frontmatter `description:` → 正文第一个非空行,超过 240 字符会截断 → `"No description provided."` 兜底);当同目录下扁平 `.md` 和子目录形式同名时,以子目录为准,并记录一条警告日志
911
- Skill:新增 `extra_skill_dirs` 配置项,用于在内置 / 用户级 / 项目级自动发现的基础上追加自定义 Skills 目录——每一项可以是绝对路径、`~` 前缀路径(会按 `$HOME` 展开),或相对于项目根的路径(即 `work_dir` 向上第一个包含 `.git` 的目录,不是当前工作目录);不存在的条目会被静默跳过,同一路径的软链接或带尾部斜杠的写法会被 canonicalize 归并为一条根,避免同一目录在系统提示里重复出现

packages/kimi-code/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[project]
22
name = "kimi-code"
3-
version = "1.38.0"
3+
version = "1.39.0"
44
description = "Kimi Code is a CLI agent that lives in your terminal."
55
readme = "README.md"
66
requires-python = ">=3.12"
7-
dependencies = ["kimi-cli==1.38.0"]
7+
dependencies = ["kimi-cli==1.39.0"]
88

99
[project.scripts]
1010
kimi-code = "kimi_cli.__main__:main"

packages/kosong/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## Unreleased
44

5+
## 0.52.0 (2026-04-24)
6+
57
- Kimi: Add `keep` to `ThinkingConfig` (Moonshot `thinking.keep` passthrough for Preserved Thinking); value is typed as `Any` and forwarded unchanged, with case-preservation and no validation — callers choose a value the server accepts (e.g. `"all"`)
68
- Kimi: Fix `with_extra_body` silently dropping earlier `thinking.*` fields on subsequent calls — the `thinking` sub-dict is now merged field-by-field so composing `with_thinking(...)` with `with_extra_body({"thinking": {...}})` preserves both contributions; other top-level keys retain last-writer-wins semantics
79
- Kimi: Normalize MCP tool parameter schemas before sending to Moonshot — properties that declare `enum`/`const` but no `type` (or have no type hint at all) get an inferred `type` filled in, so MCP servers whose schemas are valid JSON Schema but not strict enough for Moonshot's validator (notably the JetBrains Rider MCP, whose `truncateMode` property is enum-only) no longer make every request fail with `400 At path 'properties.X': type is not defined`; the normalization is Kimi-specific and leaves OpenAI/Anthropic conversions untouched

packages/kosong/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "kosong"
3-
version = "0.51.0"
3+
version = "0.52.0"
44
description = "The LLM abstraction layer for modern AI agent applications."
55
readme = "README.md"
66
requires-python = ">=3.12"

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "kimi-cli"
3-
version = "1.38.0"
3+
version = "1.39.0"
44
description = "Kimi Code CLI is your next CLI agent."
55
readme = "README.md"
66
requires-python = ">=3.12"
@@ -9,7 +9,7 @@ dependencies = [
99
"aiofiles>=24.0,<26.0",
1010
"aiohttp==3.13.3",
1111
"typer==0.21.1",
12-
"kosong[contrib]==0.51.0",
12+
"kosong[contrib]==0.52.0",
1313
# loguru stays >=0.6.0 because notify-py (via batrachian-toad) caps it at <=0.6.0 on 3.14+.
1414
"loguru>=0.6.0,<0.8",
1515
"prompt-toolkit==3.0.52",

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)