giampaolo/psutil (psutil)
### [`v5.9.8`](https://redirect.github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#598)
[Compare Source](https://redirect.github.com/giampaolo/psutil/compare/release-5.9.7...release-5.9.8)
\=====
2024-01-19
**Enhancements**
- 2343\_, \[FreeBSD]: filter `net_connections()`\_ returned list in C instead of
Python, and avoid to retrieve unnecessary connection types unless explicitly
asked. E.g., on an IDLE system with few IPv6 connections this will run around
4 times faster. Before all connection types (TCP, UDP, UNIX) were retrieved
internally, even if only a portion was returned.
- 2342\_, \[NetBSD]: same as above ([#2343](https://redirect.github.com/giampaolo/psutil/issues/2343)) but for NetBSD.
- 2349\_: adopted black formatting style.
**Bug fixes**
- 930\_, \[NetBSD], \[critical]: `net_connections()`\_ implementation was broken.
It could either leak memory or core dump.
- 2340\_, \[NetBSD]: if process is terminated, `Process.cwd()`\_ will return an
empty string instead of raising `NoSuchProcess`\_.
- 2345\_, \[Linux]: fix compilation on older compiler missing DUPLEX_UNKNOWN.
- 2222\_, \[macOS]: `cpu_freq()` now returns fixed values for `min` and `max`
frequencies in all Apple Silicon chips.
### [`v5.9.7`](https://redirect.github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#597)
[Compare Source](https://redirect.github.com/giampaolo/psutil/compare/release-5.9.6...release-5.9.7)
\=====
2023-12-17
**Enhancements**
- 2324\_: enforce Ruff rule `raw-string-in-exception`, which helps providing
clearer tracebacks when exceptions are raised by psutil.
**Bug fixes**
- 2325\_, \[PyPy]: psutil did not compile on PyPy due to missing
`PyErr_SetExcFromWindowsErrWithFilenameObject` cPython API.
### [`v5.9.6`](https://redirect.github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#596)
[Compare Source](https://redirect.github.com/giampaolo/psutil/compare/release-5.9.5...release-5.9.6)
\=====
2023-10-15
**Enhancements**
- 1703\_: `cpu_percent()`\_ and `cpu_times_percent()`\_ are now thread safe,
meaning they can be called from different threads and still return
meaningful and independent results. Before, if (say) 10 threads called
`cpu_percent(interval=None)` at the same time, only 1 thread out of 10
would get the right result.
- 2266\_: if `Process`\_ class is passed a very high PID, raise `NoSuchProcess`\_
instead of OverflowError. (patch by Xuehai Pan)
- 2246\_: drop python 3.4 & 3.5 support. (patch by Matthieu Darbois)
- 2290\_: PID reuse is now pre-emptively checked for `Process.ppid()`\_ and
`Process.parents()`\_.
- 2312\_: use `ruff` Python linter instead of `flake8 + isort`. It's an
order of magnitude faster + it adds a ton of new code quality checks.
**Bug fixes**
- 2195\_, \[Linux]: no longer print exception at import time in case /proc/stat
can't be read due to permission error. Redirect it to `PSUTIL_DEBUG`
instead.
- 2241\_, \[NetBSD]: can't compile On NetBSD 10.99.3/amd64. (patch by Thomas
Klausner)
- 2245\_, \[Windows]: fix var unbound error on possibly in `swap_memory()`\_
(patch by student\_2333)
- 2268\_: `bytes2human()` utility function was unable to properly represent
negative values.
- 2252\_, \[Windows]: `disk_usage()`\_ fails on Python 3.12+. (patch by
Matthieu Darbois)
- 2284\_, \[Linux]: `Process.memory_full_info()`\_ may incorrectly raise
`ZombieProcess`\_ if it's determined via `/proc/pid/smaps_rollup`. Instead
we now fallback on reading `/proc/pid/smaps`.
- 2287\_, \[OpenBSD], \[NetBSD]: `Process.is_running()`\_ erroneously return
`False` for zombie processes, because creation time cannot be determined.
- 2288\_, \[Linux]: correctly raise `ZombieProcess`\_ on `Process.exe()`*,
`Process.cmdline()`* and `Process.memory_maps()`\_ instead of returning a
"null" value.
- 2290\_: differently from what stated in the doc, PID reuse is not
pre-emptively checked for `Process.nice()`\_ (set), `Process.ionice()`*,
(set), `Process.cpu_affinity()`* (set), `Process.rlimit()`\_
(set), `Process.parent()`\_.
- 2308\_, \[OpenBSD]: `Process.threads()`\_ always fail with AccessDenied (also as
root).
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
==5.9.5
->==5.9.8
Release Notes
giampaolo/psutil (psutil)
### [`v5.9.8`](https://redirect.github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#598) [Compare Source](https://redirect.github.com/giampaolo/psutil/compare/release-5.9.7...release-5.9.8) \===== 2024-01-19 **Enhancements** - 2343\_, \[FreeBSD]: filter `net_connections()`\_ returned list in C instead of Python, and avoid to retrieve unnecessary connection types unless explicitly asked. E.g., on an IDLE system with few IPv6 connections this will run around 4 times faster. Before all connection types (TCP, UDP, UNIX) were retrieved internally, even if only a portion was returned. - 2342\_, \[NetBSD]: same as above ([#2343](https://redirect.github.com/giampaolo/psutil/issues/2343)) but for NetBSD. - 2349\_: adopted black formatting style. **Bug fixes** - 930\_, \[NetBSD], \[critical]: `net_connections()`\_ implementation was broken. It could either leak memory or core dump. - 2340\_, \[NetBSD]: if process is terminated, `Process.cwd()`\_ will return an empty string instead of raising `NoSuchProcess`\_. - 2345\_, \[Linux]: fix compilation on older compiler missing DUPLEX_UNKNOWN. - 2222\_, \[macOS]: `cpu_freq()` now returns fixed values for `min` and `max` frequencies in all Apple Silicon chips. ### [`v5.9.7`](https://redirect.github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#597) [Compare Source](https://redirect.github.com/giampaolo/psutil/compare/release-5.9.6...release-5.9.7) \===== 2023-12-17 **Enhancements** - 2324\_: enforce Ruff rule `raw-string-in-exception`, which helps providing clearer tracebacks when exceptions are raised by psutil. **Bug fixes** - 2325\_, \[PyPy]: psutil did not compile on PyPy due to missing `PyErr_SetExcFromWindowsErrWithFilenameObject` cPython API. ### [`v5.9.6`](https://redirect.github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#596) [Compare Source](https://redirect.github.com/giampaolo/psutil/compare/release-5.9.5...release-5.9.6) \===== 2023-10-15 **Enhancements** - 1703\_: `cpu_percent()`\_ and `cpu_times_percent()`\_ are now thread safe, meaning they can be called from different threads and still return meaningful and independent results. Before, if (say) 10 threads called `cpu_percent(interval=None)` at the same time, only 1 thread out of 10 would get the right result. - 2266\_: if `Process`\_ class is passed a very high PID, raise `NoSuchProcess`\_ instead of OverflowError. (patch by Xuehai Pan) - 2246\_: drop python 3.4 & 3.5 support. (patch by Matthieu Darbois) - 2290\_: PID reuse is now pre-emptively checked for `Process.ppid()`\_ and `Process.parents()`\_. - 2312\_: use `ruff` Python linter instead of `flake8 + isort`. It's an order of magnitude faster + it adds a ton of new code quality checks. **Bug fixes** - 2195\_, \[Linux]: no longer print exception at import time in case /proc/stat can't be read due to permission error. Redirect it to `PSUTIL_DEBUG` instead. - 2241\_, \[NetBSD]: can't compile On NetBSD 10.99.3/amd64. (patch by Thomas Klausner) - 2245\_, \[Windows]: fix var unbound error on possibly in `swap_memory()`\_ (patch by student\_2333) - 2268\_: `bytes2human()` utility function was unable to properly represent negative values. - 2252\_, \[Windows]: `disk_usage()`\_ fails on Python 3.12+. (patch by Matthieu Darbois) - 2284\_, \[Linux]: `Process.memory_full_info()`\_ may incorrectly raise `ZombieProcess`\_ if it's determined via `/proc/pid/smaps_rollup`. Instead we now fallback on reading `/proc/pid/smaps`. - 2287\_, \[OpenBSD], \[NetBSD]: `Process.is_running()`\_ erroneously return `False` for zombie processes, because creation time cannot be determined. - 2288\_, \[Linux]: correctly raise `ZombieProcess`\_ on `Process.exe()`*, `Process.cmdline()`* and `Process.memory_maps()`\_ instead of returning a "null" value. - 2290\_: differently from what stated in the doc, PID reuse is not pre-emptively checked for `Process.nice()`\_ (set), `Process.ionice()`*, (set), `Process.cpu_affinity()`* (set), `Process.rlimit()`\_ (set), `Process.parent()`\_. - 2308\_, \[OpenBSD]: `Process.threads()`\_ always fail with AccessDenied (also as root).Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.