v0.6.0
New Features
- SSH Configuration File Support: Added
-Foption for SSH config file parsing with full compatibility - PTY Allocation: Implemented true PTY allocation for interactive mode with secure terminal handling
- SSH-Compatible Command-Line Interface: Enhanced CLI to provide drop-in SSH replacement functionality
- Help Message Improvements: Show help when no arguments provided and add Backend.AI branding to help output
- Security Enhancements: Comprehensive security hardening across the codebase
Improvements
- Performance Optimizations:
- Implemented tokio::select! for efficient event multiplexing in PTY sessions
- Added SSH config caching with LRU cache for better performance
- Implemented async file I/O for SSH config operations
- Added environment variable caching to reduce system calls
- Code Quality:
- Split monolithic ssh_config.rs into focused modules for better maintainability
- Resolved all clippy warnings for cleaner code
Bug Fixes
- PTY Session Management: Fixed PTY session termination hanging issue after exit command
- Configuration Handling: Fixed parallel config value handling from configuration file
- Security Fixes:
- Prevented command injection vulnerabilities in ProxyCommand and ControlPath
- Fixed path traversal attack vulnerabilities in file path handling
- Prevented environment variable injection attacks
- Localhost Connectivity: Fixed SSH connections to localhost
CI/CD Improvements
- Enhanced release process with automated checks
Technical Details
- Refactored SSH configuration parsing for better modularity
- Implemented comprehensive security improvements for PTY implementation
- Added performance optimizations for I/O operations
Dependencies
- Updated test files to resolve clippy warnings
- Maintained compatibility with existing russh and tokio dependencies
Breaking Changes
None
Known Issues
None
What's Changed
- fix: align interactive mode authentication with exec mode by @inureyes in #17
- fix: use parallel config value from configuration file by @inureyes in #18
- feat: enhance CLI help messages with comprehensive documentation by @inureyes in #19
- feat: show help message when no arguments provided by @inureyes in #20
- feat: add SSH-compatible command-line interface and fix localhost connectivity by @inureyes in #25
- fix: use parallel config value from configuration file by @inureyes in #26
- feat: implement true PTY allocation for interactive SSH sessions by @inureyes in #27
- feat: Add SSH configuration file parsing (-F option) by @inureyes in #28
Full Changelog: v0.5.4...v0.6.0