Skip to content

Commit 8dcfec0

Browse files
committed
chore: Prepare v1.1.0 release
- Update version to 1.1.0 in Cargo.toml - Update README.md with v1.1.0 summary - Update man page version - Update debian/changelog with detailed release notes - Update CHANGELOG.md with comprehensive v1.1.0 changes
1 parent 7720cfb commit 8dcfec0

File tree

6 files changed

+98
-4
lines changed

6 files changed

+98
-4
lines changed

CHANGELOG.md

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,61 @@ All notable changes to bssh will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.0] - 2025-10-24
9+
10+
### Added
11+
- **macOS Keychain Integration** (Issue #59, PR #61)
12+
- Automatic passphrase storage in macOS Keychain after successful SSH key authentication
13+
- Automatic passphrase retrieval before prompting user
14+
- Secure memory handling with `Zeroizing` for all sensitive data
15+
- Integration with SSH config `UseKeychain` option per host
16+
- New module `src/ssh/keychain_macos.rs` with complete Keychain API wrapper
17+
- **ProxyUseFdpass SSH Option** (Issue #58, PR #60)
18+
- Added `ProxyUseFdpass` SSH configuration option support
19+
- Optimizes ProxyCommand usage by passing connected file descriptors back to ssh
20+
- Reduces overhead from lingering processes and extra read/write operations
21+
- **Password Authentication Fallback**
22+
- Automatic password retry when publickey authentication fails
23+
- Matches OpenSSH standard behavior for seamless user experience
24+
- Interactive terminal detection with TTY checks
25+
- Works for both exec and interactive modes
26+
27+
### Security
28+
- **SSH Key File Ownership Validation** (PR #61)
29+
- Prevents storing passphrases for SSH keys owned by other users
30+
- Added macOS user ID checks using libc
31+
- World-readable SSH key permission warnings
32+
- **User Consent for Password Fallback** (PR #61)
33+
- Explicit user consent prompt before attempting password authentication
34+
- 30-second timeout for consent prompt
35+
- Prevents unexpected password prompts that could lead to credential exposure
36+
- **Rate Limiting** (PR #61)
37+
- 100ms delay before initial connection attempts
38+
- 1 second delay before password fallback
39+
- Prevents brute-force attacks and fail2ban triggers
40+
41+
### Improved
42+
- **Code Quality** (PR #61)
43+
- Eliminated 251 lines of code duplication in connection logic
44+
- Created `establish_connection()` helper function
45+
- Centralized authentication logic in auth module
46+
- 60% reduction in connection.rs complexity
47+
- **Cross-Platform Support**
48+
- All macOS-specific code properly isolated with `#[cfg(target_os = "macos")]`
49+
- Conditional imports to prevent unused code warnings on non-macOS platforms
50+
- Stub functions for API consistency across platforms
51+
52+
### Fixed
53+
- Fixed clippy warnings on non-macOS platforms (unused_mut, unused_imports, dead_code)
54+
- Variable shadowing for macOS-specific code paths
55+
- Conditional imports for platform-specific functions
56+
- Fixed interactive mode missing `use_keychain` field causing authentication failures
57+
- Fixed password prompt not appearing when connecting to new servers in interactive mode
58+
59+
### Dependencies
60+
- Added `security-framework = "2.12.1"` for macOS Keychain API integration
61+
- Added `libc` for macOS user ID checks (conditional on macOS)
62+
863
## [1.0.0] - 2025-10-24
964

1065
### Added
@@ -309,7 +364,8 @@ None
309364
- russh library for native SSH implementation
310365
- Cross-platform support (Linux and macOS)
311366

312-
[Unreleased]: https://github.com/lablup/bssh/compare/v1.0.0...HEAD
367+
[Unreleased]: https://github.com/lablup/bssh/compare/v1.1.0...HEAD
368+
[1.1.0]: https://github.com/lablup/bssh/compare/v1.0.0...v1.1.0
313369
[1.0.0]: https://github.com/lablup/bssh/compare/v0.9.1...v1.0.0
314370
[0.9.1]: https://github.com/lablup/bssh/compare/v0.9.0...v0.9.1
315371
[0.9.0]: https://github.com/lablup/bssh/compare/v0.8.0...v0.9.0

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bssh"
3-
version = "1.0.0"
3+
version = "1.1.0"
44
authors = ["Jeongkyu Shin <[email protected]>"]
55
description = "Parallel SSH command execution tool for cluster management"
66
license = "Apache-2.0"

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -993,6 +993,7 @@ See the [LICENSE](./LICENSE) file for details.
993993
## Changelog
994994

995995
### Recent Updates
996+
- **v1.1.0 (2025/10/24):** Add macOS Keychain integration for SSH key passphrases (UseKeychain option) with automatic password fallback and ProxyUseFdpass support
996997
- **v1.0.0 (2025/10/24):** Major milestone release with comprehensive SSH configuration support (~71 options), certificate authentication, advanced security features, and modular parser architecture
997998
- **v0.9.1 (2025/10/14):** Complete PTY terminal modes implementation with Shift key input support
998999
- **v0.9.0 (2025/10/14):** Add SSH ProxyJump support for file transfers and interactive mode, update packages

debian/changelog

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,40 @@
1+
bssh (1.1.0-1~jammy1) jammy; urgency=medium
2+
3+
* v1.1.0
4+
### New Features
5+
- **macOS Keychain Integration**: Complete Phase 2 implementation of UseKeychain SSH option
6+
- Automatic passphrase storage in macOS Keychain after successful authentication
7+
- Automatic passphrase retrieval before prompting user
8+
- Secure memory handling with Zeroizing for all sensitive data
9+
- Integration with SSH config UseKeychain option per host
10+
- **ProxyUseFdpass Support**: Added ProxyUseFdpass SSH configuration option
11+
- Optimizes ProxyCommand usage by passing connected file descriptors
12+
- Reduces overhead from lingering processes and extra read/write operations
13+
- **Password Authentication Fallback**: Automatic password retry when key-based auth fails
14+
- Matches OpenSSH standard behavior
15+
- Interactive terminal detection with TTY checks
16+
- Works for both exec and interactive modes
17+
18+
### Improvements
19+
- **Security Enhancements**: Multiple security improvements from PR review
20+
- SSH key file ownership validation (prevents storing passphrases for others' keys)
21+
- User consent prompt before password fallback authentication
22+
- Rate limiting between authentication attempts (prevents brute-force)
23+
- World-readable SSH key permission warnings
24+
- **Code Quality**: Eliminated 251 lines of code duplication in connection logic
25+
- **Cross-Platform**: All macOS-specific code properly isolated with conditional compilation
26+
27+
### Bug Fixes
28+
- Fixed clippy warnings (unused_mut, unused_imports, dead_code) on non-macOS platforms
29+
- Fixed interactive mode missing use_keychain field causing authentication failures
30+
- Fixed password prompt not appearing when connecting to new servers
31+
32+
### Dependencies
33+
- Added security-framework crate for macOS Keychain API integration
34+
- Added libc crate for macOS user ID checks
35+
36+
-- Jeongkyu Shin <[email protected]> Fri, 24 Oct 2025 17:31:48 +0900
37+
138
bssh (1.0.0-1~jammy1) jammy; urgency=medium
239

340
* v1.0.0

docs/man/bssh.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.\" Manpage for bssh
22
.\" Contact the maintainers to correct errors or typos.
3-
.TH BSSH 1 "October 2025" "v1.0.0" "bssh Manual"
3+
.TH BSSH 1 "October 2025" "v1.1.0" "bssh Manual"
44

55
.SH NAME
66
bssh \- Broadcast SSH - SSH-compatible client with parallel execution capabilities

0 commit comments

Comments
 (0)