composer 无内置命令查看依赖更新日志,唯一可靠起点是 composer show -s 获取 source.url,据此拼出 github releases 或 changelog.md 链接手动查阅。

Composer 没有内置命令能直接查看依赖包的更新日志——composer show --changelog、composer log、composer outdated --verbose 全部无效,执行即报错或静默忽略。
composer show -s 是唯一可靠起点,不是终点
它不显示日志,但输出 source.url 字段,这才是你手动查日志的唯一可信入口。这个 URL 是安装时实际拉取的 Git 地址,比 composer.json 里的 support.source 或 homepage 更真实。
- 如果
source.url是https://github.com/monolog/monolog.git,去掉.git,拼成https://github.com/monolog/monolog/releases——90% 的变更摘要都在这里 - 若返回 404,改用
/blob/main/CHANGELOG.md(注意大小写,也可能是/blob/master/changelog.md或/blob/6.x/CHANGELOG.md) -
source字段为空?说明是 dist 安装,vendor/下无 Git 历史,git log不可用,只能靠homepage或手动猜仓库地址
GitHub Releases 页面比 CHANGELOG.md 更值得优先点开
很多包的 CHANGELOG.md 更新滞后、格式混乱,或只覆盖主版本;而 GitHub Releases 是每个 tag 的正式发布快照,含作者手写的升级提示、破坏性变更标注、diff 链接。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 别点 “Code” 标签翻目录,直接点右上角 Releases 标签页
- 找对应版本号的 tag(如
v3.5.0),不是main或dev分支 - 部分包(如 Symfony)按分支维护日志:
https://github.com/symfony/console/blob/6.4/CHANGELOG.md,路径中的分支名必须和你要查的版本匹配 - 用 GitHub 搜索框输
filename:CHANGELOG.md或path:/^changelog/i,比手动翻快得多
想看两个版本间具体改了啥?git diff 有条件可用
这一步只在满足全部条件时才可行:包以 source 方式安装(composer show vendor/package 中 source.url 非空)、你知道精确的旧/新版本号(如从 composer outdated 抄来的 v3.4.0 → v3.5.0)。
- 进目录执行:
git -C vendor/vendor/package diff --stat v3.4.0..v3.5.0 - 加
--name-only只看改动文件列表,加-- changelog.md专注日志文件变更 - 若报
fatal: ambiguous argument,先运行git -C vendor/vendor/package fetch --tags - 没装 source?临时克隆:
git clone https://github.com/vendor/package.git /tmp/pkg && cd /tmp/pkg && git diff --stat v3.4.0..v3.5.0
别信 composer outdated 的任何“详细模式”
composer outdated 只做本地版本号比对,输出静态快照,不联网、不解析、不标 BC break。加 --security-only 只告诉你“有漏洞”,不告诉你“怎么修”;加 --format=json 也只是结构化版本号,依然不含日志内容。
-
composer outdated --direct可过滤子依赖,只看你自己require的包 -
composer outdated --minor-only跳过主版本升级,适合日常巡检 - 看到
symfony/console 5.4.36 → 6.4.8?别只抄版本号,立刻去https://github.com/symfony/console/blob/6.4/CHANGELOG.md查分支专属日志 - 安全更新和重大变更不会自动标出,必须人工锚定关键版本节点
真正难的不是找链接,而是确认那个版本号对应哪份文档——有些包把 v3.5.0 的日志写在 main 分支的 CHANGELOG.md 里,有些却只放在 3.x 分支的 UPGRADING.md 中,甚至只塞在 tag 的注释里。手动点开 Releases 页面,仍是目前最稳的选择。










