sysinfo
Library to get system information such as processes, CPUs, disks, components and networks
0.39.6
188M downloads/mo
#528 most downloaded on crates.io
GuillaumeGomez/sysinfo
What this package is like to depend on
Last release 1 months ago
09 Jul 2026
Release timing varies
gaps range from 8 days to 4 months
Most releases are documented
notes for 169 of 264 stable releases
4 versions withdrawn
withdrawn after publishing
11 years old
268 releases · first in 2015
14 releases in the last 12 months
see the full history below
Release timeline
268 releases · Jul 2015 to Jul 2026
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 60 of 268-
0.39.609 Jul 2026Release notes
Open source →- NetBSD: Add support for disk I/O usage.
- NetBSD: Improve retrieval of disk information.
-
0.39.522 Jun 2026 -
0.39.421 Jun 2026Release notes
Open source →- Unix: Fix soundness issue when retrieving user's groups.
- macOS: Add new macOS version name.
- macOS: Fix inaccurate
open_filesreturned value.
-
0.39.328 May 2026Release notes
Open source →- Unix: Fix retrieval of
Network::mac_addr. - Linux: Improve retrieval of process information if process terminates while doing so.
- Unix: Fix retrieval of
-
0.39.217 May 2026Release notes
Open source →- Windows: Greatly improve performance of
System::refresh_cpu_specificswhen CPU usage is not requested. - iOS: Fix compilation error when
userfeature is enabled. - Linux: Correctly set thread information for processes.
- Windows: Greatly improve performance of
-
0.39.110 May 2026 -
0.39.007 May 2026Release notes
Open source →- Update minimum supported rust version to
1.95. - Add new
NetworkData::operational_stateAPI. - Add new
Process::cgroup_limitsAPI (only returning data on Linux). - All supported systems other than Windows: Improve performance of
Networks::refresh*. - All supported systems other than Windows: Fix soundness issue when retrieving users.
- Linux: Take into account parent cgroup memory limits.
- Linux: Fix panic when retrieving process information on
ESXi. - FreeBSD: Use the name of dataset as
namefor zfs disks.
- Update minimum supported rust version to
-
0.38.409 Mar 2026Release notes
Open source →- macOS: Unpin
objc2-*crates version. - Linux: Fix computation of disk size.
- macOS: Unpin
-
0.38.302 Mar 2026Release notes
Open source →- macOS: Improve accuracy of
System::available_memoryandSystem::used_memory. - Documentation: add missing unit for
CPU::frequencyreturned value.
- macOS: Improve accuracy of
-
0.38.215 Feb 2026Release notes
Open source →- Implement
Errortrait forMacAddrFromStrError,IpNetworkFromStrErrorandKillErrortypes.
- Implement
-
0.38.106 Feb 2026 -
0.38.024 Jan 2026Release notes
Open source →- Add NetBSD support.
- Windows: Fix unsoundness for a function used in
MotherboardandProduct. - Linux: Improve CPU info parsing.
- Fix
serdeserialization ofMacAddrand ofDisk::file_system.
-
0.37.202 Oct 2025Release notes
Open source →- Improve documentation of
System::refresh_cpu_alland ofSystem::refresh_cpu_specifics. - Android: Fix
System::uptime. - Linux: Correctly handled modified/removed
Process::exepaths.
- Improve documentation of
-
0.37.126 Sep 2025Release notes
Open source →- Fix
serdeserialization onProcess::name. - Linux: Fix
get_cpu_frequencyonloongarch64. - Windows: Correctly handle invalid UTF-8 string in
Motherboard.
- Fix
-
0.37.010 Aug 2025Release notes
Open source →- Update minimum supported Rust version to
1.88(for 2024 edition andif let chainfeature). - Added
Component::idAPI. - Linux: Greatly improve partial processes retrieval.
- Linux: Simplify internal components retrieval code.
- Update minimum supported Rust version to
-
0.36.118 Jul 2025 -
0.36.010 Jul 2025Release notes
Open source →- Add new
Motherboardtype. - Add new
Producttype. - Linux/macOS: Fix CPU usage update.
- Linux: Improve
Component::labelgeneratedString. - macOS: Make
ComponentsimplementSendandSynctraits.
- Add new
-
0.35.203 Jun 2025Release notes
Open source →- Linux: Fix retrieval of processor frequency on loongarch64.
- Linux/Android: Improve
Process::waitby checking if the process is still alive before waiting. - Windows: Fix
Process::wait.
-
0.35.111 May 2025Release notes
Open source →- Linux: Fix processor retrieval if some information is missing.
- Windows: Increase range of
windowscrate up to< 0.63.
-
0.35.001 May 2025Release notes
Open source →- Update MSRV to 1.75.
- Add
System::open_files_limit. - Add
Process::kill_and_waitandProcess::kill_with_and_waitmethods. Process::open_files*methods returnusize.set_open_files_limitargument type isusize.- Code example was improved.
- macOS: Fix M4 CPU frequency calculation.
- Linux: Correctly handle when new CPUs are added.
- Linux: Ignore
autofsdisks. - Linux (raspberry pi): Retrieve more thermal zones.
- Android: Update documentation to mention that newer Android version don't allow to retrieve CPU information.
- Windows: Improve
Process::waitcode. - Windows: Fix
Groups::refresh.
-
0.34.201 Apr 2025 -
0.34.128 Mar 2025 -
0.34.027 Mar 2025Release notes
Open source →multithreadfeature is disabled by default.- Add new
Processmethods:accumulated_cpu_time,exists,open_filesandopen_files_limit. Process::waitmethod now returnsOption<ExitStatus>.- Add new
Systemmethods:distribution_id_likeandkernel_long_version. - Turn
System::physical_core_countmethod into an associated function. - Make
System::refresh_allandSystem::refresh_specificsmethods remove dead processes. - Add new
ProcessRefreshKindrefresh:tasks. - Fix
Groupdocs. - Implement
Deserializetrait onDiskKind,MacAddr,IpNetwork,ProcessStatus,SignalandThreadKind. - Implement
FromStrtrait onIpNetworkandMacAddr. - Implement
Hashtrait onDiskKind,MacAddr,ProcessStatusandSignal. - macOS: Removed processes are now correctly handled when refreshing processes.
- macOS: Strengthen dist list refresh.
- macOS: Fix internal
cfghandling which triggered compilation failures in some specific cases. - Linux: max cgroups memory is more reliant in case of wrong input.
- Linux: Fix processes tasks update.
- Linux: Improve disks retrieval.
- Windows: Fix antivirus considering programs using
sysinfoas viruses by replacing uses ofNtQueryInformationProcesswith other "mainstream" Windows API. - Windows: Improve CPU usage computation efficiency.
- FreeBSD: Improve
process_procswhen there is only one process to refresh.
-
0.33.127 Dec 2024Release notes
Open source →- Linux: Fix components retrieval.
- Linux: Filter out more virtual file systems for
DiskAPI. - Linux/Android: Improve
System::long_os_version(). - Apple: Add missing CPU brands for iPhone and iPads.
- macOS: Improve system name retrieval in
System::long_os_version(). - Linux/macOS: Avoid trailing whitespace and consecutive whitespace in
System::long_os_version(). - Windows: Fix
User::groups. - Improve documentation for
System::name,System::kernel_version,System::os_version,System::long_os_versionandSystem::distribution_id.
-
0.33.004 Dec 2024Release notes
Open source →- Linux: Add more ARM vendor IDs.
- Linux: Improve CPU computation when refreshing a single process CPU usage.
- Windows: Fix CPU frequency not being refreshed.
- Windows: Improved components retrieval.
- Windows: Fix inconsistent
boot_timeinformation. - Windows: Fix
User::groups. - macOS: Fix network data information being limited to 32 bits.
- macOS: Add newer macOS version for
System::long_os_version. - unix: Add support for network sub-interfaces.
- Use
std::env::consts::ARCHas fallback forSystem::cpu_arch. - Add disk I/O support provided through
Disk::usage. - Add
NetworkData::mtu. - Add
DiskRefreshKindto have finer-grained disks refreshes. Component::temperatureandComponent::maxnow returnsOption<f32>.Users::refresh_list,Groups::refresh_list,Components::refresh_list,Networks::refresh_listandDisks::refresh_listmethods were renamedrefresh.*RefreshKind::newmethods were renamednothing.- Improve documentation for
DiskUsage::read_bytes. - Improve documentation for
Process::kill.
-
0.32.126 Nov 2024 -
0.32.005 Oct 2024Release notes
Open source →- Add new
Disk::is_read_onlyAPI. - Add new
remove_dead_processesargument toSystem::refresh_processesandSystem::refresh_processes_specifics. - macOS: Fix memory leak in disk refresh.
- Add new
-
0.31.428 Aug 2024 -
0.31.323 Aug 2024 -
0.31.201 Aug 2024 -
0.31.101 Aug 2024 -
0.31.031 Jul 2024Release notes
Open source →- Split crate in features to only enable what you need.
- Remove
System::refresh_process,System::refresh_process_specificsandSystem::refresh_pidsmethods. - Add new argument of type
ProcessesToUpdatetoSystem::refresh_processesandSystem::refresh_processes_specificsmethods. - Add new
NetworkData::ip_networksmethod. - Add new
System::refresh_cpu_listmethod. - Global CPU now only contains CPU usage.
- Rename
TermalSensorTypetoThermalSensorType. - Process names is now an
OsString. - Remove
System::global_cpu_info. - Add
System::global_cpu_usage. - macOS: Fix invalid CPU computation when single processes are refreshed one after the other.
- Windows: Fix virtual memory computation.
- Windows: Fix WoW64 parent process refresh.
- Linux: Retrieve RSS (Resident Set Size) memory for cgroups.
-
0.30.1308 Jul 2024Release notes
Open source →- macOS: Fix segfault when calling
Components::refresh_listmultiple times. - Windows: Fix CPU arch retrieval.
- macOS: Fix segfault when calling
-
0.30.1205 May 2024 -
0.30.1118 Apr 2024 -
0.30.1010 Apr 2024 -
0.30.908 Apr 2024Release notes
Open source →- Linux/Windows: Performance improvements.
- Linux/macOS/FreeBSD: Parent process ID is updated if changed as expected.
-
0.30.802 Apr 2024Release notes
Open source →- Linux: Fix missing parallelization.
- Linux: Add
cargofeature flaglinux-tmpfsto listtmpfsmounts. - macOS: Fix CPU usage returning
NaN. Components::refreshis now parallelized.
-
0.30.706 Mar 2024Release notes
Open source →- Linux: Fix cgroup memory computation.
- FreeBSD: Fix documentation about disk usage.
-
0.30.601 Mar 2024Release notes
Open source →- macOS: Fix missing update of process run time.
- Add new
GroupsAPI. - Improve documentation.
-
0.30.505 Jan 2024Release notes
Open source →- Windows: Correctly retrieve processes name on 32 bits platforms.
- Windows: Fix swap memory computation.
-
0.30.403 Jan 2024 -
0.30.329 Dec 2023 -
0.30.228 Dec 2023 -
0.30.125 Dec 2023Release notes
Open source →- Linux: Fix invalid memory information retrieval (virtual and resident set size were reversed).
-
0.30.020 Dec 2023Release notes
Open source →- Split
Systeminto subtypes:Components,Disks,NetworksandUsers. brand,vendor_idandfrequencyinformation is not set anymore on the global CPU.- Unix: Fix endless loop in user groups retrieval.
- Unix/Windows: Fix infinite loop when retrieving various information because of bad usage
of
Vec::reserve. - Unix: Fix invalid usage of NULL pointer when retrieving user group name.
- Linux: Fix CPU name retrieval.
- Linux: Remove cgroup usage from memory computation.
- Linux: Add
linux-netdevsfeature to allow to retrieve network devices. - Linux: Improve system memory information retrieval (using
statmfile instead ofstat). - Linux: Tasks are listed in processes.
- macOS: Correctly retrieve process root directory.
- Windows: Add warning that
System::load_averageis not working in documentation. - Windows: Fix invalid use of NULL pointer when retrieving users groups.
- Windows: Correctly retrieve process root directory.
- Create new
System::cgroup_limitsmethod. - Remove
System::refresh_systemmethod. Disk::file_systemandDisk::namenow return anOption<&OsStr>.- Implement
Displaytrait onDiskKind. - Move from
winapitowindowscrate. - Add
System::cpu_arch. - Add
System::refresh_pidsandSystem::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_versionandSystem::uptimeare static methods.ProcessRefreshKindhas a lot more of possibilities for better control over updates.- Add new
UpdateKindenum. - Add new
MemoryRefreshKindstruct. - Add new
System::refresh_memory_specificsmethod. Process::exe,Process::cwdandProcess::rootreturn anOption<&Path>.Process::tasksmethod is available on all platforms.Process::tasksmethod returns aHashSet<Pid>.- Move
System::IS_SUPPORTED,System::SUPPORTED_SIGNALSandSystem::MINIMUM_CPU_UPDATE_INTERVALconstants out ofSystemdirectly at the crate top-level. - Rename
IS_SUPPORTEDintoIS_SUPPORTED_SYSTEM. - Fix
serdeserialization. - Add
System::refresh_cpu_frequencyandSystem::refresh_cpu_all. - Fix
sysinfo.hand C wrapper. - Add a migration guide.
- Split
-
0.29.1126 Nov 2023 -
0.29.1006 Sep 2023 -
0.29.928 Aug 2023 -
0.29.813 Aug 2023 -
0.29.726 Jul 2023Release notes
Open source →- macOS: Fix CPU frequency retrieval for M1 and M2.
- Linux: Add support for cgroups v1/v2 for memory.
- Windows: Fix processes name encoding issues.
-
0.29.621 Jul 2023Release notes
Open source →- Update minimum rust version to 1.63.
- Windows: Fix memory corruption when listing processes.
- Windows: Fix name inconsistency between
refresh_processesandrefresh_process. Cargo.lockis now included to prevent minimum rust version disruptions.
-
0.29.516 Jul 2023Release notes
Open source →- Windows: Remove some undefined behaviour when listing processes.
- <docs.rs>: Use
--generate-link-to-definitionoption to have better source code pages.
-
0.29.403 Jul 2023Release notes
Open source →- Windows: Improve code to retrieve network interfaces.
- Improve serde documentation example.
- Fix some clippy lints.
-
0.29.329 Jun 2023 -
0.29.207 Jun 2023 -
0.29.107 Jun 2023Release notes
Open source →- Update
libcversion to 0.2.144. - Linux/FreeBSD/macOS: Fix retrieval of users groups in multi-threaded context.
- Update
-
0.29.005 May 2023Release notes
Open source →- Add
ProcessExt::effective_user_idandProcessExt::effective_group_id. - Rename
DiskTypeintoDiskKind. - Rename
DiskExt::type_intoDiskExt::kind. - macOS: Correctly handle
ProcessStatusand remove publicThreadStatusfield. - Windows 11: Fix CPU core usage.
- Add
-
0.28.424 Mar 2023Release notes
Open source →- macOS: Improve CPU computation.
- Strengthen a process test (needed for debian).
-
0.28.317 Mar 2023Release notes
Open source →- FreeBSD/Windows: Add missing frequency for global CPU.
- macOS: Fix used memory computation.
- macOS: Improve available memory computation.
- Windows: Fix potential panic when getting process data.