Skip to content

Commit a46617b

Browse files
committed
Release v0.15.0
- Ubuntu PPA packaging support - Bandwidth sorting by combined up+down total - Removed CAP_NET_ADMIN requirement (read-only capture) - Improved bandwidth rate tracking accuracy - Updated dependencies: clap, clap_mangen, clap_complete, dns-lookup, windows, zip, libc
1 parent a0e1e6d commit a46617b

5 files changed

Lines changed: 27 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.15.0] - 2025-10-25
11+
12+
### Added
13+
- **Ubuntu PPA Packaging**: Official Ubuntu PPA repository for easy installation on Ubuntu/Debian-based distributions
14+
- Automated GitHub Actions workflow for PPA releases
15+
- Support for multiple Ubuntu versions
16+
1017
### Changed
1118
- **Bandwidth Sorting**: Changed bandwidth sorting to use combined up+down total instead of separate up/down sorting
1219
- Simpler sorting behavior: press `s` once to sort by total bandwidth
1320
- Display still shows "Down/Up" with individual values
1421
- Arrow indicator shows when sorting by combined bandwidth total
22+
- **Packet Capture Permissions**: Removed CAP_NET_ADMIN and CAP_SYS_ADMIN requirements
23+
- Uses read-only packet capture (non-promiscuous mode)
24+
- Reduced security footprint with minimal required capabilities
25+
26+
### Fixed
27+
- **Bandwidth Rate Tracking**: Improved accuracy and stability of bandwidth rate calculations
28+
- More consistent rate measurements
29+
- Better handling of network traffic bursts
1530

1631
## [0.14.0] - 2025-10-12
1732

@@ -252,7 +267,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
252267
- Configurable refresh intervals and filtering options
253268
- Optional logging with multiple log levels
254269

255-
[Unreleased]: https://github.com/domcyrus/rustnet/compare/v0.14.0...HEAD
270+
[Unreleased]: https://github.com/domcyrus/rustnet/compare/v0.15.0...HEAD
271+
[0.15.0]: https://github.com/domcyrus/rustnet/compare/v0.14.0...v0.15.0
256272
[0.14.0]: https://github.com/domcyrus/rustnet/compare/v0.13.0...v0.14.0
257273
[0.13.0]: https://github.com/domcyrus/rustnet/compare/v0.12.1...v0.13.0
258274
[0.12.1]: https://github.com/domcyrus/rustnet/compare/v0.12.0...v0.12.1

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 = "rustnet-monitor"
3-
version = "0.14.0"
3+
version = "0.15.0"
44
authors = ["domcyrus"]
55
edition = "2024"
66
rust-version = "1.88.0" # Let-chains require Rust 1.88.0+

rpm/rustnet.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Name: rustnet
44
# renovate: datasource=github-releases depName=domcyrus/rustnet extractVersion=true
5-
Version: 0.14.0
5+
Version: 0.15.0
66
Release: 1%{?dist}
77
Summary: A cross-platform network monitoring terminal UI tool built with Rust
88
License: Apache-2.0

src/network/types.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,14 +1208,17 @@ mod tests {
12081208
let incoming_rate = tracker.get_incoming_rate_bps();
12091209

12101210
// Expected: 1500 bytes / 0.01s = 150,000 bytes/sec = ~150 KB/s
1211+
// However, thread::sleep is not precise and can sleep longer than requested,
1212+
// especially under system load. We use wider tolerance to avoid flaky tests.
1213+
// The actual rate will be lower if sleep takes longer (e.g., 128KB/s if sleep ~11.7ms)
12111214
assert!(
1212-
outgoing_rate > 140_000.0 && outgoing_rate < 160_000.0,
1213-
"High packet rate should still give accurate average, got: {}",
1215+
outgoing_rate > 100_000.0 && outgoing_rate < 180_000.0,
1216+
"High packet rate should still give reasonable average, got: {}",
12141217
outgoing_rate
12151218
);
12161219
assert!(
1217-
incoming_rate > 70_000.0 && incoming_rate < 80_000.0,
1218-
"High packet rate should still give accurate average, got: {}",
1220+
incoming_rate > 50_000.0 && incoming_rate < 90_000.0,
1221+
"High packet rate should still give reasonable average, got: {}",
12191222
incoming_rate
12201223
);
12211224
}

0 commit comments

Comments
 (0)