Skip to content

Commit 0ef9e61

Browse files
committed
release: v2.1.0
1 parent 2ed1a3d commit 0ef9e61

8 files changed

Lines changed: 55 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ 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+
## [2.1.0] - 2026-04-14
9+
10+
### Added
11+
- `EnvGuard` RAII wrapper (`src/test_helpers/env_guard.rs`) for safe environment variable handling in tests, with Drop-based restore semantics and soundness contract documentation (#179, #181)
12+
- Test Environment-Variable Mutation Pattern section in ARCHITECTURE.md documenting the `EnvGuard` soundness contract and `#[serial]` usage
13+
14+
### Changed
15+
- Migrated bssh and the bundled `bssh-russh` crate to the Rust 2024 edition
16+
- Applied 2024 edition clippy improvements: collapsed 38 nested `if let` statements into guard-clause form (`if let Some(x) = y && condition`) across `bssh-russh` client/server/keys/kex modules
17+
- Replaced 177 ad-hoc `unsafe { env::set_var/remove_var }` call sites across 17 test-bearing files with `EnvGuard::set` / `EnvGuard::remove` plus `#[serial]` from the `serial_test` crate
18+
- Removed hand-rolled `ENV_MUTEX` / `once_cell::sync::Lazy<Mutex<()>>` pattern in integration tests in favor of `#[serial]`
19+
- Pinned `bytes` dependency to v1.11.1
20+
21+
### Fixed
22+
- Fixed pattern matching for Rust 2024 edition: removed explicit `ref` / `ref mut` bindings in `if let` patterns in `src/server/handler.rs` and `src/server/shell.rs`
23+
824
## [2.0.1] - 2026-04-13
925

1026
### Added
@@ -750,6 +766,7 @@ None
750766
- russh library for native SSH implementation
751767
- Cross-platform support (Linux and macOS)
752768

769+
[2.1.0]: https://github.com/lablup/bssh/compare/v2.0.1...v2.1.0
753770
[2.0.1]: https://github.com/lablup/bssh/compare/v2.0.0...v2.0.1
754771
[2.0.0]: https://github.com/lablup/bssh/compare/v1.7.0...v2.0.0
755772
[1.7.0]: https://github.com/lablup/bssh/compare/v1.6.0...v1.7.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
@@ -6,7 +6,7 @@ members = [
66

77
[package]
88
name = "bssh"
9-
version = "2.0.1"
9+
version = "2.1.0"
1010
authors = ["Jeongkyu Shin <inureyes@gmail.com>"]
1111
description = "Parallel SSH command execution tool for cluster management"
1212
license = "Apache-2.0"

README.md

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

14471447
### Recent Updates
1448+
- **v2.1.0 (2026/04/14):** Migrate to Rust 2024 edition, apply 2024 edition clippy improvements (guard clauses with `if let ... && condition`), introduce `EnvGuard` RAII wrapper for safe environment variable handling in tests (#179, #181), and pin `bytes` to v1.11.1
14481449
- **v2.0.1 (2026/04/13):** Add bssh-keygen to Debian package build pipeline, bump bssh-russh to 0.60.1 with security updates (RUSTSEC-2023-0071 RSA Marvin Attack fix), update RC dependencies to latest versions
14491450
- **v2.0.0 (2026/04/13):** Major release — bssh-server SSH server for containers with SFTP/SCP, PTY/shell sessions, password + public-key auth; audit logging (file/OpenTelemetry/Logstash); IP access control, rate limiting, session management, file transfer filtering; bssh-keygen tool; SSH idle-disconnect fix via proper keepalive wiring (inactivity_timeout override + TCP SO_KEEPALIVE); bssh-russh fork synced with upstream russh 0.60.0 (rand 0.10 stable, updated RustCrypto chain); separate packaging for bssh and bssh-server
14501451
- **v1.7.0 (2026/01/09):** Add SSH keepalive support with --server-alive-interval and --server-alive-count-max options to prevent idle connection timeouts (#122), update dependencies (russh 0.56, ratatui 0.30, whoami 2.0)

debian/changelog

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
bssh (2.1.0-1~jammy1) jammy; urgency=medium
2+
3+
* v2.1.0
4+
### New Features
5+
- EnvGuard RAII wrapper for safe environment variable handling in tests (#179, #181)
6+
7+
### Improvements
8+
- Migrated bssh and bundled bssh-russh crate to Rust 2024 edition
9+
- Applied 2024 edition clippy improvements: collapsed 38 nested if-let statements into guard-clause form in bssh-russh
10+
- Replaced 177 ad-hoc unsafe env::set_var/remove_var call sites across 17 test files with EnvGuard + #[serial]
11+
- Removed hand-rolled ENV_MUTEX pattern in integration tests in favor of #[serial]
12+
13+
### Bug Fixes
14+
- Fixed pattern matching for Rust 2024 edition: removed explicit ref / ref mut bindings in if-let patterns
15+
16+
### CI/CD Improvements
17+
None
18+
19+
### Technical Details
20+
- Added Test Environment-Variable Mutation Pattern section to ARCHITECTURE.md documenting EnvGuard soundness contract
21+
22+
### Dependencies
23+
- Pinned bytes to v1.11.1
24+
25+
### Breaking Changes
26+
None
27+
28+
### Known Issues
29+
None
30+
31+
-- Jeongkyu Shin <inureyes@gmail.com> Tue, 14 Apr 2026 12:00:00 +0900
32+
133
bssh (2.0.1-1~jammy1) jammy; urgency=medium
234

335
* v2.0.1

docs/man/bssh-keygen.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.\" Manpage for bssh-keygen
22
.\" Contact the maintainers to correct errors or typos.
3-
.TH BSSH-KEYGEN 1 "April 2026" "v2.0.1" "User Commands"
3+
.TH BSSH-KEYGEN 1 "April 2026" "v2.1.0" "User Commands"
44

55
.SH NAME
66
bssh-keygen \- SSH key pair generation tool

docs/man/bssh-server.8

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.\" Manpage for bssh-server
22
.\" Contact the maintainers to correct errors or typos.
3-
.TH BSSH-SERVER 8 "April 2026" "v2.0.1" "System Administration Commands"
3+
.TH BSSH-SERVER 8 "April 2026" "v2.1.0" "System Administration Commands"
44

55
.SH NAME
66
bssh-server \- Backend.AI SSH Server for container environments

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 "April 2026" "v2.0.1" "bssh Manual"
3+
.TH BSSH 1 "April 2026" "v2.1.0" "bssh Manual"
44

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

0 commit comments

Comments
 (0)