--- name: organize-update-log description: 根据 git 提交记录生成符合 Sa-Token 项目规范的更新日志内容。适用于分析指定版本之后的提交、提取变更并格式化为 update-log.md 风格。当用户需要生成更新日志、整理版本变更、或分析 release 之后的提交时使用。 --- # 整理更新日志 根据 git 提交记录,生成符合 `sa-token-doc/more/update-log.md` 格式的更新日志内容。 ## 使用时机 - 用户要求生成/整理更新日志 - 用户要求分析「某版本之后」的提交变更 - 用户要求将 git 提交格式化为更新日志风格 - 准备发布新版本前整理 changelog ## 工作流程 ### 第一步:确定基准版本 1. 询问用户基准版本(如 `v1.44.0`),或从上下文推断 2. 查找该版本的发布提交: - 在 `SaTokenConsts.java` 或 `pom.xml` 中搜索版本号 - 或执行:`git log --oneline --all -- sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java` 查找含 `release vX.X.X` 的提交 3. 记录基准提交 hash(如 `7bde74bc`) ### 第二步:获取提交列表 执行: ```bash git log <基准提交>..HEAD --oneline --format="%h %s" ``` 可选,获取更详细的变更文件: ```bash git log <基准提交>..HEAD --stat --format="=== %h %s ===" ``` ### 第三步:分类与映射 将每条提交按以下规则归类到对应板块: | 提交关键词/内容 | 归属板块 | |----------------|----------| | feat.*jackson、plugin、插件 | 插件 | | feat.*starter、spring-boot、reactor | starter | | refactor.*依赖、dependencies、模块 | 重构 | | refactor.*solon、gateway | Solon(单独列出) | | fix.*dubbo、dubbo3 | 插件 | | demo.*、示例 | 示例 或 starter | | docs.*、文档 | 文档 | | chore、.gitignore、.vscode | 其它 | | merge.*loveqq、maven-pull | 其它(含 PR 链接) | ### 第四步:动作词映射 根据提交类型选择正确的动作词: | 提交类型 | 动作词 | 示例 | |----------|--------|------| | feat、新增 | 新增 | 新增 `sa-token-jackson3` 插件 | | fix、修复 | 修复 | 修复 Maven 父子项目依赖下载问题 | | refactor、重构 | 重构 / 移除 | 重构模块依赖层级;移除 xxx 模块 | | 优化、perf | 优化 | 优化 Gateway 接口处理 | | 拆分 | 拆分 | (少见) | | 文档更新 | 同步/新增/优化/修复 | 按具体内容选择 | ### 第五步:按格式输出 使用下方模板生成最终内容。详见 [format-reference.md](format-reference.md)。 ## 输出模板 ```markdown ### vX.X.X @YYYY-M-D(或:开发中 / 未发布) - 插件: - 新增:xxx。 **[重要]**(如适用) - 修复:xxx。merge: [pr N](https://gitee.com/dromara/sa-token/pulls/N)(如适用) - starter: - 新增:xxx。 - 重构: - 重构:xxx。 - 移除:xxx。 - Solon:(如有) - 优化:xxx。merge: [pr N](url) - 示例:(如有) - 新增:xxx。 - 文档: - 同步:xxx。 - 新增:xxx。 - 优化:xxx。 - 修复:xxx。 - 其它: - 新增/修复/优化:xxx。 ``` ## 格式规则 1. **层级**:一级用 `-`,二级用 ` -`(Tab + 短横线) 2. **动作词**:每条以「新增」「修复」「重构」「优化」「移除」「同步」等开头 3. **重要标记**:对用户影响大的变更加 `**[重要]**` 4. **PR/Issue 链接**:提交信息含 `!358`、`pr 340` 等时,补充 `merge: [pr N](https://gitee.com/dromara/sa-token/pulls/N)` 5. **代码/模块名**:用反引号包裹,如 `` `sa-token-jackson3` `` 6. **合并同类**:多条相似文档类提交可合并为一条(如「同步公众号、博客、赞助者名单」) ## 常见板块 - **core**:核心逻辑、API、配置变更 - **SSO**:单点登录相关 - **OAuth2**:OAuth2 相关 - **插件**:插件包(jackson、dubbo、redis 等) - **starter**:Spring Boot / Reactor 等 starter - **示例**:demo 项目 - **文档**:文档、README、错别字 - **其它**:其它杂项 ## 注意事项 - 合并提交(Merge branch)可忽略,只保留实际变更的提交 - 纯文档/错别字可适度合并,避免条目过多 - 版本号未发布时,可写 `v1.45.0(开发中)` 或 `未发布` - 输出为可直接粘贴到 `update-log.md` 的 Markdown 片段