All Versions
85
Latest Version
Avg Release Cycle
46 days
Latest Release
-

Changelog History
Page 5

  • v4.4.0 Changes

    2016-10-23

    โœจ Enhancements

    • ๐Ÿ 874_: [Windows] net_if_addrs() returns also the netmask.
    • ๐Ÿง 887_: [Linux] virtual_memory()'s 'available' and 'used' values are more precise and match "free" cmdline utility. "available" also takes into account LCX containers preventing "available" to overflow "total".
    • โšก๏ธ 891_: procinfo.py script has been updated and provides a lot more info.

    ๐Ÿ› Bug fixes

    • ๐ŸŽ 514_: [macOS] possibly fix Process.memory_maps() segfault (critical!).
    • ๐ŸŽ 783_: [macOS] Process.status() may erroneously return "running" for zombie processes.
    • ๐Ÿ 798_: [Windows] Process.open_files() returns and empty list on Windows 10.
    • ๐Ÿง 825_: [Linux] cpu_affinity; fix possible double close and use of unopened socket.
    • ๐Ÿ 880_: [Windows] Handle race condition inside psutil_net_connections.
    • 885_: ValueError is raised if a negative integer is passed to cpu_percent() functions.
    • ๐Ÿง 892_: [Linux] Process.cpu_affinity([-1]) raise SystemError with no error set; now ValueError is raised.
    • 906_: [BSD] disk_partitions(all=False) returned an empty list. Now the argument is ignored and all partitions are always returned.
    • 907_: [FreeBSD] Process.exe() may fail with OSError(ENOENT).
    • ๐ŸŽ 908_: [macOS, BSD] different process methods could errounesuly mask the real error for high-privileged PIDs and raise NoSuchProcess and AccessDenied instead of OSError and RuntimeError.
    • ๐ŸŽ 909_: [macOS] Process open_files() and connections() methods may raise OSError with no exception set if process is gone.
    • ๐ŸŽ 916_: [macOS] fix many compilation warnings.
  • v4.3.1 Changes

    2016-09-01

    โœจ Enhancements

    • 881_: "make install" now works also when using a virtual env.

    ๐Ÿ› Bug fixes

    • 854_: Process.as_dict() raises ValueError if passed an erroneous attrs name.
    • 857_: [SunOS] Process cpu_times(), cpu_percent(), threads() amd memory_maps() may raise RuntimeError if attempting to query a 64bit process with a 32bit python. "Null" values are returned as a fallback.
    • 858_: Process.as_dict() should not return memory_info_ex() because it's deprecated.
    • ๐Ÿ 863_: [Windows] memory_map truncates addresses above 32 bits
    • ๐Ÿ 866_: [Windows] win_service_iter() and services in general are not able to handle unicode service names / descriptions.
    • ๐Ÿ 869_: [Windows] Process.wait() may raise TimeoutExpired with wrong timeout unit (ms instead of sec).
    • ๐Ÿ 870_: [Windows] Handle leak inside psutil_get_process_data.
  • v4.3.0 Changes

    2016-06-18

    โœจ Enhancements

    • ๐Ÿง 819_: [Linux] different speedup improvements: Process.ppid() is 20% faster Process.status() is 28% faster Process.name() is 25% faster Process.num_threads is 20% faster on Python 3

    ๐Ÿ› Bug fixes

    • ๐Ÿ 810_: [Windows] Windows wheels are incompatible with pip 7.1.2.
    • 812_: [NetBSD] fix compilation on NetBSD-5.x.
    • 823_: [NetBSD] virtual_memory() raises TypeError on Python 3.
    • 829_: [UNIX] psutil.disk_usage() percent field takes root reserved space into account.
    • ๐Ÿ 816_: [Windows] fixed net_io_counter() values wrapping after 4.3GB in Windows Vista (NT 6.0) and above using 64bit values from newer win APIs.
  • v4.2.0 Changes

    2016-05-14

    โœจ Enhancements

    • ๐Ÿ 795_: [Windows] new APIs to deal with Windows services: win_service_iter() and win_service_get().
    • ๐Ÿง 800_: [Linux] psutil.virtual_memory() returns a new "shared" memory field.
    • ๐Ÿง 819_: [Linux] speedup /proc parsing:
      • Process.ppid() is 20% faster
      • Process.status() is 28% faster
      • Process.name() is 25% faster
      • Process.num_threads is 20% faster on Python 3

    ๐Ÿ› Bug fixes

    • ๐Ÿง 797_: [Linux] net_if_stats() may raise OSError for certain NIC cards.
    • 813_: Process.as_dict() should ignore extraneous attribute names which gets attached to the Process instance.
  • v4.1.0 Changes

    2016-03-12

    โœจ Enhancements

    • ๐Ÿง 777_: [Linux] Process.open_files() on Linux return 3 new fields: position, mode and flags.
    • 779_: Process.cpu_times() returns two new fields, 'children_user' and 'children_system' (always set to 0 on macOS and Windows).
    • ๐Ÿ 789_: [Windows] psutil.cpu_times() return two new fields: "interrupt" and "dpc". Same for psutil.cpu_times_percent().
    • 792_: new psutil.cpu_stats() function returning number of CPU ctx switches interrupts, soft interrupts and syscalls.

    ๐Ÿ› Bug fixes

    • 774_: [FreeBSD] net_io_counters() dropout is no longer set to 0 if the kernel provides it.
    • ๐Ÿง 776_: [Linux] Process.cpu_affinity() may erroneously raise NoSuchProcess. (patch by wxwright)
    • ๐ŸŽ 780_: [macOS] psutil does not compile with some gcc versions.
    • 786_: net_if_addrs() may report incomplete MAC addresses.
    • 788_: [NetBSD] virtual_memory()'s buffers and shared values were set to 0.
    • ๐ŸŽ 790_: [macOS] psutil won't compile on macOS 10.4.
  • v4.0.0 Changes

    2016-02-17

    โœจ Enhancements

    • ๐Ÿง 523_: [Linux, FreeBSD] disk_io_counters() return a new "busy_time" field.
    • ๐Ÿ 660_: [Windows] make.bat is smarter in finding alternative VS install locations. (patch by mpderbec)
    • 732_: Process.environ(). (patch by Frank Benkstein)
    • ๐ŸŽ 753_: [Linux, macOS, Windows] Process USS and PSS (Linux) "real" memory stats. (patch by Eric Rahm)
    • 755_: Process.memory_percent() "memtype" parameter.
    • โœ… 758_: tests now live in psutil namespace.
    • ๐ŸŽ 760_: expose OS constants (psutil.LINUX, psutil.macOS, etc.)
    • ๐Ÿง 756_: [Linux] disk_io_counters() return 2 new fields: read_merged_count and write_merged_count.
    • 762_: new scripts/procsmem.py script.

    ๐Ÿ› Bug fixes

    • ๐Ÿง 685_: [Linux] virtual_memory() provides wrong results on systems with a lot of physical memory.
    • 704_: [Solaris] psutil does not compile on Solaris sparc.
    • 734_: on Python 3 invalid UTF-8 data is not correctly handled for process name(), cwd(), exe(), cmdline() and open_files() methods resulting in UnicodeDecodeError exceptions. 'surrogateescape' error handler is now used as a workaround for replacing the corrupted data.
    • ๐Ÿ 737_: [Windows] when the bitness of psutil and the target process was different cmdline() and cwd() could return a wrong result or incorrectly report an AccessDenied error.
    • 741_: [OpenBSD] psutil does not compile on mips64.
    • ๐Ÿง 751_: [Linux] fixed call to Py_DECREF on possible Null object.
    • ๐Ÿง 754_: [Linux] cmdline() can be wrong in case of zombie process.
    • ๐Ÿง 759_: [Linux] Process.memory_maps() may return paths ending with " (deleted)"
    • ๐Ÿ 761_: [Windows] psutil.boot_time() wraps to 0 after 49 days.
    • 764_: [NetBSD] fix compilation on NetBSD-6.x.
    • ๐Ÿง 766_: [Linux] net_connections() can't handle malformed /proc/net/unix file.
    • ๐Ÿง 767_: [Linux] disk_io_counters() may raise ValueError on 2.6 kernels and it's broken on 2.4 kernels.
    • 770_: [NetBSD] disk_io_counters() metrics didn't update.
  • v3.4.2 Changes

    2016-01-20

    โœจ Enhancements

    • 728_: [Solaris] exposed psutil.PROCFS_PATH constant to change the default location of /proc filesystem.

    ๐Ÿ› Bug fixes

    • 724_: [FreeBSD] psutil.virtual_memory().total is incorrect.
    • 730_: [FreeBSD] psutil.virtual_memory() crashes.
  • v3.4.1 Changes

    2016-01-15

    โœจ Enhancements

    • ๐Ÿ‘ 557_: [NetBSD] added NetBSD support. (contributed by Ryo Onodera and Thomas Klausner)
    • ๐Ÿง 708_: [Linux] psutil.net_connections() and Process.connections() on Python 2 can be up to 3x faster in case of many connections. Also psutil.Process.memory_maps() is slightly faster.
    • 718_: process_iter() is now thread safe.

    ๐Ÿ› Bug fixes

    • 714_: [OpenBSD] virtual_memory().cached value was always set to 0.
    • 715_: don't crash at import time if cpu_times() fail for some reason.
    • ๐Ÿง 717_: [Linux] Process.open_files fails if deleted files still visible.
    • ๐Ÿง 722_: [Linux] swap_memory() no longer crashes if sin/sout can't be determined due to missing /proc/vmstat.
    • 724_: [FreeBSD] virtual_memory().total is slightly incorrect.
  • v3.3.0 Changes

    2015-11-25

    โœจ Enhancements

    • ๐Ÿง 558_: [Linux] exposed psutil.PROCFS_PATH constant to change the default location of /proc filesystem.
    • ๐Ÿ‘ 615_: [OpenBSD] added OpenBSD support. (contributed by Landry Breuil)

    ๐Ÿ› Bug fixes

    • 692_: [UNIX] Process.name() is no longer cached as it may change.
  • v3.2.2 Changes

    2015-10-04

    ๐Ÿ› Bug fixes

    • 517_: [SunOS] net_io_counters failed to detect network interfaces correctly on Solaris 10
    • 541_: [FreeBSD] disk_io_counters r/w times were expressed in seconds instead of milliseconds. (patch by dasumin)
    • ๐Ÿ— 610_: [SunOS] fix build and tests on Solaris 10
    • ๐Ÿง 623_: [Linux] process or system connections raises ValueError if IPv6 is not supported by the system.
    • ๐Ÿง 678_: [Linux] can't install psutil due to bug in setup.py.
    • ๐Ÿ 688_: [Windows] compilation fails with MSVC 2015, Python 3.5. (patch by Mike Sarahan)