psutil v5.6.0 Release NotesRelease Date: 2019-03-05 // almost 3 years ago
- 🏁 1379_: [Windows] Process suspend() and resume() now use NtSuspendProcess and NtResumeProcess instead of stopping/resuming all threads of a process. This is faster and more reliable (aka this is what ProcessHacker does).
- 🏁 1420_: [Windows] in case of exception disk_usage() now also shows the path name.
- 🏁 1422_: [Windows] Windows APIs requiring to be dynamically loaded from DLL libraries are now loaded only once on startup (instead of on per function call) significantly speeding up different functions and methods.
- 🏁 1426_: [Windows] PAGESIZE and number of processors is now calculated on startup.
- 1428_: in case of error, the traceback message now shows the underlying C function called which failed.
- 1433_: new Process.parents() method. (idea by Ghislain Le Meur)
- 1437_: pids() are returned in sorted order.
- 0️⃣ 1442_: python3 is now the default interpreter used by Makefile.
🐛 Bug fixes
- 1353_: process_iter() is now thread safe (it rarely raised TypeError).
- 🏁 1394_: [Windows] Process name() and exe() may erroneously return "Registry". QueryFullProcessImageNameW is now used instead of GetProcessImageFileNameW in order to prevent that.
- 1411_: [BSD] lack of Py_DECREF could cause segmentation fault on process instantiation.
- 🏁 1419_: [Windows] Process.environ() raises NotImplementedError when querying a 64-bit process in 32-bit-WoW mode. Now it raises AccessDenied.
- 1427_: [OSX] Process cmdline() and environ() may erroneously raise OSError on failed malloc().
- 🏁 1429_: [Windows] SE DEBUG was not properly set for current process. It is now, and it should result in less AccessDenied exceptions for low-pid processes.
- 🏁 1432_: [Windows] Process.memory_info_ex()'s USS memory is miscalculated because we're not using the actual system PAGESIZE.
- 1439_: [NetBSD] Process.connections() may return incomplete results if using oneshot().
- 👻 1447_: original exception wasn't turned into NSP/AD exceptions when using Process.oneshot() ctx manager.
Incompatible API changes
- 1291_: [OSX] Process.memory_maps() was removed because inherently broken (segfault) for years.