Release v0.13.0
Atomic Split Commit - Intelligent Multi-File Change Grouping
New --split mode automatically groups staged changes into multiple logical atomic commits using LLM analysis. Also includes LLM Provider interface refactoring and error handling improvements.
Added
Atomic Split Commit Mode
- New
gcop-rs commit --splitgroups staged files into logical atomic commits via LLM - Interactive menu: Accept All / Edit in TOML editor / Regenerate / Regenerate with feedback / Quit
- Partial failure recovery: completed commits are preserved, remaining files re-staged
- Configurable via
[commit] split = truein config or--splitCLI flag
Split-specific Error Types
SplitCommitPartial: reports completed/total groups on partial failure with recovery guidanceSplitParseFailed: handles invalid LLM JSON responses with retry suggestions
Internationalization
- 21 new i18n strings for split commit UI, errors, and suggestions (en + zh-CN)
Changed
LLM Provider Interface Refactored
- New
send_prompt(system, user, progress)as the core trait method - Provider implementations only need
send_prompt; high-level APIs (generate_commit_message, etc.) have default implementations - Enables callers to control prompt construction, required for split commit's custom prompt format
CLI Parameter Restructuring
CommitArgsandCommitOptionsrestructured withfrom_cli()constructor- All command option structs unified in style
Dependencies
clapupgraded to 4.5.59tomlupgraded to 1.0reqwestnow usessystem-proxyfeature for automatic system proxy support- MSRV lowered to 1.88.0
Code Quality
- All code comments unified to English
- README fully rewritten for both EN and ZH
Upgrade
bash
# Homebrew
brew upgrade gcop-rs
# Cargo
cargo install gcop-rs
# pip
pip install --upgrade gcop-rs