Files
QuiCommit/CHANGELOG.md

6.3 KiB
Raw Permalink Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

暂无。

[0.5.0] - 2026-07-24

新功能

  • commit 命令新增 .gitignore 文件过滤:自动暂存与 --all 模式下自动跳过被 .gitignore 规则匹配的文件,并清理索引中已被忽略的已跟踪文件,暂存完成后列出被移除的文件
  • tag 命令新增 -A, --auto 模式:优先从 Cargo.toml/pyproject.toml 读取项目版本,回退到基于 commit 的语义化升级分析(与 --bump 互斥)
  • changelog 命令在未指定 --from 时,自动检测现有 changelog 中最高版本对应的 tag 作为起始点
  • 新增 parse_changelog_versions(),按 semver 降序提取 changelog 中已有的版本
  • 新增 sort_tags_by_semver(),取代纯时间排序,按语义版本正确排序标签

🐞 错误修复

  • 修复 get_tags() 对 annotated tag 的解析:改用 find_object+peel_to_commit 正确取得标签指向的 commit
  • 修复 changelog 写入时 insert_changelog_entry 覆盖已有章节的问题,现保留现有内容并按版本插入新条目

📚 文档

  • 同步更新 README中/英文):补充 --thinktag --auto 选项说明,移除已废弃的 --prepend 参数,修正 set-llm--base-url 选项名

🔧 其他变更

  • 新增 TagInfo::version_name()GitRepo::find_tag_by_version() 辅助方法
  • 新增 tests/gitignore_tests.rs,包含 7 个测试覆盖 .gitignore 过滤逻辑

[0.4.0] - 2026-07-16

新功能

  • 新增 quicommit credential get|store|erase 子命令,实现标准 Git credential helper 协议(gitcredentials),可与原生 git 命令无缝集成
  • 新增 host_to_service() 主机名映射,将 github.com、gitlab.com、bitbucket.org 等常见托管平台映射为规范化服务名
  • 新增 get_pat_for_host() 公共 API支持从已保存的凭据中提取 PAT 用于登录验证
  • 凭据存储复用现有基于系统密钥环的 PAT 与用户绑定逻辑,按 profile 维度管理

🐞 错误修复

  • 移除 keyring.rs 中的调试 eprintln! 输出,避免污染 credential helper 的 stderr

📚 文档

  • README中/英文)新增 credential 命令使用说明

🔧 其他变更

  • 新增 src/lib.rs 库目标,支持从 tests/ 目录导入内部模块进行测试
  • src/main.rs 重构为使用 quicommit:: 库导入
  • credential 命令及其子命令均使用 #[command(hide = true)] 隐藏,不在 --help 中显示
  • 新增 tests/credential_tests.rs,包含 52 个测试用例覆盖协议解析、帮助可见性、完整存取周期及边界场景

[0.3.1] - 2026-06-01

新功能

  • 按文件重要性对暂存差异排序,优先处理核心变更
  • DeepSeek 新增 reasoning 推理模式支持
  • LLM 统一思考模式配置,支持显式启用/禁用思考状态
  • 新增 thinking.rs 思考状态管理模块

🐞 错误修复

  • 修复 Kimi 返回信息的读取错误
  • 修复 DeepSeek 和 Kimi 流式响应的解析问题

📚 文档

  • 新增 ROADMAP.md 项目路线图文档

🔧 其他变更

  • LLM 模块大规模重构所有提供商Anthropic、DeepSeek、Kimi、Ollama、OpenAI、OpenRouter适配流式响应处理
  • 代码格式化并优化导入顺序
  • 清理大量未使用的变量、方法及结构体警告
  • 清理构建输出日志文件
  • 重新编号 LLM 系统提示规则
  • i18n 多语言消息格式修复
  • 各命令模块commit、tag、changelog、config、profile、init持续优化

[0.1.11] - 2026-03-23

新功能

  • 新增配置导出导入功能,支持加密保护
  • Profile 支持 Token 管理PAT 等)
  • 自动生成和维护 Keep a Changelog 格式的变更日志
  • 交互式命令行界面,支持预览和确认

🔐 安全特性

  • 敏感数据加密存储API 密钥等)
  • 使用系统密钥环安全保存凭证

🔧 其他变更

  • 优化 diff 截断逻辑,使用字符边界确保多字节字符安全
  • 改进配置管理器,支持修改追踪

[0.1.9] - 2026-03-06

🐞 错误修复

  • 修复diff截断时的字符边界问题

[0.1.7] - 2026-02-14

🐞 错误修复

  • 修复 changelog 命令默认覆盖文件的问题,现改为智能追加新版本条目到头部之后

🔧 其他变更

  • 清理 formatter.rs 中未使用的函数(format_commit_dateformat_changelog_dateformat_tag_nametruncateformat_markdown_listformat_changelog_sectionformat_git_config_key
  • 清理 validators.rs 中未使用的函数(validate_ssh_key
  • 移除 changelog 命令的 --prepend 参数(默认行为已改为追加)

[0.1.4] - 2026-02-01

新功能

  • 新增 test3.txt,支持中文输出测试
  • generator 模块新增 language 参数,可指定提交信息语言
  • committag 命令新增自动 push 功能
  • 提交、标签及变更日志命令现支持多语言输出
  • 新增 Kimi、DeepSeek、OpenRouter 三家 LLM 提供商支持
  • 首次创建仓库,完成 0.1.0 版本基础功能

🐞 错误修复

  • 修复 git/commit.rs 中的提交错误信息问题
  • 修复 Git2 错误处理逻辑(仓库打开功能暂不可用)
  • 统一代码风格(rustfmt 修正)

📚 文档

  • 更新 README补充新的安装方式与 CLI 选项说明
  • 优化 README 内容,新增 LLM 提供商介绍

🔧 其他变更

  • 新增个人访问令牌、使用统计与配置校验功能
  • 添加 test2.txt 占位文件

[0.1.0] - 2026-01-30

Added

  • Initial project structure
  • Core functionality for git operations
  • LLM integration
  • Configuration management
  • CLI interface

Features

  • Commit Generation: Automatically generate conventional commit messages from git diffs
  • Profile Management: Switch between multiple Git identities for different contexts
  • Tag Management: Create annotated tags with AI-generated release notes
  • Changelog: Generate and maintain changelog in Keep a Changelog format
  • Security: Encrypt SSH passphrases and API keys
  • Interactive UI: Beautiful CLI with prompts and previews