变更日志维护Skill changelog-maintenance

这个技能用于创建和维护项目变更日志,遵循Keep a Changelog格式和语义化版本控制,适用于记录版本历史、生成发布说明、跟踪重大变更等。

DevOps 0 次安装 14 次浏览 更新于 3/3/2026

变更日志维护

概览

创建并维护结构化的变更日志,记录项目的所有重大变更,遵循行业最佳实践,如Keep a Changelog和语义化版本控制。

何时使用

  • 版本历史文档
  • 发布说明生成
  • 重大变更跟踪
  • 迁移指南创建
  • 弃用通知
  • 安全补丁文档
  • 功能公告
  • 错误修复跟踪

CHANGELOG.md 模板

# 变更日志

本项目的所有重大变更都将记录在此文件中。

格式基于[Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
并且本项目遵循[语义化版本控制](https://semver.org/spec/v2.0.0.html)。

## [未发布]

### 新增
- 新增功能或能力
- 可以有多个项目

### 变更
- 现有功能的变更
- 功能工作方式的更新

### 弃用
- 将在即将发布的版本中移除的功能
- 包括移除的时间表

### 移除
- 已移除的功能
- 之前弃用的功能

### 修复
- 错误修复
- 安全补丁

### 安全
- 已修复的安全漏洞
- 重要的安全更新

## [2.1.0] - 2025-01-15

### 新增
- 为GitHub和Google添加了OAuth2认证支持
- 新的仪表板小部件系统,用于可定制的布局
- 批量操作API,用于处理多个记录
- 支持自定义模板的Excel导出功能
- 所有页面支持暗色模式主题
- 支持实时通知的WebSocket
- 与现有REST端点一起的GraphQL API
- 支持10种新语言的国际化
  - 西班牙语、法语、德语、意大利语、葡萄牙语
  - 日语、韩语、中文(简体/繁体)、阿拉伯语

### 变更
- 更新了带有改进布局和性能的个人资料页面
- 从REST迁移到GraphQL作为主要API端点
- 改进了错误消息,提供更多上下文和建议
- 重构认证系统以提高安全性
- 更新到最新版本的依赖
  - React 18.2.0 → 19.0.0
  - Node.js 16.x → 18.x(最低所需版本)
  - PostgreSQL 13 → 14
- 将默认分页从20更改为50个项目
- 改进了搜索算法,结果速度提高3倍

### 弃用
- REST API v1端点(将在v3.0.0中移除)
  - 使用GraphQL API或REST API v2代替
  - 迁移指南:[docs/migration-v1-to-v2.md](docs/migration-v1-to-v2.md)
- 旧的认证令牌(将在2025-06-01之前移除)
  - 替换为JWT令牌
- `config.json`中的旧配置格式
  - 使用`config.yaml`中的新YAML格式

### 移除
- 移除了弃用的`/api/users/list`端点
  - 使用`/api/v2/users`代替
- 移除了对Internet Explorer 11的支持
  - 最低浏览器版本:Chrome 90+、Firefox 88+、Safari 14+、Edge 90+
- 移除了jQuery依赖(现在使用纯JavaScript)
- 移除了旧的仪表板小部件(被新的小部件系统替换)

### 修复
- 修复了导致重复收费的订单处理中的竞态条件
  - 受影响版本:2.0.0 - 2.0.5
  - 问题:[#1234](https://github.com/user/repo/issues/1234)
- 修复了WebSocket连接中的内存泄漏
- 修复了日期选择器中不正确的时区处理
- 修复了CSV导出不包括所有列的问题
- 修复了表单提交中的CSRF漏洞(CVE-2025-12345)
- 修复了导航菜单中的可访问性问题
  - 现在完全可通过键盘导航
  - 屏幕阅读器友好
- 修复了iPad Pro上的移动响应问题
- 修复了搜索中的SQL注入漏洞(CVE-2025-12346)
  - **安全影响**:高
  - **受影响版本**:2.0.0 - 2.0.9
  - **推荐操作**:立即升级

### 安全
- **CRITICAL**: 修复了用户搜索中的SQL注入(CVE-2025-12346)
  - 影响:允许未经授权的数据库访问
  - 受影响:v2.0.0到v2.0.9
  - 操作:立即升级到v2.1.0
- 修复了评论渲染中的XSS漏洞(CVE-2025-12347)
- 更新了所有已知安全漏洞的依赖
- 在所有API端点上实施了速率限制
- 为所有表单添加了CSRF保护
- 启用了内容安全策略头

## [2.0.5] - 2025-01-08

### 修复
- 热修复:导致导出功能数据丢失的关键错误
- 修复了LDAP集成中的认证问题
- 解决了大数据集的性能下降问题

### 安全
- 修补了认证绕过漏洞(CVE-2025-12344)

## [2.0.0] - 2025-01-01

### 新增
- 完整的UI重新设计,现代外观和感觉
- 新的REST API v2,性能更好
- 用户角色和权限系统
- 所有管理操作的审计日志
- 电子邮件模板定制
- 双因素认证(2FA)
- API速率限制
- 数据库备份自动化

### 变更
- **BREAKING**: 从XML更改为JSON的API响应格式
  - 所有API消费者必须更新他们的集成
  - 查看迁移指南:[docs/api-v1-to-v2.md](docs/api-v1-to-v2.md)
- **BREAKING**: 重命名数据库表以保持一致性
  - `user` → `users`
  - `order` → `orders`
  - 运行迁移脚本:`npm run migrate:v2`
- **BREAKING**: 从基于会话的认证更改为JWT
  - 现有的会话将被使无效
  - 用户需要重新登录
- 改进了数据库查询性能,提高了50%
- 更新了Node.js的最低版本到16.x

### 移除
- **BREAKING**: 移除了对Node.js 12和14的支持
- **BREAKING**: 移除了弃用的配置选项
  - `USE_OLD_AUTH` - 使用JWT认证
  - `LEGACY_MODE` - 不再支持

### 迁移指南

**从v1.x到v2.0:**

1. 更新Node.js到16或更高版本
2. 更新您的API集成:
   ```javascript
   // 旧版(v1)
   fetch('/api/users/list')
     .then(res => res.text())
     .then(xml => parseXML(xml));

   // 新版(v2)
   fetch('/api/v2/users')
     .then(res => res.json())
     .then(data => console.log(data));
  1. 运行数据库迁移:
    npm run migrate:v2
    
  2. 更新环境变量:
    # 移除
    USE_OLD_AUTH=true
    LEGACY_MODE=true
    
    # 添加
    JWT_SECRET=your-secret-key
    JWT_EXPIRES_IN=7d
    

1.5.2 - 2024-12-15

修复

  • 修复了用户列表页面的分页错误
  • 解决了报告中的时区问题
  • 修复了电子邮件通知延迟

1.5.0 - 2024-12-01

新增

  • 新的报告仪表板
  • 用户配置文件的自定义字段
  • 集成的Webhook支持

变更

  • 改进了搜索性能
  • 更新了UI组件库

1.0.0 - 2024-10-01

新增

  • 初始发布
  • 用户管理
  • 基本API
  • 认证和授权
  • 数据库迁移
  • 单元和集成测试

## 发布说明模板

```markdown
# 发布说明 - 版本 2.1.0

**发布日期:** 2025年1月15日

**下载:** [v2.1.0](https://github.com/user/repo/releases/tag/v2.1.0)

## 🎉 亮点

- **OAuth2认证**:使用GitHub和Google登录
- **GraphQL API**:新的GraphQL端点与REST API一起
- **暗色模式**:所有页面支持完整的暗色模式
- **实时通知**:WebSocket驱动的实时更新
- **10种新语言**:扩展的国际化支持

## 📦 新增内容

### OAuth2认证

您现在可以使用GitHub或Google账户登录。在设置>认证中配置OAuth。

```javascript
// 在您的配置中启用OAuth
{
  "auth": {
    "providers": ["github", "google"],
    "github": {
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret"
    }
  }
}

GraphQL API

使用GraphQL访问您的数据,进行更有效的查询:

query GetUser {
  user(id: "123") {
    id
    name
    email
    orders {
      id
      total
      items {
        product {
          name
          price
        }
      }
    }
  }
}

端点: https://api.example.com/graphql 文档: GraphQL API文档

暗色模式

在设置>外观中启用暗色模式,或使用系统首选项。

暗色模式截图

🔧 改进

  • 3倍更快的搜索:改进的搜索算法
  • 更好的错误消息:更有帮助的错误消息和建议
  • 增强的性能:页面加载速度提高50%
  • 移动改进:更好的平板电脑响应设计

🐛 错误修复

  • 修复了订单处理中的竞态条件
  • 修复了WebSocket连接中的内存泄漏
  • 修复了日期选择器中的时区处理
  • 修复了导航中的可访问性问题

🔒 安全更新

  • CRITICAL: 修复了SQL注入漏洞(CVE-2025-12346)
    • 影响:高 - 允许未经授权的数据库访问
    • 操作:如果您使用的是v2.0.0 - v2.0.9,请立即升级
  • 修复了评论渲染中的XSS漏洞(CVE-2025-12347)
  • 更新了带有安全补丁的依赖

📋 重大变更

弃用的API(在v3.0.0中移除)

以下REST API v1端点已被弃用,将在v3.0.0中移除:

旧端点 新端点 迁移指南
/api/users/list /api/v2/users 链接
/api/products/search /api/v2/products?q= 链接

时间表:这些端点将继续工作,直到2025年6月。

更新的依赖

  • Node.js:最低版本现在是18.x(之前是16.x)
  • React:升级到19.0.0
  • PostgreSQL:最低版本现在是14(之前是13)

📖 文档

🔄 升级

从v2.0.x

# 首先备份您的数据库
pg_dump your_database > backup.sql

# 拉取最新版本
git pull origin main

# 安装依赖
npm install

# 运行迁移
npm run migrate

# 重新启动应用程序
npm start

从v1.x

请参阅v1到v2迁移指南以获取详细的升级说明。

🙏 贡献者

感谢所有使此版本成为可能的贡献者:

  • @contributor1 - OAuth2实现
  • @contributor2 - GraphQL API
  • @contributor3 - 暗色模式
  • @contributor4 - 性能改进

📞 支持

🔜 接下来是什么?

v2.2.0中即将推出:

  • 高级分析仪表板
  • 插件系统以扩展性
  • 移动应用(iOS和Android)
  • 改进的团队协作功能

敬请期待!


## 语义化版本控制指南

版本:MAJOR.MINOR.PATCH

MAJOR版本:不兼容的API变更 MINOR版本:添加功能(向后兼容) PATCH版本:向后兼容的错误修复

示例:

  • 1.0.0 → 1.0.1:错误修复
  • 1.0.1 → 1.1.0:新功能(向后兼容)
  • 1.1.0 → 2.0.0:重大变更

## 最佳实践

### ✅ 执行
- 遵循Keep a Changelog格式
- 使用语义化版本控制
- 突出记录重大变更
- 包括迁移指南
- 链接到相关的问题/PR
- 分类变更(新增、变更、修复等)
- 在单独的部分中包括安全修复
- 所有发布都包括日期(YYYY-MM-DD格式)
- 链接到发布标签
- 记录弃用和时间表
- 包括升级说明
- 提及贡献者

### ❌ 不要
- 跳过记录重大变更
- 发布前忘记更新变更日志
- 在一个类别中混合多种类型
- 使用模糊的描述
- 省略发布日期
- 忘记语义化版本控制
- 隐藏安全问题

## 资源

- [Keep a Changelog](https://keepachangelog.com/)
- [Semantic Versioning](https://semver.org/)
- [Conventional Commits](https://www.conventionalcommits.org/)
- [Release Drafter](https://github.com/release-drafter/release-drafter)