Releases: eminence/procfs
v0.18.0
What's Changed
- Enable
generate-link-to-definitionrustdoc feature on docs.rs by @GuillaumeGomez in #320 - Use correct MSRV by @tyilo in #328
- replace hardcoded crate name by env var that returns the crate's name dynamically by @PauloMigAlmeida in #327
- Remove unused crate and use by @javierhonduco in #329
- Fix lints as the names have changed by @javierhonduco in #330
- Reduce short-lived allocations in memory maps parsing by @javierhonduco in #331
- Work around 32/64 bit mismatch by @musicinmybrain in #326
- Parse /proc/pid/status "Groups" field as u32 by @Jongy in #334
- Make get_pressure and parse_pressure_record public by @SebastiaanYN in #335
- Use AsRef for user-facing path parameters by @Jongy in #336
- Check process name in test_proc_status_for_kthreadd by @NoisyCoil in #337
- Add
fullrecord toCpuPressureby @SebastiaanYN in #338 - chore(deps): update
rustixto 1.0.1 by @cratelyn in #340 - Derive PartialEq & Eq for FDTarget by @Jongy in #339
- Fix README.md example compilation by @rantala in #342
- Fix for trait derivation on wasm targets by @fzylogic in #345
- Add Process.open_relative_flags by @Jongy in #341
- fix wrong spelling in nfs mount by @arthur-zhang in #347
- Add track_caller to check_unwrap test helper function by @eminence in #355
- Add /proc/pid/syscall parsing support by @jebradbury39 in #350
- Fix FDTarget parsing for unknown FD types by @eminence in #356
- Fix parsing for mountinfo and related fields when presented with empty fields by @eminence in #357
- Replace
cratewith$cratein our macro definitions by @eminence in #358
New Contributors
- @GuillaumeGomez made their first contribution in #320
- @tyilo made their first contribution in #328
- @PauloMigAlmeida made their first contribution in #327
- @javierhonduco made their first contribution in #329
- @musicinmybrain made their first contribution in #326
- @Jongy made their first contribution in #334
- @SebastiaanYN made their first contribution in #335
- @NoisyCoil made their first contribution in #337
- @cratelyn made their first contribution in #340
- @rantala made their first contribution in #342
- @fzylogic made their first contribution in #345
- @arthur-zhang made their first contribution in #347
- @jebradbury39 made their first contribution in #350
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
- cgroups: skip empty controllers by @eliad-wiz in #292
- Clarify CpuInfo.get_field docs by @eminence in #291
- Correct copy-pasted Process::task_from_tid() doc by @ryoqun in #294
- Ship copyright and license files with split crates by @michel-slm in #297
- Derive serde for Pfn by @tatref in #301
- Add MountInfos::iter by @rusty-snake in #300
- Add oom_score_adj Process methods by @futpib in #298
- feat: move PhysicalPageFlags to procfs-core by @tatref in #303
- Fix documentation for
Meminfo.s_reclaimable. by @carletes in #306 - Doc: Fix incorrect link to examples by @VxDxK in #307
- Implemented proc/crypto parsing by @Hwatwasthat in #296
- Remove lazy-static dependency by @notgull in #308
- Fix build error with backtrace feature enabled by @mbrubeck in #309
- net: Improve parsing of /proc/net/snmp by @haaspors in #313
- Updated some examples to a bit more than printing debug. by @Hwatwasthat in #314
- Implemented crypto example by @Hwatwasthat in #315
- Add support for /dev/devices by @yamaura in #311
New Contributors
- @ryoqun made their first contribution in #294
- @michel-slm made their first contribution in #297
- @rusty-snake made their first contribution in #300
- @futpib made their first contribution in #298
- @carletes made their first contribution in #306
- @VxDxK made their first contribution in #307
- @Hwatwasthat made their first contribution in #296
- @notgull made their first contribution in #308
- @mbrubeck made their first contribution in #309
- @haaspors made their first contribution in #313
- @yamaura made their first contribution in #311
Full Changelog: v0.16.0...v0.17.0
v0.16.0
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
- Implementation of a split crate scheme. by @afranchuk in #257
- Add /proc/mounts by @tatref in #261
- add /proc/pid/clear_refs by @tatref in #268
- Implement some standard traits by @tatref in #254
- Support /proc/net/snmp and /proc/net/snmp6 by @wfly1998 in #281
- Add support for /proc/partitions parsing by @berrange in #286
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
v0.15.0
New Features
- Add /proc/iomem by @tatref in #216
- Add new functions to read various net files for a specific process by @eminence in #226
- add /proc/kpageflags by @tatref in #233
- Enable oppportunistic fd counting fast path by @bobrik in #234
- add /proc/kpagecount by @tatref in #232
- Add new
/proc/meminfofields. by @afranchuk in #238 - impl Hash for kernel version by @tatref in #240
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
- ticks_per_second and page_size are infallible by @eminence in #235
- parse uid for /proc/net/{tcp,udp} by @trinity-1686a in #231
- Refactor and expose memory map processing. by @afranchuk in #237
New Contributors
- @trinity-1686a made their first contribution in #231
- @afranchuk made their first contribution in #238
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
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
chronocrate by @Will-Low in #210 - Implement smaps_rollup by @TaborKelly in #214
Bug fixes
- Don't consider Zombies to be alive by @eminence in #198
- Fix doc and clippy warnings by @tatref in #219
- Fix memfd fd target by @trtt in #209
- Fix process iterator when used with a custom root by @ludo-c in #204
Dependency Updates
- Update to rustix 0.36. by @sunfishcode in #215
- Bump chorono to 0.4.20 by @pinkforest in #194
Full Changelog: v0.14.0...v0.14.2
v0.14.1
v0.13.3
v0.14.0
Breaking changes
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
- Fix build.rs to allow cross-compilation by @eminence in #187
- Document MSRV in Cargo.toml by @eminence in #189
- Add some docs on the Process object by @eminence in #190
Full Changelog: v0.13.2...v0.14.0