| OLD | NEW |
| (Empty) |
| 1 Bug tracker at http://code.google.com/p/psutil/issues | |
| 2 | |
| 3 0.3.1 - XXXX-XX-XX | |
| 4 ------------------ | |
| 5 | |
| 6 NEW FEATURES | |
| 7 | |
| 8 * Issue 150: network I/O counters. (OSX patch by Jeremy Whitlock) | |
| 9 * Issue 198: Process.wait(timeout=0) can now be used to make wait() return | |
| 10 immediately. | |
| 11 * Issue 206: disk I/O counters. (OSX patch by Jeremy Whitlock) | |
| 12 | |
| 13 BUGFIXES | |
| 14 | |
| 15 * Issue 135: (OS X) psutil cannot create Process object | |
| 16 * Issue 144: (Linux) no longer support 0 special PID. | |
| 17 * Issue 188: (Linux) psutil import error on Linux ARM architectures. | |
| 18 * Issue 197: (Linux) Process.get_connections() is broken on platforms not | |
| 19 supporting IPv6. | |
| 20 * Issue 200: (Linux) psutil.NUM_CPUS not working on armel and sparc | |
| 21 architectures and causing crash on module import. | |
| 22 * Issue 201: (Linux) Process.get_connections() is broken on big-endian | |
| 23 architectures. | |
| 24 * Issue 211: Process instance can unexpectedly raise NoSuchProcess if tested | |
| 25 for equality with another object. | |
| 26 | |
| 27 | |
| 28 0.3.0 - 2011-07-08 | |
| 29 ------------------ | |
| 30 | |
| 31 NEW FEATURES | |
| 32 | |
| 33 * Issue 125: system per-cpu percentage utilization and times. | |
| 34 * Issue 163: per-process associated terminal (TTY). | |
| 35 * Issue 171: added get_phymem() and get_virtmem() functions returning system | |
| 36 memory information (total, used, free) and memory percent usage. | |
| 37 total_* avail_* and used_* memory functions are deprecated. | |
| 38 * Issue 172: disk usage statistics. | |
| 39 * Issue 174: mounted disk partitions. | |
| 40 * Issue 179: setuptools is now used in setup.py | |
| 41 | |
| 42 BUGFIXES | |
| 43 | |
| 44 * Issue 159: SetSeDebug() does not close handles or unset impersonation on | |
| 45 return. | |
| 46 * Issue 164: wait function raises a TimeoutException when a process returns | |
| 47 -1 (Windows). | |
| 48 * Issue 165: process.status raises an unhandled exception. | |
| 49 * Issue 166: get_memory_info() leaks handles hogging system resources. | |
| 50 * Issue 168: psutil.cpu_percent() returns erroneous results when used in | |
| 51 non-blocking mode. (patch by Philip Roberts) | |
| 52 * Issue 178: OSX - Process.get_threads() leaks memory | |
| 53 * Issue 180: Windows - Process's get_num_threads() and get_threads() methods | |
| 54 can raise NoSuchProcess exception while process still exists. | |
| 55 | |
| 56 | |
| 57 0.2.1 - 2011-03-20 | |
| 58 ------------------ | |
| 59 | |
| 60 NEW FEATURES | |
| 61 | |
| 62 * Issue 64: per-process I/O counters. | |
| 63 * Issue 116: per-process wait() (wait for process to terminate and return its | |
| 64 exit code). | |
| 65 * Issue 134: per-process get_threads() returning information (id, user and | |
| 66 kernel times) about threads opened by process. | |
| 67 * Issue 136: process executable path on FreeBSD is now determined by asking | |
| 68 the kernel instead of guessing it from cmdline[0]. | |
| 69 * Issue 137: per-process real, effective and saved user and group ids. | |
| 70 * Issue 140: system boot time. | |
| 71 * Issue 142: per-process get and set niceness (priority). | |
| 72 * Issue 143: per-process status. | |
| 73 * Issue 147: per-process I/O nice (priority) - Linux only. | |
| 74 * Issue 148: psutil.Popen class which tidies up subprocess.Popen and | |
| 75 psutil.Process in a unique interface. | |
| 76 * Issue 152: (OSX) get_process_open_files() implementation has been rewritten | |
| 77 in C and no longer relies on lsof resulting in a 3x speedup. | |
| 78 * Issue 153: (OSX) get_process_connection() implementation has been rewritten | |
| 79 in C and no longer relies on lsof resulting in a 3x speedup. | |
| 80 | |
| 81 BUGFIXES | |
| 82 | |
| 83 * Issue 83: process cmdline is empty on OSX 64-bit. | |
| 84 * Issue 130: a race condition can cause IOError exception be raised on | |
| 85 Linux if process disappears between open() and subsequent read() calls. | |
| 86 * Issue 145: WindowsError was raised instead of psutil.AccessDenied when using | |
| 87 process resume() or suspend() on Windows. | |
| 88 * Issue 146: 'exe' property on Linux can raise TypeError if path contains NULL | |
| 89 bytes. | |
| 90 * Issue 151: exe and getcwd() for PID 0 on Linux return inconsistent data. | |
| 91 | |
| 92 API CHANGES | |
| 93 | |
| 94 * Process "uid" and "gid" properties are deprecated in favor of "uids" and | |
| 95 "gids" properties. | |
| 96 | |
| 97 | |
| 98 0.2.0 - 2010-11-13 | |
| 99 ------------------ | |
| 100 | |
| 101 NEW FEATURES | |
| 102 | |
| 103 * Issue 79: per-process open files. | |
| 104 * Issue 88: total system physical cached memory. | |
| 105 * Issue 88: total system physical memory buffers used by the kernel. | |
| 106 * Issue 91: per-process send_signal() and terminate() methods. | |
| 107 * Issue 95: NoSuchProcess and AccessDenied exception classes now provide "pid", | |
| 108 "name" and "msg" attributes. | |
| 109 * Issue 97: per-process children. | |
| 110 * Issue 98: Process.get_cpu_times() and Process.get_memory_info now return | |
| 111 a namedtuple instead of a tuple. | |
| 112 * Issue 103: per-process opened TCP and UDP connections. | |
| 113 * Issue 107: add support for Windows 64 bit. (patch by cjgohlke) | |
| 114 * Issue 111: per-process executable name. | |
| 115 * Issue 113: exception messages now include process name and pid. | |
| 116 * Issue 114: process username Windows implementation has been rewritten in pure | |
| 117 C and no longer uses WMI resulting in a big speedup. Also, pywin32 is no | |
| 118 longer required as a third-party dependancy. (patch by wj32) | |
| 119 * Issue 117: added support for Windows 2000. | |
| 120 * Issue 123: psutil.cpu_percent() and psutil.Process.cpu_percent() accept a | |
| 121 new 'interval' parameter. | |
| 122 * Issue 129: per-process number of threads. | |
| 123 | |
| 124 BUGFIXES | |
| 125 | |
| 126 * Issue 80: fixed warnings when installing psutil with easy_install. | |
| 127 * Issue 81: psutil fails to compile with Visual Studio. | |
| 128 * Issue 94: suspend() raises OSError instead of AccessDenied. | |
| 129 * Issue 86: psutil didn't compile against FreeBSD 6.x. | |
| 130 * Issue 102: orphaned process handles obtained by using OpenProcess in C were | |
| 131 left behind every time Process class was instantiated. | |
| 132 * Issue 111: path and name Process properties report truncated or erroneous | |
| 133 values on UNIX. | |
| 134 * Issue 120: cpu_percent() always returning 100% on OS X. | |
| 135 * Issue 112: uid and gid properties don't change if process changes effective | |
| 136 user/group id at some point. | |
| 137 * Issue 126: ppid, uid, gid, name, exe, cmdline and create_time properties are | |
| 138 no longer cached and correctly raise NoSuchProcess exception if the process | |
| 139 disappears. | |
| 140 | |
| 141 API CHANGES | |
| 142 | |
| 143 * psutil.Process.path property is deprecated and works as an alias for "exe" | |
| 144 property. | |
| 145 * psutil.Process.kill(): signal argument was removed - to send a signal to the | |
| 146 process use send_signal(signal) method instead. | |
| 147 * psutil.Process.get_memory_info() returns a nametuple instead of a tuple. | |
| 148 * psutil.cpu_times() returns a nametuple instead of a tuple. | |
| 149 * New psutil.Process methods: get_open_files(), get_connections(), | |
| 150 send_signal() and terminate(). | |
| 151 * ppid, uid, gid, name, exe, cmdline and create_time properties are no longer | |
| 152 cached and raise NoSuchProcess exception if process disappears. | |
| 153 * psutil.cpu_percent() no longer returns immediately (see issue 123). | |
| 154 * psutil.Process.get_cpu_percent() and psutil.cpu_percent() no longer returns | |
| 155 immediately by default (see issue 123). | |
| 156 | |
| 157 | |
| 158 0.1.3 - 2010-03-02 | |
| 159 ------------------ | |
| 160 | |
| 161 NEW FEATURES | |
| 162 | |
| 163 * Issue 14: per-process username | |
| 164 * Issue 51: per-process current working directory (Windows and Linux only) | |
| 165 * Issue 59: Process.is_running() is now 10 times faster | |
| 166 * Issue 61: added supoprt for FreeBSD 64 bit | |
| 167 * Issue 71: implemented suspend/resume process | |
| 168 * Issue 75: python 3 support | |
| 169 | |
| 170 BUGFIXES | |
| 171 | |
| 172 * Issue 36: process cpu_times() and memory_info() functions succeeded also for | |
| 173 dead processes while a NoSuchProcess exception is supposed to be raised. | |
| 174 * Issue 48: incorrect size for mib array defined in getcmdargs for BSD | |
| 175 * Issue 49: possible memory leak due to missing free() on error condition on | |
| 176 * Issue 50: fixed getcmdargs() memory fragmentation on BSD | |
| 177 * Issue 55: test_pid_4 was failing on Windows Vista | |
| 178 * Issue 57: some unit tests were failing on systems where no swap memory is | |
| 179 available | |
| 180 * Issue 58: is_running() is now called before kill() to make sure we are going | |
| 181 to kill the correct process. | |
| 182 * Issue 73: virtual memory size reported on OS X includes shared library size | |
| 183 * Issue 77: NoSuchProcess wasn't raised on Process.create_time if kill() was | |
| 184 used first. | |
| 185 | |
| 186 | |
| 187 0.1.2 - 2009-05-06 | |
| 188 ------------------ | |
| 189 | |
| 190 NEW FEATURES | |
| 191 | |
| 192 * Issue 32: Per-process CPU user/kernel times | |
| 193 * Issue 33: Process create time | |
| 194 * Issue 34: Per-process CPU utilization percentage | |
| 195 * Issue 38: Per-process memory usage (bytes) | |
| 196 * Issue 41: Per-process memory utilization (percent) | |
| 197 * Issue 39: System uptime | |
| 198 * Issue 43: Total system virtual memory | |
| 199 * Issue 46: Total system physical memory | |
| 200 * Issue 44: Total system used/free virtual and physical memory | |
| 201 | |
| 202 BUGFIXES | |
| 203 | |
| 204 * Issue 36: NoSuchProcess not raised on Windows when accessing timing methods | |
| 205 * Issue 40: test_get_cpu_times() failing on FreeBSD and OS X | |
| 206 * Issue 42: get_memory_percent() raises AccessDenied on Windows | |
| 207 | |
| 208 | |
| 209 0.1.1 - 2009-03-06 | |
| 210 ------------------ | |
| 211 | |
| 212 NEW FEATURES | |
| 213 | |
| 214 * Issue 4: FreeBSD support for all functions of psutil | |
| 215 * Issue 9: Process.uid and Process.gid now retrieve process UID and GID. | |
| 216 * Issue 11: Support for parent/ppid - Process.parent property returns a | |
| 217 Process object representing the parent process, and Process.ppid returns | |
| 218 the parent PID. | |
| 219 * Issue 12 & 15: NoSuchProcess exception now raised when creating an object | |
| 220 for a nonexistent process, or when retrieving information about a process | |
| 221 that has gone away. | |
| 222 * Issue 21: AccessDenied exception created for raising access denied errors | |
| 223 from OSError or WindowsError on individual platforms. | |
| 224 * Issue 26: psutil.process_iter() function to iterate over processes as | |
| 225 Process objects with a generator. | |
| 226 * Process objects can now also be compared with == operator for equality | |
| 227 (PID, name, command line are compared). | |
| 228 | |
| 229 BUGFIXES | |
| 230 | |
| 231 * Issue 16: Special case for Windows' "System Idle Process" (PID 0) which | |
| 232 otherwise would return an "invalid parameter" exception. | |
| 233 * Issue 17: get_process_list() ignores NoSuchProcess and AccessDenied | |
| 234 exceptions during building of the list. | |
| 235 * Issue 22: Process(0).kill() was failing on Windows with an unset exception | |
| 236 * Issue 23: Special case for pid_exists(0) | |
| 237 * Issue 24: Process(0).kill() now raises AccessDenied exception instead of | |
| 238 WindowsError. | |
| 239 * Issue 30: psutil.get_pid_list() was returning two instances of PID 0 on OS | |
| 240 X and FreeBSD platforms. | |
| 241 | |
| 242 | |
| 243 0.1.0 - 2009-01-27 | |
| 244 ------------------ | |
| 245 | |
| 246 * Initial release. | |
| 247 | |
| OLD | NEW |