Skip to content

Releases: eminence/procfs

v0.17.0

07 Oct 02:29
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.16.0...v0.17.0

v0.16.0

29 Oct 16:54
Compare
Choose a tag to compare

This release contains a fairly large internal restructuring, which has noticeable public API changes. A lot of core functionality has been brought into a new procfs-core crate that contains platform-independent data structures and parsing. This crate can be used on all platforms. The procfs crate now depends on procfs-core, and contains all of the Linux-specific code (and thus remains only usable on Linux).

Some procfs functions require information about the running system. For example, the rss_bytes() function needs to know the page size. These functions now have a more complicated API. See the docs for more information, but generally you now have to add a call to .get(), for example:

Old:

let prc = procfs::process::Process::myself().unwrap();
let stat = prc.stat().unwrap();
println!("RSS:   {} bytes", stat.rss_bytes());

New:

use procfs::prelude::*;  // to bring `WithCurrentSystemInfo` into scope

let prc = procfs::process::Process::myself().unwrap();
let stat = prc.stat().unwrap();
println!("RSS:   {} bytes", stat.rss_bytes().get());

We think this new complication is unavoidable, but if you have some thoughts on this, your ideas are welcome in a new issue or discussion thread

New Features

Bug Fixes

  • Don't hide process creation errors in all_processes by @tatref in #260
  • Fix O_PATH for old kernels by @tatref in #266

Full Changelog: v0.15.1...v0.16.0

v0.15.1

18 Feb 17:22
16ccc15
Compare
Choose a tag to compare

New features

New Contributors

Full Changelog: v0.15.0...v0.15.1

v0.15.0

15 Feb 04:10
391bd13
Compare
Choose a tag to compare

New Features

Bug fixes

  • fix chrono::Local::timestamp deprecated in chrono 0.4.23 by @tatref in #220
  • Fix some minor documentation issues by @eminence in #225
  • Fixes the reported path when a task's function returns an error by @eminence in #230
  • fix shm size type by @tatref in #243

Breaking changes

New Contributors

Full Changelog: v0.14.2...v0.15.0

MSRV Note

This v0.15 release is only tested against the latest stable rust compiler, but is known to work with older versions (down to rust 1.48). Support for these older compilers may break in procfs patch releases. See also #223

v0.14.2

04 Dec 06:54
Compare
Choose a tag to compare

New Features

  • Process: Namespace: Use openat instead of building a path by @arilou in #192
  • add serde serialize/deserialize derives for public types by @eliad-wiz in #193
  • Disabling default features on the chrono crate by @Will-Low in #210
  • Implement smaps_rollup by @TaborKelly in #214

Bug fixes

Dependency Updates

Full Changelog: v0.14.0...v0.14.2

v0.14.1

21 Aug 00:16
Compare
Choose a tag to compare

Bug fixes

Full Changelog: v0.14.0...v0.14.1

v0.13.3

20 Aug 23:56
Compare
Choose a tag to compare

Bug fixes

Full Changelog: v0.13.2...v0.13.3

v0.14.0

29 Jul 20:19
Compare
Choose a tag to compare

Breaking changes

  • Process: namespaces: Change from Vec to HashMap by @arilou in #185

New features

  • Add suport for /proc/[pid]/task/[tid]/children by @zmjackson in #180
  • Add 'from_reader' for LoadAverage struct by @ludo-c in #191

Other changes

Full Changelog: v0.13.2...v0.14.0

v0.13.2

11 Jul 19:24
Compare
Choose a tag to compare

New features

v0.13.1

11 Jul 15:17
Compare
Choose a tag to compare

Bug fixes

  • Process: Correct AUXV to support 64bit Linux by @arilou in #178

Note: This fix is technically a breaking change, as the return value for a public API changed from HashMap<u32, u32> to HashMap<u64, u64>. However, since this function has been 100% broken for 4 years, I feel confident that no one is actually using this API.

New features

Other improvements

  • Remove obsolete document about stat field by @dalance in #177
  • Small update to doc comment on fd_count() by @eminence in #183

Full Changelog: v0.13.0...v0.13.1