Releases: jwliles/rust-forge
v0.5.1
forge v0.5.0 - Enhanced Documentation & Verbose Support
What's New in v0.5.0
🚀 New Features
- Verbose Flag Support: Added
-v/--verboseflag for detailed operation logging and debugging - New Management Commands: Added
unstageandpurgecommands for better file lifecycle management - Enhanced Link Command: Detailed progress logging with step-by-step file operations and validation
- Visual Documentation: Added forge.svg diagram showing the symlink management workflow
📚 Documentation Enhancements
- MANUAL.md: Added comprehensive global flags section and troubleshooting guide
- README.md: Enhanced with detailed error handling, debugging steps, and known limitations
- Man Page: Updated with current feature set and comprehensive examples
- Inline Documentation: Improved code documentation and error messages throughout
🔧 Improvements
- Better Error Handling: More descriptive error messages with actionable troubleshooting steps
- Safer File Operations: Enhanced file integrity checking with copy validation and backup mechanisms
- Enhanced Logging: Detailed progress output for link operations with step-by-step tracking
- Code Quality: Applied consistent formatting and improved code structure
🛠️ Technical Changes
- Updated test suite to match current CLI command structure (
stageinstead ofadd) - Enhanced link operation with copy validation and automatic backup handling
- Improved database operations with batch processing support for better performance
- Better path handling and normalization across all operations
📦 Installation
cargo install forge-rsBinary name remains forge despite crate name forge-rs.
🔄 Migration from v0.4.0
- All existing functionality remains compatible
- New verbose flag is optional and doesn't affect existing workflows
- New commands (
unstage,purge) are additive and don't change existing behavior
🐛 Bug Fixes
- Fixed code formatting issues and trailing whitespace
- Improved symlink creation reliability with better error handling
- Enhanced handling of concurrent operations and race conditions
- Better error reporting with more informative exit codes
📋 Full Changelog
For detailed information, see CHANGELOG.md
forge v0.4.0 - Enhanced Documentation & Verbose Support
What's New in v0.4.0
🚀 New Features
- Verbose Flag Support: Added
-v/--verboseflag for detailed operation logging and debugging - Enhanced Documentation: Comprehensive troubleshooting guide and error handling documentation
- Visual Documentation: Added forge.svg diagram showing the symlink management workflow
- Improved Link Command: Detailed progress logging with step-by-step file operations
- New Management Commands: Added
unstageandpurgecommands for better file lifecycle management
📚 Documentation Updates
- MANUAL.md: Added global flags section and comprehensive troubleshooting guide
- README.md: Enhanced with error handling, debugging steps, and known limitations
- Man Page: Updated to August 2025 with current feature set
- Code Documentation: Improved inline documentation and error messages
🔧 Improvements
- Better Error Handling: More descriptive error messages with actionable troubleshooting steps
- Safer File Operations: Enhanced file integrity checking and backup mechanisms
- Test Coverage: Fixed test suite to match current CLI command structure
- Code Quality: Applied consistent formatting and fixed trailing whitespace
🛠️ Technical Changes
- Updated test command from 'add' to 'stage' to match current CLI
- Enhanced link operation with copy validation and backup handling
- Improved database operations with batch processing support
- Better path handling and normalization
📦 Installation
cargo install forge-rs🔄 Migration Notes
- BREAKING: Configuration directories changed from
.dotforge/to.forge/ - Existing users need to manually rename directories or reinitialize
- Binary name remains
forgedespite crate name change toforge-rs
🐛 Bug Fixes
- Fixed formatting issues and trailing whitespace
- Improved symlink creation reliability
- Better handling of concurrent operations
- Enhanced error reporting and exit codes
For detailed changelog, see CHANGELOG.md
📋 Full Changelog
DotForge v0.3.2
Streamlined Command Interface
DotForge v0.3.2 improves usability with a more intuitive command structure.
Key Changes
- Added direct
switchcommand to replaceprofile switch - Added
newcommand to create profiles in specific locations - Enhanced
listcommand to show profiles with--profilesflag - Updated documentation to better explain default behaviors
- Clarified path handling in examples and documentation
- Marked redundant profile commands as legacy
Usage Examples
# Switch to a profile
dotforge switch coding
# Create a new profile at a specific location
dotforge new --profile coding ~/dotfiles/coding
# List all profiles
dotforge list --profilesLegacy commands like dotforge profile switch still work but will show deprecation notices.
This release focuses on improving the user experience without breaking backward compatibility.
DotForge v0.3.1
Man Page Documentation and Documentation Updates
DotForge v0.3.1 adds comprehensive man page documentation and updates the project documentation to reflect the current implementation status.
Key Features
- Comprehensive man page documentation for all commands
- Build script for man page installation in the system
- Updated README.md with current implementation status
- Updated roadmap with clear milestones
This release is focused on improving the documentation and usability of the tool without introducing breaking changes.
Installation
cargo install dotforgeMan Page
After installation, the man page can be viewed with:
man dotforgeDotForge v0.3.0
Command Structure Redesign and Database Integration
DotForge v0.3.0 introduces a complete redesign of the command structure, moving away from the forge-themed naming to more intuitive commands that clearly describe their function. It also adds SQLite database integration for reliable state tracking.
Key Features
- SQLite database for persistent storage of dotfile information
- Enhanced file operations with clear separation of actions:
init- Initialize a directory as a forge managed folderstage- Temporarily track files for symlinkinglink- Create permanent symlinks for tracked filesunlink- Remove symlinks but keep files in the forge folderremove- Delete files from forge folder but keep originalsdelete- Completely remove files from the systemlist- Show tracked files and their statuses
- File status tracking (staged, linked, unlinked)
- Managed folders configuration for repository organization
- Confirmation prompts for destructive operations
- Improved error handling and reporting
Migration Notes
Legacy command names (heat, forge, cool) are still supported temporarily for backward compatibility.