1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
-----------------
2015-11-15 3.2.7
-----------------
* Issue #6973: When we know a subprocess.Popen process has died, do
not allow the send_signal(), terminate(), or kill() methods to do
anything as they could potentially signal a different process.
* Issue #23564: Fixed a partially broken sanity check in the _posixsubprocess
internals regarding how fds_to_pass were passed to the child. The bug had
no actual impact as subprocess32.py already avoided it.
-----------------
2015-11-14 3.2.7rc2
-----------------
* Moved the repository from code.google.com to github.
* Added a _WAIT_TIMEOUT to satisfy the unsupported people entirely on
their own trying to use this on Windows.
* Similarly: Updated setup.py to not build the extension on non-posix.
-----------------
2014-06-01 3.2.7rc1
-----------------
* Issue #21618: The subprocess module could fail to close open fds that were
inherited by the calling process and already higher than POSIX resource
limits would otherwise allow. On systems with a functioning /proc/self/fd
or /dev/fd interface the max is now ignored and all fds are closed.
-----------------
2014-04-23 3.2.6
-----------------
* Fixes issue #21291: Popen.wait() is now thread safe so that multiple
threads may be calling wait() or poll() on a Popen instance at the same time
without losing the Popen.returncode value.
* Fixes issue #14396: Handle the odd rare case of waitpid returning 0 when not
expected in Popen.wait().
* Fixes issue #16962: Use getdents64 instead of the obsolete getdents syscall
on Linux. Some architectures do not implement the latter.
-----------------
2013-12-10 3.2.5
-----------------
* Fixes issue #15798: subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed.
* Fixes issue #18763: close_fd file descriptors are now closed after
any preexec_fn call.
-----------------
2013-06-15 3.2.5rc1
-----------------
* Fixes issue #16650 - Don't reference ECHILD from outside the local scope.
* Unittests no longer spew any test data for human verification to stdout.
* Remove a bare print to stdout that could have happened if the child process
wrote garbage to its pre-exec error pipe.
* Fixes issue #16327 - the subprocess module no longer leaks file descriptors
used for stdin/stdout/stderr pipes to the child when the fork() fails. It
also no longer potentially double closes these pipe fds.
* Correct the Python version check around use of imp_module to specify 2.6.3
as the minimum version that exists in. Why is anyone using such an old 2.6?
* Fixes Issue #16114: The subprocess module no longer provides a misleading
error message stating that args[0] did not exist when either the cwd or
executable keyword arguments specified a path that did not exist.
* Add more Popen cwd tests.
* Handle errno.ECHILD in poll.
* Don't leak a reference to the gc module on capi use error.
* Check return value to avoid a crash if the capi were misused.
* Check result of PyObject_IsTrue().
* Adds test_universal_newlines_communicate_input_none.
* Most everything above consists of backports. See the hg logs for their
upstream hg.python.org cpython revision numbers.
----------------
2012-06-10 3.2.3
----------------
* Fixes the references to the 'surrogateescape' unicode encoding error
handler that does not exist in Python 2.x. 'strict' is used so that
a UnicodeEncodeError exception is raised in these situations. These
MAY occur if your sys.getfilesystemencoding() is not UTF-8 and
attempt to use a non-ascii executable, args or env values. Prior to
this change, those would result in a hard to debug LookupError for
surrogateescape.
* Issue #15000: Support the "unique" x32 architecture in _posixsubprocess.c.
* Fix a compilation problem when O_CLOEXEC is not defined.
------------------
2012-02-18 3.2.3b1
------------------
This release brings in the last year and a half's worth of bugfixes and
improvements to Python 3.2's subprocess module:
Off the top of my head, some major bugfix highlights include:
* Timeout support on the APIs.
* close_fds=True is now the default (as it is in 3.2) and performs much faster.
* Fixed EINTR handling.
* Fixed SIGCHLD handling.
* Fixed several race conditions.
* Many more bug fixes too numerous to list.
You can grep out the full list of improvements related to subprocess in:
http://hg.python.org/cpython/file/9ce5d456138b/Misc/NEWS
-------------
2010-06 3.2.0
-------------
This was the first release. Roughly equivalent to Python 3.2.0a1.
|