PackageTrack
Sign in Get early access

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
Release Pre-release Withdrawn

Releases

latest 60 of 268
  1. 0.39.6 09 Jul 2026
    Release notes

    Update crate version to 0.39.6

    Open source →
    Release notes
    • NetBSD: Add support for disk I/O usage.
    • NetBSD: Improve retrieval of disk information.
    Open source →
  2. 0.39.5 22 Jun 2026
    Release notes

    Update crate version to 0.39.5

    Open source →
    Release notes
    • macOS: Fix build for apple app store
    Open source →
  3. 0.39.4 21 Jun 2026
    Release notes

    Update CHANGELOG for 0.39.4

    Open source →
    Release notes
    • Unix: Fix soundness issue when retrieving user's groups.
    • macOS: Add new macOS version name.
    • macOS: Fix inaccurate open_files returned value.
    Open source →
  4. 0.39.3 28 May 2026
    Release notes

    Update crate version to 0.39.3

    Open source →
    Release notes
    • Unix: Fix retrieval of Network::mac_addr.
    • Linux: Improve retrieval of process information if process terminates while doing so.
    Open source →
  5. 0.39.2 17 May 2026
    Release notes

    Update crate version to 0.39.2

    Open source →
    Release notes
    • Windows: Greatly improve performance of System::refresh_cpu_specifics when CPU usage is not requested.
    • iOS: Fix compilation error when user feature is enabled.
    • Linux: Correctly set thread information for processes.
    Open source →
  6. 0.39.1 10 May 2026
    Release notes

    Update CHANGELOG and crate version to 0.39.1

    Open source →
    Release notes
    • Linux: Fix wrong network numbers computation.
    Open source →
  7. 0.39.0 07 May 2026
    Release notes
    • Update minimum supported rust version to 1.95.
    • Add new NetworkData::operational_state API.
    • Add new Process::cgroup_limits API (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 name for zfs disks.
    Open source →
  8. 0.38.4 09 Mar 2026
    Release notes
    • macOS: Unpin objc2-* crates version.
    • Linux: Fix computation of disk size.
    Open source →
  9. 0.38.3 02 Mar 2026
    Release notes
    • macOS: Improve accuracy of System::available_memory and System::used_memory.
    • Documentation: add missing unit for CPU::frequency returned value.
    Open source →
  10. 0.38.2 15 Feb 2026
    Release notes
    • Implement Error trait for MacAddrFromStrError, IpNetworkFromStrError and KillError types.
    Open source →
  11. 0.38.1 06 Feb 2026
    Release notes
    • macOS: Put back support for versions below macOS 12.
    Open source →
  12. 0.38.0 24 Jan 2026
    Release notes
    • Add NetBSD support.
    • Windows: Fix unsoundness for a function used in Motherboard and Product.
    • Linux: Improve CPU info parsing.
    • Fix serde serialization of MacAddr and of Disk::file_system.
    Open source →
  13. 0.37.2 02 Oct 2025
    Release notes
    • Improve documentation of System::refresh_cpu_all and of System::refresh_cpu_specifics.
    • Android: Fix System::uptime.
    • Linux: Correctly handled modified/removed Process::exe paths.
    Open source →
  14. 0.37.1 26 Sep 2025
    Release notes
    • Fix serde serialization on Process::name.
    • Linux: Fix get_cpu_frequency on loongarch64.
    • Windows: Correctly handle invalid UTF-8 string in Motherboard.
    Open source →
  15. 0.37.0 10 Aug 2025
    Release notes
    • Update minimum supported Rust version to 1.88 (for 2024 edition and if let chain feature).
    • Added Component::id API.
    • Linux: Greatly improve partial processes retrieval.
    • Linux: Simplify internal components retrieval code.
    Open source →
  16. 0.36.1 18 Jul 2025
    Release notes
    • Linux: Improve processor CPU usage computation.
    Open source →
  17. 0.36.0 10 Jul 2025
    Release notes
    • Add new Motherboard type.
    • Add new Product type.
    • Linux/macOS: Fix CPU usage update.
    • Linux: Improve Component::label generated String.
    • macOS: Make Components implement Send and Sync traits.
    Open source →
  18. 0.35.2 03 Jun 2025
    Release notes
    • Linux: Fix retrieval of processor frequency on loongarch64.
    • Linux/Android: Improve Process::wait by checking if the process is still alive before waiting.
    • Windows: Fix Process::wait.
    Open source →
  19. 0.35.1 11 May 2025
    Release notes
    • Linux: Fix processor retrieval if some information is missing.
    • Windows: Increase range of windows crate up to < 0.63.
    Open source →
  20. 0.35.0 01 May 2025
    Release notes
    • Update MSRV to 1.75.
    • Add System::open_files_limit.
    • Add 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.
    • Code example was improved.
    • macOS: Fix M4 CPU frequency calculation.
    • Linux: Correctly handle when new CPUs are added.
    • Linux: Ignore autofs disks.
    • 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::wait code.
    • Windows: Fix Groups::refresh.
    Open source →
  21. 0.34.2 01 Apr 2025
    Release notes
    • FreeBSD: Fix segfault when refreshing processes.
    Open source →
  22. 0.34.1 28 Mar 2025
    Release notes
    • macOS: Remove forgotten debug print.
    Open source →
  23. 0.34.0 27 Mar 2025
    Release notes
    • multithread feature is disabled by default.
    • Add new Process methods: accumulated_cpu_time, exists, open_files and open_files_limit.
    • Process::wait method now returns Option<ExitStatus>.
    • Add new System methods: distribution_id_like and kernel_long_version.
    • Turn System::physical_core_count method into an associated function.
    • Make System::refresh_all and System::refresh_specifics methods remove dead processes.
    • Add new ProcessRefreshKind refresh: tasks.
    • Fix Group docs.
    • Implement Deserialize trait on DiskKind, MacAddr, IpNetwork, ProcessStatus, Signal and ThreadKind.
    • Implement FromStr trait on IpNetwork and MacAddr.
    • Implement Hash trait on DiskKind, MacAddr, ProcessStatus and Signal.
    • macOS: Removed processes are now correctly handled when refreshing processes.
    • macOS: Strengthen dist list refresh.
    • macOS: Fix internal cfg handling 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 sysinfo as viruses by replacing uses of NtQueryInformationProcess with other "mainstream" Windows API.
    • Windows: Improve CPU usage computation efficiency.
    • FreeBSD: Improve process_procs when there is only one process to refresh.
    Open source →
  24. 0.33.1 27 Dec 2024
    Release notes
    • Linux: Fix components retrieval.
    • Linux: Filter out more virtual file systems for Disk API.
    • 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_version and System::distribution_id.
    Open source →
  25. 0.33.0 04 Dec 2024
    Release notes
    • 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_time information.
    • 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::ARCH as fallback for System::cpu_arch.
    • Add disk I/O support provided through Disk::usage.
    • Add NetworkData::mtu.
    • Add 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.
    • Improve documentation for DiskUsage::read_bytes.
    • Improve documentation for Process::kill.
    Open source →
  26. 0.32.1 26 Nov 2024
    Release notes
    • Fix compilation error due to libc update.
    Open source →
  27. 0.32.0 05 Oct 2024
    Release notes
    • Add new Disk::is_read_only API.
    • Add new remove_dead_processes argument to System::refresh_processes and System::refresh_processes_specifics.
    • macOS: Fix memory leak in disk refresh.
    Open source →
  28. 0.31.4 28 Aug 2024
    Release notes
    • macOS: Force memory cleanup in disk list retrieval.
    Open source →
  29. 0.31.3 23 Aug 2024
    Release notes
    • Raspberry Pi: Fix temperature retrieval.
    Open source →
  30. 0.31.2 01 Aug 2024
    Release notes
    • Remove bstr dependency (needed for rustc development).
    Open source →
  31. 0.31.1 01 Aug 2024
    Release notes
    • Downgrade version of memchr (needed for rustc development).
    Open source →
  32. 0.31.0 31 Jul 2024
    Release notes
    • Split crate in features to only enable what you need.
    • Remove System::refresh_process, System::refresh_process_specifics and System::refresh_pids methods.
    • Add new argument of type ProcessesToUpdate to System::refresh_processes and System::refresh_processes_specifics methods.
    • Add new NetworkData::ip_networks method.
    • Add new System::refresh_cpu_list method.
    • Global CPU now only contains CPU usage.
    • Rename TermalSensorType to ThermalSensorType.
    • 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.
    Open source →
  33. 0.30.13 08 Jul 2024
    Release notes
    • macOS: Fix segfault when calling Components::refresh_list multiple times.
    • Windows: Fix CPU arch retrieval.
    Open source →
  34. 0.30.12 05 May 2024
    Release notes
    • FreeBSD: Fix network interfaces retrieval (one was always missing).
    Open source →
  35. 0.30.11 18 Apr 2024
    Release notes
    • macOS: Fix some invalid utf8 conversions.
    Open source →
  36. 0.30.10 10 Apr 2024
    Release notes
    • Linux: Fix components not being listed anymore.
    Open source →
  37. 0.30.9 08 Apr 2024
    Release notes
    • Linux/Windows: Performance improvements.
    • Linux/macOS/FreeBSD: Parent process ID is updated if changed as expected.
    Open source →
  38. 0.30.8 02 Apr 2024
    Release notes
    • Linux: Fix missing parallelization.
    • Linux: Add cargo feature flag linux-tmpfs to list tmpfs mounts.
    • macOS: Fix CPU usage returning NaN.
    • Components::refresh is now parallelized.
    Open source →
  39. 0.30.7 06 Mar 2024
    Release notes
    • Linux: Fix cgroup memory computation.
    • FreeBSD: Fix documentation about disk usage.
    Open source →
  40. 0.30.6 01 Mar 2024
    Release notes
    • macOS: Fix missing update of process run time.
    • Add new Groups API.
    • Improve documentation.
    Open source →
  41. 0.30.5 05 Jan 2024
    Release notes
    • Windows: Correctly retrieve processes name on 32 bits platforms.
    • Windows: Fix swap memory computation.
    Open source →
  42. 0.30.4 03 Jan 2024
    Release notes
    • Windows: Fix misaligned read.
    Open source →
  43. 0.30.3 29 Dec 2023
    Release notes
    • Improve dependency stack by updating the windows dependency.
    Open source →
  44. 0.30.2 28 Dec 2023
    Release notes
    • Add ThreadKind enum.
    • Add Process::thread_kind method.
    Open source →
  45. 0.30.1 25 Dec 2023
    Release notes
    • Linux: Fix invalid memory information retrieval (virtual and resident set size were reversed).
    Open source →
  46. 0.30.0 20 Dec 2023
    Release notes
    • Split System into subtypes: Components, Disks, Networks and Users.
    • brand, vendor_id and frequency information 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-netdevs feature to allow to retrieve network devices.
    • Linux: Improve system memory information retrieval (using statm file instead of stat).
    • Linux: Tasks are listed in processes.
    • macOS: Correctly retrieve process root directory.
    • Windows: Add warning that System::load_average is 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_limits method.
    • Remove System::refresh_system method.
    • Disk::file_system and Disk::name now return an Option<&OsStr>.
    • Implement Display trait on DiskKind.
    • Move from winapi to windows crate.
    • Add System::cpu_arch.
    • Add 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.
    • Add new UpdateKind enum.
    • Add new MemoryRefreshKind struct.
    • Add new 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>.
    • Move System::IS_SUPPORTED, System::SUPPORTED_SIGNALS and System::MINIMUM_CPU_UPDATE_INTERVAL constants out of System directly at the crate top-level.
    • Rename IS_SUPPORTED into IS_SUPPORTED_SYSTEM.
    • Fix serde serialization.
    • Add System::refresh_cpu_frequency and System::refresh_cpu_all.
    • Fix sysinfo.h and C wrapper.
    • Add a migration guide.
    Open source →
  47. 0.29.11 26 Nov 2023
    Release notes
    • macOS: Fix bug when a user group doesn't have a name.
    Open source →
  48. 0.29.10 06 Sep 2023
    Release notes
    • Linux: Correctly handle max memory value for cgroups.
    Open source →
  49. 0.29.9 28 Aug 2023
    Release notes
    • Linux: Fix memory usage retrieval for cgroups.
    Open source →
  50. 0.29.8 13 Aug 2023
    Release notes
    • Linux: Fix overflow bug.
    Open source →
  51. 0.29.7 26 Jul 2023
    Release notes
    • macOS: Fix CPU frequency retrieval for M1 and M2.
    • Linux: Add support for cgroups v1/v2 for memory.
    • Windows: Fix processes name encoding issues.
    Open source →
  52. 0.29.6 21 Jul 2023
    Release notes
    • Update minimum rust version to 1.63.
    • Windows: Fix memory corruption when listing processes.
    • Windows: Fix name inconsistency between refresh_processes and refresh_process.
    • Cargo.lock is now included to prevent minimum rust version disruptions.
    Open source →
  53. 0.29.5 16 Jul 2023
    Release notes
    • Windows: Remove some undefined behaviour when listing processes.
    • <docs.rs>: Use --generate-link-to-definition option to have better source code pages.
    Open source →
  54. 0.29.4 03 Jul 2023
    Release notes
    • Windows: Improve code to retrieve network interfaces.
    • Improve serde documentation example.
    • Fix some clippy lints.
    Open source →
  55. 0.29.3 29 Jun 2023
    Release notes
    • Fix some documentation examples.
    Open source →
  56. 0.29.2 07 Jun 2023
    Release notes
    • <docs.rs>: Generate documentation for all supported platforms.
    Open source →
  57. 0.29.1 07 Jun 2023
    Release notes
    • Update libc version to 0.2.144.
    • Linux/FreeBSD/macOS: Fix retrieval of users groups in multi-threaded context.
    Open source →
  58. 0.29.0 05 May 2023
    Release notes
    • Add ProcessExt::effective_user_id and ProcessExt::effective_group_id.
    • Rename DiskType into DiskKind.
    • Rename DiskExt::type_ into DiskExt::kind.
    • macOS: Correctly handle ProcessStatus and remove public ThreadStatus field.
    • Windows 11: Fix CPU core usage.
    Open source →
  59. 0.28.4 24 Mar 2023
    Release notes
    • macOS: Improve CPU computation.
    • Strengthen a process test (needed for debian).
    Open source →
  60. 0.28.3 17 Mar 2023
    Release notes
    • 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.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive