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.
- Initial release of
gitm - Multi-account management for
GitHub,GitLab, andBitbucket - Automatic SSH key generation and management
- Smart account detection based on repository URL
- Commands:
add,list,use,init,clone,remove,status,auth,verify - TypeScript implementation with full type safety
- Security-focused design with command injection protection
- Interactive authentication setup with persistent state
- Support for both
HTTPSandSSHworkflows - Comprehensive documentation and examples
- Windows compatibility support
- SSH tools availability checking with platform-specific installation instructions
- Windows-specific documentation in README with setup guides
- Platform-aware error messages for SSH agent issues
- Build-time version injection to eliminate runtime package.json dependencies
.npmignorefile to reduce published package size
- SSH config file permissions (
chmod) now only applied on Unix-like systems - Hardcoded Unix paths (
~/.ssh) replaced with platform-aware paths usingpath.join() - Package scripts cleaned up and consolidated
- Updated build configuration
tsup.config.tsto reduce the build size
- Version mismatch between
gitm -Vand package.json
- Code coverage dependencies and scripts (
vitest coverage,c8,jest) - Duplicate npm scripts (consolidated lint/format variants)
- Email Masking: All email addresses are now masked by default in command outputs (e.g.,
u***r@e****e.com) - SSH Key Fingerprints:
authcommand displays SSH key fingerprint (SHA256) instead of the full public key - Windows File Permissions: Implemented ACL-based permissions for SSH config and key files on Windows using
icacls
- Profile Auto-detection: Now requires user confirmation before applying detected profiles
- Account Selection: Removed email addresses from selection dropdowns in
cloneandinitcommands - SSH Key Info: Removed comment field from SSH key information display
- SSH key generation failing due to missing comment parameter in ssh-keygen command
- Windows SSH config files not receiving restrictive permissions
- Enhanced privacy protection by masking email addresses throughout the application
- Reduced risk of accidental SSH key exposure by showing only fingerprints
- Improved Windows security with proper file permissions for SSH-related files