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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
+++++++++++
Python News
+++++++++++
What's New in Python 3.4.0 Alpha 1?
===================================
*Relase date: XX-XXX-2014*
Core and Builtins
-----------------
- Issue #14783: Improve int() docstring and switch docstrings for str(),
range(), and slice() to use multi-line signatures.
- Upgrade Unicode data (UCD) to version 6.2.
- Issue #15379: Fix passing of non-BMP characters as integers for the charmap
decoder (already working as unicode strings). Patch by Serhiy Storchaka.
- Issue #15144: Fix possible integer overflow when handling pointers as integer
values, by using `Py_uintptr_t` instead of `size_t`. Patch by Serhiy
Storchaka.
- Issue #15965: Explicitly cast `AT_FDCWD` as (int). Required on Solaris 10
(which defines `AT_FDCWD` as ``0xffd19553``), harmless on other platforms.
- Issue #15839: Convert SystemErrors in `super()` to RuntimeErrors.
- Issue #15448: Buffered IO now frees the buffer when closed, instead
of when deallocating.
- Issue #15846: Fix SystemError which happened when using `ast.parse()` in an
exception handler on code with syntax errors.
- Issue #15897: zipimport.c doesn't check return value of fseek().
Patch by Felipe Cruz.
- Issue #15801: Make sure mappings passed to '%' formatting are actually
subscriptable.
- Issue #15111: __import__ should propagate ImportError when raised as a
side-effect of a module triggered from using fromlist.
Library
-------
- Issue #16176: Properly identify Windows 8 via platform.platform()
- Issue #16088: BaseHTTPRequestHandler's send_error method includes a
Content-Length header in it's response now. Patch by Antoine Pitrou.
- 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.
- Issue #16169: Fix ctypes.WinError()'s confusion between errno and winerror.
- Issue #1492704: shutil.copyfile() raises a distinct SameFileError now if
source and destination are the same file. Patch by Atsuo Ishimoto.
- Issue #13896: Make shelf instances work with 'with' as context managers.
Original patch by Filip Gruszczyński.
- Issue #15417: Add support for csh and fish in venv activation scripts.
- Issue #16123: IDLE - deprecate running without a subprocess.
Patch by Roger Serwy.
- Issue #16089: Allow ElementTree.TreeBuilder to work again with a non-Element
element_factory (fixes a regression in SimpleTAL).
- Issue #9650: List commonly used format codes in time.strftime and
time.strptime docsttings. Original patch by Mike Hoy.
- Issue #16034: Fix performance regressions in the new `bz2.BZ2File`
implementation. Initial patch by Serhiy Storchaka.
- `pty.spawn()` now returns the child process status returned by `os.waitpid()`.
- Issue #15756: `subprocess.poll()` now properly handles `errno.ECHILD` to
return a returncode of 0 when the child has already exited or cannot be waited
on.
- Issue #15323: Improve failure message of `Mock.assert_called_once_with()`.
- Issue #16064: ``unittest -m`` claims executable is "python", not "python3".
- Issue #12376: Pass on parameters in `TextTestResult.__init__()` super call.
- Issue #15222: Insert blank line after each message in mbox mailboxes.
- Issue #16013: Fix `csv.Reader` parsing issue with ending quote characters.
Patch by Serhiy Storchaka.
- Issue #15421: Fix an OverflowError in `Calendar.itermonthdates()` after
`datetime.MAXYEAR`. Patch by Cédric Krier.
- Issue #16112: platform.architecture does not correctly escape argument to
/usr/bin/file. Patch by David Benjamin.
- Issue #15970: `xml.etree.ElementTree` now serializes correctly the empty HTML
elements 'meta' and 'param'.
- Issue #15842: The `SocketIO.{readable,writable,seekable}` methods now raise
ValueError when the file-like object is closed. Patch by Alessandro Moura.
- Issue #15876: Fix a refleak in the `curses` module: window.encoding.
- Issue #15881: Fix `atexit` hook in `multiprocessing`. Original patch by Chris
McDonough.
- Issue #15841: The readable(), writable() and seekable() methods of
`io.BytesIO` and `io.StringIO` objects now raise ValueError when the object
has been closed. Patch by Alessandro Moura.
- Issue #16126: PyErr_Format format mismatch in _testcapimodule.c.
Patch by Serhiy Storchaka.
- Issue #15447: Use `subprocess.DEVNULL` in webbrowser, instead of opening
`os.devnull` explicitly and leaving it open.
- Issue #15509: `webbrowser.UnixBrowser` no longer passes empty arguments to
Popen when ``%action`` substitutions produce empty strings.
- Issue #12776, issue #11839: Call `argparse` type function (specified by
add_argument) only once. Before, the type function was called twice in the
case where the default was specified and the argument was given as well. This
was especially problematic for the FileType type, as a default file would
always be opened, even if a file argument was specified on the command line.
- Issue #15906: Fix a regression in argparse caused by the preceding change,
when ``action='append'``, ``type='str'`` and ``default=[]``.
Extension Modules
-----------------
- Issue #16113: Added sha3 module based on the Keccak reference implementation
3.2. The `hashlib` module has four additional hash algorithms: `sha3_224`,
`sha3_256`, `sha3_384` and `sha3_512`. As part of the patch some common
code was moved from _hashopenssl.c to hashlib.h.
Tests
-----
- Issue #16115: Add some tests for the executable argument to
subprocess.Popen(). Initial patch by Kushal Das.
- Issue #15304: Fix warning message when `os.chdir()` fails inside
`test.support.temp_cwd()`. Patch by Chris Jerdonek.
- Issue #15802: Fix test logic in `TestMaildir.test_create_tmp()`. Patch by
Serhiy Storchaka.
- Issue #15557: Added a test suite for the webbrowser module, thanks to Anton
Barkovsky.
Build
-----
- Issue #15298: ensure _sysconfigdata is generated in build directory, not
source directory.
- Issue #15833: Fix a regression in 3.3 that resulted in exceptions being
raised if importlib failed to write byte-compiled files. This affected
attempts to build Python out-of-tree from a read-only source directory.
- Issue #15923: Fix a mistake in ``asdl_c.py`` that resulted in a TypeError
after 2801bf875a24 (see #15801).
- Issue #16135: Remove OS/2 support.
- Issue #15819: Make sure we can build Python out-of-tree from a read-only
source directory. (Somewhat related to issue #9860.)
Documentation
-------------
- Issue #16115: Improve subprocess.Popen() documentation around args, shell,
and executable arguments.
- Issue #13498: Clarify docs of os.makedirs()'s exist_ok argument. Done with
great native-speaker help from R. David Murray.
- Issue #15533: Clarify docs and add tests for `subprocess.Popen()`'s cwd
argument.
- Issue #15979: Improve timeit documentation.
- Issue #16036: Improve documentation of built-in `int()`'s signature and
arguments.
- Issue #15935: Clarification of `argparse` docs, re: add_argument() type and
default arguments. Patch contributed by Chris Jerdonek.
- Issue #11964: Document a change in v3.2 to the behavior of the indent
parameter of json encoding operations.
Tools/Demos
-----------
**(For information about older versions, consult the HISTORY file.)**
|