composer 原生命令(如 show、outdated)不读取或显示更新日志,因其仅解析本地元数据或比对版本号,不访问远程仓库、changelog.md 或 github releases;查日志需手动结合 homepage、github url 或 git log。

Composer 本身不提供依赖包的更新日志(changelog)查看能力,composer show 和 composer outdated 都不会拉取或显示任何变更说明、提交记录或版本间差异内容。
为什么 composer show 看不到更新日志
composer show 读的是本地 vendor/composer/installed.json,只包含已安装包的名称、版本、描述、依赖列表和安装路径等静态元数据。它不连接远程仓库,也不解析 CHANGELOG.md 或 GitHub release 页面。
- 执行
composer show laravel/framework只会输出类似versions : * 10.48.0的信息,没有“这次更新加了什么功能” - 即使包作者维护了规范的
CHANGELOG.md,Composer 也完全不读它 - 私有包、Git 仓库直连包、未打 tag 的 dev 分支包,更无统一日志入口
composer outdated 能告诉你“可升”,但不告诉你“改了啥”
这个命令只做两件事:比对 composer.lock 中当前版本 vs Packagist 上最新稳定版;再按你 composer.json 里的约束判断是否允许升级。它不下载、不解析、不展示任何变更文本。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 输出里只有三列:
name、current、latest,比如spatie/laravel-backup 9.5.2 10.4.0 - 加
--all或--direct也只是调整显示范围,不会多出一行 changelog 链接 - 如果某包没维护 release notes,或者把日志放在官网文档而非 GitHub,
outdated就彻底没线索
真正能查到更新内容的实操路径
目前没有 Composer 原生命令能替代人工查日志,但你可以用组合方式快速定位关键变更:
- 先用
composer show vendor/package -i确认当前安装的精确版本和源类型(dist / git),尤其注意 commit hash(如果是 dev 分支) - 再查该包的
homepage字段:composer show vendor/package | grep homepage,Laravel、Symfony 等主流包通常把完整变更日志放在 docs 网站 - 对 GitHub 托管的包,手动拼 URL:
https://github.com/vendor/package/blob/main/CHANGELOG.md,或直接访问 Releases 页面 - 如果要对比两个版本间的差异,且是 Git 包,可用:
git log v9.5.2..v10.4.0 --oneline CHANGELOG.md(需先 clone 到本地并确认该文件被 track)
别信 composer update --dry-run 会带日志
它只模拟依赖解析过程,输出将要安装的版本号,不触发任何远程请求,也不会读取或展示 changelog。所谓“预览更新”仅限于版本映射,不是变更预览。
如果你刚升级完发现行为异常,最实际的做法是:立刻用 composer show vendor/package -i 锁定版本,然后去对应项目的官方 CHANGELOG 或 release notes 页面逐条比对——这块自动化依然缺位,得靠人锚定关键节点。










