Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Release script skips version bump for packages with only lockfile changes

未关闭 适合新手
#3,870 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@haosenwang1018 已经在做这个了。

开始于 2026年4月11日。

  • #3892 来自 @JosephDoUrden —— 已关闭,未合并
  • #3905 来自 @haosenwang1018 —— 未关闭
  • #3969 来自 @Christian-Sidak —— 已关闭,未合并
  • #4020 来自 @Will-hxw —— 已关闭,未合并

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
75/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
冷清
技术栈
python

调研方向

从 scripts/release.py 中的 has_changes() 开始,检查如何筛选已更改的文件以进行软件包版本升级。使用 src/git/uv.lock 重现 2026.1.14 到 2026.1.26 的情况,然后验证当软件包目录只有锁文件更改时,发布流程会将 src/git/pyproject.toml 更新为版本 2026.1.26。

由索引模型根据 Issue 内容生成。

描述

bug

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

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

modelcontextprotocol/servers 的其他 Issue

查看 modelcontextprotocol/servers 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。