Skip to content

v0.6.0

Choose a tag to compare

@inureyes inureyes released this 28 Aug 13:41
· 313 commits to main since this release

New Features

  • SSH Configuration File Support: Added -F option 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