802_: disk_io_counters() and net_io_counters() numbers no longer wrap
(restart from 0). Introduced a new "nowrap" argument.
928_: psutil.net_connections() and psutil.Process.connections() "laddr" and
"raddr" are now named tuples.
1015_: swap_memory() now relies on /proc/meminfo instead of sysinfo() syscall
so that it can be used in conjunction with PROCFS_PATH in order to retrieve
memory info about Linux containers such as Docker and Heroku.
1022_: psutil.users() provides a new "pid" field.
1025_: process_iter() accepts two new parameters in order to invoke
Process.as_dict(): "attrs" and "ad_value". With this you can iterate over all
processes in one shot without needing to catch NoSuchProcess and do list/dict
comprehensions.
1040_: implemented full unicode support.
1051_: disk_usage() on Python 3 is now able to accept bytes.
1058_: test suite now enables all warnings by default.
1060_: source distribution is dynamically generated so that it only includes
relevant files.
1079_: [FreeBSD] net_connections()'s fd number is now being set for real
(instead of -1). (patch by Gleb Smirnoff)
1091_: [SunOS] implemented Process.environ(). (patch by Oleksii Shevchuk)
Bug fixes
989_: [Windows] boot_time() may return a negative value.
1007_: [Windows] boot_time() can have a 1 sec fluctuation between calls; the
value of the first call is now cached so that boot_time() always returns the
same value if fluctuation is <= 1 second.
1013_: [FreeBSD] psutil.net_connections() may return incorrect PID. (patch
by Gleb Smirnoff)
1014_: [Linux] Process class can mask legitimate ENOENT exceptions as
NoSuchProcess.
1016_: disk_io_counters() raises RuntimeError on a system with no disks.
1017_: net_io_counters() raises RuntimeError on a system with no network
cards installed.
1021_: [Linux] open_files() may erroneously raise NoSuchProcess instead of
skipping a file which gets deleted while open files are retrieved.
1029_: [OSX, FreeBSD] Process.connections('unix') on Python 3 doesn't
properly handle unicode paths and may raise UnicodeDecodeError.
1033_: [OSX, FreeBSD] memory leak for net_connections() and
Process.connections() when retrieving UNIX sockets (kind='unix').
1040_: fixed many unicode related issues such as UnicodeDecodeError on
Python 3 + UNIX and invalid encoded data on Windows.
1042_: [FreeBSD] psutil won't compile on FreeBSD 12.
1044_: [OSX] different Process methods incorrectly raise AccessDenied for
zombie processes.
1046_: [Windows] disk_partitions() on Windows overrides user's SetErrorMode.
1047_: [Windows] Process username(): memory leak in case exception is thrown.
1048_: [Windows] users()'s host field report an invalid IP address.
1055_: cpu_count() is no longer cached; this is useful on systems such as
Linux where CPUs can be disabled at runtime. This also reflects on
Process.cpu_percent() which no longer uses the cache.
1058_: fixed Python warnings.
1062_: disk_io_counters() and net_io_counters() raise TypeError if no disks
or NICs are installed on the system.
1063_: [NetBSD] net_connections() may list incorrect sockets.
1064_: [NetBSD] swap_memory() may segfault in case of error.
1065_: [OpenBSD] Process.cmdline() may raise SystemError.
1067_: [NetBSD] Process.cmdline() leaks memory if process has terminated.
1069_: [FreeBSD] Process.cpu_num() may return 255 for certain kernel
processes.
1071_: [Linux] cpu_freq() may raise IOError on old RedHat distros.
1074_: [FreeBSD] sensors_battery() raises OSError in case of no battery.
1075_: [Windows] net_if_addrs(): inet_ntop() return value is not checked.
1077_: [SunOS] net_if_addrs() shows garbage addresses on SunOS 5.10.
(patch by Oleksii Shevchuk)
1077_: [SunOS] net_connections() does not work on SunOS 5.10. (patch by
Oleksii Shevchuk)
1079_: [FreeBSD] net_connections() didn't list locally connected sockets.
(patch by Gleb Smirnoff)
1085_: cpu_count() return value is now checked and forced to None if <= 1.
1087_: Process.cpu_percent() guard against cpu_count() returning None and
assumes 1 instead.
1093_: [SunOS] memory_maps() shows wrong 64 bit addresses.
1094_: [Windows] psutil.pid_exists() may lie. Also, all process APIs relying
on OpenProcess Windows API now check whether the PID is actually running.
1098_: [Windows] Process.wait() may erroneously return sooner, when the PID
is still alive.
1099_: [Windows] Process.terminate() may raise AccessDenied even if the
process already died.
1101_: [Linux] sensors_temperatures() may raise ENODEV.
Porting notes
1039_: returned types consolidation:
Windows / Process.cpu_times(): fields 3 and 4 were int instead of float
Linux / FreeBSD: connections('unix'): raddr is now set to "" instead of
None
OpenBSD: connections('unix'): laddr and raddr are now set to "" instead of
None
1040_: all strings are encoded by using OS fs encoding.
1040_: the following Windows APIs on Python 2 now return a string instead of
unicode:
Process.memory_maps().path
WindosService.bin_path()
WindosService.description()
WindosService.display_name()
WindosService.username()
2017-04-10
pytimeparse 1.1.6 -> 1.1.7
1.1.7
universal wheel
pre-compile regexes for faster parsing
google-api-python-client 1.6.2 -> 1.6.3
1.6.3
Version 1.6.3
Bugfix release
Add notification of maintenance mode to README. (410)
Fix generation of methods with abnormal page token conventions. (338)
Raise ValueError is credentials and developerKey are both specified. (358)
Re-generate documentation. (364, 373, 401)
Fix method signature documentation for multiline required parameters. (374)
Fix ZeroDivisionError in MediaDownloadProgress.progress. (377)
Fix dead link to WebTest in README. (378)
Fix details missing in googleapiclient.errors.HttpError. (412)
Don't treat httplib2.Credentials as oauth credentials. (425)
Updates
Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.
Changelogs
psutil 5.2.2 -> 5.3.0
pytimeparse 1.1.6 -> 1.1.7
google-api-python-client 1.6.2 -> 1.6.3
That's it for now!
Happy merging! 🤖