Release script skips version bump for packages with only lockfile changes
维护者通常 1 天内回复
@haosenwang1018 已经在做这个了。
开始于 2026年4月11日。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 75/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 冷清
- 技术栈
- python
- 领域
- build-system, release
调研方向
从 scripts/release.py 中的 has_changes() 开始,检查如何筛选已更改的文件以进行软件包版本升级。使用 src/git/uv.lock 重现 2026.1.14 到 2026.1.26 的情况,然后验证当软件包目录只有锁文件更改时,发布流程会将 src/git/pyproject.toml 更新为版本 2026.1.26。
由索引模型根据 Issue 内容生成。
描述
Describe the bug
has_changes() in scripts/release.py only considers .py and .ts files when deciding which packages to version-bump at release time:
relevant_files = [f for f in changed_files if f.suffix in [".py", ".ts"]]
return len(relevant_files) >= 1
If a sub-package only has lockfile changes between tags (e.g. uv.lock from dependabot), the function returns False and the package's pyproject.toml version is never bumped to the CalVer tag. It keeps whatever stale version is on main.
To Reproduce
Between tags 2026.1.14 and 2026.1.26, the only change in src/git/ was uv.lock:
git diff --name-only 2026.1.14 2026.1.26 -- src/git/
# src/git/uv.lock
The release script skipped src/git/, so pyproject.toml stayed at 0.6.2:
git show 2026.1.26:src/git/pyproject.toml | grep '^version'
# version = "0.6.2"
git show 2026.1.14:src/git/pyproject.toml | grep '^version'
# version = "2026.1.14"
Expected behavior
src/git/pyproject.toml should read version = "2026.1.26" on the 2026.1.26 tag, since the package directory had changes included in that release.
Logs
N/A this is in the release automation, not a runtime issue.
Additional context
Downstream consumers (SBOM generators, CVE scanners) key off the version in pyproject.toml. When it says 0.6.2, advisories with CalVer "fixed in" thresholds never match, so scanners flag the package as vulnerable even though the source is identical to a patched release.
- 主要语言
- TypeScript
- 星标
- 91.4k
- 派生
- 11.8k
- 平均合并
- 7 小时 51 分钟
- 30 天内合并 PR
- 121
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
modelcontextprotocol/servers 的其他 Issue
-
documentation v2
难度 2/5 1-3 小时 新手友好度 78/100
modelcontextprotocol/servers#5170 ·
维护者通常 1 天内回复
-
documentation v2
难度 2/5 1-3 小时 新手友好度 72/100
modelcontextprotocol/servers#5164 ·
维护者通常 1 天内回复
-
memory: persistence EISDIR test fails on Node 26.7 (the path suffix depends on the Node minor, not the major)可能已有人在做 @ace-ify 今天认领。 未关闭bug server-memory v2
难度 2/5 1-3 小时 新手友好度 83/100
modelcontextprotocol/servers#5162 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
modelcontextprotocol/servers#5156 ·
维护者通常 1 天内回复
-
memory: create_entities, create_relations and add_observations could declare idempotentHint: true可能已有人在做 @syedmustafan 于 2 天前认领。 未关闭enhancement v2
难度 1/5 1 小时以内 新手友好度 78/100
modelcontextprotocol/servers#5153 · 2 条评论 ·
维护者通常 1 天内回复
查看 modelcontextprotocol/servers 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
ccch1mneyyy/dsh-TUI#1631 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
MiniMax-AI/minimax-code#507 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
-
Transient OAuth login failure persists in getLoginStatus and masks active account in dashboard可能重新可做 关联的 PR 已关闭且未合并。 未关闭account-pool bug gui
难度 2/5 1-3 小时 新手友好度 67/100
lidge-jun/opencodex#7378 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复