|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -Please see [GitHub Releases](https://github.com/wasabeef/git-workers/releases) for the complete changelog. |
| 3 | +All notable changes to Git Workers will be documented in this file. |
4 | 4 |
|
5 | | -Each release includes: |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
6 | 7 |
|
7 | | -- Detailed release notes generated from commit history |
8 | | -- Binary downloads for all supported platforms |
9 | | -- Installation instructions |
| 8 | +For detailed release notes and binary downloads, see [GitHub Releases](https://github.com/wasabeef/git-workers/releases). |
10 | 9 |
|
11 | | -The release notes are automatically generated using conventional commits, categorizing changes into: |
| 10 | +## [Unreleased] |
12 | 11 |
|
13 | | -- Features |
14 | | -- Bug Fixes |
15 | | -- Documentation |
16 | | -- Performance improvements |
17 | | -- And more |
| 12 | +### Changed |
| 13 | + |
| 14 | +- **BREAKING**: Removed command-line argument options (--list, --create, etc.) in favor of interactive menu-only interface |
| 15 | +- Simplified main.rs to focus solely on interactive menu operations |
| 16 | +- Improved worktree rename functionality with `git worktree repair` integration |
| 17 | +- Enhanced configuration lookup strategy: |
| 18 | + - Now checks current directory first (useful for bare repo worktrees) |
| 19 | + - Then checks parent directory's main/master worktree |
| 20 | + - Finally falls back to repository root |
| 21 | +- Improved path handling for worktree creation: |
| 22 | + - Paths are now canonicalized to eliminate "../" in display |
| 23 | + - "In subdirectory" option now correctly creates worktrees in subdirectories |
| 24 | + |
| 25 | +### Added |
| 26 | + |
| 27 | +- Edit hooks menu option (`λ`) for managing lifecycle hooks through the interface |
| 28 | +- Comprehensive Rustdoc documentation for all modules and functions |
| 29 | +- Current directory configuration lookup priority for .git-workers.toml |
| 30 | +- Parent directory configuration lookup for .git-workers.toml |
| 31 | +- Better error handling with mutex poison recovery in tests |
| 32 | +- Branch deletion functionality in batch delete operations |
| 33 | +- Orphaned branch detection when deleting worktrees |
| 34 | +- Repository URL validation in configuration files |
| 35 | +- New test files for batch delete and edit hooks functionality |
| 36 | + |
| 37 | +### Fixed |
| 38 | + |
| 39 | +- All clippy warnings resolved: |
| 40 | + - manual_div_ceil replaced with div_ceil() method |
| 41 | + - manual_unwrap_or patterns simplified |
| 42 | + - needless_borrows in format! macros removed |
| 43 | + - useless_vec replaced with arrays |
| 44 | + - manual_flatten replaced with .flatten() method |
| 45 | +- Test failures related to parent directory configuration search |
| 46 | +- ESC cancellation pattern tests updated for new code style |
| 47 | +- Worktree rename test expectations aligned with Git limitations |
| 48 | +- "In subdirectory" option now correctly creates worktrees in worktrees/ folder |
| 49 | +- Path display now shows clean canonical paths without "../" |
| 50 | +- Batch delete now properly deletes orphaned branches |
| 51 | +- Edit hooks no longer incorrectly identifies regular repos as bare |
| 52 | + |
| 53 | +### Documentation |
| 54 | + |
| 55 | +- Updated README.md with current features and usage: |
| 56 | + - Added configuration file lookup priority documentation |
| 57 | + - Updated worktree pattern examples |
| 58 | + - Added custom path creation examples |
| 59 | + - Added repository URL configuration example |
| 60 | + - Clarified batch delete branch deletion functionality |
| 61 | +- Enhanced CLAUDE.md with architectural details and development commands |
| 62 | +- Added detailed inline documentation for all public APIs |
| 63 | +- Updated all Rustdoc comments to reflect recent changes |
| 64 | + |
| 65 | +## [0.1.0] - 2024-12-17 |
| 66 | + |
| 67 | +### Added |
| 68 | + |
| 69 | +- Initial release of Git Workers |
| 70 | +- Interactive menu-driven interface for Git worktree management |
| 71 | +- List worktrees with detailed status information (branch, changes, ahead/behind) |
| 72 | +- Fuzzy search through worktrees with real-time filtering |
| 73 | +- Create new worktrees from branches or HEAD |
| 74 | +- Delete single or multiple worktrees with safety checks |
| 75 | +- Switch worktrees with automatic directory change via shell integration |
| 76 | +- Rename worktrees and optionally their branches |
| 77 | +- Cleanup old worktrees by age |
| 78 | +- Hook system for lifecycle events (post-create, pre-remove, post-switch) |
| 79 | +- Shell integration for Bash and Zsh |
| 80 | +- Configuration file support (.git-workers.toml) |
| 81 | +- Template variable support in hooks ({{worktree_name}}, {{worktree_path}}) |
| 82 | +- Worktree pattern detection for organized directory structure |
| 83 | +- ESC key support for cancelling operations |
| 84 | +- Colored terminal output with theme support |
| 85 | +- Progress indicators for long operations |
| 86 | +- Homebrew installation support |
0 commit comments