变更日志怎么写
面向使用者的版本化变更说明:按版本分组,用「新增、变更、修复、移除」这类类型记录可感知的变化,而不是把提交日志直接罗列成流水账。它关心使用者会遇到什么变化,而不是开发过程中的每一步。
基本信息
| 面向对象 | 使用者与集成方 |
|---|---|
| 结构 | 版本号加类型分组,例如新增、变更、修复、移除 |
| 与提交的区别 | 提交是过程记录,变更说明是结果描述 |
| 版本对应 | 每个条目对应一个发布版本,与标签保持一致 |
| 维护时机 | 随改动同步更新,而不是发布前突击补写 |
典型使用场景
- 对外发布时需要告知使用者有哪些变化
- 升级前需要判断是否影响兼容性
- 内部服务变更需要通知调用方
- 需要把破坏性变更单独标注出来
- 给使用者一个可长期查阅的版本历史
文件片段示例
文件片段示例
## [2.4.0] - 2026-10-01
### 新增
- 单点登录与账号绑定
### 修复
- 修正重试计数溢出导致的连接中断
### 变更
- 默认超时从 30 秒调整为 10 秒
### 破坏性变更
- 移除旧版回调地址,请改用新版地址分组类型
| 分组 | 记录内容 |
|---|---|
| 新增 | 新增的能力或接口 |
| 变更 | 行为、默认值或配置的变化 |
| 修复 | 缺陷修复,并说明影响面 |
| 移除与弃用 | 将要下线的内容及替代方案 |
变更说明写「发生了什么变化」,与发布说明互补:一个看长期历史,一个看本次升级的注意事项。
破坏性变更必须单独标注并给出迁移方式,否则使用者升级时只能靠试错摸索。
随改动同步更新比发布前突击补写省事:改动还在脑子里时写下的描述更准确。
版本分组与标签保持一致,排查版本差异时两边才能对上号。