psutil v5.6.0 Release Notes

Release Date: 2019-03-05 // almost 3 years ago
  • 2019-03-05

    โœจ Enhancements

    • ๐Ÿ 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.