编年史
0.8.0
一个快速变更日志生成器,可从 GitHub PR 和问题中获取变更,并按标签组织。
创建从上一个 GitHub 版本到当前目录中 git 存储库的当前 git HEAD 标记/提交的变更日志:
编年史
创建一个变更日志,其中包含从 v0.16.0 到当前目录中 git 存储库的当前 git HEAD 标记/提交的所有更改:
编年史--since-tag v0.16.0
在给定路径的存储库的两个特定标签之间创建变更日志
历史 --since-tag v0.16.0 --until-tag v0.18.0 ./path/to/git/repo
创建变更日志并从变更日志中的更改集猜测发布版本
编年史-n
只需根据更改集猜测下一个发行版本(不要创建更改日志)
编年史下一个版本
卷曲-sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
...或者,您可以指定安装的发行版本和目标目录:
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b
配置搜索路径:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
配置选项(示例值为默认值):
# 变更日志的输出格式# 与 -o、--output 和 CHRONICLE_OUTPUT env varoutput: md# 抑制所有日志输出# 与 -q 相同; CHRONICLE_QUIET env varquiet: false# 所有日志记录选项log: # 使用结构化日志记录 # 与 CHRONICLE_LOG_STRUCTURED 相同 env var Structured: false # 日志级别 # 与 CHRONICLE_LOG_LEVEL 相同 env var level: "warn" # 写入日志文件的位置(默认不是有一个日志文件) # 与 CHRONICLE_LOG_FILE 相同 env var file: ""# 根据当前版本和更改集猜测下一个发行版本是什么(不能与 --until-tag 一起使用)# 与 --speculate- 相同下一个版本 / -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# 覆盖变更日志的起始 git 标签(默认是自动检测最后一个版本)# 与 --since-tag / -s 相同; CHRONICLE_SINCE_TAG env varsince-tag: ""# 覆盖变更日志的结束 git 标签(默认是使用标签或在 git HEAD 提交)# 与 --until-tag / -u 相同; CHRONICLE_SINCE_TAG env varuntil-tag: ""# 如果当前发行版本 < v1.0,则重大更改将更改次要版本字段# 与 CHRONICLE_ENFORCE_V0 相同 env varenforce-v0: false# 用于变更日志的标题# 与 CHRONICLE_TITLEtitle 相同: Changelog#所有与 github 相关的设置github: # 要使用的 github 主机(覆盖 github 企业部署) # 与 CHRONICLE_GITHUB_HOST env var host: github.com 相同 # 不考虑任何给定标签的任何问题或 PR # 与 CHRONICLE_GITHUB_EXCLUDE_LABELS env var except-labels 相同: - 复制 - 问题 - 无效的 - 不会修复 - 不会修复 - 释放-忽略 - 更改日志忽略 - 忽略 # 将合并的 PR 视为候选变更日志条目(必须具有来自 'github.changes' 条目的匹配标签) # 与 CHRONICLE_GITHUB_INCLUDE_PRS env var include-prs: true # 将已关闭的问题视为候选变更日志条目(必须具有来自'github.changes' 条目) # 与 CHRONICLE_GITHUB_INCLUDE_ISSUES 相同 env var include-issues: true # 仅当更新日志候选者具有合并的链接 PR 时,才能考虑问题(注意:不需要设置 github.include-issues) # 与 CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS 环境变量相同 issues-require-linked-prs: false # 应用于问题或 PR 的标签构成变更日志条目的定义列表。这些条目还规定了变更日志部分、变更日志标题和最能代表变更类别的 semver 字段。 # 注意:无法通过环境变量设置更改:[...<条目列表>...] # 有关更多详细信息,请参阅“默认 GitHub 更改定义”部分
github.changes
可配置是一个映射列表,每个映射都采用以下字段:
name
: [字符串]最能代表更改的单数、小写、连字符分隔(无空格)名称(例如“突破性更改”、“安全性”、“添加功能”、“增强功能”、“新功能”、 ETC)。
title
: [string]更改日志中列出所有条目的部分的标题。
semver-field
: [字符串]更改条目在猜测下一个发行版本时将碰撞相应的 semver 字段。允许的值: major
、 minor
或patch
。
labels
: [字符串列表]应与此更改部分匹配的所有问题或 PR 标签。
github.changes
的默认值为:
- 名称:安全修复标题:安全修复 semver 字段:补丁标签: - 安全 - 脆弱性 - 名称:添加的功能标题:添加的功能 semver-field:次要标签: - 增强 - 特征 - 次要的 - 名称:错误修复标题:错误修复 semver 字段:补丁标签: - 漏洞 - 使固定 - 错误修复 - 修补 - 名称:重大功能标题:重大更改 semver 字段:主要标签: - 打破 - 向后不兼容 - 突破性改变 - 破坏功能 - 主要的 - 名称:删除的功能标题:删除的功能 semver-field:主要标签: - 删除 - 名称:已弃用的功能标题:已弃用的功能 semver-field:次要标签: - 已弃用- 名称:未知标题:其他更改