NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #531 most downloaded on crates.io
Library to get system information such as processes, CPUs, disks, components and networks
Last release 3 months ago
09 Jul 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
11 years old
268 releases · first in 2015
Update crate version to 0.39.6
Update crate version to 0.39.6
Update crate version to 0.39.5
Update crate version to 0.39.5
One column per quarter.
Update CHANGELOG for 0.39.4
Update CHANGELOG for 0.39.4
open_files returned value.Update crate version to 0.39.3
Update crate version to 0.39.3
Network::mac_addr.Update crate version to 0.39.2
Update crate version to 0.39.2
System::refresh_cpu_specifics when CPU usage is not requested.user feature is enabled.Update CHANGELOG and crate version to 0.39.1
Update CHANGELOG and crate version to 0.39.1
Update minimum supported rust version to 1.95.
1.95.NetworkData::operational_state API.Process::cgroup_limits API (only returning data on Linux).Networks::refresh*.ESXi.name for zfs disks.macOS: Unpin objc2-* crates version.
objc2-* crates version.macOS: Improve accuracy of System::available_memory and System::used_memory.
System::available_memory and System::used_memory.CPU::frequency returned value.Implement Error trait for MacAddrFromStrError, IpNetworkFromStrError and KillError types.
Error trait for MacAddrFromStrError, IpNetworkFromStrError and KillError types.macOS: Put back support for versions below macOS 12.
Windows: Fix unsoundness for a function used in Motherboard and Product.
Motherboard and Product.serde serialization of MacAddr and of Disk::file_system.Improve documentation of System::refresh_cpu_all and of System::refresh_cpu_specifics.
System::refresh_cpu_all and of System::refresh_cpu_specifics.System::uptime.Process::exe paths.Fix serde serialization on Process::name.
serde serialization on Process::name.get_cpu_frequency on loongarch64.Motherboard.Update minimum supported Rust version to 1.88 (for 2024 edition and if let chain feature).
1.88 (for 2024 edition and if let chain feature).Component::id API.Linux: Improve processor CPU usage computation.
Linux/macOS: Fix CPU usage update.
Motherboard type.Product type.Component::label generated String.Components implement Send and Sync traits.Linux: Fix retrieval of processor frequency on loongarch64.
Process::wait by checking if the process is still alive before waiting.Process::wait.Linux: Fix processor retrieval if some information is missing.
windows crate up to < 0.63.Add Process::kill_and_wait and Process::kill_with_and_wait methods.
System::open_files_limit.Process::kill_and_wait and Process::kill_with_and_wait methods.Process::open_files* methods return usize.set_open_files_limit argument type is usize.autofs disks.Process::wait code.Groups::refresh.FreeBSD: Fix segfault when refreshing processes.
macOS: Remove forgotten debug print.
multithread feature is disabled by default.
multithread feature is disabled by default.Process methods: accumulated_cpu_time, exists, open_files and open_files_limit.Process::wait method now returns Option<ExitStatus>.System methods: distribution_id_like and kernel_long_version.System::physical_core_count method into an associated function.System::refresh_all and System::refresh_specifics methods remove dead processes.ProcessRefreshKind refresh: tasks.Group docs.Deserialize trait on DiskKind, MacAddr, IpNetwork, ProcessStatus, Signal and ThreadKind.FromStr trait on IpNetwork and MacAddr.Hash trait on DiskKind, MacAddr, ProcessStatus and Signal.cfg handling which triggered compilation failures in some specific cases.sysinfo as viruses by replacing uses of NtQueryInformationProcess with other "mainstream" Windows API.process_procs when there is only one process to refresh.Linux: Fix components retrieval.
Disk API.System::long_os_version().System::long_os_version().System::long_os_version().User::groups.System::name, System::kernel_version, System::os_version, System::long_os_version and System::distribution_id.Linux: Add more ARM vendor IDs.
boot_time information.User::groups.System::long_os_version.std::env::consts::ARCH as fallback for System::cpu_arch.Disk::usage.NetworkData::mtu.DiskRefreshKind to have finer-grained disks refreshes.Component::temperature and Component::max now returns Option<f32>.Users::refresh_list, Groups::refresh_list, Components::refresh_list, Networks::refresh_list and Disks::refresh_list methods were renamed refresh.*RefreshKind::new methods were renamed nothing.DiskUsage::read_bytes.Process::kill.Fix compilation error due to libc update.
libc update.Add new Disk::is_read_only API.
Disk::is_read_only API.remove_dead_processes argument to System::refresh_processes and System::refresh_processes_specifics.macOS: Force memory cleanup in disk list retrieval.
Raspberry Pi: Fix temperature retrieval.
Remove bstr dependency (needed for rustc development).
bstr dependency (needed for rustc development).Downgrade version of memchr (needed for rustc development).
memchr (needed for rustc development).Split crate in features to only enable what you need.
System::refresh_process, System::refresh_process_specifics and System::refresh_pids
methods.ProcessesToUpdate to System::refresh_processes and System::refresh_processes_specifics methods.NetworkData::ip_networks method.System::refresh_cpu_list method.TermalSensorType to ThermalSensorType.OsString.System::global_cpu_info.System::global_cpu_usage.macOS: Fix segfault when calling Components::refresh_list multiple times.
Components::refresh_list multiple times.FreeBSD: Fix network interfaces retrieval (one was always missing).
macOS: Fix some invalid utf8 conversions.
Linux: Fix components not being listed anymore.
Linux/Windows: Performance improvements.
Linux: Fix missing parallelization.
cargo feature flag linux-tmpfs to list tmpfs mounts.NaN.Components::refresh is now parallelized.Linux: Fix cgroup memory computation.
macOS: Fix missing update of process run time.
Groups API.Windows: Correctly retrieve processes name on 32 bits platforms.
* Windows: Fix misaligned read.
Improve dependency stack by updating the windows dependency.
windows dependency.Add Process::thread_kind method.
ThreadKind enum.Process::thread_kind method.Linux: Fix invalid memory information retrieval (virtual and resident set size were reversed).
Split System into subtypes: Components, Disks, Networks and Users.
System into subtypes: Components, Disks, Networks and Users.brand, vendor_id and frequency information is not set anymore on the global CPU.Vec::reserve.linux-netdevs feature to allow to retrieve network devices.statm file instead of stat).System::load_average is not working in documentation.System::cgroup_limits method.System::refresh_system method.Disk::file_system and Disk::name now return an Option<&OsStr>.Display trait on DiskKind.winapi to windows crate.System::cpu_arch.System::refresh_pids and System::refresh_pids_specifics.System::boot_time, System::cpu_arch, System::distribution_id, System::host_name,
System::kernel_version, System::load_average, System::long_os_version, System::name,
System::os_version and System::uptime are static methods.ProcessRefreshKind has a lot more of possibilities for better control over updates.UpdateKind enum.MemoryRefreshKind struct.System::refresh_memory_specifics method.Process::exe, Process::cwd and Process::root return an Option<&Path>.Process::tasks method is available on all platforms.Process::tasks method returns a HashSet<Pid>.System::IS_SUPPORTED, System::SUPPORTED_SIGNALS and
System::MINIMUM_CPU_UPDATE_INTERVAL constants out of System directly at the crate top-level.IS_SUPPORTED into IS_SUPPORTED_SYSTEM.serde serialization.System::refresh_cpu_frequency and System::refresh_cpu_all.sysinfo.h and C wrapper.macOS: Fix bug when a user group doesn't have a name.
Linux: Correctly handle max memory value for cgroups.
Linux: Fix memory usage retrieval for cgroups.
* Linux: Fix overflow bug.
macOS: Fix CPU frequency retrieval for M1 and M2.
Update minimum rust version to 1.63.
refresh_processes and refresh_process.Cargo.lock is now included to prevent minimum rust version disruptions.Windows: Remove some undefined behaviour when listing processes.
--generate-link-to-definition option to have better source code pages.Windows: Improve code to retrieve network interfaces.
Fix some documentation examples.
: Generate documentation for all supported platforms.
Update libc version to 0.2.144.
libc version to 0.2.144.Add ProcessExt::effective_user_id and ProcessExt::effective_group_id.
ProcessExt::effective_user_id and ProcessExt::effective_group_id.DiskType into DiskKind.DiskExt::type_ into DiskExt::kind.ProcessStatus and remove public ThreadStatus field.macOS: Improve CPU computation.
FreeBSD/Windows: Add missing frequency for global CPU.
Your coding agent can read these notes before it upgrades. Set up the MCP server →