Lines Matching +full:pr +full:- +full:lock +full:- +full:inactive +full:- +full:days
2 --------------
13 Release date: 2017-01-17
21 Release date: 2017-01-02
24 -----------------
26 - Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X
29 - Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
33 -------
35 - Issue #28563: Fixed possible DoS and arbitrary code execution when handle
39 - In the curses module, raise an error if window.getstr() or window.instr() is
42 - Issue #27783: Fix possible usage of uninitialized memory in operator.methodcaller.
44 - Issue #27774: Fix possible Py_DECREF on unowned object in _sre.
46 - Issue #27760: Fix possible integer overflow in binascii.b2a_qp.
48 - Issue #27758: Fix possible integer overflow in the _csv module for large record
51 - Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
55 - Issue #27759: Fix selectors incorrectly retain invalid file descriptors.
59 -----
61 - Issue #28248: Update Windows build to use OpenSSL 1.0.2j.
64 -----
66 - Issue #27369: In test_pyexpat, avoid testing an error message detail that
73 Release date: 2016-06-26
76 -----
78 - Issue #26867: Ubuntu's openssl OP_NO_SSLv3 is forced on by default; fix test.
84 Release date: 2016-06-11
87 -----------------
89 - Issue #26478: Fix semantic bugs when using binary operators with dictionary
92 - Issue #26171: Fix possible integer overflow and heap corruption in
96 -------
98 - Issue #26556: Update expat to 2.1.1, fixes CVE-2015-1283.
100 - Fix TLS stripping vulnerability in smptlib, CVE-2016-0772. Reported by Team
103 - Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
105 - Issue #26012: Don't traverse into symlinks for ** pattern in
108 - Issue #24120: Ignore PermissionError when traversing a tree with
111 - Skip getaddrinfo if host is already resolved.
114 - Add asyncio.timeout() context manager.
116 - Issue #26050: Add asyncio.StreamReader.readuntil() method.
120 -----
122 - Issue #25940: Changed test_ssl to use self-signed.pythontest.net. This
132 -------
134 - Issue #25844: Corrected =/== typo potentially leading to crash in launcher.
143 -----------------
145 - Issue #25709: Fixed problem with in-place string concatenation and utf-8
148 - Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
151 - Issue #24731: Fixed crash on converting objects with special methods
155 - Issue #25388: Fixed tokenizer crash when processing undecodable source code
158 - Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
161 - Issue #24802: Avoid buffer overreads when int(), float(), compile(), exec()
162 and eval() are passed bytes-like objects. These objects are not
165 - Issue #24402: Fix input() to prompt to the redirected stdout when
168 - Issue #24806: Prevent builtin types that are not allowed to be subclassed from
171 - Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
173 - Issue #25280: Import trace messages emitted in verbose (-v) mode are no
176 - Issue #25003: os.urandom() doesn't use getentropy() on Solaris because
180 - Issue #25182: The stdprinter (used as sys.stderr before the io module is
183 - Issue #24891: Fix a race condition at Python startup if the file descriptor
189 - Issue #21167: NAN operations are now handled correctly when python is
190 compiled with ICC even if -fp-model strict is not specified.
192 - Issue #4395: Better testing and documentation of binary operators.
195 - Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
197 is always null-terminated.
199 - Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
203 - Issue #24257: Fixed system error in the comparison of faked
206 - Issue #22939: Fixed integer overflow in iterator object. Patch by
209 - Issue #23985: Fix a possible buffer overrun when deleting a slice from
212 - Issue #24102: Fixed exception type checking in standard error handlers.
214 - Issue #23757: PySequence_Tuple() incorrectly called the concrete list API
217 - Issue #24407: Fix crash when dict is mutated while being updated.
219 - Issue #24096: Make warnings.warn_explicit more robust against mutation of the
222 - Issue #23996: Avoid a crash when a delegated generator raises an
225 - Issue #24022: Fix tokenizer crash when processing undecodable source code.
227 - Issue #23309: Avoid a deadlock at shutdown if a daemon thread is aborted
228 while it is holding a lock to a buffered I/O object, and the main thread
232 - Issue #22977: Fixed formatting Windows error messages on Wine.
235 - Issue #23803: Fixed str.partition() and str.rpartition() when a separator
238 - Issue #23192: Fixed generator lambdas. Patch by Bruno Cauet.
240 - Issue #23629: Fix the default __sizeof__ implementation for variable-sized
243 - Issue #24044: Fix possible null pointer dereference in list.sort in out of
246 - Issue #21354: PyCFunction_New function is exposed by python DLL again.
249 -------
251 - Issue #24903: Fix regression in number of arguments compileall accepts when
252 '-d' is specified. The check on the number of arguments has been dropped
255 - Issue #25764: In the subprocess module, preserve any exception caused by
258 - Issue #6478: _strptime's regexp cache now is reset after changing timezone
261 - Issue #25177: Fixed problem with the mean of very small and very large
265 - Issue #25718: Fixed copying object with state with boolean value is false.
267 - Issue #10131: Fixed deep copying of minidom documents. Based on patch
270 - Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
273 - Issue #25663: In the Readline completer, avoid listing duplicate global
276 - Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error.
278 - Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.
280 - Issue #25691: Fixed crash on deleting ElementTree.Element attributes.
282 - Issue #25624: ZipFile now always writes a ZIP_STORED header for directory
285 - Issue #25583: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
288 - Issue #25593: Change semantics of EventLoop.stop() in asyncio.
290 - Issue #6973: When we know a subprocess.Popen process has died, do
294 - Issue #25578: Fix (another) memory leak in SSLSocket.getpeercer().
296 - Issue #25590: In the Readline completer, only call getattr() once per
299 - Issue #25498: Fix a crash when garbage-collecting ctypes objects created
303 - Issue #18010: Fix the pydoc web server's module search function to handle
306 - Issue #25510: fileinput.FileInput.readline() now returns b'' instead of ''
310 - Issue #25530: Disable the vulnerable SSLv3 protocol by default when creating
313 - Issue #25569: Fix memory leak in SSLSocket.getpeercert().
315 - Issue #21827: Fixed textwrap.dedent() for the case when largest common
319 - Issue #25471: Sockets returned from accept() shouldn't appear to be
322 - Issue #25441: asyncio: Raise error from drain() when socket is closed.
324 - Issue #25411: Improved Unicode support in SMTPHandler through better use of
327 - Issue #25380: Fixed protocol for the STACK_GLOBAL opcode in
330 - Issue #23972: Updates asyncio datagram create method allowing reuseport
336 - Issue #25304: Add asyncio.run_coroutine_threadsafe(). This lets you
340 - Issue #25319: When threading.Event is reinitialized, the underlying condition
341 should use a regular lock rather than a recursive lock.
343 - Issue #25232: Fix CGIRequestHandler to split the query from the URL at the
346 - Issue #24657: Prevent CGIRequestHandler from collapsing slashes in the
349 - Issue #22958: Constructor and update method of weakref.WeakValueDictionary
352 - Issue #22609: Constructor of collections.UserDict now accepts the self keyword
355 - Issue #25262. Added support for BINBYTES8 opcode in Python implementation of
356 unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
357 opcodes no longer silently ignored on 32-bit platforms in C implementation.
359 - Issue #25034: Fix string.Formatter problem with auto-numbering and
362 - Issue #25233: Rewrite the guts of asyncio.Queue and
365 - Issue #23600: Default implementation of tzinfo.fromutc() was returning
368 - Issue #25203: Failed readline.set_completer_delims() no longer left the
371 - Prevent overflow in _Unpickler_Read.
373 - Issue #25047: The XML encoding declaration written by Element Tree now
375 write encoding names in uppercase like "UTF-8", which worked in Python 2.
377 - Issue #19143: platform module now reads Windows version from kernel32.dll to
380 - Issue #23517: Fix rounding in fromtimestamp() and utcfromtimestamp() methods
388 - Issue #24684: socket.socket.getaddrinfo() now calls
394 - Issue #24982: shutil.make_archive() with the "zip" format now adds entries
397 - Issue #24857: Comparing call_args to a long sequence now correctly returns a
400 - Issue #25019: Fixed a crash caused by setting non-string key of expat parser.
403 - Issue #24917: time_strftime() buffer over-read.
405 - Issue #23144: Make sure that HTMLParser.feed() returns all the data, even
408 - Issue #16180: Exit pdb if file has syntax error, instead of trapping user
411 - Issue #21112: Fix regression in unittest.expectedFailure on subclasses.
414 - Issue #24931: Instances of subclasses of namedtuples have their own __dict__
418 - Issue #24764: cgi.FieldStorage.read_multi() now ignores the Content-Length
422 - Issue #24774: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.
424 - Issue #21159: Improve message in configparser.InterpolationMissingOptionError.
427 - Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.
429 - Issue #23004: mock_open() now reads binary data correctly when the type of
432 - Issue #23652: Make it possible to compile the select module against the
436 - Issue #22932: Fix timezones in email.utils.formatdate.
439 - Issue #23779: imaplib raises TypeError if authenticator tries to abort.
442 - Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
445 - Issue #23254: Document how to close the TCPServer listening socket.
448 - Issue #19450: Update Windows and OS X installer builds to use SQLite 3.8.11.
450 - Issue #23441: rcompleter now prints a tab character instead of displaying
453 - Issue #24735: Fix invalid memory access in
456 - Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
458 - Issue #24683: Fixed crashes in _json functions called with arguments of
461 - Issue #21697: shutil.copytree() now correctly handles symbolic links that
464 - Issue #24620: Random.setstate() now validates the value of state last element.
466 - Issue #22153: Improve unittest docs. Patch from Martin Panter and evilzero.
468 - Issue #24206: Fixed __eq__ and __ne__ methods of inspect classes.
470 - Issue #21750: mock_open.read_data can now be read from each instance, as it
473 - Issue #23247: Fix a crash in the StreamWriter.reset() of CJK codecs.
475 - Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
478 - Issue #24608: chunk.Chunk.read() now always returns bytes, not str.
480 - Issue #18684: Fixed reading out of the buffer in the re module.
482 - Issue #24259: tarfile now raises a ReadError if an archive is truncated
485 - Issue #24552: Fix use after free in an error case of the _pickle module.
487 - Issue #24514: tarfile now tolerates number fields consisting of only
490 - Issue #19176: Fixed doctype() related bugs in C implementation of ElementTree.
496 - Issue #20387: Restore semantic round-trip correctness in tokenize/untokenize
497 for tab-indented blocks.
499 - Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
502 - Issue #24336: The contextmanager decorator now works with functions with
505 - Issue #24489: ensure a previously set C errno doesn't disturb cmath.polar().
507 - Issue #5633: Fixed timeit when the statement is a string and the setup is not.
509 - Issue #24326: Fixed audioop.ratecv() with non-default weightB argument.
512 - Issue #23840: tokenize.open() now closes the temporary binary file on error
515 - Issue #24257: Fixed segmentation fault in sqlite3.Row constructor with faked
518 - Issue #22107: tempfile.gettempdir() and tempfile.mkdtemp() now try again
523 - Issue #6598: Increased time precision and random number range in
526 - Issue #24091: Fixed various crashes in corner cases in C implementation of
529 - Issue #21931: msilib.FCICreate() now raises TypeError in the case of a bad
533 - Issue #23796: peek and read1 methods of BufferedReader now raise ValueError
536 - Issue #24521: Fix possible integer overflows in the pickle module.
538 - Issue #22931: Allow '[' and ']' in cookie values.
540 - Issue #20274: Remove ignored and erroneous "kwargs" parameters from three
543 - Issue #24094: Fix possible crash in json.encode with poorly behaved dict
546 - Asyncio issue 222 / PR 231 (Victor Stinner) -- fix @coroutine
549 - Issue #9246: On POSIX, os.getcwd() now supports paths longer than 1025 bytes.
552 - The keywords attribute of functools.partial is now always a dictionary.
554 - Issues #24099, #24100, and #24101: Fix free-after-use bug in heapq's siftup
557 - Backport collections.deque fixes from Python 3.5. Prevents reentrant badness
561 - Issue #23008: Fixed resolving attributes with boolean value is False in pydoc.
563 - Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't
567 - Issue #23908: os functions now reject paths with embedded null character
570 - Issue #23728: binascii.crc_hqx() could return an integer outside of the range
571 0-0xffff for empty data.
573 - Issue #23811: Add missing newline to the PyCompileError error message.
576 - Issue #17898: Fix exception in gettext.py when parsing certain plural forms.
578 - Issue #22982: Improve BOM handling when seeking to multiple positions of
581 - Issue #23865: close() methods in multiple modules now are idempotent and more
585 - Issue #23881: urllib.request.ftpwrapper constructor now closes the socket if
588 - Issue #23400: Raise same exception on both Python 2 and 3 if sem_open is not
591 - Issue #15133: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always
595 - Issue #23338: Fixed formatting ctypes error messages on Cygwin.
598 - Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and
601 - Issue #23834: Fix socket.sendto(), use the C Py_ssize_t type to store the
604 - Issue #21526: Tkinter now supports new boolean type in Tcl 8.5.
606 - Issue #23838: linecache now clears the cache and returns an empty result on
609 - Issue #18473: Fixed 2to3 and 3to2 compatible pickle mappings. Fixed
613 - Issue #23745: The new email header parser now handles duplicate MIME
616 - Issue #23792: Ignore KeyboardInterrupt when the pydoc pager is active.
620 - Issue #23742: ntpath.expandvars() no longer loses unbalanced single quotes.
622 - Issue #21802: The reader in BufferedRWPair now is closed even when closing
625 - Issue #23671: string.Template now allows to specify the "self" parameter as
629 - Issue #21560: An attempt to write a data of wrong type no longer cause
632 - Issue #23647: Increase imaplib's MAXLINE to accommodate modern mailbox sizes.
634 - Issue #23539: If body is None, http.client.HTTPConnection.request now sets
635 Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from
638 - Issue #22351: The nntplib.NNTP constructor no longer leaves the connection
642 - Issue #23136: _strptime now uniformly handles all days in week 0, including
645 - Issue #23700: Iterator of NamedTemporaryFile now keeps a reference to
648 - Issue #22903: The fake test case created by unittest.loader when it fails
651 - Issue #23568: Add rdivmod support to MagicMock() objects.
654 - Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar.
657 - Issue #23051: multiprocessing.Pool methods imap() and imap_unordered() now
661 - Issue #22928: Disabled HTTP header injections in http.client.
664 - Issue #23615: Modules bz2, tarfile and tokenize now can be reloaded with
667 - Issue #23476: In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST
670 - Issue #23576: Avoid stalling in SSL reads when EOF has been reached in the
673 - Issue #23504: Added an __all__ to the types module.
675 - Issue #20204: Added the __module__ attribute to _tkinter classes.
677 - Issue #23521: Corrected pure python implementation of timedelta division.
682 - Issue #21619: Popen objects no longer leave a zombie after exit in the with
685 - Issue #6639: Module-level turtle functions no longer raise TclError after
688 - Issues #814253, #9179: Warnings now are raised when group references and
692 - Issue #23215: Multibyte codecs with custom error handlers that ignores errors
696 - Issue #5700: io.FileIO() called flush() after closing the file.
699 - Issue #23374: Fixed pydoc failure with non-ASCII files when stdout encoding
702 - Issue #23481: Remove RC4 from the SSL module's default cipher list.
704 - Issue #21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty
707 - Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb
710 - Issue #23146: Fix mishandling of absolute Windows paths with forward
713 - Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h.
715 - Issue #23367: Fix possible overflows in the unicodedata module.
717 - Issue #23361: Fix possible overflow in Windows subprocess creation code.
719 - Issue #23801: Fix issue where cgi.FieldStorage did not always ignore the
722 - Issue #23310: Fix MagicMock's initializer to work with __methods__, just
725 - asyncio: New event loop APIs: set_task_factory() and get_task_factory().
727 - asyncio: async() function is deprecated in favour of ensure_future().
729 - Issue #23898: Fix inspect.classify_class_attrs() to support attributes
732 - Issue #24298: Fix inspect.signature() to correctly unwrap wrappers
735 - Issue #23572: Fixed functools.singledispatch on classes with falsy
739 ----
741 - Issue 15348: Stop the debugger engine (normally in a user process)
745 - Issue #24455: Prevent IDLE from hanging when a) closing the shell while the
753 - Change 'The program' to 'Your program' in an IDLE 'kill program?' message
757 - Issue #24750: Improve the appearance of the IDLE editor window status bar.
760 - Issue #25313: Change the handling of new built-in text color themes to better
764 - Issue #24782: Extension configuration is now a tab in the IDLE Preferences
768 - Issue #22726: Re-activate the config dialog help button with some content
771 - Issue #24820: IDLE now has an 'IDLE Dark' built-in text color theme.
779 - Issue #25224: README.txt is now an idlelib index for IDLE developers and
783 - Issue #24820: Users can now set breakpoint colors in
784 Settings -> Custom Highlighting. Original patch by Mark Roseman.
786 - Issue #24972: Inactive selection background now matches active selection
790 - Issue #24570: Idle: make calltip and completion boxes appear on Macs
793 - Issue #24988: Idle ScrolledList context menus (used in debugger)
796 - Issue #24801: Make right-click for context menu work on Mac Aqua.
799 - Issue #25173: Associate tkinter messageboxes with a specific widget.
802 - Issue #25198: Enhance the initial html viewer now used for Idle Help.
803 * Properly indent fixed-pitch text (patch by Mark Roseman).
804 * Give code snippet a very Sphinx-like light blueish-gray background.
805 * Re-use initial width and height set by users for shell and editor.
809 - Issue #25225: Condense and rewrite Idle doc section on text colors.
811 - Issue #21995: Explain some differences between IDLE and console Python.
813 - Issue #22820: Explain need for *print* when running file from Idle editor.
815 - Issue #25224: Doc: augment Idle feature list and no-subprocess section.
817 - Issue #25219: Update doc for Idle command line options.
820 - Issue #24861: Most of idlelib is private and subject to change.
823 - Issue #25199: Idle: add synchronization comments for future maintainers.
825 - Issue #16893: Replace help.txt with help.html for Idle doc display.
831 - Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6.
833 - Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts).
835 - Issue #23672: Allow Idle to edit and run files with astral chars in name.
838 - Issue 24745: Idle editor default font. Switch from Courier to
839 platform-sensitive TkFixedFont. This should not affect current customized
840 font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg
843 - Issue #21192: Idle editor. When a file is run, put its name in the restart bar.
846 - Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy.
848 - Issue #23184: remove unused names and imports in idlelib.
852 -----
854 - Issue #25616: Tests for OrderedDict are extracted from test_collections
857 - Issue #25099: Make test_compileall not fail when an entry on sys.path cannot
860 - Issue #24751: When running regrtest with the ``-w`` command line option,
862 re-run.
864 - Issue #21520: test_zipfile no longer fails if the word 'bad' appears
867 - Issue #23799: Added test.support.start_threads() for running and
870 - Issue #22390: test.regrtest now emits a warning if temporary files or
873 - Issue #23583: Added tests for standard IO streams in IDLE.
876 -----
878 - Issue #23445: pydebug builds now use "gcc -Og" where possible, to make
881 - Issue #24603: Update Windows builds to use OpenSSL1.0.2d
885 -----
887 - Issue #23998: PyImport_ReInitLock() now checks for lock allocation error
890 -------------
892 - Issue #12067: Rewrite Comparisons section in the Expressions chapter of the
896 and default behaviour and consistency suggestions for user-defined classes.
899 - Issue #24952: Clarify the default size argument of stack_size() in
902 - Issue #24808: Update the types of some PyTypeObject fields. Patch by
905 - Issue #22812: Fix unittest discovery examples.
908 - Issue #24129: Clarify the reference documentation for name resolution.
913 - Issue #20769: Improve reload() docs. Patch by Dorian Pula.
915 - Issue #23589: Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan.
917 - Issue #24729: Correct IO tutorial to match implementation regarding
920 - Issue #24351: Clarify what is meant by "identifier" in the context of
923 - Issue #22155: Add File Handlers subsection with createfilehandler to tkinter
926 - Issue #24029: Document the name binding behavior for submodule imports.
928 - Issue #24077: Fix typo in man page for -I command option: -s, not -S.
931 -----------
933 - Issue #25440: Fix output of python-config --extension-suffix.
935 - Issue #23330: h2py now supports arbitrary filenames in #include.
937 - Issue #24031: make patchcheck now supports git checkouts, too.
940 -------
942 - Issue #24306: Sets component ID for launcher to match 3.5 and later
945 - Issue #25022: Removed very outdated PC/example_nt/ directory.
951 Release date: 2015-02-23
954 -----------------
956 - Issue #22735: Fix many edge cases (including crashes) involving custom mro()
959 - Issue #22896: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
962 - Issue #21295: Revert some changes (issue #16795) to AST line numbers and
965 - Issue #21408: The default __ne__() now returns NotImplemented if __eq__()
968 - Issue #23321: Fixed a crash in str.decode() when error handler returned
971 - Issue #23048: Fix jumping out of an infinite while loop in the pdb.
973 - Issue #20335: bytes constructor now raises TypeError when encoding or errors
974 is specified with non-string argument. Based on patch by Renaud Blanch.
976 - Issue #22335: Fix crash when trying to enlarge a bytearray to 0x7fffffff
977 bytes on a 32-bit platform.
979 - Issue #22653: Fix an assertion failure in debug mode when doing a reentrant
982 - Issue #22643: Fix integer overflow in Unicode case operations (upper, lower,
985 - Issue #22604: Fix assertion error in debug mode when dividing a complex
988 - Issue #22470: Fixed integer overflow issues in "backslashreplace",
991 - Issue #22520: Fix overflow checking when generating the repr of a unicode
994 - Issue #22519: Fix overflow checking in PyBytes_Repr.
996 - Issue #22518: Fix integer overflow issues in latin-1 encoding.
998 - Issue #23165: Perform overflow checks before allocating memory in the
1002 -------
1004 - Issue #23399: pyvenv creates relative symlinks where possible.
1006 - Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
1009 - Issue #23363: Fix possible overflow in itertools.permutations.
1011 - Issue #23364: Fix possible overflow in itertools.product.
1013 - Issue #23366: Fixed possible integer overflow in itertools.combinations.
1015 - Issue #23369: Fixed possible integer overflow in
1018 - Issue #23353: Fix the exception handling of generators in
1022 WHY_RETURN. Patch co-written with Antoine Pitrou.
1024 - Issue #18518: timeit now rejects statements which can't be compiled outside
1027 - Issue #23094: Fixed readline with frames in Python implementation of pickle.
1029 - Issue #23268: Fixed bugs in the comparison of ipaddress classes.
1031 - Issue #21408: Removed incorrect implementations of __ne__() which didn't
1035 - Issue #19996: :class:`email.feedparser.FeedParser` now handles (malformed)
1038 - Issue #23248: Update ssl error codes from latest OpenSSL git master.
1040 - Issue #23098: 64-bit dev_t is now supported in the os module.
1042 - Issue #23250: In the http.cookies module, capitalize "HttpOnly" and "Secure"
1045 - Issue #23063: In the distutils' check command, fix parsing of reST with code or
1046 code-block directives.
1048 - Issue #23209, #23225: selectors.BaseSelector.close() now clears its internal
1052 - Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The
1056 - Issue #20896, #22935: The :func:`ssl.get_server_certificate` function now
1061 - Issue #23111: In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol
1064 - Issue #23132: Mitigate regression in speed and clarity in functools.total_ordering.
1066 - Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
1067 instead of reading /dev/urandom, to get pseudo-random bytes.
1069 - Issue #23112: Fix SimpleHTTPServer to correctly carry the query string and
1072 - Issue #23093: In the io, module allow more operations to work on detached
1075 - Issue #19104: pprint now produces evaluable output for wrapped strings.
1077 - Issue #23071: Added missing names to codecs.__all__. Patch by Martin Panter.
1079 - Issue #15513: Added a __sizeof__ implementation for pickle classes.
1081 - Issue #19858: pickletools.optimize() now aware of the MEMOIZE opcode, can
1085 - Issue #22095: Fixed HTTPConnection.set_tunnel with default port. The port
1088 - Issue #23016: A warning no longer produces an AttributeError when the program
1091 - Issue #21775: shutil.copytree(): fix crash when copying to VFAT. An exception
1094 when run on Linux (and, presumably, any other non-Windows OS).
1097 - Issue #1218234: Fix inspect.getsource() to load updated source of
1100 - Issue #22959: In the constructor of http.client.HTTPSConnection, prefer the
1103 - Issue #16043: Add a default limit for the amount of data xmlrpclib.gzip_decode
1104 will return. This resolves CVE-2013-1753.
1106 - Issue #22966: Fix __pycache__ pyc file name clobber when pyc_compile is
1110 - Issue #21971: Update turtledemo doc and add module to the index.
1112 - Issue #21032. Fixed socket leak if HTTPConnection.getresponse() fails.
1115 - Issue #22960: Add a context argument to xmlrpclib.ServerProxy constructor.
1117 - Issue #22915: SAX parser now supports files opened with file descriptor or
1120 - Issue #22609: Constructors and update methods of mapping classes in the
1123 - Issue #22788: Add *context* parameter to logging.handlers.HTTPHandler.
1125 - Issue #22921: Allow SSLContext to take the *hostname* parameter even if
1128 - Issue #22894: TestCase.subTest() would cause the test suite to be stopped
1131 - Issue #22638: SSLv3 is now disabled throughout the standard library.
1134 - Issue #22370: Windows detection in pathlib is now more robust.
1136 - Issue #22841: Reject coroutines in asyncio add_signal_handler().
1139 - Issue #22849: Fix possible double free in the io.TextIOWrapper constructor.
1141 - Issue #12728: Different Unicode characters having the same uppercase but
1142 different lowercase are now matched in case-insensitive regular expressions.
1144 - Issue #22821: Fixed fcntl() with integer argument on 64-bit big-endian
1147 - Issue #22406: Fixed the uu_codec codec incorrectly ported to 3.x.
1150 - Issue #17293: uuid.getnode() now determines MAC address on AIX using netstat.
1153 - Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments.
1155 - Issue #22417: Verify certificates by default in httplib (PEP 476).
1157 - Issue #22775: Fixed unpickling of http.cookies.SimpleCookie with protocol 2
1160 - Issue #22366: urllib.request.urlopen will accept a context object
1164 - Issue #22776: Brought excluded code into the scope of a try block in
1167 - Issue #22665: Add missing get_terminal_size and SameFileError to
1170 - Issue #17381: Fixed handling of case-insensitive ranges in regular
1173 - Issue #22410: Module level functions in the re module now cache compiled
1174 locale-dependent regular expressions taking into account the locale.
1176 - Issue #22759: Query methods on pathlib.Path() (exists(), is_dir(), etc.)
1179 - Issue #8876: distutils now falls back to copying files when hard linking
1183 - Issue #18853: Fixed ResourceWarning in shlex.__nain__.
1185 - Issue #9351: Defaults set with set_defaults on an argparse subparser
1188 - Issue #21991: Make email.headerregistry's header 'params' attributes
1189 be read-only (MappingProxyType). Previously the dictionary was modifiable
1192 - Issue #22641: In asyncio, the default SSL context for client connections
1195 - Issue #22435: Fix a file descriptor leak when SocketServer bind fails.
1197 - Issue #13096: Fixed segfault in CTypes POINTER handling of large
1200 - Issue #11694: Raise ConversionError in xdrlib as documented. Patch
1203 - Issue #22462: Fix pyexpat's creation of a dummy frame to make it
1206 - Issue #21173: Fix len() on a WeakKeyDictionary when .clear() was called
1209 - Issue #11866: Eliminated race condition in the computation of names
1212 - Issue #21905: Avoid RuntimeError in pickle.whichmodule() when sys.modules
1215 - Issue #22219: The zipfile module CLI now adds entries for directories
1218 - Issue #22449: In the ssl.SSLContext.load_default_certs, consult the
1221 - Issue #20076: Added non derived UTF-8 aliases to locale aliases table.
1223 - Issue #20079: Added locales supported in glibc 2.18 to locale alias table.
1225 - Issue #22396: On 32-bit AIX platform, don't expose os.posix_fadvise() nor
1228 - Issue #22517: When a io.BufferedRWPair object is deallocated, clear its
1231 - Issue #22448: Improve canceled timer handles cleanup to prevent
1232 unbound memory usage. Patch by Joshua Moore-Oliva.
1234 - Issue #23009: Make sure selectors.EpollSelector.select() works when no
1238 ----
1240 - Issue #20577: Configuration of the max line length for the FormatParagraph
1245 - Issue #16893: Update Idle doc chapter to match current Idle and add new
1248 - Issue #3068: Add Idle extension configuration dialog to Options menu.
1249 Changes are written to HOME/.idlerc/config-extensions.cfg.
1252 - Issue #16233: A module browser (File : Class Browser, Alt+C) requires an
1258 - Issue #4832: Save As to type Python files automatically adds .py to the
1262 - Issue #21986: Code objects are not normally pickled by the pickle module.
1265 - Issue #23180: Rename IDLE "Windows" menu item to "Window".
1269 -----
1271 - Issue #23392: Added tests for marshal C API that works with FILE*.
1273 - Issue #18982: Add tests for CLI of the calendar module.
1275 - Issue #19548: Added some additional checks to test_codecs to ensure that
1279 - Issue #22838: All test_re tests now work with unittest test discovery.
1281 - Issue #22173: Update lib2to3 tests to use unittest test discovery.
1283 - Issue #16000: Convert test_curses to use unittest.
1285 - Issue #21456: Skip two tests in test_urllib2net.py if _ssl module not
1288 - Issue #22770: Prevent some Tk segfaults on OS X when running gui tests.
1290 - Issue #23211: Workaround test_logging failure on some OS X 10.6 systems.
1292 - Issue #23345: Prevent test_ssl failures with large OpenSSL patch level
1295 - Issue #22289: Prevent test_urllib2net failures due to ftp connection timeout.
1298 -----
1300 - Issue #15506: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure
1303 - Issue #22935: Allow the ssl module to be compiled if openssl doesn't support
1306 - Issue #16537: Check whether self.extensions is empty in setup.py. Patch by
1309 - Issue #18096: Fix library order returned by python-config.
1311 - Issue #17219: Add library build dir for Python extension cross-builds.
1313 - Issue #17128: Use private version of OpenSSL for 3.4.3 OS X 10.5+ installer.
1316 -----
1318 - Issue #22079: PyType_Ready() now checks that statically allocated type has
1322 -------------
1324 - Issue #19548: Update the codecs module documentation to better cover the
1328 - Issue #22914: Update the Python 2/3 porting HOWTO to describe a more automated
1331 - Issue #21514: The documentation of the json module now refers to new JSON RFC
1335 -----------
1337 - Issue #22314: pydoc now works when the LINES environment variable is set.
1340 -------
1342 - Issue #17896: The Windows build scripts now expect external library sources
1345 - Issue #17717: The Windows build scripts now use a copy of NASM pulled from
1348 - Issue #22644: The bundled version of OpenSSL has been updated to 1.0.1j.
1354 Release date: 2014-10-06
1357 -------
1359 - Issue #10510: distutils register and upload methods now use HTML standards
1362 - Issue #9850: Fixed macpath.join() for empty first component. Patch by
1365 - Issue #22427: TemporaryDirectory no longer attempts to clean up twice when
1368 - Issue #20912: Now directories added to ZIP file have correct Unix and MS-DOS
1371 - Issue #21866: ZipFile.close() no longer writes ZIP64 central directory
1374 - Issue #22415: Fixed debugging output of the GROUPREF_EXISTS opcode in the re
1377 - Issue #22423: Unhandled exception in thread no longer causes unhandled
1380 - Issue #21332: Ensure that ``bufsize=1`` in subprocess.Popen() selects
1387 Release date: 2014-09-22
1390 -----------------
1392 - Issue #22258: Fix the internal function set_inheritable() on Illumos.
1397 - Issue #21669: With the aid of heuristics in SyntaxError.__init__, the
1402 - Issue #21642: In the conditional if-else expression, allow an integer written
1406 - Issue #21523: Fix over-pessimistic computation of the stack effect of
1412 -------
1414 - Issue #21091: Fix API bug: email.message.EmailMessage.is_attachment is now
1419 - Issue #21079: Fix email.message.EmailMessage.is_attachment to return the
1422 - Issue #22247: Add NNTPError to nntplib.__all__.
1424 - Issue #4180: The warnings registries are now reset when the filters
1427 - Issue #22419: Limit the length of incoming HTTP request in wsgiref server to
1431 - Lax cookie parsing in http.cookies could be a security issue when combined
1432 with non-standard cookie handling in some Web browsers. Reported by
1435 - Issue #22384: An exception in Tkinter callback no longer crashes the program
1438 - Issue #22168: Prevent turtle AttributeError with non-default Canvas on OS X.
1440 - Issue #21147: sqlite3 now raises an exception if the request contains a null
1443 - Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with
1446 - Issue #21951: Tkinter now most likely raises MemoryError instead of crash
1449 - Issue #22338: Fix a crash in the json module on memory allocation failure.
1451 - Issue #22226: First letter no longer is stripped from the "status" key in
1454 - Issue #19524: Fixed resource leak in the HTTP connection when an invalid
1457 - Issue #22051: turtledemo no longer reloads examples to re-run them.
1461 - Issue #21933: Turtledemo users can change the code font size with a menu
1462 selection or control(command) '-' or '+' or control-mousewheel.
1465 - Issue #21597: The separator between the turtledemo text pane and the drawing
1470 - Issue #18132: Turtledemo buttons no longer disappear when the window is
1473 - Issue #22216: smtplib now resets its state more completely after a quit. The
1477 - Issue #22185: Fix an occasional RuntimeError in threading.Condition.wait()
1478 caused by mutation of the waiters queue without holding the lock. Patch
1481 - Issue #22182: Use e.args to unpack exceptions correctly in
1484 - The webbrowser module now uses subprocess's start_new_session=True rather
1487 - Issue #22236: Fixed Tkinter images copying operations in NoDefaultRoot mode.
1489 - Issue #22191: Fix warnings.__all__.
1491 - Issue #15696: Add a __sizeof__ implementation for mmap objects on Windows.
1493 - Issue #22068: Avoided reference loops with Variables and Fonts in Tkinter.
1495 - Issue #22165: SimpleHTTPRequestHandler now supports undecodable file names.
1497 - Issue #8797: Raise HTTPError on failed Basic Authentication immediately.
1500 - Issue #20729: Restored the use of lazy iterkeys()/itervalues()/iteritems()
1503 - Issue #21448: Changed FeedParser feed() to avoid O(N**2) behavior when
1506 - Issue #22184: The functools LRU Cache decorator factory now gives an earlier
1509 - Issue #17923: glob() patterns ending with a slash no longer match non-dirs on
1512 - Issue #21121: Don't force 3rd party C extensions to be built with
1513 -Werror=declaration-after-statement.
1515 - Issue #21975: Fixed crash when using uninitialized sqlite3.Row (in particular
1519 - Issue #21580: Now Tkinter correctly handles bytes arguments passed to Tk.
1522 - Issue #17172: Make turtledemo start as active on OS X even when run with
1525 - Issue #21704: Fix build error for _multiprocessing when semaphores
1528 - Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError
1531 - Issue #16133: The asynchat.async_chat.handle_read() method now ignores
1534 - Issue #22044: Fixed premature DECREF in call_tzinfo_method.
1537 - Issue #19884: readline: Disable the meta modifier key if stdout is not
1539 sequence is used on some terminal (ex: TERM=xterm-256color") to enable
1542 - Issue #21888: plistlib's load() and loads() now work if the fmt parameter is
1545 - Issue #21044: tarfile.open() now handles fileobj with an integer 'name'
1548 - Issue #21867: Prevent turtle crash due to invalid undo buffer size.
1550 - Issue #19076: Don't pass the redundant 'file' argument to self.error().
1552 - Issue #21942: Fixed source file viewing in pydoc's server mode on Windows.
1554 - Issue #11259: asynchat.async_chat().set_terminator() now raises a ValueError
1557 - Issue #12523: asynchat.async_chat.push() now raises a TypeError if it doesn't
1560 - Issue #21707: Add missing kwonlyargcount argument to
1563 - Issue #20639: calling Path.with_suffix('') allows removing the suffix
1566 - Issue #21714: Disallow the construction of invalid paths using
1569 - Issue #21897: Fix a crash with the f_locals attribute with closure
1572 - Issue #21151: Fixed a segfault in the winreg module when ``None`` is passed
1575 - Issue #21090: io.FileIO.readall() does not ignore I/O errors anymore. Before,
1578 - Issue #21781: ssl.RAND_add() now supports strings longer than 2 GB.
1580 - Issue #11453: asyncore: emit a ResourceWarning when an unclosed file_wrapper
1584 - Issue #21858: Better handling of Python exceptions in the sqlite3 module.
1586 - Issue #21476: Make sure the email.parser.BytesParser TextIOWrapper is
1589 - Issue #21729: Used the "with" statement in the dbm.dumb module to ensure
1592 - Issue #21491: socketserver: Fix a race condition in child processes reaping.
1594 - Issue #21832: Require named tuple inputs to be exact strings.
1596 - Issue #19145: The times argument for itertools.repeat now handles
1600 - Issue #21812: turtle.shapetransform did not transform the turtle on the
1603 - Issue #21635: The difflib SequenceMatcher.get_matching_blocks() method
1607 - Issue #21722: The distutils "upload" command now exits with a non-zero
1610 - Issue #21723: asyncio.Queue: support any type of number (ex: float) for the
1613 - Issue #21326: Add a new is_closed() method to asyncio.BaseEventLoop.
1617 - Issue #21774: Fixed NameError for an incorrect variable reference in the
1621 - Issue #21766: Prevent a security hole in CGIHTTPServer by URL unquoting paths
1624 - Issue #21310: Fixed possible resource leak in failed open().
1626 - Issue #21677: Fixed chaining nonnormalized exceptions in io close() methods.
1628 - Issue #11709: Fix the pydoc.help function to not fail when sys.stdin is not a
1631 - Issue #13223: Fix pydoc.writedoc so that the HTML documentation for methods
1634 - Issue #21463: In urllib.request, fix pruning of the FTP cache.
1636 - Issue #21618: The subprocess module could fail to close open fds that were
1641 - Issue #21552: Fixed possible integer overflow of too long string lengths in
1642 the tkinter module on 64-bit platforms.
1644 - Issue #14315: The zipfile module now ignores extra fields in the central
1649 - Issue #21402: tkinter.ttk now works when default root window is not set.
1651 - Issue #10203: sqlite3.Row now truly supports sequence protocol. In particular
1654 - Issue #18807: If copying (no symlinks) specified for a venv, then the python
1658 - Issue #14710: pkgutil.get_loader() no longer raises an exception when None is
1661 - Issue #14710: pkgutil.find_loader() no longer raises an exception when a
1664 - Issue #21481: Argparse equality and inequality tests now return
1667 - Issue #8743: Fix interoperability between set objects and the
1670 - Issue #13355: random.triangular() no longer fails with a ZeroDivisionError
1673 - Issue #21538: The plistlib module now supports loading of binary plist files
1676 - Issue #21801: Validate that __signature__ is None or an instance of Signature.
1678 - Issue #21923: Prevent AttributeError in distutils.sysconfig.customize_compiler
1681 - Issue #21323: Fix http.server to again handle scripts in CGI subdirectories,
1685 -----------------
1687 - Issue #22176: Update the ctypes module's libffi to v3.1. This release
1692 -----
1694 - Issue #15661: python.org OS X installers are now distributed as signed
1697 - Issue #21958: Define HAVE_ROUND when building with Visual Studio 2013 and
1700 - Issue #15759: "make suspicious", "make linkcheck" and "make doctest" in Doc/
1703 - Issue #17095: Fix Modules/Setup *shared* support.
1705 - Issue #21811: Anticipated fixes to support OS X versions > 10.9.
1707 - Issue #21166: Prevent possible segfaults and other random failures of
1708 python --generate-posix-vars in pybuilddir.txt build target.
1711 ----
1713 - Issue #17390: Adjust Editor window title; remove 'Python',
1716 - Issue #14105: Idle debugger breakpoints no longer disappear
1719 - Issue #17172: Turtledemo can now be run from Idle.
1723 - Issue #21765: Add support for non-ascii identifiers to HyperParser.
1725 - Issue #21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav
1728 - Issue #18592: Add unittest for SearchDialogBase. Patch by Phil Webster.
1730 - Issue #21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar.
1732 - Issue #21686: add unittest for HyperParser. Original patch by Saimadhav
1735 - Issue #12387: Add missing upper(lower)case versions of default Windows key
1736 bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy.
1738 - Issue #21695: Closing a Find-in-files output window while the search is
1741 - Issue #18910: Add unittest for textView. Patch by Phil Webster.
1743 - Issue #18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar.
1745 - Issue #18409: Add unittest for AutoComplete. Patch by Phil Webster.
1748 -----
1750 - Issue #22166: With the assistance of a new internal _codecs._forget_codec
1754 - Issue #22236: Tkinter tests now don't reuse default root window. New root
1757 - Issue #20746: Fix test_pdb to run in refleak mode (-R). Patch by Xavier
1760 - Issue #22060: test_ctypes has been somewhat cleaned up and simplified; it
1763 - Issue #22104: regrtest.py no longer holds a reference to the suite of tests
1766 - Issue #22002: Added ``load_package_tests`` function to test.support and used
1770 - Issue #21976: Fix test_ssl to accept LibreSSL version strings. Thanks
1773 - Issue #21918: Converted test_tools from a module to a package containing
1776 - Issue #20155: Changed HTTP method names in failing tests in test_httpservers
1780 - Issue #19493: Refactored the ctypes test package to skip tests explicitly
1783 - Issue #18492: All resources are now allowed when tests are not run by
1786 - Issue #21634: Fix pystone micro-benchmark: use floor division instead of true
1790 - Issue #21605: Added tests for Tkinter images.
1792 - Issue #21493: Added test for ntpath.expanduser(). Original patch by
1795 - Issue #19925: Added tests for the spwd module. Original patch by Vajrasky Kok.
1797 - Issue #21522: Added Tkinter tests for Listbox.itemconfigure(),
1801 -------------
1803 - Issue #21777: The binary sequence methods on bytes and bytearray are now
1808 -------
1810 - Issue #21671, #22160, CVE-2014-0224: The bundled version of OpenSSL has been
1813 - Issue #10747: Use versioned labels in the Windows start menu.
1817 -----------
1819 - Issue #22201: Command-line interface of the zipfile module now correctly
1822 - Issue #21906: Make Tools/scripts/md5sum.py work in Python 3.
1825 - Issue #21629: Fix Argument Clinic's "--converters" feature.
1831 Release date: 2014-05-18
1834 -----------------
1836 - Issue #21418: Fix a crash in the builtin function super() when called without
1839 - Issue #21425: Fix flushing of standard streams in the interactive
1842 - Issue #21435: In rare cases, when running finalizers on objects in cyclic
1847 -------
1849 - Issue #10744: Fix PEP 3118 format strings on ctypes objects with a nontrivial
1852 - Issue #20998: Fixed re.fullmatch() of repeated single character pattern
1855 - Issue #21075: fileinput.FileInput now reads bytes from standard stream if
1858 - Issue #21396: Fix TextIOWrapper(..., write_through=True) to not force a
1861 - Issue #21470: Do a better job seeding the random number generator by
1864 - Issue #21398: Fix an unicode error in the pydoc pager when the documentation
1868 -----
1870 - Issue #17756: Fix test_code test when run from the installed location.
1872 - Issue #17752: Fix distutils tests when run from the installed location.
1875 ----
1877 - Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin
1878 consolidating and improving human-validated tests of Idle. Change other files
1885 Release date: 2014-05-05
1888 -----------------
1890 - Issue #21274: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c.
1892 - Issue #21209: Fix sending tuples to custom generator objects with the yield
1895 - Issue #21134: Fix segfault when str is called on an uninitialized
1898 - Issue #19537: Fix PyUnicode_DATA() alignment under m68k. Patch by
1901 - Issue #20929: Add a type cast to avoid shifting a negative number.
1903 - Issue #20731: Properly position in source code files even if they
1906 - Issue #20637: Key-sharing now also works for instance dictionaries of
1909 - Issue #12546: Allow ``\x00`` to be used as a fill character when using str, int,
1912 - Issue #13598: Modify string.Formatter to support auto-numbering of
1917 -------
1919 - Issue #21088: Bugfix for curses.window.addch() regression in 3.4.0.
1922 - Issue #21469: Reduced the risk of false positives in robotparser by
1926 - Issue #21321: itertools.islice() now releases the reference to the source
1929 - Issue #9815: assertRaises now tries to clear references to local variables
1932 - Issue #13204: Calling sys.flags.__new__ would crash the interpreter,
1935 - Issue #19385: Make operations on a closed dbm.dumb database always raise the
1938 - Issue #21207: Detect when the os.urandom cached fd has been closed or
1941 - Issue #21291: subprocess's Popen.wait() is now thread safe so that
1945 - Issue #21127: Path objects can now be instantiated from str subclass
1948 - Issue #15002: urllib.response object to use _TemporaryFileWrapper (and
1952 - Issue #12220: mindom now raises a custom ValueError indicating it doesn't
1955 - Issue #21239: patch.stopall() didn't work deterministically when the same
1958 - Issue #21222: Passing name keyword argument to mock.create_autospec now
1961 - Issue #21197: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX.
1963 - Issue #17498: Some SMTP servers disconnect after certain errors, violating
1968 - Issue #17826: setting an iterable side_effect on a mock function created by
1971 - Issue #7776: Fix ``Host:`` header and reconnection when using
1974 - Issue #20968: unittest.mock.MagicMock now supports division.
1977 - Issue #21529 (CVE-2014-4616): Fix arbitrary memory access in
1981 - Issue #21169: getpass now handles non-ascii characters that the
1982 input stream encoding cannot encode by re-encoding using the
1985 - Issue #21171: Fixed undocumented filter API of the rot13 codec.
1988 - Issue #21172: isinstance check relaxed from dict to collections.Mapping.
1990 - Issue #21155: asyncio.EventLoop.create_unix_server() now raises a ValueError
1993 - Issue #21149: Improved thread-safety in logging cleanup during interpreter
1996 - Issue #20145: `assertRaisesRegex` and `assertWarnsRegex` now raise a
1999 - Issue #21058: Fix a leak of file descriptor in
2003 - Issue #21200: Return None from pkgutil.get_loader() when __spec__ is missing.
2005 - Issue #21013: Enhance ssl.create_default_context() when used for server side
2008 - Issue #20633: Replace relative import by absolute import.
2010 - Issue #20980: Stop wrapping exception when using ThreadPool.
2012 - Issue #21082: In os.makedirs, do not set the process-wide umask. Note this
2015 - Issue #20990: Fix issues found by pyflakes for multiprocessing.
2017 - Issue #21015: SSL contexts will now automatically select an elliptic
2021 - Issue #20995: Enhance default ciphers used by the ssl module to enable
2024 - Issue #20884: Don't assume that __file__ is defined on importlib.__init__.
2026 - Issue #21499: Ignore __builtins__ in several test_importlib.test_api tests.
2028 - Issue #20879: Delay the initialization of encoding and decoding tables for
2033 - Issue #19157: Include the broadcast address in the usuable hosts for IPv6
2036 - Issue #11599: When an external command (e.g. compiler) fails, distutils now
2040 - Issue #4931: distutils should not produce unhelpful "error: None" messages
2041 anymore. distutils.util.grok_environment_error is kept but doc-deprecated.
2043 - Issue #20875: Prevent possible gzip "'read' is not defined" NameError.
2046 - Issue #11558: ``email.message.Message.attach`` now returns a more
2050 - Issue #20283: RE pattern methods now accept the string keyword parameters
2054 - Issue #20778: Fix modulefinder to work with bytecode-only modules.
2056 - Issue #20791: copy.copy() now doesn't make a copy when the input is
2059 - Issue #19748: On AIX, time.mktime() now raises an OverflowError for year
2062 - Issue #20816: Fix inspect.getcallargs() to raise correct TypeError for
2063 missing keyword-only arguments. Patch by Jeremiah Lowin.
2065 - Issue #20817: Fix inspect.getcallargs() to fail correctly if more
2068 - Issue #6676: Ensure a meaningful exception is raised when attempting
2073 - Issue #21117: Fix inspect.signature to better support functools.partial.
2075 positional-or-keyword arguments passed as keyword arguments become
2076 keyword-only.
2078 - Issue #21209: Fix asyncio.tasks.CoroWrapper to workaround a bug
2079 in yield-from implementation in CPythons prior to 3.4.1.
2081 - asyncio: Add gi_{frame,running,code} properties to CoroWrapper
2084 - Issue #21311: Avoid exception in _osx_support with non-standard compiler
2087 - Issue #11571: Ensure that the turtle window becomes the topmost window
2091 -----------------
2093 - Issue #21276: posixmodule: Don't define USE_XATTRS on KFreeBSD and the Hurd.
2095 - Issue #21226: Set up modules properly in PyImport_ExecCodeModuleObject
2099 ----
2101 - Issue #21139: Change default paragraph width to 72, the PEP 8 recommendation.
2103 - Issue #21284: Paragraph reformat test passes after user changes reformat width.
2105 - Issue #17654: Ensure IDLE menus are customized properly on OS X for
2106 non-framework builds and for all variants of Tk.
2109 -----
2111 - The Windows build now includes OpenSSL 1.0.1g
2113 - Issue #21285: Refactor and fix curses configure check to always search
2116 - Issue #15234: For BerkeleyDB and Sqlite, only add the found library and
2120 - Issue #20644: OS X installer build support for documentation build changes
2121 in 3.4.1: assume externally supplied sphinx-build is available in /usr/bin.
2124 -----
2126 - Issue #20942: PyImport_ImportFrozenModuleObject() no longer sets __file__ to
2131 -------------
2133 - Issue #17386: Expanded functionality of the ``Doc/make.bat`` script to make
2136 - Issue #21043: Remove the recommendation for specific CA organizations and to
2139 - Issue #20765: Add missing documentation for PurePath.with_name() and
2142 - Issue #19407: New package installation and distribution guides based on
2148 - Issue #19697: Document cases where __main__.__spec__ is None.
2151 -----
2153 - Issue #18604: Consolidated checks for GUI availability. All platforms now
2157 - Issue #21275: Fix a socket test on KFreeBSD.
2159 - Issue #21223: Pass test_site/test_startup_imports when some of the extensions
2162 - Issue #20635: Added tests for Tk geometry managers.
2164 - Add test case for freeze.
2166 - Issue #20743: Fix a reference leak in test_tcl.
2168 - Issue #21097: Move test_namespace_pkgs into test_importlib.
2170 - Issue #20939: Avoid various network test failures due to new
2174 - Issue #20668: asyncio tests no longer rely on tests.txt file.
2177 - Issue #21093: Prevent failures of ctypes test_macholib on OS X if a
2181 -----------
2183 - Add support for ``yield from`` to 2to3.
2185 - Add support for the PEP 465 matrix multiplication operator to 2to3.
2187 - Issue #16047: Fix module exception list and __file__ handling in freeze.
2190 - Issue #11824: Consider ABI tags in freeze. Patch by Meador Inge.
2192 - Issue #20535: PYTHONWARNING no longer affects the run_tests.py script.
2199 Release date: 2014-03-16
2202 -------
2204 - Issue #20939: Fix test_geturl failure in test_urllibnet due to
2208 -------------
2210 - Merge in all documentation changes since branching 3.4.0rc1.
2216 Release date: 2014-03-09
2219 -----------------
2221 - Issue #20786: Fix signatures for dict.__delitem__ and
2225 -------
2227 - Issue #20839: Don't trigger a DeprecationWarning in the still supported
2232 -----
2234 - Issue #14512: Launch pydoc -b instead of pydocgui.pyw on Windows.
2236 - Issue #20748: Uninstalling pip does not leave behind the pyc of
2239 - Issue #20568: The Windows installer now installs the unversioned ``pip``
2242 - Issue #20757: The ensurepip helper for the Windows uninstaller now skips
2246 - Issue #20465: Update OS X and Windows installer builds to use
2253 Release date: 2014-02-23
2256 -----------------
2258 - Issue #20625: Parameter names in __annotations__ were not mangled properly.
2261 - Issue #20261: In pickle, lookup __getnewargs__ and __getnewargs_ex__ on the
2264 - Issue #20619: Give the AST nodes of keyword-only arguments a column and line
2267 - Issue #20526: Revert changes of issue #19466 which introduces a regression:
2272 -------
2274 - Issue #20710: The pydoc summary line no longer displays the "self" parameter
2277 - Issue #20566: Change asyncio.as_completed() to use a Queue, to
2280 - Issue #20704: Implement new debug API in asyncio. Add new methods
2285 - asyncio: Refactoring and fixes: BaseEventLoop.sock_connect() raises an
2296 - Issue #20684: Fix inspect.getfullargspec() to not to follow __wrapped__
2300 - Issue #20681: Add new error handling API in asyncio. New APIs:
2304 - Issue #20673: Implement support for UNIX Domain Sockets in asyncio.
2308 - Issue #20616: Add a format() method to tracemalloc.Traceback.
2310 - Issue #19744: the ensurepip installation step now just prints a warning to
2314 - Issue #20594: Avoid name clash with the libc function posix_close.
2317 -----
2319 - Issue #20641: Run MSI custom actions (pip installation, pyc compilation)
2322 - Issue #20221: Removed conflicting (or circular) hypot definition when
2325 - Issue #20609: Restored the ability to build 64-bit Windows binaries on
2326 32-bit Windows, which was broken by the change in issue #19788.
2332 Release date: 2014-02-10
2335 -----------------
2337 - Issue #19255: The builtins module is restored to initial value before
2340 - Issue #20588: Make Python-ast.c C89 compliant.
2342 - Issue #20437: Fixed 22 potential bugs when deleting objects references.
2344 - Issue #20500: Displaying an exception at interpreter shutdown no longer
2347 - Issue #20538: UTF-7 incremental decoder produced inconsistent string when
2350 - Issue #20404: io.TextIOWrapper (and hence the open() builtin) now uses the
2352 for known non-text encodings at stream construction time. The existing
2356 - Issue #17162: Add PyType_GetSlot.
2358 - Issue #20162: Fix an alignment issue in the siphash24() hash function which
2359 caused a crash on PowerPC 64-bit (ppc64).
2362 -------
2364 - Issue #20530: The signatures for slot builtins have been updated
2365 to reflect the fact that they only accept positional-only arguments.
2367 - Issue #20517: Functions in the os module that accept two filenames
2370 - Issue #20563: The ipaddress module API is now considered stable.
2372 - Issue #14983: email.generator now always adds a line end after each MIME
2376 - Issue #20540: Fix a performance regression (vs. Python 3.2) when layering
2381 - Issue #16983: the new email header parsing code will now decode encoded words
2384 - Issue #19772: email.generator no longer mutates the message object when
2385 doing a down-transform from 8bit to 7bit CTEs.
2387 - Issue #20536: the statistics module now correctly handle Decimal instances
2390 - Issue #18805: the netmask/hostmask parsing in ipaddress now more reliably
2393 - Issue #20481: For at least Python 3.4, the statistics module will require
2399 - Issue #20478: the statistics module now treats collections.Counter inputs
2402 - Issue #17369: get_filename was raising an exception if the filename
2406 - Issue #20013: Some imap servers disconnect if the current mailbox is
2410 - Issue #20531: Revert 3.4 version of fix for #19063, and apply the 3.3
2414 - Issue #20476: If a non-compat32 policy is used with any of the email parsers,
2418 - Issue #19920: TarFile.list() no longer fails when outputs a listing
2419 containing non-encodable characters. Based on patch by Vajrasky Kok.
2421 - Issue #20515: Fix NULL pointer dereference introduced by issue #20368.
2423 - Issue #19186: Restore namespacing of expat symbols inside the pyexpat module.
2425 - Issue #20053: ensurepip (and hence venv) are no longer affected by the
2428 - Issue #20426: When passing the re.DEBUG flag, re.compile() displays the
2431 - Issue #20368: The null character now correctly passed from Tcl to Python.
2432 Improved error handling in variables-related commands.
2434 - Issue #20435: Fix _pyio.StringIO.getvalue() to take into account newline
2437 - tracemalloc: Fix slicing traces and fix slicing a traceback.
2439 - Issue #20354: Fix an alignment issue in the tracemalloc module on 64-bit
2440 platforms. Bug seen on 64-bit Linux when using "make profile-opt".
2442 - Issue #17159: inspect.signature now accepts duck types of functions,
2445 - Issue #18801: Fix inspect.classify_class_attrs to correctly classify
2448 - Fixed cmath.isinf's name in its argument parsing code.
2450 - Issue #20311, #20452: poll and epoll now round the timeout away from zero,
2454 (1e-6) is now rounded to one millisecondi (1e-3), instead of being rounded to
2458 - asyncio: Some refactoring; various fixes; add write flow control to
2468 - Issue #20288: fix handling of invalid numeric charrefs in HTMLParser.
2470 - Issue #20424: Python implementation of io.StringIO now supports lone surrogates.
2472 - Issue #20308: inspect.signature now works on classes without user-defined
2475 - Issue #20372: inspect.getfile (and a bunch of other inspect functions that
2479 - Issue #20356: inspect.signature formatting uses '/' to separate
2480 positional-only parameters from others.
2482 - Issue #20223: inspect.signature now supports methods defined with
2485 - Issue #19456: ntpath.join() now joins relative paths correctly when a drive
2488 - Issue #19077: tempfile.TemporaryDirectory cleanup no longer fails when
2492 - Issue #20394: Silence Coverity warning in audioop module.
2494 - Issue #20367: Fix behavior of concurrent.futures.as_completed() for
2497 - Issue #8260: The read(), readline() and readlines() methods of
2501 - Issue #20105: the codec exception chaining now correctly sets the
2504 - Issue #17481: inspect.getfullargspec() now uses inspect.signature() API.
2506 - Issue #15304: concurrent.futures.wait() can block forever even if
2509 - Issue #14455: plistlib: fix serializing integers in the range
2514 ----
2516 - Issue #20406: Use Python application icons for Idle window title bars.
2519 - Update the python.gif icon for the Idle classbrowser and pathbowser
2522 - Issue #17721: Remove non-functional configuration dialog help button until we
2526 -----
2528 - Issue #20532: Tests which use _testcapi now are marked as CPython only.
2530 - Issue #19920: Added tests for TarFile.list(). Based on patch by Vajrasky Kok.
2532 - Issue #19990: Added tests for the imghdr module. Based on patch by
2535 - Issue #20474: Fix test_socket "unexpected success" failures on OS X 10.7+.
2538 -----------
2540 - Issue #20530: Argument Clinic's signature format has been revised again.
2543 positional-only parameters, allowing inspect.Signature objects to be
2546 - Issue #20456: Argument Clinic now observes the C preprocessor conditional
2551 - Issue #20456: Cloned functions in Argument Clinic now use the correct
2555 - Issue #20456: Fixed Argument Clinic's test suite and "--converters" feature.
2557 - Issue #20456: Argument Clinic now allows specifying different names
2560 - Issue #20326: Argument Clinic now uses a simple, unique signature to
2565 - Issue #20326: Argument Clinic now generates separate checksums for the
2567 that the input has not changed (and thus the output is not out-of-date).
2570 -----
2572 - Issue #20465: Update SQLite shipped with OS X installer to 3.8.3.
2574 C-API
2575 -----
2577 - Issue #20517: Added new functions allowing OSError exceptions to reference
2582 -------------
2584 - Issue #20488: Change wording to say importlib is *the* implementation of
2587 - Issue #6386: Clarify in the tutorial that specifying a symlink to execute
2595 Release date: 2014-01-26
2598 -----------------
2600 - Issue #20189: Four additional builtin types (PyTypeObject,
2604 - Issue #17825: Cursor "^" is correctly positioned for SyntaxError and
2607 - Issue #2382: SyntaxError cursor "^" is now written at correct position in most
2611 - Issue #18960: The first line of Python script could be executed twice when
2614 anything except a comment. 'python -x' works now again with files with the
2619 -------
2621 - asyncio: Various improvements and small changes not all covered by
2624 Empty/Full to QueueEmpty/QueueFull; "with (yield from lock)" now
2628 - Issue #20311: asyncio: Add a granularity attribute to BaseEventLoop: maximum
2633 - Issue #20311: selectors: Add a resolution attribute to BaseSelector.
2635 - Issue #20189: unittest.mock now no longer assumes that any object for
2639 - Issue #20317: ExitStack.__exit__ could create a self-referential loop if an
2645 - Issue #20374: Fix build with GNU readline >= 6.3.
2647 - Issue #20262: Warnings are raised now when duplicate names are added in the
2650 - Issue #20165: The unittest module no longer considers tests marked with
2653 - Issue #18574: Added missing newline in 100-Continue reply from
2656 - Issue #20270: urllib.urlparse now supports empty ports.
2658 - Issue #20243: TarFile no longer raise ReadError when opened in write mode.
2660 - Issue #20238: TarFile opened with external fileobj and "w:gz" mode didn't
2663 - Issue #20245: The open functions in the tarfile module now correctly handle
2666 - Issue #20242: Fixed basicConfig() format strings for the alternative
2669 - Issue #20246: Fix buffer overflow in socket.recvfrom_into.
2671 - Issues #20206 and #5803: Fix edge case in email.quoprimime.encode where it
2675 - Issue #19082: Working xmlrpc.server and xmlrpc.client examples. Both in
2678 - Issue #20138: The wsgiref.application_uri() and wsgiref.request_uri()
2679 functions now conform to PEP 3333 when handle non-ASCII URLs.
2681 - Issue #19097: Raise the correct Exception when cgi.FieldStorage is given an
2684 - Issue #20152: Ported Python/import.c over to Argument Clinic.
2686 - Issue #13107: argparse and optparse no longer raises an exception when output
2690 - Issue #20207: Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly
2693 - Issue #18960: The tokenize module now ignore the source encoding declaration
2696 - Issue #20078: Reading malformed zipfiles no longer hangs with 100% CPU
2699 - Issue #20113: os.readv() and os.writev() now raise an OSError exception on
2700 error instead of returning -1.
2702 - Issue #19719: Make importlib.abc.MetaPathFinder.find_module(),
2704 help with backwards-compatibility.
2706 - Issue #20144: inspect.Signature now supports parsing simple symbolic
2709 - Issue #20072: Fixed multiple errors in tkinter with wantobjects is False.
2711 - Issue #20229: Avoid plistlib deprecation warning in platform.mac_ver().
2713 - Issue #14455: Fix some problems with the new binary plist support in plistlib.
2716 ----
2718 - Issue #17390: Add Python version to Idle editor window title bar.
2721 - Issue #18960: IDLE now ignores the source encoding declaration on the second
2725 -----
2727 - Issue #20358: Tests for curses.window.overlay and curses.window.overwrite
2730 - Issue #19804: The test_find_mac test in test_uuid is now skipped if the
2733 - Issue #19886: Use better estimated memory requirements for bigmem tests.
2736 -----------
2738 - Issue #20390: Argument Clinic's "file" output preset now defaults to
2741 - Issue #20390: Argument Clinic's "class" directive syntax has been extended
2744 - Issue #20390: Argument Clinic: If __new__ or __init__ functions didn't use
2748 - Issue #20390: Argument Clinic now fails if you have required parameters after
2751 - Issue #20390: Argument Clinic converters now have a new template they can
2755 - Issue #20376: Argument Clinic now escapes backslashes in docstrings.
2757 - Issue #20381: Argument Clinic now sanity checks the default argument when
2761 - Issue #20189: Argument Clinic now ensures that parser functions for
2766 - Issue #20189: Argument Clinic now suppresses the docstring for __new__
2769 - Issue #20189: Argument Clinic now suppresses the "self" parameter in the
2772 - Issue #20294: Argument Clinic now supports argument parsing for __new__ and
2775 - Issue #20299: Argument Clinic custom converters may now change the default
2778 - Issue #20287: Argument Clinic's output is now configurable, allowing
2781 - Issue #20226: Argument Clinic now permits simple expressions
2782 (e.g. "sys.maxsize - 1") as default values for parameters.
2784 - Issue #19936: Added executable bits or shebang lines to Python scripts which
2790 - Issue #20268: Argument Clinic now supports cloning the parameters and
2793 - Issue #20228: Argument Clinic now has special support for class special
2796 - Issue #20214: Fixed a number of small issues and documentation errors in
2799 - Issue #20196: Fixed a bug where Argument Clinic did not generate correct
2800 parsing code for functions with positional-only parameters where all arguments
2803 - Issue #18960: 2to3 and the findnocoding.py script now ignore the source
2807 - Issue #19723: The marker comments Argument Clinic uses have been changed
2810 - Issue #20157: When Argument Clinic renames a parameter because its name
2813 - Issue #20141: Improved Argument Clinic's support for the PyArg_Parse "O!"
2816 - Issue #20144: Argument Clinic now supports simple symbolic constants
2819 - Issue #20143: The line numbers reported in Argument Clinic errors are
2822 - Issue #20142: Py_buffer variables generated by Argument Clinic are now
2826 -----
2828 - Issue #12837: Silence a tautological comparison warning on OS X under Clang in
2835 Release date: 2014-01-05
2838 -----------------
2840 - Issue #17432: Drop UCS2 from names of Unicode functions in python3.def.
2842 - Issue #19526: Exclude all new API from the stable ABI. Exceptions can be
2845 - Issue #19969: PyBytes_FromFormatV() now raises an OverflowError if "%c"
2848 - Issue #19995: %c, %o, %x, and %X now issue a DeprecationWarning on non-integer
2852 - Issue #19787: PyThread_set_key_value() now always set the value. In Python
2854 is a non-NULL pointer).
2856 - Issue #14432: Remove the thread state field from the frame structure. Fix a
2862 - Issue #19576: PyGILState_Ensure() now initializes threads. At startup, Python
2867 - Issue #17576: Deprecation warning emitted now when __int__() or __index__()
2870 - Issue #19932: Fix typo in import.h, missing whitespaces in function prototypes.
2872 - Issue #19736: Add module-level statvfs constants defined for GNU/glibc
2875 - Issue #20097: Fix bad use of "self" in importlib's WindowsRegistryFinder.
2877 - Issue #19729: In str.format(), fix recursive expansion in format spec.
2879 - Issue #19638: Fix possible crash / undefined behaviour from huge (more than 2
2883 -------
2885 - Issue #20154: Deadlock in asyncio.StreamReader.readexactly().
2887 - Issue #16113: Remove sha3 module again.
2889 - Issue #20111: pathlib.Path.with_suffix() now sanity checks the given suffix.
2891 - Fix breakage in TestSuite.countTestCases() introduced by issue #11798.
2893 - Issue #20108: Avoid parameter name clash in inspect.getcallargs().
2895 - Issue #19918: Fix PurePath.relative_to() under Windows.
2897 - Issue #19422: Explicitly disallow non-SOCK_STREAM sockets in the ssl
2900 - Issue #20046: Locale alias table no longer contains entities which can be
2903 - Issue #20027: Fixed locale aliases for devanagari locales.
2905 - Issue #20067: Tkinter variables now work when wantobjects is false.
2907 - Issue #19020: Tkinter now uses splitlist() instead of split() in configure
2910 - Issue #19744: ensurepip now provides a better error message when Python is
2914 - Issue #19734: ensurepip now ignores all pip environment variables to avoid
2917 - Fix TypeError on "setup.py upload --show-response".
2919 - Issue #20045: Fix "setup.py register --list-classifiers".
2921 - Issue #18879: When a method is looked up on a temporary file, avoid closing
2924 - Issue #20037: Avoid crashes when opening a text file late at interpreter
2927 - Issue #19967: Thanks to the PEP 442, asyncio.Future now uses a
2931 - Added a Task.current_task() class method to asyncio.
2933 - Issue #19850: Set SA_RESTART in asyncio when registering a signal
2936 - Implemented write flow control in asyncio for proactor event loop (Windows).
2938 - Change write buffer in asyncio use to avoid O(N**2) behavior. Make
2941 - Issue #20034: Updated alias mapping to most recent locale.alias file
2944 - Issue #5815: Fixed support for locales with modifiers. Fixed support for
2947 - Issue #20026: Fix the sqlite module to handle correctly invalid isolation
2950 - Issue #18829: csv.Dialect() now checks type for delimiter, escapechar and
2953 - Issue #19855: uuid.getnode() on Unix now looks on the PATH for the
2957 - Issue #20007: HTTPResponse.read(0) no more prematurely closes connection.
2960 - Issue #19946: multiprocessing now uses runpy to initialize __main__ in
2966 - Issue #19921: When Path.mkdir() is called with parents=True, any missing
2968 (mimicking the POSIX "mkdir -p" command).
2970 - Issue #19887: Improve the Path.resolve() algorithm to support certain
2973 - Issue #19912: Fixed numerous bugs in ntpath.splitunc().
2975 - Issue #19911: ntpath.splitdrive() now correctly processes the 'İ' character
2978 - Issue #19532: python -m compileall with no filename/directory arguments now
2979 respects the -f and -q flags instead of ignoring them.
2981 - Issue #19623: Fixed writing to unseekable files in the aifc module.
2983 - Issue #19946: multiprocessing.spawn now raises ImportError when the module to
2986 - Issue #17919: select.poll.register() again works with poll.POLLNVAL on AIX.
2989 - Issue #19063: if a Charset's body_encoding was set to None, the email
2990 package would generate a message claiming the Content-Transfer-Encoding
2992 A couple of other set_payload mishandlings of non-ASCII are also fixed.
2996 - Issue #15475: Add __sizeof__ implementations for itertools objects.
2998 - Issue #19944: Fix importlib.find_spec() so it imports parents as needed
3001 - Issue #19880: Fix a reference leak in unittest.TestCase. Explicitly break
3004 - Issue #17429: platform.linux_distribution() now decodes files from the UTF-8
3007 probably the first major distribution release with a non-ASCII name. Patch
3010 - Issue #19343: Expose FreeBSD-specific APIs in resource module. Original
3013 - Issue #19929: Call os.read with 32768 within subprocess.Popen.communicate
3017 - Issue #19506: Use a memoryview to avoid a data copy when piping data
3018 to stdin within subprocess.Popen.communicate. 5-10% less cpu usage.
3020 - Issue #19876: selectors unregister() no longer raises ValueError or OSError
3023 - Issue #19908: pathlib now joins relative Windows paths correctly when a drive
3026 - Issue #19296: Silence compiler warning in dbm_open
3028 - Issue #6784: Strings from Python 2 can now be unpickled as bytes
3032 - Issue #19839: Fix regression in bz2 module's handling of non-bzip2 data at
3035 - Issue #19881: Fix pickling bug where cpickle would emit bad pickle data for
3036 large bytes string (i.e., with size greater than 2**32-1).
3038 - Issue #19138: doctest's IGNORE_EXCEPTION_DETAIL now allows a match when
3042 - Issue #19927: Add __eq__ to path-based loaders in importlib.
3044 - Issue #19827: On UNIX, setblocking() and settimeout() methods of
3046 used, or if the non-blocking flag of the socket is unchanged.
3048 - Issue #19785: smtplib now supports SSLContext.check_hostname and server name
3051 - Issue #19784: poplib now supports SSLContext.check_hostname and server name
3054 - Issue #19783: nntplib now supports SSLContext.check_hostname and server name
3057 - Issue #19782: imaplib now supports SSLContext.check_hostname and server name
3060 - Issue #20123: Fix pydoc.synopsis() for "binary" modules.
3062 - Issue #19834: Support unpickling of exceptions pickled by Python 2.
3064 - Issue #19781: ftplib now supports SSLContext.check_hostname and server name
3067 - Issue #19509: Add SSLContext.check_hostname to match the peer's certificate
3070 - Issue #15798: Fixed subprocess.Popen() to no longer fail if file
3073 - Issue #17897: Optimized unpickle prefetching.
3075 - Issue #3693: Make the error message more helpful when the array.array()
3079 - Issue #19088: Fixed incorrect caching of the copyreg module in
3082 - Issue #19698: Removed exec_module() methods from
3085 - Issue #18864: Added a setter for ModuleSpec.has_location.
3087 - Fixed _pickle.Unpickler to not fail when loading empty strings as
3090 - Issue #11480: Fixed copy.copy to work with classes with custom metaclasses.
3093 - Issue #6477: Added support for pickling the types of built-in singletons
3096 - Issue #19713: Add remaining PEP 451-related deprecations and move away
3099 - Issue #19708: Update pkgutil to use the new importer APIs.
3101 - Issue #19703: Update pydoc to use the new importer APIs.
3103 - Issue #19851: Fixed a regression in reloading sub-modules.
3105 - ssl.create_default_context() sets OP_NO_COMPRESSION to prevent CRIME.
3107 - Issue #19802: Add socket.SO_PRIORITY.
3109 - Issue #11508: Fixed uuid.getnode() and uuid.uuid1() on environment with
3112 - Issue #11489: JSON decoder now accepts lone surrogates.
3114 - Issue #19545: Avoid chained exceptions while passing stray % to
3118 ----
3120 - Issue #20058: sys.stdin.readline() in IDLE now always returns only one line.
3122 - Issue #19481: print() of string subclass instance in IDLE no longer hangs.
3124 - Issue #18270: Prevent possible IDLE AttributeError on OS X when no initial
3128 -----
3130 - Issue #20055: Fix test_shutil under Windows with symlink privileges held.
3133 - Issue #20070: Don't run test_urllib2net when network resources are not
3136 - Issue #19938: Re-enabled test_bug_1333982 in test_dis, which had been
3139 - Issue #19320: test_tcl no longer fails when wantobjects is false.
3141 - Issue #19919: Fix flaky SSL test. connect_ex() sometimes returns
3144 - Issue #19912: Added tests for ntpath.splitunc().
3146 - Issue #19828: Fixed test_site when the whole suite is run with -S.
3148 - Issue #19928: Implemented a test for repr() of cell objects.
3150 - Issue #19535: Fixed test_docxmlrpc, test_functools, test_inspect, and
3151 test_statistics when python is run with -OO.
3153 - Issue #19926: Removed unneeded test_main from test_abstract_numbers.
3156 - Issue #19572: More skipped tests explicitly marked as skipped.
3158 - Issue #19595, #19987: Re-enabled a long-disabled test in test_winsound.
3160 - Issue #19588: Fixed tests in test_random that were silently skipped most
3164 -----
3166 - Issue #19728: Enable pip installation by default on Windows.
3168 - Issue #16136: Remove VMS support
3170 - Issue #18215: Add script Tools/ssl/test_multiple_versions.py to compile and
3173 - Issue #19922: define _INCLUDE__STDC_A1_SOURCE in HP-UX to include mbstate_t
3176 - Issue #19788: kill_python(_d).exe is now run as a PreBuildEvent on the
3177 pythoncore sub-project. This should prevent build errors due a previous
3181 -------------
3183 - Issue #20265: Updated some parts of the Using Windows document.
3185 - Issue #20266: Updated some parts of the Windows FAQ.
3187 - Issue #20255: Updated the about and bugs pages.
3189 - Issue #20253: Fixed a typo in the ipaddress docs that advertised an
3192 - Issue #18840: Introduce the json module in the tutorial, and de-emphasize
3195 - Issue #19845: Updated the Compiling Python on Windows section.
3197 - Issue #19795: Improved markup of True/False constants.
3200 -----------
3202 - Issue #19659: Added documentation for Argument Clinic.
3204 - Issue #19976: Argument Clinic METH_NOARGS functions now always
3211 Release date: 2013-11-24
3214 -----------------
3216 - Use the repr of a module name in more places in import, especially
3219 - Issue #19619: str.encode, bytes.decode and bytearray.decode now use an
3220 internal API to throw LookupError for known non-text encodings, rather
3223 in place for third party non-text encodings)
3225 - Issue #19183: Implement PEP 456 'secure and interchangeable hash algorithm'.
3228 - Issue #12892: The utf-16* and utf-32* encoders no longer allow surrogate code
3229 points (U+D800-U+DFFF) to be encoded. The utf-32* decoders no longer decode
3231 error handler now works with the utf-16* and utf-32* codecs. Based on
3232 patches by Victor Stinner and Kang-Hao (Kenny) Lu.
3234 - Issue #17806: Added keyword-argument support for "tabsize" to
3237 - Issue #17828: Output type errors in str.encode(), bytes.decode() and
3241 - Issue #17828: The interpreter now attempts to chain errors that occur in
3246 - Issue #19466: Clear the frames of daemon threads earlier during the
3250 - Issue #19514: Deduplicate some _Py_IDENTIFIER declarations.
3253 - Issue #17936: Fix O(n**2) behaviour when adding or removing many subclasses
3256 - Issue #19428: zipimport now handles errors when reading truncated or invalid
3259 - Issue #18408: Add a new PyFrame_FastToLocalsWithError() function to handle
3263 - Issue #19369: Optimized the usage of __length_hint__().
3265 - Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the
3268 - Issue #19306: Add extra hints to the faulthandler module's stack
3272 -------
3274 - Issue #3158: doctest can now find doctests in functions and methods
3277 - Issue #13477: Added command line interface to the tarfile module.
3280 - Issue #19674: inspect.signature() now produces a correct signature
3283 - Issue #19722: Added opcode.stack_effect(), which
3286 - Issue #19735: Implement private function ssl._create_stdlib_context() to
3290 - Issue #16203: Add re.fullmatch() function and regex.fullmatch() method,
3294 - Issue #13592: Improved the repr for regular expression pattern objects.
3297 - Issue #19641: Added the audioop.byteswap() function to convert big-endian
3298 samples to little-endian and vice versa.
3300 - Issue #15204: Deprecated the 'U' mode in file-like objects.
3302 - Issue #17810: Implement PEP 3154, pickle protocol 4.
3304 - Issue #19668: Added support for the cp1125 encoding.
3306 - Issue #19689: Add ssl.create_default_context() factory function. It creates
3309 - Issue #19727: os.utime(..., None) is now potentially more precise
3312 - Issue #17201: ZIP64 extensions now are enabled by default. Patch by
3315 - Issue #19292: Add SSLContext.load_default_certs() to load default root CA
3319 - Issue #19673: Add pathlib to the stdlib as a provisional module (PEP 428).
3321 - Issue #16596: pdb in a generator now properly skips over yield and
3325 - Issue #17916: Added dis.Bytecode.from_traceback() and
3329 - Issue #19552: venv now supports bootstrapping pip into virtual environments
3331 - Issue #17134: Finalize interface to Windows' certificate store. Cert and
3335 - Issue #19555: Restore sysconfig.get_config_var('SO'), (and the distutils
3338 - Issue #8813: Add SSLContext.verify_flags to change the verification flags
3342 - Issue #18294: Fix the zlib module to make it 64-bit safe.
3344 - Issue #19682: Fix compatibility issue with old version of OpenSSL that
3347 - Issue #14455: plistlib now supports binary plists and has an updated API.
3349 - Issue #19633: Fixed writing not compressed 16- and 32-bit wave files on
3350 big-endian platforms.
3352 - Issue #18379: SSLSocket.getpeercert() returns CA issuer AIA fields, OCSP
3355 - Issue #18138: Implement cadata argument of SSLContext.load_verify_location()
3359 - Issue #18775: Add name and block_size attribute to HMAC object. They now
3360 provide the same API elements as non-keyed cryptographic hash functions.
3362 - Issue #17276: MD5 as default digestmod for HMAC is deprecated. The HMAC
3365 - Issue #19449: in csv's writerow, handle non-string keys when generating the
3368 - Issue #13633: Added a new convert_charrefs keyword arg to HTMLParser that,
3371 - Issue #2927: Added the unescape() function to the html module.
3373 - Issue #8402: Added the escape() function to the glob module.
3375 - Issue #17618: Add Base85 and Ascii85 encoding/decoding to the base64 module.
3377 - Issue #19634: time.strftime("%y") now raises a ValueError on AIX when given a
3380 - Fix test.support.bind_port() to not cause an error when Python was compiled
3384 - Fix compilation error under gcc of the ctypes module bundled libffi for arm.
3386 - Issue #19448: Add private API to SSL module to lookup ASN.1 objects by OID,
3389 - Issue #19282: dbm.open now supports the context management protocol. (Initial
3392 - Issue #8311: Added support for writing any bytes-like objects in the aifc,
3395 - Issue #5202: Added support for unseekable files in the wave module.
3397 - Issue #19544 and Issue #1180: Restore global option to ignore
3401 - Issue #19523: Closed FileHandler leak which occurred when delay was set.
3403 - Issue #19544 and Issue #6516: Restore support for --user and --group
3407 - Issue #13674: Prevented time.strftime from crashing on Windows when given
3410 - Issue #19406: implementation of the ensurepip module (part of PEP 453).
3413 - Issue #19544 and Issue #6286: Restore use of urllib over http allowing use
3417 - Issue #19544 and Issue #7457: Restore the read_pkg_file method to
3421 - Issue #16685: Added support for any bytes-like objects in the audioop module.
3424 - Issue #7171: Add Windows implementation of ``inet_ntop`` and ``inet_pton``
3427 - Issue #19261: Added support for writing 24-bit samples in the sunau module.
3429 - Issue #1097797: Added CP273 encoding, used on IBM mainframes in
3432 - Issue #1575020: Fixed support of 24-bit wave files on big-endian platforms.
3434 - Issue #19378: Fixed a number of cases in the dis module where the new
3437 - Issue #19378: Removed the "dis.Bytecode.show_info" method
3439 - Issue #19378: Renamed the "dis.Bytecode.display_code" method to
3443 - Issue #19378: the "line_offset" parameter in the new "dis.get_instructions"
3448 - Issue #18678: Corrected spwd struct member names in spwd module:
3449 sp_nam->sp_namp, and sp_pwd->sp_pwdp. The old names are kept as extra
3452 - Issue #6157: Fixed tkinter.Text.debug(). tkinter.Text.bbox() now raises
3456 - Issue #10197: Rework subprocess.get[status]output to use subprocess
3459 - Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of
3462 - Issue #19403: contextlib.redirect_stdout is now reentrant
3464 - Issue #19286: Directories in ``package_data`` are no longer added to
3467 - Issue #19480: HTMLParser now accepts all valid start-tag names as defined
3470 - Issue #15114: The html.parser module now raises a DeprecationWarning when the
3473 - Issue #19410: Undo the special-casing removal of '' for
3476 - Issue #19424: Fix the warnings module to accept filename containing surrogate
3479 - Issue #19435: Fix directory traversal attack on CGIHttpRequestHandler.
3481 - Issue #19227: Remove pthread_atfork() handler. The handler was added to
3484 - Issue #19420: Fix reference leak in module initialization code of
3487 - Issue #19329: Optimized compiling charsets in regular expressions.
3489 - Issue #19227: Try to fix deadlocks caused by re-seeding then OpenSSL
3490 pseudo-random number generator on fork().
3492 - Issue #16037: HTTPMessage.readheaders() raises an HTTPException when more than
3495 - Issue #16040: CVE-2013-1752: nntplib: Limit maximum line lengths to 2048 to
3499 - Issue #16041: CVE-2013-1752: poplib: Limit maximum line lengths to 2048 to
3503 - Issue #17997: Change behavior of ``ssl.match_hostname()`` to follow RFC 6125,
3507 - Issue #16039: CVE-2013-1752: Change use of readline in imaplib module to limit
3510 - Issue #19330: the unnecessary wrapper functions have been removed from the
3515 - Issue #19393: Fix symtable.symtable function to not be confused when there are
3518 - Issue #18685: Restore re performance to pre-PEP 393 levels.
3520 - Issue #19339: telnetlib module is now using time.monotonic() when available
3523 - Issue #19399: fix sporadic test_subprocess failure.
3525 - Issue #13234: Fix os.listdir to work with extended paths on Windows.
3528 - Issue #19375: The site module adding a "site-python" directory to sys.path,
3531 - Issue #19379: Lazily import linecache in the warnings module, to make
3534 - Issue #19288: Fixed the "in" operator of dbm.gnu databases for string
3537 - Issue #19287: Fixed the "in" operator of dbm.ndbm databases for string
3540 - Issue #19327: Fixed the working of regular expressions with too big charset.
3542 - Issue #17400: New 'is_global' attribute for ipaddress to tell if an address
3545 - Issue #19350: Increasing the test coverage of macurl2path. Patch by Colin
3548 - Issue #19365: Optimized the parsing of long replacement string in re.sub*()
3551 - Issue #19352: Fix unittest discovery when a module can be reached
3554 - Issue #15207: Fix mimetypes to read from correct part of Windows registry
3557 - Issue #16595: Add prlimit() to resource module.
3559 - Issue #19324: Expose Linux-specific constants in resource module.
3561 - Load SSL's error strings in hashlib.
3563 - Issue #18527: Upgrade internal copy of zlib to 1.2.8.
3565 - Issue #19274: Add a filterfunc parameter to PyZipFile.writepy.
3567 - Issue #8964: fix platform._sys_version to handle IronPython 2.6+.
3570 - Issue #19413: Restore pre-3.3 reload() semantics of re-finding modules.
3572 - Issue #18958: Improve error message for json.load(s) while passing a string
3573 that starts with a UTF-8 BOM.
3575 - Issue #19307: Improve error message for json.load(s) while passing objects
3578 - Issue #16038: CVE-2013-1752: ftplib: Limit amount of data read by
3582 - Issue #17087: Improved the repr for regular expression match objects.
3585 -----
3587 - Issue #19664: test_userdict's repr test no longer depends on the order
3590 - Issue #19440: Clean up test_capi by removing an unnecessary __future__
3594 - Issue #19378: the main dis module tests are now run with both stdout
3597 - Issue #19378: removed the not-actually-helpful assertInstructionMatches
3600 - Issue #18702: All skipped tests now reported as skipped.
3602 - Issue #19439: interpreter embedding tests are now executed on Windows
3605 - Issue #19085: Added basic tests for all tkinter widget options.
3607 - Issue #19384: Fix test_py_compile for root user, patch by Claudiu Popa.
3610 -------------
3612 - Issue #18326: Clarify that list.sort's arguments are keyword-only. Also,
3617 -----
3619 - Issue #19358: "make clinic" now runs the Argument Clinic preprocessor
3622 - Update SQLite to 3.8.1, xz to 5.0.5, and Tcl/Tk to 8.6.1 on Windows.
3624 - Issue #16632: Enable DEP and ASLR on Windows.
3626 - Issue #17791: Drop PREFIX and EXEC_PREFIX definitions from PC/pyconfig.h
3628 - Add workaround for VS 2010 nmake clean issue. VS 2010 doesn't set up PATH
3631 - Issue #19550: Implement Windows installer changes of PEP 453 (ensurepip).
3633 - Issue #19520: Fix compiler warning in the _sha3 module on 32bit Windows.
3635 - Issue #19356: Avoid using a C variabled named "_self", it's a reserved
3638 - Issue #15792: Correct build options on Win64. Patch by Jeremy Kloth.
3640 - Issue #19373: Apply upstream change to Tk 8.5.15 fixing OS X 10.9
3643 - Issue #19649: On OS X, the same set of file names are now installed
3644 in bin directories for all configurations: non-framework vs framework,
3645 and single arch vs universal builds. pythonx.y-32 is now always
3646 installed for 64-bit/32-bit universal builds. The obsolete and
3649 - Issue #19553: PEP 453 - "make install" and "make altinstall" now install or
3651 module. A new configure option, --with-ensurepip[=upgrade|install|no], is
3652 available to override the default ensurepip "--upgrade" option. The option
3655 - Issue #19551: PEP 453 - the OS X installer now installs pip by default.
3657 - Update third-party libraries for OS X installers: xz 5.0.3 -> 5.0.5,
3658 SQLite 3.7.13 -> 3.8.1
3660 - Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.4.0b1.
3661 Some third-party projects, such as Matplotlib and PIL/Pillow,
3666 -----------
3668 - Issue #19730: Argument Clinic now supports all the existing PyArg
3672 - Issue #19552: pyvenv now bootstraps pip into virtual environments by
3673 default (pass --without-pip to request the old behaviour)
3675 - Issue #19390: Argument Clinic no longer accepts malformed Python
3682 Release date: 2013-10-20
3685 -----------------
3687 - Issue #19301: Give classes and functions that are explicitly marked global a
3690 - Issue #19279: UTF-7 decoder no longer produces illegal strings.
3692 - Issue #16612: Add "Argument Clinic", a compile-time preprocessor for
3695 - Issue #18810: Shift stat calls in importlib.machinery.FileFinder such that
3700 - Issue #18416: importlib.machinery.PathFinder now treats '' as the cwd and
3701 importlib.machinery.FileFinder no longer special-cases '' to '.'. This leads
3704 does affect -m/runpy). It also allows FileFinder to be more consistent by not
3707 - Issue #4555: All exported C symbols are now prefixed with either
3710 - Issue #19219: Speed up marshal.loads(), and make pyc files slightly
3713 - Issue #19221: Upgrade Unicode database to version 6.3.0.
3715 - Issue #16742: The result of the C callback PyOS_ReadlineFunctionPointer must
3720 - Issue #19199: Remove ``PyThreadState.tick_counter`` field
3722 - Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at
3725 - Issue #19087: Improve bytearray allocation in order to allow cheap popping
3728 - Issue #19014: memoryview.cast() is now allowed on zero-length views.
3730 - Issue #18690: memoryview is now automatically registered with
3733 - Issue #19078: memoryview now correctly supports the reversed builtin
3737 -------
3739 - Issue #17457: unittest test discovery now works with namespace packages.
3742 - Issue #18235: Fix the sysconfig variables LDSHARED and BLDSHARED under AIX.
3745 - Issue #18606: Add the new "statistics" module (PEP 450). Contributed
3748 - Issue #12866: The audioop module now supports 24-bit samples.
3750 - Issue #19254: Provide an optimized Python implementation of pbkdf2_hmac.
3752 - Issues #19201, Issue #19222, Issue #19223: Add "x" mode (exclusive creation)
3756 - Fix a reference count leak in _sre.
3758 - Issue #19262: Initial check in of the 'asyncio' package (a.k.a. Tulip,
3763 - Issue #19276: Fixed the wave module on 64-bit big-endian platforms.
3765 - Issue #19266: Rename the new-in-3.4 ``contextlib.ignore`` context manager
3770 - Issue #18891: Completed the new email package (provisional) API additions
3773 - Issue #18281: Unused stat constants removed from `tarfile`.
3775 - Issue #18999: Multiprocessing now supports 'contexts' with the same API
3778 - Issue #18468: The re.split, re.findall, and re.sub functions and the group()
3782 - Issue #18725: The textwrap module now supports truncating multiline text.
3784 - Issue #18776: atexit callbacks now display their full traceback when they
3787 - Issue #17827: Add the missing documentation for ``codecs.encode`` and
3790 - Issue #19218: Rename collections.abc to _collections_abc in order to
3793 - Issue #18582: Add 'pbkdf2_hmac' to the hashlib module. It implements PKCS#5
3794 password-based key derivation functions with HMAC as pseudorandom function.
3796 - Issue #19131: The aifc module now correctly reads and writes sampwidth of
3799 - Issue #19209: Remove import of copyreg from the os module to speed up
3800 interpreter startup. stat_result and statvfs_result are now hard-coded to
3803 - Issue #19205: Don't import the 're' module in site and sysconfig module to
3806 - Issue #9548: Add a minimal "_bootlocale" module that is imported by the
3809 - Issue #18764: Remove the 'print' alias for the PDB 'p' command so that it no
3812 - Issue #19158: A rare race in BoundedSemaphore could allow .release() too
3815 - Issue #15805: Add contextlib.redirect_stdout().
3817 - Issue #18716: Deprecate the formatter module.
3819 - Issue #10712: 2to3 has a new "asserts" fixer that replaces deprecated names
3820 of unittest methods (e.g. failUnlessEqual -> assertEqual).
3822 - Issue #18037: 2to3 now escapes ``'\u'`` and ``'\U'`` in native strings.
3824 - Issue #17839: base64.decodebytes and base64.encodebytes now accept any
3828 - Issue #19132: The pprint module now supports compact mode.
3830 - Issue #19137: The pprint module now correctly formats instances of set and
3833 - Issue #10042: functools.total_ordering now correctly handles
3837 - Issue #19092: contextlib.ExitStack now correctly reraises exceptions
3841 - Issue #12641: Avoid passing "-mno-cygwin" to the mingw32 compiler, except
3844 - Issue #5845: In site.py, only load readline history from ~/.python_history
3848 - Properly initialize all fields of a SSL object after allocation.
3850 - Issue #19095: SSLSocket.getpeercert() now raises ValueError when the
3853 - Issue #4366: Fix building extensions on all platforms when --enable-shared
3856 - Issue #19030: Fixed `inspect.getmembers` and `inspect.classify_class_attrs`
3862 -----
3864 - Issue #1772673: The type of `char*` arguments now changed to `const char*`.
3866 - Issue #16129: Added a `Py_SetStandardStreamEncoding` pre-initialization API
3872 -----
3874 - Issue #19275: Fix test_site on AMD64 Snow Leopard
3876 - Issue #14407: Fix unittest test discovery in test_concurrent_futures.
3878 - Issue #18919: Unified and extended tests for audio modules: aifc, sunau and
3881 - Issue #18714: Added tests for ``pdb.find_function()``.
3884 -------------
3886 - Issue #18758: Fixed and improved cross-references.
3888 - Issue #18972: Modernize email examples and use the argparse module in them.
3891 -----
3893 - Issue #19130: Correct PCbuild/readme.txt, Python 3.3 and 3.4 require VS 2010.
3895 - Issue #15663: Update OS X 10.6+ installer to use Tcl/Tk 8.5.15.
3897 - Issue #14499: Fix several problems with OS X universal build support:
3900 3. -sysroot and -arch flags were unnecessarily duplicated
3901 4. there was no obvious way to configure an intel-32 only build.
3903 - Issue #19019: Change the OS X installer build script to use CFLAGS instead
3904 of OPT for special build options. By setting OPT, some compiler-specific
3905 options like -fwrapv were overridden and thus not used, which could result
3912 Release date: 2013-09-29
3915 -----------------
3917 - Issue #18818: The "encodingname" part of PYTHONIOENCODING is now optional.
3919 - Issue #19098: Prevent overflow in the compiler when the recursion limit is set
3923 -------
3925 - Issue #18929: `inspect.classify_class_attrs()` now correctly finds class
3928 - Issue #18950: Fix miscellaneous bugs in the sunau module.
3935 - Issue #18594: The fast path for collections.Counter() was never taken
3936 due to an over-restrictive type check.
3938 - Issue #19053: ZipExtFile.read1() with non-zero argument no more returns empty
3941 - logging: added support for Unix domain sockets to SocketHandler and
3944 - Issue #18996: TestCase.assertEqual() now more cleverly shorten differing
3947 - Issue #19034: repr() for tkinter.Tcl_Obj now exposes string reperesentation.
3949 - Issue #18978: ``urllib.request.Request`` now allows the method to be
3952 - Issue #18626: the inspect module now offers a basic command line
3955 - Issue #3015: Fixed tkinter with wantobject=False. Any Tcl command call
3958 - Issue #19037: The mailbox module now makes all changes to maildir files
3962 - Issue #14984: On POSIX systems, when netrc is called without a filename
3968 - Issue #18873: The tokenize module now detects Python source code encoding
3971 - Issue #17764: Enable http.server to bind to a user specified network
3974 - Issue #18937: Add an assertLogs() context manager to unittest.TestCase
3977 - Issue #17324: Fix http.server's request handling case on trailing '/'. Patch
3980 - Issue #19018: The heapq.merge() function no longer suppresses IndexError
3983 - Issue #18784: The uuid module no longer attempts to load libc via ctypes.CDLL
3987 - The :envvar:`PYTHONFAULTHANDLER` environment variable now only enables the
3988 faulthandler module if the variable is non-empty. Same behaviour than other
3991 - Issue #1565525: New function ``traceback.clear_frames`` will clear
3996 -----
3998 - Issue #18952: Fix regression in support data downloads introduced when
4003 ----
4005 - Issue #18873: IDLE now detects Python source code encoding only in comment
4008 - Issue #18988: The "Tab" key now works when a word is already autocompleted.
4011 -------------
4013 - Issue #17003: Unified the size argument names in the io module with common
4017 -----
4019 - Issue #18596: Support the use of address sanity checking in recent versions
4024 -----------
4026 - Issue #18873: 2to3 and the findnocoding.py script now detect Python source
4033 Release date: 2013-09-09
4036 -----------------
4038 - Issue #18942: sys._debugmallocstats() output was damaged on Windows.
4040 - Issue #18571: Implementation of the PEP 446: file descriptors and file
4041 handles are now created non-inheritable; add functions
4045 - Issue #11619: The parser and the import machinery do not encode Unicode
4048 - Issue #18808: Non-daemon threads are now automatically joined when
4049 a sub-interpreter is shutdown (it would previously dump a fatal error).
4051 - Remove support for compiling on systems without getcwd().
4053 - Issue #18774: Remove last bits of GNU PTH thread code and thread_pth.h.
4055 - Issue #18771: Add optimization to set object lookups to reduce the cost
4059 - Issue #16105: When a signal handler fails to write to the file descriptor
4063 - Issue #18722: Remove uses of the "register" keyword in C code.
4065 - Issue #18667: Add missing "HAVE_FCHOWNAT" symbol to posix._have_functions.
4067 - Issue #16499: Add command line option for isolated mode.
4069 - Issue #15301: Parsing fd, uid, and gid parameters for builtins
4072 - Issue #18368: PyOS_StdioReadline() no longer leaks memory when realloc()
4075 - Issue #17934: Add a clear() method to frame objects, to help clean up
4078 - Issue #18780: %-formatting codes %d, %i, and %u now treat int-subclasses
4079 as int (displays value of int-subclass instead of str(int-subclass) ).
4082 -------
4084 - Issue #18808: Thread.join() now waits for the underlying thread state to
4086 Py_EndInterpreter() when some non-daemon threads are still running.
4088 - Issue #18458: Prevent crashes with newer versions of libedit. Its readline
4089 emulation has changed from 0-based indexing to 1-based like gnu readline.
4091 - Issue #18852: Handle case of ``readline.__doc__`` being ``None`` in the new
4094 - Issue #18672: Fixed format specifiers for Py_ssize_t in debugging output in
4097 - Issue #18830: inspect.getclasstree() no longer produces duplicate entries even
4100 - Issue #18878: sunau.open now supports the context management protocol. Based on
4103 - Issue #18909: Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast
4104 64-bit pointer to long (32 bits).
4106 - Issue #18876: The FileIO.mode attribute now better reflects the actual mode
4109 - Issue #16853: Add new selectors module.
4111 - Issue #18882: Add threading.main_thread() function.
4113 - Issue #18901: The sunau getparams method now returns a namedtuple rather than
4116 - Issue #17487: The result of the wave getparams method now is pickleable again.
4119 - Issue #18756: os.urandom() now uses a lazily-opened persistent file
4123 - Issue #18418: After fork(), reinit all threads states, not only active ones.
4126 - Issue #17974: Switch unittest from using getopt to using argparse.
4128 - Issue #11798: TestSuite now drops references to own tests after execution.
4130 - Issue #16611: http.cookie now correctly parses the 'secure' and 'httponly'
4133 - Issue #11973: Fix a problem in kevent. The flags and fflags fields are now
4136 - Issue #18807: ``pyvenv`` now takes a --copies argument allowing copies
4139 - Issue #18538: ``python -m dis`` now uses argparse for argument processing.
4142 - Issue #18394: Close cgi.FieldStorage's optional file.
4144 - Issue #17702: On error, os.environb now suppresses the exception context
4147 - Issue #16809: Fixed some tkinter incompabilities with Tcl/Tk 8.6.
4149 - Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj
4152 - Issue #18324: set_payload now correctly handles binary input. This also
4155 - Issue #18794: Add a fileno() method and a closed attribute to select.devpoll
4158 - Issue #17119: Fixed integer overflows when processing large strings and tuples
4161 - Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork.
4165 - Issue #8865: Concurrent invocation of select.poll.poll() now raises a
4168 - Issue #18777: The ssl module now uses the new CRYPTO_THREADID API of
4171 - Issue #18768: Correct doc string of RAND_edg(). Patch by Vajrasky Kok.
4173 - Issue #18178: Fix ctypes on BSD. dlmalloc.c was compiled twice which broke
4176 - Issue #18709: Fix CVE-2013-4238. The SSL module now handles NULL bytes
4182 - Issue #18701: Remove support of old CPython versions (<3.0) from C code.
4184 - Issue #18756: Improve error reporting in os.urandom() when the failure
4188 - Issue #18673: Add O_TMPFILE to os module. O_TMPFILE requires Linux kernel
4191 - Issue #18532: Change the builtin hash algorithms' names to lower case names
4194 - Issue #8713: add new spwan and forkserver start methods, and new functions
4198 - Issue #18405: Improve the entropy of crypt.mksalt().
4200 - Issue #12015: The tempfile module now uses a suffix of 8 random characters
4205 - Issue #18585: Add :func:`textwrap.shorten` to collapse and truncate a
4208 - Issue #18598: Tweak exception message for importlib.import_module() to
4211 - Issue #19151: Fix docstring and use of _get_supported_file_loaders() to
4212 reflect 2-tuples.
4214 - Issue #19152: Add ExtensionFileLoader.get_filename().
4216 - Issue #18676: Change 'positive' to 'non-negative' in queue.py put and get
4219 - Fix refcounting issue with extension types in tkinter.
4221 - Issue #8112: xlmrpc.server's DocXMLRPCServer server no longer raises an error
4224 - Issue #18600: Added policy argument to email.message.Message.as_string,
4227 - Issue #18671: Output more information when logging exceptions occur.
4229 - Issue #18621: Prevent the site module's patched builtins from keeping
4232 - Issue #4885: Add weakref support to mmap objects. Patch by Valerie Lambert.
4234 - Issue #8860: Fixed rounding in timedelta constructor.
4236 - Issue #18849: Fixed a Windows-specific tempfile bug where collision with an
4240 - Issue #18920: argparse's default destination for the version action (-v,
4241 --version) has also been changed to stdout, to match the Python executable.
4244 -----
4246 - Issue #18623: Factor out the _SuppressCoreFiles context manager into
4249 - Issue #12037: Fix test_email for desktop Windows.
4251 - Issue #15507: test_subprocess's test_send_signal could fail if the test
4256 - Issue #16799: Switched from getopt to argparse style in regrtest's argument
4259 - Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as
4264 ----
4266 - Issue #18489: Add tests for SearchEngine. Original patch by Phil Webster.
4269 -------------
4271 - Issue #18743: Fix references to non-existent "StringIO" module.
4273 - Issue #18783: Removed existing mentions of Python long type in docstrings,
4277 -----
4279 - Issue #1584: Provide configure options to override default search paths for
4282 - Issue #15663: Tcl/Tk 8.5.14 is now included with the OS X 10.6+ 64-/32-bit
4283 installer. It is no longer necessary to install a third-party version of
4284 Tcl/Tk 8.5 to work around the problems in the Apple-supplied Tcl/Tk 8.5
4288 -----------
4290 - Issue #18922: Now The Lib/smtpd.py and Tools/i18n/msgfmt.py scripts write
4297 Release date: 2013-08-03
4300 -----------------
4302 - Issue #16741: Fix an error reporting in int().
4304 - Issue #17899: Fix rare file descriptor leak in os.listdir().
4306 - Issue #10241: Clear extension module dict copies at interpreter shutdown.
4309 - Issue #9035: ismount now recognises volumes mounted below a drive root
4312 - Issue #18214: Improve finalization of Python modules to avoid setting
4315 - Issue #18112: PEP 442 implementation (safe object finalization).
4317 - Issue #18552: Check return value of PyArena_AddPyObject() in
4320 - Issue #18560: Fix potential NULL pointer dereference in sum().
4322 - Issue #18520: Add a new PyStructSequence_InitType2() function, same than
4324 -1 on error).
4326 - Issue #15905: Fix theoretical buffer overflow in handling of sys.argv[0],
4329 - Issue #18408: Fix many various bugs in code handling errors, especially
4332 - Issue #18344: Fix potential ref-leaks in _bufferedreader_read_all().
4334 - Issue #18342: Use the repr of a module name when an import fails when using
4337 - Issue #17872: Fix a segfault in marshal.load() when input stream returns
4340 - Issue #18338: `python --version` now prints version string to stdout, and
4343 - Issue #18426: Fix NULL pointer dereference in C extension import when
4346 - Issue #17206: On Windows, increase the stack size from 2 MB to 4.2 MB to fix
4350 - Issue #3329: Implement the PEP 445: Add new APIs to customize Python memory
4353 - Issue #18328: Reorder ops in PyThreadState_Delete*() functions. Now the
4356 - Issue #13483: Use VirtualAlloc in obmalloc on Windows.
4358 - Issue #18184: PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise
4361 - Issue #18111: The min() and max() functions now support a default argument
4365 - Issue #18137: Detect integer overflow on precision in float.__format__()
4368 - Issue #18183: Fix various unicode operations on strings with large unicode
4371 - Issue #18180: Fix ref leak in _PyImport_GetDynLoadWindows().
4373 - Issue #18038: SyntaxError raised during compilation sources with illegal
4376 - Issue #17931: Resolve confusion on Windows between pids and process
4379 - Tweak the exception message when the magic number or size value in a bytecode
4382 - Issue #17932: Fix an integer overflow issue on Windows 64-bit in iterators:
4385 - Issue #18065: Don't set __path__ to the package name for frozen packages.
4387 - Issue #18088: When reloading a module, unconditionally reset all relevant
4391 - Issue #17937: Try harder to collect cyclic garbage at shutdown.
4393 - Issue #12370: Prevent class bodies from interfering with the __class__
4396 - Issue #17644: Fix a crash in str.format when curly braces are used in square
4399 - Issue #17237: Fix crash in the ASCII decoder on m68k.
4401 - Issue #17927: Frame objects kept arguments alive if they had been
4404 - Issue #1545463: At shutdown, defer finalization of codec modules so
4407 - Issue #7330: Implement width and precision (ex: "%5.3s") for the format
4410 - Issue #1545463: Global variables caught in reference cycles are now
4411 garbage-collected at shutdown.
4413 - Issue #17094: Clear stale thread states after fork(). Note that this
4416 connections kept in thread-local storage).
4418 - Issue #17408: Avoid using an obsolete instance of the copyreg module when
4421 - Issue #5845: Enable tab-completion in the interactive interpreter by
4424 - Issue #17115,17116: Module initialization now includes setting __package__ and
4427 - Issue #17853: Ensure locals of a class that shadow free variables always win
4430 - Issue #17863: In the interactive console, don't loop forever if the encoding
4433 - Issue #17867: Raise an ImportError if __import__ is not found in __builtins__.
4435 - Issue #18698: Ensure importlib.reload() returns the module out of sys.modules.
4437 - Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3,
4440 - Issue #17413: sys.settrace callbacks were being passed a string instead of an
4444 - Issue #17782: Fix undefined behaviour on platforms where
4447 - Issue #17722: When looking up __round__, resolve descriptors.
4449 - Issue #16061: Speed up str.replace() for replacing 1-character strings.
4451 - Issue #17715: Fix segmentation fault from raising an exception in a __trunc__
4454 - Issue #17643: Add __callback__ attribute to weakref.ref.
4456 - Issue #16447: Fixed potential segmentation fault when setting __name__ on a
4459 - Issue #17669: Fix crash involving finalization of generators using yield from.
4461 - Issue #14439: Python now prints the traceback on runpy failure at startup.
4463 - Issue #17469: Fix _Py_GetAllocatedBlocks() and sys.getallocatedblocks()
4466 - Issue #17619: Make input() check for Ctrl-C correctly on Windows.
4468 - Issue #17357: Add missing verbosity messages for -v/-vv that were lost during
4471 - Issue #17610: Don't rely on non-standard behavior of the C qsort() function.
4473 - Issue #17323: The "[X refs, Y blocks]" printed by debug builds has been
4474 disabled by default. It can be re-enabled with the `-X showrefcount` option.
4476 - Issue #17328: Fix possible refleak in dict.setdefault.
4478 - Issue #17275: Corrected class name in init error messages of the C version of
4481 - Issue #7963: Fixed misleading error message that issued when object is
4484 - Issue #8745: Small speed up zipimport on Windows. Patch by Catalin Iacob.
4486 - Issue #5308: Raise ValueError when marshalling too large object (a sequence
4489 - Issue #12983: Bytes literals with invalid ``\x`` escape now raise a SyntaxError
4492 - Issue #16967: In function definition, evaluate positional defaults before
4493 keyword-only defaults.
4495 - Issue #17173: Remove uses of locale-dependent C functions (isalpha() etc.)
4498 - Issue #17137: When an Unicode string is resized, the internal wide character
4501 - Issue #17043: The unicode-internal decoder no longer read past the end of
4504 - Issue #17098: All modules now have __loader__ set even if they pre-exist the
4507 - Issue #16979: Fix error handling bugs in the unicode-escape-decode decoder.
4509 - Issue #16772: The base argument to the int constructor no longer accepts
4510 floats, or other non-integer objects with an __int__ method. Objects
4513 - Issue #10156: In the interpreter's initialization phase, unicode globals
4516 - Issue #16980: Fix processing of escaped non-ascii bytes in the
4517 unicode-escape-decode decoder.
4519 - Issue #16975: Fix error handling bug in the escape-decode bytes decoder.
4521 - Issue #14850: Now a charmap decoder treats U+FFFE as "undefined mapping"
4524 - Issue #16613: Add *m* argument to ``collections.Chainmap.new_child`` to
4527 - Issue #16730: importlib.machinery.FileFinder now no longers raises an
4532 - Issue #16906: Fix a logic error that prevented most static strings from being
4535 - Issue #11461: Fix the incremental UTF-16 decoder. Original patch by
4538 - Issue #16856: Fix a segmentation fault from calling repr() on a dict with
4541 - Issue #16367: Fix FileIO.readall() on Windows for files larger than 2 GB.
4543 - Issue #16761: Calling int() with base argument only now raises TypeError.
4545 - Issue #16759: Support the full DWORD (unsigned long) range in Reg2Py
4549 - Issue #14420: Support the full DWORD (unsigned long) range in Py2Reg
4552 - Issue #11939: Set the st_dev attribute of stat_result to allow Windows to
4556 - Issue #16772: The int() constructor's second argument (base) no longer
4559 - Issue #14470: Remove w9xpopen support per PEP 11.
4561 - Issue #9856: Replace deprecation warning with raising TypeError
4564 - Issue #16597: In buffered and text IO, call close() on the underlying stream
4567 - Issue #16722: In the bytes() constructor, try to call __bytes__ on the
4570 - Issue #16421: loading multiple modules from one shared object is now
4574 - Issue #16602: When a weakref's target was part of a long deallocation
4578 - Issue #16495: Remove extraneous NULL encoding check from bytes_decode().
4580 - Issue #16619: Create NameConstant AST class to represent None, True, and False
4584 - Issue #16455: On FreeBSD and Solaris, if the locale is C, the
4588 ASCII locale encoding, but actually use the ISO-8859-1 encoding in practice.
4590 - Issue #16562: Optimize dict equality testing. Patch by Serhiy Storchaka.
4592 - Issue #16588: Silence unused-but-set warnings in Python/thread_pthread
4594 - Issue #16592: stringlib_bytes_join doesn't raise MemoryError on allocation
4597 - Issue #16546: Fix: ast.YieldFrom argument is now mandatory.
4599 - Issue #16514: Fix regression causing a traceback when sys.path[0] is None
4600 (actually, any non-string or non-bytes type).
4602 - Issue #16306: Fix multiple error messages when unknown command line
4605 - Issue #16215: Fix potential double memory free in str.replace(). Patch
4608 - Issue #16290: A float return value from the __complex__ special method is no
4611 - Issue #16416: On Mac OS X, operating system data are now always
4612 encoded/decoded to/from UTF-8/surrogateescape, instead of the locale encoding
4615 already using UTF-8/surrogateescape.
4617 - Issue #16453: Fix equality testing of dead weakref objects.
4619 - Issue #9535: Fix pending signals that have been received but not yet
4622 - Issue #14794: Fix slice.indices to return correct results for huge values,
4625 - Issue #15001: fix segfault on "del sys.modules['__main__']". Patch by Victor
4628 - Issue #8271: the utf-8 decoder now outputs the correct number of U+FFFD
4629 characters when used with the 'replace' error handler on invalid utf-8
4632 - Issue #5765: Apply a hard recursion limit in the compiler instead of
4635 - Issue #16402: When slicing a range, fix shadowing of exceptions from
4638 - Issue #16336: fix input checking in the surrogatepass error handler.
4641 - Issue #8401: assigning an int to a bytearray slice (e.g. b[3:4] = 5) now
4644 - Issue #7317: Display full tracebacks when an error occurs asynchronously.
4647 - Issue #16309: Make PYTHONPATH="" behavior the same as if PYTHONPATH
4650 - Issue #10189: Improve the error reporting of SyntaxErrors related to global
4653 - Fix segfaults on setting __qualname__ on builtin types and attempting to
4656 - Issue #14625: Rewrite the UTF-32 decoder. It is now 3x to 4x faster. Patch
4659 - Issue #16345: Fix an infinite loop when ``fromkeys`` on a dict subclass
4662 - Issue #16271: Fix strange bugs that resulted from __qualname__ appearing in a
4665 - Issue #12805: Make bytes.join and bytearray.join faster when the separator
4668 - Issue #6074: Ensure cached bytecode files can always be updated by the
4669 user that created them, even when the source file is read-only.
4671 - Issue #15958: bytes.join and bytearray.join now accept arbitrary buffer
4674 - Issue #14783: Improve int() docstring and switch docstrings for str(),
4675 range(), and slice() to use multi-line signatures.
4677 - Issue #16160: Subclass support now works for types.SimpleNamespace.
4679 - Issue #16148: Implement PEP 424, adding operator.length_hint and
4682 - Upgrade Unicode data (UCD) to version 6.2.
4684 - Issue #15379: Fix passing of non-BMP characters as integers for the charmap
4687 - Issue #15144: Fix possible integer overflow when handling pointers as integer
4691 - Issue #15965: Explicitly cast `AT_FDCWD` as (int). Required on Solaris 10
4694 - Issue #15839: Convert SystemErrors in `super()` to RuntimeErrors.
4696 - Issue #15448: Buffered IO now frees the buffer when closed, instead
4699 - Issue #15846: Fix SystemError which happened when using `ast.parse()` in an
4702 - Issue #15897: zipimport.c doesn't check return value of fseek().
4705 - Issue #15801: Make sure mappings passed to '%' formatting are actually
4708 - Issue #15111: __import__ should propagate ImportError when raised as a
4709 side-effect of a module triggered from using fromlist.
4711 - Issue #15022: Add pickle and comparison support to types.SimpleNamespace.
4714 -------
4716 - Issue #4331: Added functools.partialmethod (Initial patch by Alon Horev)
4718 - Issue #13461: Fix a crash in the TextIOWrapper.tell method on 64-bit
4721 - Issue #18681: Fix a NameError in importlib.reload() (noticed by Weizhao Li).
4723 - Issue #14323: Expanded the number of digits in the coefficients for the
4724 RGB -- YIQ conversions so that they match the FCC NTSC versions.
4726 - Issue #17998: Fix an internal error in regular expression engine.
4728 - Issue #17557: Fix os.getgroups() to work with the modified behavior of
4731 - Issue #18608: Avoid keeping a strong reference to the locale module
4734 - Issue #18619: Fix atexit leaking callbacks registered from sub-interpreters,
4735 and make it GC-aware.
4737 - Issue #15699: The readline module now uses PEP 3121-style module
4741 - Issue #17616: wave.open now supports the context management protocol.
4743 - Issue #18599: Fix name attribute of _sha1.sha1() object. It now returns
4746 - Issue #13266: Added inspect.unwrap to easily unravel __wrapped__ chains
4749 - Issue #18561: Skip name in ctypes' _build_callargs() if name is NULL.
4751 - Issue #18559: Fix NULL pointer dereference error in _pickle module
4753 - Issue #18556: Check the return type of PyUnicode_AsWideChar() in ctype's
4756 - Issue #17818: aifc.getparams now returns a namedtuple.
4758 - Issue #18549: Eliminate dead code in socket_ntohl()
4760 - Issue #18530: Remove additional stat call from posixpath.ismount.
4763 - Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj()
4765 - Issue #9177: Calling read() or write() now raises ValueError, not
4768 - Issue #18513: Fix behaviour of cmath.rect w.r.t. signed zeros on OS X 10.8 +
4771 - Issue #18479: Changed venv Activate.ps1 to make deactivate a function, and
4774 - Issue #18480: Add missing call to PyType_Ready to the _elementtree extension.
4776 - Issue #17778: Fix test discovery for test_multiprocessing. (Patch by
4779 - Issue #18393: The private module _gestalt and private functions
4784 - Issue #17482: functools.update_wrapper (and functools.wraps) now set the
4788 - Issue #18431: The new email header parser now decodes RFC2047 encoded words
4791 - Issue #18432: The sched module's queue method was incorrectly returning
4794 - Issue #18044: The new email header parser was mis-parsing encoded words where
4798 - Issue #18101: Tcl.split() now process strings nested in a tuple as it
4801 - Issue #18116: getpass was always getting an error when testing /dev/tty,
4806 - Issue #17198: Fix a NameError in the dbm module. Patch by Valentina
4809 - Issue #18013: Fix cgi.FieldStorage to parse the W3C sample form.
4811 - Issue #18020: improve html.escape speed by an order of magnitude.
4814 - Issue #18347: ElementTree's html serializer now preserves the case of
4817 - Issue #17261: Ensure multiprocessing's proxies use proper address.
4819 - Issue #18343: faulthandler.register() now keeps the previous signal handler
4823 - Issue #17097: Make multiprocessing ignore EINTR.
4825 - Issue #18339: Negative ints keys in unpickler.memo dict no longer cause a
4828 - Issue #18240: The HMAC module is no longer restricted to bytes and accepts
4829 any bytes-like object, e.g. memoryview. Original patch by Jonas Borgström.
4831 - Issue #18224: Removed pydoc script from created venv, as it causes problems
4832 on Windows and adds no value over and above python -m pydoc ...
4834 - Issue #18155: The csv module now correctly handles csv files that use
4838 - Issue #14360: encode_quopri can now be successfully used as an encoder
4841 - Issue #11390: Add -o and -f command line options to the doctest CLI to
4844 - Issue #18135: ssl.SSLSocket.write() now raises an OverflowError if the input
4849 - Issue #11016: Add C implementation of the stat module as _stat.
4851 - Issue #18248: Fix libffi build on AIX.
4853 - Issue #18259: Declare sethostname in socketmodule.c for AIX
4855 - Issue #18147: Add diagnostic functions to ssl.SSLContext(). get_ca_list()
4859 - Issue #18167: cgi.FieldStorage no longer fails to handle multipart/form-data
4862 - Issue #18076: Introduce importlib.util.decode_source().
4864 - Issue #18357: add tests for dictview set difference.
4867 - importlib.abc.SourceLoader.get_source() no longer changes SyntaxError or
4870 - Issue #18058, 18057: Make the namespace package loader meet the
4874 - Issue #17177: The imp module is pending deprecation.
4876 - subprocess: Prevent a possible double close of parent pipe fds when the
4877 subprocess exec runs into an error. Prevent a regular multi-close of the
4880 - Issue #18194: Introduce importlib.util.cache_from_source() and
4884 - Issue #17907: Document imp.new_module() as deprecated in favour of
4887 - Issue #18192: Introduce importlib.util.MAGIC_NUMBER and document as deprecated
4890 - Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
4893 - Issue #18193: Add importlib.reload().
4895 - Issue #18157: Stop using imp.load_module() in pydoc.
4897 - Issue #16102: Make uuid._netbios_getnode() work again on Python 3.
4899 - Issue #17134: Add ssl.enum_cert_store() as interface to Windows' cert store.
4901 - Issue #18143: Implement ssl.get_default_verify_paths() in order to debug
4904 - Issue #17314: Move multiprocessing.forking over to importlib.
4906 - Issue #11959: SMTPServer and SMTPChannel now take an optional map, use of
4909 - Issue #18109: os.uname() now decodes fields from the locale encoding, and
4911 instead of using the UTF-8 encoding in strict mode.
4913 - Issue #18089: Implement importlib.abc.InspectLoader.load_module.
4915 - Issue #18088: Introduce importlib.abc.Loader.init_module_attrs for setting
4919 - Issue #17403: urllib.parse.robotparser normalizes the urls before adding to
4923 - Issue #18070: Have importlib.util.module_for_loader() set attributes
4926 - Added importlib.util.module_to_load to return a context manager to provide the
4929 - Issue #18025: Fixed a segfault in io.BufferedIOBase.readinto() when raw
4932 - Issue #18011: As was originally intended, base64.b32decode() now raises a
4933 binascii.Error if there are non-b32-alphabet characters present in the input
4936 - Issue #18072: Implement importlib.abc.InspectLoader.get_code() and
4939 - Issue #8240: Set the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag on SSL
4942 - Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X
4945 - Issue #16986: ElementTree now correctly works with string input when the
4946 internal XML encoding is not UTF-8 or US-ASCII.
4948 - Issue #17996: socket module now exposes AF_LINK constant on BSD and OSX.
4950 - Issue #17900: Allowed pickling of recursive OrderedDicts. Decreased pickled
4953 - Issue #17914: Add os.cpu_count(). Patch by Yogesh Chaudhari, based on an
4956 - Issue #17812: Fixed quadratic complexity of base64.b32encode().
4959 - Issue #17980: Fix possible abuse of ssl.match_hostname() for denial of
4960 service using certificates with many wildcards (CVE-2013-2099).
4962 - Issue #15758: Fix FileIO.readall() so it no longer has O(n**2) complexity.
4964 - Issue #14596: The struct.Struct() objects now use a more compact
4967 - Issue #17981: logging's SysLogHandler now closes the socket when it catches
4970 - Issue #17964: Fix os.sysconf(): the return type of the C sysconf() function
4973 - Fix typos in the multiprocessing module.
4975 - Issue #17754: Make ctypes.util.find_library() independent of the locale.
4977 - Issue #17968: Fix memory leak in os.listxattr().
4979 - Issue #17606: Fixed support of encoded byte strings in the XMLGenerator
4983 - Issue #17732: Ignore distutils.cfg options pertaining to install paths if a
4986 - Issue #17915: Fix interoperability of xml.sax with file objects returned by
4989 - Issue #16601: Restarting iteration over tarfile really restarts rather
4992 - Issue #17289: The readline module now plays nicer with external modules
4996 - Issue #12181: select module: Fix struct kevent definition on OpenBSD 64-bit
4999 - Issue #11816: multiple improvements to the dis module: get_instructions
5003 - Issue #13831: Embed stringification of remote traceback in local
5006 - Issue #15528: Add weakref.finalize to support finalization using
5009 - Issue #14173: Avoid crashing when reading a signal handler during
5012 - Issue #15902: Fix imp.load_module() accepting None as a file when loading an
5015 - Issue #13721: SSLSocket.getpeercert() and SSLSocket.do_handshake() now
5019 - Issue #14679: add an __all__ (that contains only HTMLParser) to html.parser.
5021 - Issue #17802: Fix an UnboundLocalError in html.parser. Initial tests by
5024 - Issue #17358: Modules loaded by imp.load_source() and load_compiled() (and by
5027 - Issue #17804: New function ``struct.iter_unpack`` allows for streaming
5030 - Issue #17830: When keyword.py is used to update a keyword file, it now
5033 - Issue #17272: Making the urllib.request's Request.full_url a descriptor.
5036 - Issue #17353: Plistlib emitted empty data tags with deeply nested datastructures
5038 - Issue #11714: Use 'with' statements to assure a Semaphore releases a
5041 - Issue #16624: `subprocess.check_output` now accepts an `input` argument,
5045 - Issue #17795: Reverted backwards-incompatible change in SysLogHandler with
5048 - Issue #16694: Add a pure Python implementation of the operator module.
5051 - Issue #11182: remove the unused and undocumented pydoc.Scanner class.
5054 - Issue #17741: Add ElementTree.XMLPullParser, an event-driven parser for
5055 non-blocking applications.
5057 - Issue #17555: Fix ForkAwareThreadLock so that size of after fork
5060 - Issue #17707: fix regression in multiprocessing.Queue's get() method where
5063 - Issue #17720: Fix the Python implementation of pickle.Unpickler to correctly
5064 process the APPENDS opcode when it is used on non-list objects.
5066 - Issue #17012: shutil.which() no longer falls back to the PATH environment
5069 - Issue #17710: Fix pickle raising a SystemError on bogus input.
5071 - Issue #17341: Include the invalid name in the error messages from re about
5074 - Issue #17702: os.environ now raises KeyError with the original environment
5078 - Issue #16163: Make the importlib based version of pkgutil.iter_importers
5081 - Issue #16804: Fix a bug in the 'site' module that caused running
5082 'python -S -m site' to incorrectly throw an exception.
5084 - Issue #15480: Remove the deprecated and unused TYPE_INT64 code from marshal.
5087 - Issue #2118: SMTPException is now a subclass of OSError.
5089 - Issue #17016: Get rid of possible pointer wraparounds and integer overflows
5092 - Issue #16658: add missing return to HTTPConnection.send().
5095 - Issue #9556: the logging package now allows specifying a time-of-day for a
5098 - Issue #14971: unittest test discovery no longer gets confused when a function
5101 - Issue #17487: The wave getparams method now returns a namedtuple rather than
5104 - Issue #17675: socket repr() provides local and remote addresses (if any).
5107 - Issue #17093: Make the ABCs in importlib.abc provide default values or raise
5111 - Issue #17566: Make importlib.abc.Loader.module_repr() optional instead of an
5114 - Issue #17678: Remove the use of deprecated method in http/cookiejar.py by
5117 - Issue #17666: Fix reading gzip files with an extra field.
5119 - Issue #16475: Support object instancing, recursion and interned strings
5122 - Issue #17502: Process DEFAULT values in mock side_effect that returns iterator.
5124 - Issue #16795: On the ast.arguments object, unify vararg with varargannotation
5128 - Issue #17434: Properly raise a SyntaxError when a string occurs between future
5131 - Issue #17117: Import and @importlib.util.set_loader now set __loader__ when
5134 - Issue #17032: The "global" in the "NameError: global name 'x' is not defined"
5137 - Issue #18080: When building a C extension module on OS X, if the compiler
5142 - Issue #18113: Fixed a refcount leak in the curses.panel module's
5145 - Implement PEP 443 "Single-dispatch generic functions".
5147 - Implement PEP 435 "Adding an Enum type to the Python standard library".
5149 - Issue #15596: Faster pickling of unicode strings.
5151 - Issue #17572: Avoid chained exceptions when passing bad directives to
5154 - Issue #17435: threading.Timer's __init__ method no longer uses mutable
5157 - Issue #17526: fix an IndexError raised while passing code without filename to
5160 - Issue #17540: Added style parameter to logging formatter configuration by dict.
5162 - Issue #16692: The ssl module now supports TLS 1.1 and TLS 1.2. Initial
5165 - Issue #17025: multiprocessing: Reduce Queue and SimpleQueue contention.
5167 - Issue #17536: Add to webbrowser's browser list: www-browser, x-www-browser,
5170 - Issue #17150: pprint now uses line continuations to wrap long string
5173 - Issue #17488: Change the subprocess.Popen bufsize parameter default value
5174 from unbuffered (0) to buffering (-1) to match the behavior existing code
5178 - Issue #17521: Corrected non-enabling of logger following two calls to
5181 - Issue #17508: Corrected logging MemoryHandler configuration in dictConfig()
5184 - Issue #17209: curses.window.get_wch() now correctly handles KeyboardInterrupt
5187 - Issue #5713: smtplib now handles 421 (closing connection) error codes when
5191 - Issue #16997: unittest.TestCase now provides a subTest() context manager
5194 - Issue #17485: Also delete the Request Content-Length header if the data
5197 - Issue #15927: CVS now correctly parses escaped newlines and carriage
5200 - Issue #17467: add readline and readlines support to mock_open in
5203 - Issue #13248: removed deprecated and undocumented difflib.isbjunk,
5206 - Issue #17192: Update the ctypes module's libffi to v3.0.13. This
5210 - Issue #8862: Fixed curses cleanup when getkey is interrupted by a signal.
5212 - Issue #17443: imaplib.IMAP4_stream was using the default unbuffered IO
5216 - Issue #17476: Fixed regression relative to Python2 in undocumented pydoc
5219 - Issue #17474: Remove the deprecated methods of Request class.
5221 - Issue #16709: unittest discover order is no-longer filesystem specific. Patch
5224 - Use the HTTPS PyPI url for upload, overriding any plain HTTP URL in pypirc.
5226 - Issue #5024: sndhdr.whichhdr now returns the frame count for WAV files
5227 rather than -1.
5229 - Issue #17460: Remove the strict argument of HTTPConnection and removing the
5232 - Issue #16880: Do not assume _imp.load_dynamic() is defined in the imp module.
5234 - Issue #16389: Fixed a performance regression relative to Python 3.1 in the
5237 - Added missing FeedParser and BytesFeedParser to email.parser.__all__.
5239 - Issue #17431: Fix missing import of BytesFeedParser in email.parser.
5241 - Issue #12921: http.server's send_error takes an explain argument to send more
5244 - Issue #17414: Add timeit, repeat, and default_timer to timeit.__all__.
5246 - Issue #1285086: Get rid of the refcounting hack and speed up
5249 - Issue #17099: Have importlib.find_loader() raise ValueError when __loader__
5252 - Expose the O_PATH constant in the os module if it is available.
5254 - Issue #17368: Fix an off-by-one error in the Python JSON decoder that caused
5258 - Issue #17385: Fix quadratic behavior in threading.Condition. The FIFO
5261 - Issue #15806: Add contextlib.ignore(). This creates a context manager to
5264 - Issue #14645: The email generator classes now produce output using the
5267 fix corrects an RFC non-compliance issue with smtplib.send_message.
5269 - Issue #17278: Fix a crash in heapq.heappush() and heapq.heappop() when
5272 - Issue #16962: Use getdents64 instead of the obsolete getdents syscall
5275 - Issue #16935: unittest now counts the module as skipped if it raises SkipTest,
5278 - Issue #17018: Make Process.join() retry if os.waitpid() fails with EINTR.
5280 - Issue #17223: array module: Fix a crasher when converting an array containing
5284 - Issue #17197: profile/cProfile modules refactored so that code of run() and
5287 - Issue #14720: sqlite3: Convert datetime microseconds correctly.
5290 - Issue #15132: Allow a list for the defaultTest argument of
5293 - Issue #17225: JSON decoder now counts columns in the first line starting
5296 - Issue #6623: Added explicit DeprecationWarning for ftplib.netrc, which has
5299 - Issue #13700: Fix byte/string handling in imaplib authentication when an
5302 - Issue #13153: Tkinter functions now raise TclError instead of ValueError when
5303 a string argument contains non-BMP character.
5305 - Issue #9669: Protect re against infinite loops on zero-width matching in
5306 non-greedy repeat. Patch by Matthew Barnett.
5308 - Issue #13169: The maximal repetition number in a regular expression has been
5309 increased from 65534 to 2147483647 (on 32-bit platform) or 4294967294 (on
5310 64-bit).
5312 - Issue #17143: Fix a missing import in the trace module. Initial patch by
5315 - Issue #15220: email.feedparser's line splitting algorithm is now simpler and
5318 - Issue #16743: Fix mmap overflow check on 32 bit Windows.
5320 - Issue #16996: webbrowser module now uses shutil.which() to find a
5321 web-browser on the executable search path.
5323 - Issue #16800: tempfile.gettempdir() no longer left temporary files when
5326 - Issue #17192: Import libffi-3.0.12.
5328 - Issue #16564: Fixed regression relative to Python2 in the operation of
5331 - Issue #17052: unittest discovery should use self.testLoader.
5333 - Issue #4591: Uid and gid values larger than 2**31 are supported now.
5335 - Issue #17141: random.vonmisesvariate() no longer hangs for large kappas.
5337 - Issue #17149: Fix random.vonmisesvariate to always return results in
5340 - Issue #1470548: XMLGenerator now works with binary output streams.
5342 - Issue #6975: os.path.realpath() now correctly resolves multiple nested
5345 - Issue #13773: sqlite3.connect() gets a new `uri` parameter to pass the
5348 - Issue #16564: Fixed regression relative to Python2 in the operation of
5351 - Issue #10355: The mode, name, encoding and newlines properties now work on
5356 - Issue #16686: Fixed a lot of bugs in audioop module. Fixed crashes in
5359 32-bit samples. max() and rms() no more returns a negative result and
5360 various other functions now work correctly with 32-bit sample -0x80000000.
5362 - Issue #17073: Fix some integer overflows in sqlite3 module.
5364 - Issue #16723: httplib.HTTPResponse no longer marked closed when the connection
5367 - Issue #15359: Add CAN_BCM protocol support to the socket module. Patch by
5370 - Issue #16948: Fix quoted printable body encoding for non-latin1 character
5373 - Issue #16811: Fix folding of headers with no value in the provisional email
5376 - Issue #17132: Update symbol for "yield from" grammar changes.
5378 - Issue #17076: Make copying of xattrs more tolerant of missing FS support.
5381 - Issue #17089: Expat parser now correctly works with string input when the
5382 internal XML encoding is not UTF-8 or US-ASCII. It also now accepts bytes
5385 - Issue #6083: Fix multiple segmentation faults occurred when PyArg_ParseTuple
5388 - Issue #5289: Fix ctypes.util.find_library on Solaris.
5390 - Issue #17106: Fix a segmentation fault in io.TextIOWrapper when an underlying
5392 io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).
5394 - Issue #17015: When it has a spec, a Mock object now inspects its signature
5398 - Issue #15633: httplib.HTTPResponse is now mark closed when the server
5399 sends less than the advertised Content-Length.
5401 - Issue #12268: The io module file object write methods no longer abort early
5404 - Issue #6972: The zipfile module no longer overwrites files outside of
5407 - Issue #4844: ZipFile now raises BadZipFile when opens a ZIP file with an
5411 - Issue #17071: Signature.bind() now works when one of the keyword arguments
5414 - Issue #12004: Fix an internal error in PyZipFile when writing an invalid
5417 - Have py_compile use importlib as much as possible to avoid code duplication.
5419 byte-compiled file is a symlink or non-regular file as a warning that import
5422 - Issue #16972: Have site.addpackage() consider already known paths even when
5425 - Issue #1602133: on Mac OS X a shared library build (``--enable-shared``)
5428 - Issue #15505: `unittest.installHandler` no longer assumes SIGINT handler is
5431 - Issue #13454: Fix a crash when deleting an iterator created by itertools.tee()
5434 - Issue #12411: Fix to cgi.parse_multipart to correctly use bytes boundaries
5437 - Issue #16957: shutil.which() no longer searches a bare file name in the
5441 - Issue #1159051: GzipFile now raises EOFError when reading a corrupted file
5444 - Issue #16993: shutil.which() now preserves the case of the path and extension
5447 - Issue #16992: On Windows in signal.set_wakeup_fd, validate the file
5450 - Issue #16422: For compatibility with the Python version, the C version of
5453 - Issue #15861: tkinter now correctly works with lists and tuples containing
5456 - Issue #9720: zipfile now writes correct local headers for files larger than
5459 - Issue #16955: Fix the poll() method for multiprocessing's socket
5462 - SSLContext.load_dh_params() now properly closes the input file.
5464 - Issue #15031: Refactor some .pyc management code to cut down on code
5468 - Issue #16398: Optimize deque.rotate() so that it only moves pointers
5471 - Issue #16900: Issue a ResourceWarning when an ssl socket is left unclosed.
5473 - Issue #13899: ``\A``, ``\Z``, and ``\B`` now correctly match the A, Z,
5477 - Issue #15545: Fix regression in sqlite3's iterdump method where it was
5481 - fcntl: add F_DUPFD_CLOEXEC constant, available on Linux 2.6.24+.
5483 - Issue #15972: Fix error messages when os functions expecting a file name or
5486 - Issue #8109: The ssl module now has support for server-side SNI, thanks
5490 - Issue #16860: In tempfile, use O_CLOEXEC when available to set the
5491 close-on-exec flag atomically.
5493 - Issue #16674: random.getrandbits() is now 20-40% faster for small integers.
5495 - Issue #16009: JSON error messages now provide more information.
5497 - Issue #16828: Fix error incorrectly raised by bz2.compress(b'') and
5500 - Issue #16833: In http.client.HTTPConnection, do not concatenate the request
5504 - Issue #16541: tk_setPalette() now works with keyword arguments.
5506 - Issue #16820: In configparser, `parser.popitem()` no longer raises ValueError.
5509 - Issue #16820: In configparser, ``parser['section'] = {}`` now preserves
5513 - Issue #16820: In configparser, ``parser['DEFAULT'] = {}`` now correctly
5517 - Issue #9586: Redefine SEM_FAILED on MacOSX to keep compiler happy.
5519 - Issue #16787: Increase asyncore and asynchat default output buffers size, to
5522 - Issue #10527: make multiprocessing use poll() instead of select() if available.
5524 - Issue #16688: Now regexes contained backreferences correctly work with
5525 non-ASCII strings. Patch by Matthew Barnett.
5527 - Issue #16486: Make aifc files act as context managers.
5529 - Issue #16485: Now file descriptors are closed if file header patching failed
5532 - Issue #16640: Run less code under a lock in sched module.
5534 - Issue #16165: sched.scheduler.run() no longer blocks a scheduler for other
5537 - Issue #16641: Default values of sched.scheduler.enter() are no longer
5540 - Issue #16618: Make glob.glob match consistently across strings and bytes
5543 - Issue #16788: Add samestat to Lib/ntpath.py
5545 - Issue #16713: Parsing of 'tel' urls using urlparse separates params from
5548 - Issue #16443: Add docstrings to regular expression match objects.
5551 - Issue #15701: Fix HTTPError info method call to return the headers information.
5553 - Issue #16752: Add a missing import to modulefinder. Patch by Berker Peksag.
5555 - Issue #16646: ftplib.FTP.makeport() might lose socket error details.
5558 - Issue #16626: Fix infinite recursion in glob.glob() on Windows when the
5562 - Issue #15783: Except for the number methods, the C version of decimal now
5566 - Issue #11175: argparse.FileType now accepts encoding and errors
5569 - Issue #16488: epoll() objects now support the `with` statement. Patch
5572 - Issue #16298: In HTTPResponse.read(), close the socket when there is no
5573 Content-Length and the incoming stream is finished. Patch by Eran
5576 - Issue #16049: Add abc.ABC class to enable the use of inheritance to create
5580 - Expose the TCP_FASTOPEN and MSG_FASTOPEN flags in socket when they're
5583 - Issue #15701: Add a .headers attribute to urllib.error.HTTPError. Patch
5586 - Issue #15872: Fix 3.3 regression introduced by the new fd-based shutil.rmtree
5590 - Issue #16248: Disable code execution from the user's home directory by
5591 tkinter when the -E flag is passed to Python. Patch by Zachary Ware.
5593 - Issue #13390: New function :func:`sys.getallocatedblocks()` returns the
5596 - Issue #16628: Fix a memory leak in ctypes.resize().
5598 - Issue #13614: Fix setup.py register failure with invalid rst in description.
5601 - Issue #13512: Create ~/.pypirc securely (CVE-2011-4944). Initial patch by
5604 - Issue #7719: Make distutils ignore ``.nfs*`` files instead of choking later
5607 - Issue #13120: Allow to call pdb.set_trace() from thread.
5610 - Issue #16585: Make CJK encoders support error handlers that return bytes per
5613 - Issue #10182: The re module doesn't truncate indices to 32 bits anymore.
5616 - Issue #16333: use (",", ": ") as default separator in json when indent is
5619 - Issue #16573: In 2to3, treat enumerate() like a consuming call, so superfluous
5623 - Issue #16464: Reset the Content-Length header when a urllib Request is reused
5626 - Issue #12848: The pure Python pickle implementation now treats object
5627 lengths as unsigned 32-bit integers, like the C implementation does.
5630 - Issue #16423: urllib.request now has support for ``data:`` URLs. Patch by
5633 - Issue #4473: Add a POP3.stls() to switch a clear-text POP3 session into
5636 - Issue #4473: Add a POP3.capa() method to query the capabilities advertised
5639 - Issue #4473: Ensure the socket is shutdown cleanly in POP3.close().
5642 - Issue #16522: added FAIL_FAST flag to doctest.
5644 - Issue #15627: Add the importlib.abc.InspectLoader.source_to_code() method.
5646 - Issue #16408: Fix file descriptors not being closed in error conditions
5649 - Issue #14631: Add a new :class:`weakref.WeakMethod` to simulate weak
5652 - Issue #16469: Fix exceptions from float -> Fraction and Decimal -> Fraction
5653 conversions for special values to be consistent with those for float -> int
5654 and Decimal -> int. Patch by Alexey Kachayev.
5656 - Issue #16481: multiprocessing no longer leaks process handles on Windows.
5658 - Issue #12428: Add a pure Python implementation of functools.partial().
5661 - Issue #16140: The subprocess module no longer double closes its child
5664 - Remove a bare print to stdout from the subprocess module that could have
5665 happened if the child process wrote garbage to its pre-exec error pipe.
5667 - The subprocess module now raises its own SubprocessError instead of a
5670 - Issue #16327: The subprocess module no longer leaks file descriptors
5673 - Issue #14396: Handle the odd rare case of waitpid returning 0 when not
5676 - Issue #16411: Fix a bug where zlib.decompressobj().flush() might try to access
5677 previously-freed memory. Patch by Serhiy Storchaka.
5679 - Issue #16357: fix calling accept() on a SSLSocket created through
5682 - Issue #16409: The reporthook callback made by the legacy
5683 urllib.request.urlretrieve API now properly supplies a constant non-zero
5687 - Issue #16431: Use the type information when constructing a Decimal subtype
5690 - Issue #15641: Clean up deprecated classes from importlib.
5693 - Issue #16350: zlib.decompressobj().decompress() now accumulates data from
5699 - Issue #12759: sre_parse now raises a proper error when the name of the group
5702 - Issue #16152: fix tokenize to ignore whitespace at the end of the code when
5705 - Issue #16284: Prevent keeping unnecessary references to worker functions
5708 - Issue #16230: Fix a crash in select.select() when one the lists changes
5711 - Issue #16228: Fix a crash in the json module where a list changes size
5714 - Issue #16351: New function gc.get_stats() returns per-generation collection
5717 - Issue #14897: Enhance error messages of struct.pack and
5720 - Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions.
5723 - Issue #12890: cgitb no longer prints spurious <p> tags in text
5726 - Issue #16307: Fix multiprocessing.Pool.map_async not calling its callbacks.
5729 - Issue #16305: Fix a segmentation fault occurring when interrupting
5732 - Issue #16116: Fix include and library paths to be correct when building C
5735 - Issue #16245: Fix the value of a few entities in html.entities.html5.
5737 - Issue #16301: Fix the localhost verification in urllib/request.py for file://
5740 - Issue #16250: Fix the invocations of URLError which had misplaced filename
5743 - Issue #10836: Fix exception raised when file not found in urlretrieve
5746 - Issue #14398: Fix size truncation and overflow bugs in the bz2 module.
5748 - Issue #12692: Fix resource leak in urllib.request when talking to an HTTP
5751 - Issue #12034: Fix bogus caching of result in check_GetFinalPathNameByHandle.
5754 - Improve performance of `lzma.LZMAFile` (see also issue #16034).
5756 - Issue #16220: wsgiref now always calls close() on an iterable response.
5759 - Issue #16270: urllib may hang when used for retrieving files via FTP by using
5762 - Issue #16461: Wave library should be able to deal with 4GB wav files,
5765 - Issue #16176: Properly identify Windows 8 via platform.platform()
5767 - Issue #16088: BaseHTTPRequestHandler's send_error method includes a
5768 Content-Length header in it's response now. Patch by Antoine Pitrou.
5770 - Issue #16114: The subprocess module no longer provides a misleading error
5774 - Issue #16169: Fix ctypes.WinError()'s confusion between errno and winerror.
5776 - Issue #16110: logging.fileConfig now accepts a pre-initialised ConfigParser
5779 - Issue #1492704: shutil.copyfile() raises a distinct SameFileError now if
5782 - Issue #13896: Make shelf instances work with 'with' as context managers.
5785 - Issue #15417: Add support for csh and fish in venv activation scripts.
5787 - Issue #14377: ElementTree.write and some of the module-level functions have
5788 a new parameter - *short_empty_elements*. It controls how elements with no
5791 - Issue #16089: Allow ElementTree.TreeBuilder to work again with a non-Element
5794 - Issue #9650: List commonly used format codes in time.strftime and
5797 - Issue #15452: logging configuration socket listener now has a verify option
5801 - Issue #16034: Fix performance regressions in the new `bz2.BZ2File`
5804 - `pty.spawn()` now returns the child process status returned by `os.waitpid()`.
5806 - Issue #15756: `subprocess.poll()` now properly handles `errno.ECHILD` to
5810 - Issue #15323: Improve failure message of `Mock.assert_called_once_with()`.
5812 - Issue #16064: ``unittest -m`` claims executable is "python", not "python3".
5814 - Issue #12376: Pass on parameters in `TextTestResult.__init__()` super call.
5816 - Issue #15222: Insert blank line after each message in mbox mailboxes.
5818 - Issue #16013: Fix `csv.Reader` parsing issue with ending quote characters.
5821 - Issue #15421: Fix an OverflowError in `Calendar.itermonthdates()` after
5824 - Issue #16112: platform.architecture does not correctly escape argument to
5827 - Issue #15970: `xml.etree.ElementTree` now serializes correctly the empty HTML
5830 - Issue #15842: The `SocketIO.{readable,writable,seekable}` methods now raise
5831 ValueError when the file-like object is closed. Patch by Alessandro Moura.
5833 - Issue #15876: Fix a refleak in the `curses` module: window.encoding.
5835 - Issue #15881: Fix `atexit` hook in `multiprocessing`. Original patch by Chris
5838 - Issue #15841: The readable(), writable() and seekable() methods of
5842 - Issue #15447: Use `subprocess.DEVNULL` in webbrowser, instead of opening
5845 - Issue #15509: `webbrowser.UnixBrowser` no longer passes empty arguments to
5848 - Issue #12776, issue #11839: Call `argparse` type function (specified by
5854 - Issue #15906: Fix a regression in argparse caused by the preceding change,
5857 - Issue #16113: Added sha3 module based on the Keccak reference implementation
5862 - ctypes.call_commethod was removed, since its only usage was in the defunct
5865 - Issue #16692: Added TLSv1.1 and TLSv1.2 support for the ssl modules.
5867 - Issue #16832: add abc.get_cache_token() to expose cache validity checking
5871 ----
5873 - Issue #18429: Format / Format Paragraph, now works when comment blocks
5877 - Issue #18226: Add docstrings and unittests for FormatParagraph.py.
5880 - Issue #18279: Format - Strip trailing whitespace no longer marks a file as
5884 - Issue #7136: In the Idle File menu, "New Window" is renamed "New File".
5887 - Remove dead imports of imp.
5889 - Issue #18196: Avoid displaying spurious SystemExit tracebacks.
5891 - Issue #5492: Avoid traceback when exiting IDLE caused by a race condition.
5893 - Issue #17511: Keep IDLE find dialog open after clicking "Find Next".
5896 - Issue #18055: Move IDLE off of imp and on to importlib.
5898 - Issue #15392: Create a unittest framework for IDLE.
5902 - Issue #14146: Highlight source line while debugging on Windows.
5904 - Issue #17838: Allow sys.stdin to be reassigned.
5906 - Issue #13495: Avoid loading the color delegator twice in IDLE.
5908 - Issue #17798: Allow IDLE to edit new files when specified on command line.
5910 - Issue #14735: Update IDLE docs to omit "Control-z on Windows".
5912 - Issue #17532: Always include Options menu for IDLE on OS X.
5915 - Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit().
5917 - Issue #17657: Show full Tk version in IDLE's about dialog.
5920 - Issue #17613: Prevent traceback when removing syntax colorizer in IDLE.
5922 - Issue #1207589: Backwards-compatibility patch for right-click menu in IDLE.
5924 - Issue #16887: IDLE now accepts Cancel in tabify/untabify dialog box.
5926 - Issue #17625: In IDLE, close the replace dialog after it is used.
5928 - Issue #14254: IDLE now handles readline correctly across shell restarts.
5930 - Issue #17614: IDLE no longer raises exception when quickly closing a file.
5932 - Issue #6698: IDLE now opens just an editor window when configured to do so.
5934 - Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer
5937 - Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.
5939 - Issue #17114: IDLE now uses non-strict config parser.
5941 - Issue #9290: In IDLE the sys.std* streams now implement io.TextIOBase
5944 - Issue #5066: Update IDLE docs. Patch by Todd Rovito.
5946 - Issue #16829: IDLE printing no longer fails if there are spaces or other
5949 - Issue #16491: IDLE now prints chained exception tracebacks.
5951 - Issue #16819: IDLE method completion now correctly works for bytes literals.
5953 - Issue #16504: IDLE now catches SyntaxErrors raised by tokenizer. Patch by
5956 - Issue #16511: Use default IDLE width and height if config param is not valid.
5959 - Issue #1207589: Add Cut/Copy/Paste items to IDLE right click Context Menu.
5962 - Issue #16123: IDLE - deprecate running without a subprocess.
5966 -----
5968 - Issue #1666318: Add a test that shutil.copytree() retains directory
5971 - Issue #18273: move the tests in Lib/test/json_tests to Lib/test/test_json
5974 - Fix a fcntl test case on KFreeBSD, Debian #708653 (Petr Salinger).
5976 - Issue #18396: Fix spurious test failure in test_signal on Windows when
5979 - Issue #17046: Fix broken test_executable_without_cwd in test_subprocess.
5981 - Issue #15415: Add new temp_dir() and change_cwd() context managers to
5984 - Issue #15494: test.support is now a package rather than a module (Initial
5987 - Issue #17944: test_zipfile now discoverable and uses subclassing to
5991 - Issue #18266: test_largefile now works with unittest test discovery and
5994 - Issue #17767: test_locale now works with unittest test discovery.
5997 - Issue #18375: Assume --randomize when --randseed is used for running the
6000 - Issue #11185: Fix test_wait4 under AIX. Patch by Sébastien Sablé.
6002 - Issue #18207: Fix test_ssl for some versions of OpenSSL that ignore seconds
6005 - Issue #18094: test_uuid no longer reports skipped tests as passed.
6007 - Issue #17992: Add timeouts to asyncore and asynchat tests so that they won't
6010 - Issue #17833: Fix test_gdb failures seen on machines where debug symbols
6013 - Issue #7855: Add tests for ctypes/winreg for issues found in IronPython.
6016 - Issue #11078: test___all__ now checks for duplicates in __all__.
6019 - Issue #17712: Fix test_gdb failures on Ubuntu 13.04.
6021 - Issue #17835: Fix test_io when the default OS pipe buffer size is larger
6024 - Issue #17065: Use process-unique key for winreg tests to avoid failures if
6027 - Issue #12820: add tests for the xml.dom.minicompat module.
6030 - Issue #17691: test_univnewlines now works with unittest test discovery.
6033 - Issue #17790: test_set now works with unittest test discovery.
6036 - Issue #17789: test_random now works with unittest test discovery.
6039 - Issue #17779: test_osx_env now works with unittest test discovery.
6042 - Issue #17766: test_iterlen now works with unittest test discovery.
6045 - Issue #17690: test_time now works with unittest test discovery.
6048 - Issue #17692: test_sqlite now works with unittest test discovery.
6051 - Issue #11995: test_pydoc doesn't import all sys.path modules anymore.
6053 - Issue #17448: test_sax now skips if there are no xml parsers available
6056 - Issue #11420: make test suite pass with -B/DONTWRITEBYTECODE set.
6059 - Issue #10652: make tcl/tk tests run after __all__ test, patch by
6062 - Issue #11963: remove human verification from test_parser and test_subprocess.
6064 - Issue #11732: add a new suppress_crash_popup() context manager to test.support
6068 - Issue #13898: test_ssl no longer prints a spurious stack trace on Ubuntu.
6070 - Issue #17283: Share code between `__main__.py` and `regrtest.py` in
6073 - Issue #17249: convert a test in test_capi to use unittest and reap threads.
6075 - Issue #17107: Test client-side SNI support in urllib.request thanks to
6076 the new server-side SNI support in the ssl module. Initial patch by
6079 - Issue #17041: Fix testing when Python is configured with the
6080 --without-doc-strings.
6082 - Issue #16923: Fix ResourceWarnings in test_ssl.
6084 - Issue #15539: Added regression tests for Tools/scripts/pindent.py.
6086 - Issue #17479: test_io now works with unittest test discovery.
6089 - Issue #17066: test_robotparser now works with unittest test discovery.
6092 - Issue #17334: test_index now works with unittest test discovery.
6095 - Issue #17333: test_imaplib now works with unittest test discovery.
6098 - Issue #17082: test_dbm* now work with unittest test discovery.
6101 - Issue #17079: test_ctypes now works with unittest test discovery.
6104 - Issue #17304: test_hash now works with unittest test discovery.
6107 - Issue #17303: test_future* now work with unittest test discovery.
6110 - Issue #17163: test_file now works with unittest test discovery.
6113 - Issue #16925: test_configparser now works with unittest test discovery.
6116 - Issue #16918: test_codecs now works with unittest test discovery.
6119 - Issue #16919: test_crypt now works with unittest test discovery.
6122 - Issue #16910: test_bytes, test_unicode, and test_userstring now work with
6125 - Issue #16905: test_warnings now works with unittest test discovery.
6128 - Issue #16898: test_bufio now works with unittest test discovery.
6131 - Issue #16888: test_array now works with unittest test discovery.
6134 - Issue #16896: test_asyncore now works with unittest test discovery.
6137 - Issue #16897: test_bisect now works with unittest test discovery.
6140 - Issue #16852: test_genericpath, test_posixpath, test_ntpath, and test_macpath
6143 - Issue #16748: test_heapq now works with unittest test discovery.
6145 - Issue #10646: Tests rearranged for os.samefile/samestat to check for not
6148 - Issue #15302: Switch regrtest from using getopt to using argparse.
6150 - Issue #15324: Fix regrtest parsing of --fromfile, --match, and --randomize
6153 - Issue #16702: test_urllib2_localnet tests now correctly ignores proxies for
6156 - Issue #16664: Add regression tests for glob's behaviour concerning entries
6159 - Issue #13390: The ``-R`` option to regrtest now also checks for memory
6162 - Issue #16559: Add more tests for the json module, including some from the
6165 - Issue #16661: Fix the `os.getgrouplist()` test by not assuming that it gives
6166 the same output as :command:`id -G`.
6168 - Issue #16115: Add some tests for the executable argument to
6171 - Issue #16126: PyErr_Format format mismatch in _testcapimodule.c.
6174 - Issue #15304: Fix warning message when `os.chdir()` fails inside
6177 - Issue #15802: Fix test logic in `TestMaildir.test_create_tmp()`. Patch by
6180 - Issue #15557: Added a test suite for the webbrowser module, thanks to Anton
6183 - Issue #16698: Skip posix test_getgroups when built with OS X
6187 -----
6189 - Issue #16067: Add description into MSI file to replace installer's
6192 - Issue #18257: Fix readlink usage in python-config. Install the python
6195 - Issue #18481: Add C coverage reporting with gcov and lcov. A new make target
6196 "coverage-report" creates an instrumented Python build, runs unit tests
6197 and creates a HTML. The report can be updated with "make coverage-lcov".
6199 - Issue #17845: Clarified the message printed when some module are not built.
6201 - Issue #18256: Compilation fix for recent AIX releases. Patch by
6204 - Issue #17547: In configure, explicitly pass -Wformat for the benefit for GCC
6207 - Issue #15172: Document NASM 2.10+ as requirement for building OpenSSL 1.0.1
6210 - Issue #17591: Use lowercase filenames when including Windows header files.
6213 - Issue #17550: Fix the --enable-profiling configure switch.
6215 - Issue #17425: Build with openssl 1.0.1d on Windows.
6217 - Issue #16754: Fix the incorrect shared library extension on linux. Introduce
6221 - Issue #5033: Fix building of the sqlite3 extension module when the
6224 - Issue #17228: Fix building without pymalloc.
6226 - Issue #3718: Use AC_ARG_VAR to set MACHDEP in configure.ac.
6228 - Issue #16235: Implement python-config as a shell script.
6230 - Issue #16769: Remove outdated Visual Studio projects.
6232 - Issue #17031: Fix running regen in cross builds.
6234 - Issue #3754: fix typo in pthread AC_CACHE_VAL.
6236 - Issue #15484: Fix _PYTHON_PROJECT_BASE for srcdir != builddir builds;
6239 - Drop support for Windows 2000 (changeset e52df05b496a).
6241 - Issue #17029: Let h2py search the multiarch system include directory.
6243 - Issue #16953: Fix socket module compilation on platforms with
6246 - Issue #16320: Remove redundant Makefile dependencies for strings and bytes.
6248 - Cross compiling needs host and build settings. configure no longer
6249 creates a broken PYTHON_FOR_BUILD variable when --build is missing.
6251 - Fix cross compiling issue in setup.py, ensure that lib_dirs and inc_dirs are
6254 - Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host.
6256 - Issue #16593: Have BSD 'make -s' do the right thing, thanks to Daniel Shahaf
6258 - Issue #16262: fix out-of-src-tree builds, if mercurial is not installed.
6260 - Issue #15298: ensure _sysconfigdata is generated in build directory, not
6263 - Issue #15833: Fix a regression in 3.3 that resulted in exceptions being
6264 raised if importlib failed to write byte-compiled files. This affected
6265 attempts to build Python out-of-tree from a read-only source directory.
6267 - Issue #15923: Fix a mistake in ``asdl_c.py`` that resulted in a TypeError
6270 - Issue #16135: Remove OS/2 support.
6272 - Issue #15819: Make sure we can build Python out-of-tree from a read-only
6275 - Issue #15587: Enable Tk high-resolution text rendering on Macs with
6279 - Issue #17161: make install now also installs a python3 man page.
6281 C-API
6282 -----
6284 - Issue #18351: Fix various issues in a function in importlib provided to help
6288 - Issue #9369: The types of `char*` arguments of PyObject_CallFunction() and
6292 - Issue #17206: Py_CLEAR(), Py_DECREF(), Py_XINCREF() and Py_XDECREF() now
6296 - Issue #17522: Add the PyGILState_Check() API.
6298 - Issue #17327: Add PyDict_SetDefault.
6300 - Issue #16881: Fix Py_ARRAY_LENGTH macro for GCC < 3.1.
6302 - Issue #16505: Remove unused Py_TPFLAGS_INT_SUBCLASS.
6304 - Issue #16086: PyTypeObject.tp_flags and PyType_Spec.flags are now unsigned
6309 - Issue #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
6313 -------------
6315 - Issue #17701: Improving strftime documentation.
6317 - Issue #18440: Clarify that `hash()` can truncate the value returned from an
6320 - Issue #17844: Add links to encoders and decoders for bytes-to-bytes codecs.
6322 - Issue #14097: improve the "introduction" page of the tutorial.
6324 - Issue #17977: The documentation for the cadefault argument's default value
6327 - Issue #6696: add documentation for the Profile objects, and improve
6330 - Issue #15940: Specify effect of locale on time functions.
6332 - Issue #17538: Document XML vulnerabilties
6334 - Issue #16642: sched.scheduler timefunc initial default is time.monotonic.
6337 - Issue #17047: remove doubled words in docs and docstrings
6340 - Issue #15465: Document the versioning macros in the C API docs rather than
6343 - Issue #16406: Combine the pages for uploading and registering to PyPI.
6345 - Issue #16403: Document how distutils uses the maintainer field in
6346 PKG-INFO. Patch by Jyrki Pulliainen.
6348 - Issue #16695: Document how glob handles filenames starting with a
6351 - Issue #8890: Stop advertising an insecure practice by replacing uses
6355 - Issue #17203: add long option names to unittest discovery docs.
6357 - Issue #13094: add "Why do lambdas defined in a loop with different values
6360 - Issue #14901: Update portions of the Windows FAQ.
6363 - Issue #16267: Better document the 3.3+ approach to combining
6366 - Issue #15209: Clarify exception chaining description in exceptions module
6369 - Issue #15990: Improve argument/parameter documentation.
6371 - Issue #16209: Move the documentation for the str built-in function to a new
6374 - Issue #13538: Improve str() and object.__str__() documentation.
6376 - Issue #16489: Make it clearer that importlib.find_loader() needs parent
6379 - Issue #16400: Update the description of which versions of a given package
6382 - Issue #15677: Document that zlib and gzip accept a compression level of 0 to
6385 - Issue #16197: Update winreg docstrings and documentation to match code.
6388 - Issue #8040: added a version switcher to the documentation. Patch by
6391 - Issue #16241: Document -X faulthandler command line option.
6394 - Additional comments and some style changes in the concurrent.futures URL
6397 - Issue #16115: Improve subprocess.Popen() documentation around args, shell,
6400 - Issue #13498: Clarify docs of os.makedirs()'s exist_ok argument. Done with
6401 great native-speaker help from R. David Murray.
6403 - Issue #15533: Clarify docs and add tests for `subprocess.Popen()`'s cwd
6406 - Issue #15979: Improve timeit documentation.
6408 - Issue #16036: Improve documentation of built-in `int()`'s signature and
6411 - Issue #15935: Clarification of `argparse` docs, re: add_argument() type and
6414 - Issue #11964: Document a change in v3.2 to the behavior of the indent
6417 - Issue #15116: Remove references to appscript as it is no longer being
6421 -----------
6423 - Issue #18817: Fix a resource warning in Lib/aifc.py demo. Patch by
6426 - Issue #18439: Make patchcheck work on Windows for ACKS, NEWS.
6428 - Issue #18448: Fix a typo in Tools/demo/eiffel.py.
6430 - Issue #18457: Fixed saving of formulas and complex numbers in
6433 - Issue #18449: Make Tools/demo/ss1.py work again on Python 3. Patch by
6436 - Issue #12990: The "Python Launcher" on OSX could not launch python scripts
6439 - Issue #15239: Make mkstringprep.py work again on Python 3.
6441 - Issue #17028: Allowed Python arguments to be supplied to the Windows
6444 - Issue #17156: pygettext.py now detects the encoding of source files and
6445 correctly writes and escapes non-ascii characters.
6447 - Issue #15539: Fix a number of bugs in Tools/scripts/pindent.py. Now
6452 - Issue #11797: Add a 2to3 fixer that maps reload() to imp.reload().
6454 - Issue #10966: Remove the concept of unexpected skipped tests.
6456 - Issue #9893: Removed the Misc/Vim directory.
6458 - Removed the Misc/TextMate directory.
6460 - Issue #16245: Add the Tools/scripts/parse_html5_entities.py script to parse
6463 - Issue #15378: Fix Tools/unicode/comparecodecs.py. Patch by Serhiy Storchaka.
6465 - Issue #16549: Make json.tool work again on Python 3 and add tests.
6468 - Issue #13301: use ast.literal_eval() instead of eval() in Tools/i18n/msgfmt.py.
6472 -------
6474 - Issue #18569: The installer now adds .py to the PATHEXT variable when extensions
6481 *Release date: 29-Sep-2012*
6484 -----------------
6486 - Issue #16046: Fix loading sourceless legacy .pyo files.
6488 - Issue #16060: Fix refcounting bug when `__trunc__()` returns an object whose
6489 `__int__()` gives a non-integer. Patch by Serhiy Storchaka.
6492 -----------------
6494 - Issue #16012: Fix a regression in pyexpat. The parser's `UseForeignDTD()`
6501 *Release date: 23-Sep-2012*
6504 -----------------
6506 - Issue #15900: Fix reference leak in `PyUnicode_TranslateCharmap()`.
6508 - Issue #15926: Fix crash after multiple reinitializations of the interpreter.
6510 - Issue #15895: Fix FILE pointer leak in one error branch of
6514 - Fixes for a few crash and memory leak regressions found by Coverity.
6517 -------
6519 - Issue #15882: Change `_decimal` to accept any coefficient tuple when
6524 - Issue #15925: Fix a regression in `email.util` where the `parsedate()` and
6529 -----------------
6531 - Issue #15973: Fix a segmentation fault when comparing datetime timezone
6534 - Issue #15977: Fix memory leak in Modules/_ssl.c when the function
6537 - Issue #15969: `faulthandler` module: rename dump_tracebacks_later() to
6541 - _decimal module: use only C 89 style comments.
6547 *Release date: 09-Sep-2012*
6550 -----------------
6552 - Issue #13992: The trashcan mechanism is now thread-safe. This eliminates
6553 sporadic crashes in multi-thread programs when several long deallocator chains
6554 ran concurrently and involved subclasses of built-in container types.
6556 - Issue #15784: Modify `OSError`.__str__() to better distinguish between errno
6559 - Issue #15781: Fix two small race conditions in import's module locking.
6562 -------
6564 - Issue #17158: Add 'symbols' to help() welcome message; clarify
6567 - Issue #15847: Fix a regression in argparse, which did not accept tuples as
6570 - Issue #15828: Restore support for C extensions in `imp.load_module()`.
6572 - Issue #15340: Fix importing the random module when ``/dev/urandom`` cannot be
6575 - Issue #10650: Deprecate the watchexp parameter of the `Decimal.quantize()`
6578 - Issue #15785: Modify `window.get_wch()` API of the curses module: return a
6583 - Issue #14223: Fix `window.addch()` of the curses module for special characters
6591 -----
6593 - Issue #15822: Really ensure 2to3 grammar pickles are properly installed
6597 -------------
6599 - Issue #15814: The memoryview enhancements in 3.3.0 accidentally permitted the
6600 hashing of multi-dimensional memorviews and memoryviews with multi-byte item
6601 formats. The intended restrictions have now been documented - they will be
6608 *Release date: 25-Aug-2012*
6611 -----------------
6613 - Issue #15573: memoryview comparisons are now performed by value with full
6616 - Issue #15316: When an item in the fromlist for `__import__()` doesn't exist,
6620 - Issue #15778: Ensure that ``str(ImportError(msg))`` returns a str even when
6623 - Issue #2051: Source file permission bits are once again correctly copied to
6628 - Issue #15761: Fix crash when ``PYTHONEXECUTABLE`` is set on Mac OS X.
6630 - Issue #15726: Fix incorrect bounds checking in PyState_FindModule. Patch by
6633 - Issue #15604: Update uses of `PyObject_IsTrue()` to check for and handle
6636 - Issue #14846: `importlib.FileFinder` now handles the case where the directory
6640 -------
6642 - Issue #13370: Ensure that ctypes works on Mac OS X when Python is compiled
6645 - Issue #13072: The array module's 'u' format code is now deprecated and will be
6648 - Issue #15544: Fix Decimal.__float__ to work with payload-carrying NaNs.
6650 - Issue #15776: Allow pyvenv to work in existing directory with --clean.
6652 - Issue #15249: email's BytesGenerator now correctly mangles From lines (when
6655 - Issue #15777: Fix a refleak in _posixsubprocess.
6657 - Issue #665194: Update `email.utils.localtime` to use datetime.astimezone and
6660 - Issue #15199: Fix JavaScript's default MIME type to application/javascript.
6663 - Issue #12643: `code.InteractiveConsole` now respects `sys.excepthook` when
6666 - Issue #13579: `string.Formatter` now understands the 'a' conversion specifier.
6668 - Issue #15595: Fix ``subprocess.Popen(universal_newlines=True)`` for certain
6669 locales (utf-16 and utf-32 family). Patch by Chris Jerdonek.
6671 - Issue #15477: In cmath and math modules, add workaround for platforms whose
6672 system-supplied log1p function doesn't respect signs of zeros.
6674 - Issue #15715: `importlib.__import__()` will silence an ImportError when the
6677 - Issue #14669: Fix pickling of connections and sockets on Mac OS X by
6681 - Issue #11062: Fix adding a message from file to Babyl mailbox.
6683 - Issue #15646: Prevent equivalent of a fork bomb when using `multiprocessing`
6687 ----
6689 - Issue #15678: Fix IDLE menus when started from OS X command line (3.3.0b2
6693 -------------
6695 - Touched up the Python 2 to 3 porting guide.
6697 - Issue #14674: Add a discussion of the `json` module's standard compliance.
6700 - Create a 'Concurrent Execution' section in the docs, and split up the
6701 'Optional Operating System Services' section to use a more user-centric
6706 - Issue #4966: Bring the sequence docs up to date for the Py3k transition and
6709 - The "path importer" misnomer has been replaced with Eric Snow's
6710 more-awkward-but-at-least-not-wrong suggestion of "path based finder" in the
6713 - Issue #15640: Document `importlib.abc.Finder` as deprecated.
6715 - Issue #15630: Add an example for "continue" stmt in the tutorial. Patch by
6719 -----
6721 - Issue #15747: ZFS always returns EOPNOTSUPP when attempting to set the
6725 - Issue #15285: Refactor the approach for testing connect timeouts using two
6728 - Issue #15743: Remove the deprecated method usage in `urllib` tests. Patch by
6731 - Issue #15615: Add some tests for the `json` module's handling of invalid input
6735 -----
6737 - Output lib files for PGO build into PGO directory.
6739 - Pick up 32-bit launcher from PGO directory on 64-bit PGO build.
6741 - Drop ``PC\python_nt.h`` as it's not used. Add input dependency on custom
6744 - Issue #15511: Drop explicit dependency on pythonxy.lib from _decimal amd64
6747 - Add missing PGI/PGO configurations for pywlauncher.
6749 - Issue #15645: Ensure 2to3 grammar pickles are properly installed.
6755 *Release date: 12-Aug-2012*
6758 -----------------
6760 - Issue #15568: Fix the return value of ``yield from`` when StopIteration is
6763 - Issue #13119: `sys.stdout` and `sys.stderr` are now using "\r\n" newline on
6766 - Issue #15534: Fix the fast-search function for non-ASCII Unicode strings.
6768 - Issue #15508: Fix the docstring for `__import__()` to have the proper default
6772 - Issue #15425: Eliminated traceback noise from more situations involving
6775 - Issue #14578: Support modules registered in the Windows registry again.
6777 - Issue #15466: Stop using TYPE_INT64 in marshal, to make importlib.h (and other
6778 byte code files) equal between 32-bit and 64-bit systems.
6780 - Issue #1692335: Move initial exception args assignment to
6783 - Issue #12834: Fix `PyBuffer_ToContiguous()` for non-contiguous arrays.
6785 - Issue #15456: Fix code `__sizeof__()` after #12399 change. Patch by Serhiy
6788 - Issue #15404: Refleak in PyMethodObject repr.
6790 - Issue #15394: An issue in `PyModule_Create()` that caused references to be
6793 - Issue #15368: An issue that caused bytecode generation to be non-deterministic
6796 - Issue #15202: Consistently use the name "follow_symlinks" for new parameters
6799 - Issue #15314: ``__main__.__loader__`` is now set correctly during interpreter
6802 - Issue #15111: When a module imported using 'from import' has an ImportError
6806 - Issue #15293: Add GC support to the AST base node type.
6808 - Issue #15291: Fix a memory leak where AST nodes where not properly
6811 - Issue #15110: Fix the tracebacks generated by "import xxx" to not show the
6814 - Issue #16369: Global PyTypeObjects not initialized with PyType_Ready(...).
6816 - Issue #15020: The program name used to search for Python's path is now
6819 - Issue #15897: zipimport.c doesn't check return value of fseek().
6822 - Issue #15033: Fix the exit status bug when modules invoked using -m switch,
6825 - Issue #15229: An `OSError` subclass whose __init__ doesn't call back
6829 - Issue #15307: Virtual environments now use symlinks with framework builds on
6833 -------
6835 - Issue #14590: configparser now correctly strips inline comments when delimiter
6838 - Issue #15424: Add a `__sizeof__()` implementation for array objects. Patch by
6841 - Issue #15576: Allow extension modules to act as a package's __init__ module.
6843 - Issue #15502: Have `importlib.invalidate_caches()` work on `sys.meta_path`
6846 - Issue #15163: Pydoc shouldn't list __loader__ as module data.
6848 - Issue #15471: Do not use mutable objects as defaults for
6851 - Issue #15559: To avoid a problematic failure mode when passed to the bytes
6855 - Issue #15546: Fix handling of pathological input data in the peek() and
6858 - Issue #12655: Instead of requiring a custom type, `os.sched_getaffinity()` and
6862 - Issue #15538: Fix compilation of the `socket.getnameinfo()` /
6865 - Issue #15519: Properly expose WindowsRegistryFinder in importlib (and use the
6868 - Issue #15502: Bring the importlib ABCs into line with the current state of the
6871 - Issue #15499: Launching a webbrowser in Unix used to sleep for a few seconds.
6874 - Issue #15463: The faulthandler module truncates strings to 500 characters,
6877 - Issue #6056: Make `multiprocessing` use setblocking(True) on the sockets it
6880 - Issue #15364: Fix sysconfig.get_config_var('srcdir') to be an absolute path.
6882 - Issue #15413: `os.times()` had disappeared under Windows.
6884 - Issue #15402: An issue in the struct module that caused `sys.getsizeof()` to
6888 - Issue #15232: When mangle_from is True, `email.Generator` now correctly
6892 - Issue #15094: Incorrectly placed #endif in _tkinter.c. Patch by Serhiy
6895 - Issue #13922: `argparse` no longer incorrectly strips '--'s that appear after
6898 - Issue #12353: `argparse` now correctly handles null argument values.
6900 - Issue #10017, issue #14998: Fix TypeError using pprint on dictionaries with
6901 user-defined types as keys or other unorderable keys.
6903 - Issue #15397: `inspect.getmodulename()` is now based directly on importlib via
6906 - Issue #14635: `telnetlib` will use poll() rather than select() when possible to
6909 - Issue #15180: Clarify posixpath.join() error message when mixing str & bytes.
6911 - Issue #15343: pkgutil now includes an iter_importer_modules implementation for
6915 - Issue #15314: runpy now sets __main__.__loader__ correctly.
6917 - Issue #15357: The import emulation in pkgutil is now deprecated. pkgutil uses
6920 - Issue #15233: Python now guarantees that callables registered with the atexit
6923 - Issue #15238: `shutil.copystat()` now copies Linux "extended attributes".
6925 - Issue #15230: runpy.run_path now correctly sets __package__ as described in
6928 - Issue #15315: Support VS 2010 in distutils cygwincompiler.
6930 - Issue #15294: Fix a regression in pkgutil.extend_path()'s handling of nested
6933 - Issue #15056: `imp.cache_from_source()` and `imp.source_from_cache()` raise
6936 - Issue #15256: Grammatical mistake in exception raised by `imp.find_module()`.
6938 - Issue #5931: `wsgiref` environ variable SERVER_SOFTWARE will specify an
6941 - Issue #13248: Remove obsolete argument "max_buffer_size" of BufferedWriter and
6944 - Issue #13248: Remove obsolete argument "version" of `argparse.ArgumentParser`.
6946 - Issue #14814: Implement more consistent ordering and sorting behaviour for
6949 - Issue #14814: `ipaddress` network objects correctly return NotImplemented when
6952 - Issue #14990: Correctly fail with SyntaxError on invalid encoding declaration.
6954 - Issue #14814: `ipaddress` now provides more informative error messages when
6958 - Issue #15247: `io.FileIO` now raises an error when given a file descriptor
6961 - Issue #15261: Stop os.stat(fd) crashing on Windows when fd not open.
6963 - Issue #15166: Implement `imp.get_tag()` using `sys.implementation.cache_tag`.
6965 - Issue #15210: Catch KeyError when `importlib.__init__()` can't find
6968 - Issue #15030: `importlib.abc.PyPycLoader` now supports the new source size
6971 - Issue #5346: Preserve permissions of mbox, MMDF and Babyl mailbox files on
6974 - Issue #10571: Fix the "--sign" option of distutils' upload command. Patch by
6977 - Issue #9559: If messages were only added, a new file is no longer created and
6981 - Issue #10924: Fixed `crypt.mksalt()` to use a RNG that is suitable for
6984 - Issue #15184: Ensure consistent results of OS X configuration tailoring for
6985 universal builds by factoring out common OS X-specific customizations from
6990 -----
6992 - Issue #15610: `PyImport_ImportModuleEx()` now uses a 'level' of 0 instead of -1.
6994 - Issue #15169, issue #14599: Strip out the C implementation of
7001 -----------------
7003 - Issue #6493: An issue in ctypes on Windows that caused structure bitfields of
7006 - Issue #15194: Update libffi to the 3.0.11 release.
7009 ----
7011 - Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog
7015 -----------
7017 - Issue #15458: python-config gets a new option --configdir to print the $LIBPL
7020 - Move importlib.test.benchmark to Tools/importbench.
7022 - Issue #12605: The gdb hooks for debugging CPython (within Tools/gdb) have been
7024 "py-bt" and "py-bt-full" commands:
7027 * C frames that are garbage-collecting
7031 -------------
7033 - Issue #15041: Update "see also" list in tkinter documentation.
7035 - Issue #15444: Use proper spelling for non-ASCII contributor names. Patch by
7038 - Issue #15295: Reorganize and rewrite the documentation on the import system.
7040 - Issue #15230: Clearly document some of the limitations of the runpy module and
7043 - Issue #15053: Copy Python 3.3 import lock change notice to all relevant
7046 - Issue #15288: Link to the term "loader" in notes in pkgutil about how things
7051 - Issue #13557: Clarify effect of giving two different namespaces to `exec()` or
7054 - Issue #15250: Document that `filecmp.dircmp()` compares files shallowly. Patch
7057 - Issue #15442: Expose the default list of directories ignored by
7062 -----
7064 - Issue #15467: Move helpers for `__sizeof__()` tests into test_support. Patch
7067 - Issue #15320: Make iterating the list of tests thread-safe when running tests
7070 - Issue #15168: Move `importlib.test` to `test.test_importlib`.
7072 - Issue #15091: Reactivate a test on UNIX which was failing thanks to a
7075 - Issue #15230: Adopted a more systematic approach in the runpy tests.
7077 - Issue #15300: Ensure the temporary test working directories are in the same
7081 - Issue #15284: Skip {send,recv}msg tests in test_socket when IPv6 is not
7084 - Issue #15277: Fix a resource leak in support.py when IPv6 is disabled. Patch
7088 -----
7090 - Issue #11715: Fix multiarch detection without having Debian development tools
7091 (dpkg-dev) installed.
7093 - Issue #15037: Build OS X installers with local copy of ncurses 5.9 libraries
7097 - Issue #15560: Fix building _sqlite3 extension on OS X with an SDK. Also, for
7102 - Issue #8847: Disable COMDAT folding in Windows PGO builds.
7104 - Issue #14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
7106 - Issue #16256: OS X installer now sets correct permissions for doc directory.
7108 - Issue #15431: Add _freeze_importlib project to regenerate importlib.h on
7111 - Issue #14197: For OS X framework builds, ensure links to the shared library
7114 - Issue #14330: For cross builds, don't use host python, use host search paths
7117 - Issue #15235: Allow Berkley DB versions up to 5.3 to build the dbm module.
7119 - Issue #15268: Search curses.h in /usr/include/ncursesw.
7125 *Release date: 27-Jun-2012*
7128 -----------------
7130 - Fix a (most likely) very rare memory leak when calling main() and not being
7131 able to decode a command-line argument.
7133 - Issue #14815: Use Py_ssize_t instead of long for the object hash, to
7136 - Issue #12268: File readline, readlines and read() or readall() methods
7141 - Issue #11626: Add _SizeT functions to stable ABI.
7143 - Issue #15142: Fix reference leak when deallocating instances of types
7146 - Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on
7149 - Issue #15096: Removed support for ur'' as the raw notation isn't
7152 - Issue #13783: Generator objects now use the identifier APIs internally
7154 - Issue #14874: Restore charmap decoding speed to pre-PEP 393 levels.
7157 - Issue #15026: utf-16 encoding is now significantly faster (up to 10x).
7160 - Issue #11022: open() and io.TextIOWrapper are now calling
7166 - Issue #14673: Add Eric Snow's sys.implementation implementation.
7168 - Issue #15038: Optimize python Locks on Windows.
7171 -------
7173 - Issue #12288: Consider '0' and '0.0' as valid initialvalue
7176 - Issue #15512: Add a __sizeof__ implementation for parser.
7179 - Issue #15469: Add a __sizeof__ implementation for deque objects.
7182 - Issue #15489: Add a __sizeof__ implementation for BytesIO objects.
7185 - Issue #15487: Add a __sizeof__ implementation for buffered I/O objects.
7188 - Issue #15514: Correct __sizeof__ support for cpu_set.
7191 - Issue #15177: Added dir_fd parameter to os.fwalk().
7193 - Issue #15061: Re-implemented hmac.compare_digest() in C to prevent further
7197 - Issue #15164: Change return value of platform.uname() from a
7200 - Support Mageia Linux in the platform module.
7202 - Issue #11678: Support Arch linux in the platform module.
7204 - Issue #15118: Change return value of os.uname() and os.times() from
7208 - Speed up _decimal by another 10-15% by caching the thread local context
7209 that was last accessed. In the pi benchmark (64-bit platform, prec=9),
7212 - Remove the packaging module, which is not ready for prime time.
7214 - Issue #15154: Add "dir_fd" parameter to os.rmdir, remove "rmdir"
7217 - Issue #4489: Add a shutil.rmtree that isn't susceptible to symlink attacks.
7221 - Issue #15156: HTMLParser now uses the new "html.entities.html5" dictionary.
7223 - Issue #11113: add a new "html5" dictionary containing the named character
7227 - Issue #15114: the strict mode of HTMLParser and the HTMLParseError exception
7230 - Issue #3665: \u and \U escapes are now supported in unicode regular
7233 - Issue #15153: Added inspect.getgeneratorlocals to simplify white box
7236 - Issue #13062: Added inspect.getclosurevars to simplify testing stateful
7239 - Issue #11024: Fixes and additional tests for Time2Internaldate.
7241 - Issue #14626: Large refactoring of functions / parameters in the os module.
7249 - Issue #15008: Implement PEP 362 "Signature Objects".
7252 - Issue #15138: base64.urlsafe_{en,de}code() are now 3-4x faster.
7254 - Issue #444582: Add shutil.which, for finding programs on the system path.
7258 - Issue #14837: SSL errors now have ``library`` and ``reason`` attributes
7262 - Issue #9527: datetime.astimezone() method will now supply a class
7266 - Issue #14653: email.utils.mktime_tz() no longer relies on system
7269 - Issue #14684: zlib.compressobj() and zlib.decompressobj() now support the use
7272 - Fix GzipFile's handling of filenames given as bytes objects.
7274 - Issue #14772: Return destination values from some shutil functions.
7276 - Issue #15064: Implement context management protocol for multiprocessing types
7278 - Issue #15101: Make pool finalizer avoid joining current thread.
7280 - Issue #14657: The frozen instance of importlib used for bootstrap is now
7283 - Issue #14055: Add __sizeof__ support to _elementtree.
7285 - Issue #15054: A bug in tokenize.tokenize that caused string literals
7289 - Issue #15006: Allow equality comparison between naive and aware
7292 - Issue #15036: Mailbox no longer throws an error if a flush is done
7296 - Issue #14059: Implement multiprocessing.Barrier.
7298 - Issue #15061: The inappropriately named hmac.secure_compare has been
7303 - Issue #13841: Make child processes exit using sys.exit() on Windows.
7305 - Issue #14936: curses_panel was converted to PEP 3121 and PEP 384 API.
7308 - Issue #1667546: On platforms supporting tm_zone and tm_gmtoff fields
7313 - Rename adjusted attribute to adjustable in time.get_clock_info() result.
7315 - Issue #3518: Remove references to non-existent BaseManager.from_address()
7318 - Issue #13857: Added textwrap.indent() function (initial patch by Ezra
7321 - Issue #2736: Added datetime.timestamp() method.
7323 - Issue #13854: Make multiprocessing properly handle non-integer
7324 non-string argument to SystemExit.
7326 - Issue #12157: Make pool.map() empty iterables correctly. Initial
7329 - Issue #11823: disassembly now shows argument counts on calls with keyword args.
7331 - Issue #14711: os.stat_float_times() has been deprecated.
7333 - LZMAFile now accepts the modes "rb"/"wb"/"ab" as synonyms of "r"/"w"/"a".
7335 - The bz2 and lzma modules now each contain an open() function, allowing
7338 - BZ2File.__init__() and LZMAFile.__init__() now accept a file object as their
7341 - gzip.open() now accepts file objects as well as filenames.
7343 - Issue #14992: os.makedirs(path, exist_ok=True) would raise an OSError
7348 - Issue #14989: Make the CGI enable option to http.server available via command
7351 - Issue #14987: Add a missing import statement to inspect.
7353 - Issue #1079: email.header.decode_header now correctly parses all the examples
7357 - Issue #14969: Better handling of exception chaining in contextlib.ExitStack
7359 - Issue #14963: Convert contextlib.ExitStack.__exit__ to use an iterative
7362 - Issue #14785: Add sys._debugmallocstats() to help debug low-level memory
7365 - Issue #14443: Ensure that .py files are byte-compiled with the correct Python
7368 C-API
7369 -----
7371 - Issue #15146: Add PyType_FromSpecWithBases. Patch by Robin Schreiber.
7373 - Issue #15042: Add PyState_AddModule and PyState_RemoveModule. Add version
7376 - Issue #13783: Inadvertent additions to the public C API in the PEP 380
7380 -----------------
7382 - Issue #15000: Support the "unique" x32 architecture in _posixsubprocess.c.
7385 ----
7387 - Issue #9803: Don't close IDLE on saving if breakpoint is open.
7390 - Issue #14962: Update text coloring in IDLE shell window after changing
7394 -------------
7396 - Issue #15176: Clarified behavior, documentation, and implementation
7399 - Issue #14982: Document that pkgutil's iteration functions require the
7400 non-standard iter_modules() method to be defined by an importer (something
7403 - Issue #15081: Document PyState_FindModule.
7406 - Issue #14814: Added first draft of ipaddress module API reference
7409 -----
7411 - Issue #15187: Bugfix: remove temporary directories test_shutil was leaving
7414 - Issue #14769: test_capi now has SkipitemTest, which cleverly checks
7418 - test_nntplib now tolerates being run from behind NNTP gateways that add
7419 "X-Antivirus" headers to articles
7421 - Issue #15043: test_gdb is now skipped entirely if gdb security settings
7424 - Issue #14963: Add test cases for exception handling behaviour
7428 -----
7430 - Issue #13590: Improve support for OS X Xcode 4:
7432 llvm-gcc compiler.
7441 in particular, --enable-universalsdk=yes uses the Xcode default
7442 SDK and --with-universal-archs now defaults to "intel" if ppc
7445 - Issue #14225: Fix Unicode support for curses (#12567) on OS X
7447 - Issue #14928: Fix importlib bootstrap issues by using a custom executable
7454 *Release date: 31-May-2012*
7457 -----------------
7459 - Issue #14835: Make plistlib output empty arrays & dicts like OS X.
7462 - Issue #14744: Use the new _PyUnicodeWriter internal API to speed up
7465 - Issue #14930: Make memoryview objects weakrefable.
7467 - Issue #14775: Fix a potential quadratic dict build-up due to the garbage
7470 - Issue #14857: fix regression in references to PEP 3135 implicit __class__
7473 - Issue #14712 (PEP 405): Virtual environments. Implemented by Vinay Sajip.
7475 - Issue #14660 (PEP 420): Namespace packages. Implemented by Eric Smith.
7477 - Issue #14494: Fix __future__.py and its documentation to note that
7481 - Issue #9260: A finer-grained import lock. Most of the import sequence
7482 now uses per-module locks rather than the global import lock, eliminating
7483 well-known issues with threads and imports.
7485 - Issue #14624: UTF-16 decoding is now 3x to 4x faster on various inputs.
7488 - asdl_seq and asdl_int_seq are now Py_ssize_t sized.
7490 - Issue #14133 (PEP 415): Implement suppression of __context__ display with an
7493 - Issue #14417: Mutating a dict during lookup now restarts the lookup instead
7496 - Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy
7499 - Issue #14700: Fix two broken and undefined-behaviour-inducing overflow checks
7500 in old-style string formatting.
7503 -------
7505 - Issue #14690: Use monotonic clock instead of system clock in the sched,
7508 - Issue #14443: Tell rpmbuild to use the correct version of Python in
7511 - Issue #12515: email now registers a defect if it gets to EOF while parsing
7514 - Issue #1672568: email now always decodes base64 payloads, adding padding and
7515 ignoring non-base64-alphabet characters if needed, and registering defects
7518 - Issue #14925: email now registers a defect when the parser decides that there
7522 - Issue #10365: File open dialog now works instead of crashing even when
7525 - Issue #8739: Updated smtpd to support RFC 5321, and added support for the
7528 - Issue #665194: Added a localtime function to email.utils to provide an
7531 - Issue #12586: Added new provisional policies that implement convenient
7534 - Issue #14731: Refactored email Policy framework to support full backward
7539 - Issue #14876: Use user-selected font for highlight configuration.
7541 - Issue #14920: Fix the help(urllib.parse) failure on locale C on terminals.
7544 - Issue #14548: Make multiprocessing finalizers check pid before
7547 - Issue #14036: Add an additional check to validate that port in urlparse does
7550 - Issue #14862: Add missing names to os.__all__
7552 - Issue #14875: Use float('inf') instead of float('1e66666') in the json module.
7554 - Issue #13585: Added contextlib.ExitStack
7556 - PEP 3144, Issue #14814: Added the ipaddress module
7558 - Issue #14426: Correct the Date format in Expires attribute of Set-Cookie
7561 - Issue #14588: The types module now provide new_class() and prepare_class()
7565 - Issue #13152: Allow specifying a custom tabsize for expanding tabs in
7568 - Issue #14721: Send the correct 'Content-length: 0' header when the body is an
7571 - Issue #14072: Fix parsing of 'tel' URIs in urlparse by making the check for
7574 - Issue #9374: Generic parsing of query and fragment portions of url for any
7577 - Issue #14798: Fix the functions in pyclbr to raise an ImportError
7581 - Issue #12098: multiprocessing on Windows now starts child processes
7585 - Issue #13031: Small speed-up for tarfile when unzipping tarfiles.
7588 - Issue #14780: urllib.request.urlopen() now has a ``cadefault`` argument
7591 - Issue #14829: Fix bisect and range() indexing with large indices
7592 (>= 2 ** 32) under 64-bit Windows.
7594 - Issue #14732: The _csv module now uses PEP 3121 module initialization.
7597 - Issue #14809: Add HTTP status codes introduced by RFC 6585 to http.server
7600 - Issue #14777: tkinter may return undecoded UTF-8 bytes as a string when
7606 - Issue #14773: Fix os.fwalk() failing on dangling symlinks.
7608 - Issue #12541: Be lenient with quotes around Realm field of HTTP Basic
7611 - Issue #14807: move undocumented tarfile.filemode() to stat.filemode() and add
7614 - Issue #13815: TarFile.extractfile() now returns io.BufferedReader objects.
7616 - Issue #14532: Add a secure_compare() helper to the hmac module, to mitigate
7619 - Add importlib.util.resolve_name().
7621 - Issue #14366: Support lzma compression in zip files.
7624 - Issue #13959: Introduce importlib.find_loader() and document
7627 - Issue #14082: shutil.copy2() now copies extended attributes, if possible.
7630 - Issue #13959: Make importlib.abc.FileLoader.load_module()/get_filename() and
7635 - Issue #13959: imp.get_suffixes() has been deprecated in favour of the new
7640 - Issue #14662: Prevent shutil failures on OS X when destination does not
7643 - Issue #14157: Fix time.strptime failing without a year on February 29th.
7646 - Issue #14753: Make multiprocessing's handling of negative timeouts
7649 - Issue #14583: Fix importlib bug when a package's __init__.py would first
7652 - Issue #14741: Fix missing support for Ellipsis ('...') in parser module.
7654 - Issue #14697: Fix missing support for set displays and set comprehensions in
7657 - Issue #14701: Fix missing support for 'raise ... from' in parser module.
7659 - Add support for timeouts to the acquire() methods of
7660 multiprocessing's lock/semaphore/condition proxies.
7662 - Issue #13989: Add support for text mode to gzip.open().
7664 - Issue #14127: The os.stat() result object now provides three additional
7670 - Issue #14127 and #10148: shutil.copystat now preserves exact mtime and atime
7674 ----
7676 - Issue #14958: Change IDLE systax highlighting to recognize all string and
7679 - Issue #10997: Prevent a duplicate entry in IDLE's "Recent Files" menu.
7681 - Issue #14929: Stop IDLE 3.x from closing on Unicode decode errors when
7684 - Issue #12510: Attempting to get invalid tooltip no longer closes IDLE.
7689 -----------
7691 - Issue #14695: Bring Tools/parser/unparse.py support up to date with
7695 -----
7697 - Issue #14472: Update .gitignore. Patch by Matej Cepl.
7699 - Upgrade Windows library versions: bzip 1.0.6, OpenSSL 1.0.1c.
7701 - Issue #14693: Under non-Windows platforms, hashlib's fallback modules are
7704 - Issue #13210: Windows build now uses VS2010, ported from VS2008.
7706 C-API
7707 -----
7709 - Issue #14705: The PyArg_Parse() family of functions now support the 'p' format
7711 value into an integer--0 if it is "false", and 1 otherwise.
7714 -------------
7716 - Issue #14863: Update the documentation of os.fdopen() to reflect the
7719 - Issue #14588: The language reference now accurately documents the Python 3
7722 - Issue #14943: Correct a default argument value for winreg.OpenKey
7729 *Release date: 01-May-2012*
7732 -----------------
7734 - Issue #14699: Fix calling the classmethod descriptor directly.
7736 - Issue #14433: Prevent msvcrt crash in interactive prompt when stdin is closed.
7738 - Issue #14521: Make result of float('nan') and float('-nan') more consistent
7741 - Issue #14646: __import__() sets __loader__ if the loader did not.
7743 - Issue #14605: No longer have implicit entries in sys.meta_path. If
7746 - Issue #14605: No longer have implicit entries in sys.path_hooks. If
7751 - Issue #13903: Implement PEP 412. Individual dictionary instances can now share
7755 - Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError
7758 - Issue #14658: Fix binding a special method to a builtin implementation of a
7761 - Issue #14630: Fix a memory access bug for instances of a subclass of int
7764 - Issue #14339: Speed improvements to bin, oct and hex functions. Patch by
7767 - Issue #14385: It is now possible to use a custom type for the __builtins__
7772 - Issue #12599: Be more strict in accepting None compared to a false-like
7776 - Issue #14612: Fix jumping around with blocks by setting f_lineno.
7778 - Issue #14592: Attempting a relative import w/o __package__ or __name__ set in
7781 - Issue #14607: Fix keyword-only arguments which started with ``__``.
7783 - Issue #10854: The ImportError raised when an extension module on Windows
7787 - Issue #13889: Check and (if necessary) set FPU control word before calling
7788 any of the dtoa.c string <-> float conversion functions, on MSVC builds of
7791 - __import__() now matches PEP 328 and documentation by defaulting 'index' to 0
7792 instead of -1 and removing support for negative values.
7794 - Issue #2377: Make importlib the implementation of __import__().
7796 - Issue #1559549: ImportError now has 'name' and 'path' attributes that are set
7800 - Issue #14474: Save and restore exception state in thread.start_new_thread()
7803 - Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch
7807 -------
7809 - Issue #14768: os.path.expanduser('~/a') doesn't work correctly when HOME is '/'.
7811 - Issue #14371: Support bzip2 in zipfile module. Patch by Serhiy Storchaka.
7813 - Issue #13183: Fix pdb skipping frames after hitting a breakpoint and running
7816 - Issue #14696: Fix parser module to understand 'nonlocal' declarations.
7818 - Issue #10941: Fix imaplib.Internaldate2tuple to produce correct result near
7821 - Issue #9154: Fix parser module to understand function annotations.
7823 - Issue #6085: In http.server.py SimpleHTTPServer.address_string returns the
7824 client ip address instead client hostname. Patch by Charles-François Natali.
7826 - Issue #14309: Deprecate time.clock(), use time.perf_counter() or
7829 - Issue #14428: Implement the PEP 418. Add time.get_clock_info(),
7833 - Issue #14646: importlib.util.module_for_loader() now sets __loader__ and
7836 - Issue #14664: It is now possible to use @unittest.skip{If,Unless} on a
7839 - Issue #4892: multiprocessing Connections can now be transferred over
7842 - Issue #14160: TarFile.extractfile() failed to resolve symbolic links when
7845 - Issue #14638: pydoc now treats non-string __name__ values as if they
7848 - Issue #13684: Fix httplib tunnel issue of infinite loops for certain sites
7851 - Issue #14605: Add importlib.abc.FileLoader, importlib.machinery.(FileFinder,
7854 - Issue #13959: imp.cache_from_source()/source_from_cache() now follow
7856 custom semantics of caring the right-most path separator forward in path
7859 - Issue #2193: Allow ":" character in Cookie NAME values.
7861 - Issue #14629: tokenizer.detect_encoding will specify the filename in the
7864 - Issue #14629: Raise SyntaxError in tokenizer.detect_encoding if the
7865 first two lines have non-UTF-8 characters without an encoding declaration.
7867 - Issue #14308: Fix an exception when a "dummy" thread is in the threading
7870 - Issue #11750: The Windows API functions scattered in the _subprocess and
7874 - Issue #14087: multiprocessing: add Condition.wait_for(). Patch by sbt.
7876 - Issue #14538: HTMLParser can now parse correctly start tags that contain
7879 - Issue #14452: SysLogHandler no longer inserts a UTF-8 BOM into the message.
7881 - Issue #14386: Expose the dict_proxy internal type as types.MappingProxyType.
7883 - Issue #13959: Make imp.reload() always use a module's __loader__ to perform
7886 - Issue #13959: Add imp.py and rename the built-in module to _imp, allowing for
7887 re-implementing parts of the module in pure Python.
7889 - Issue #13496: Fix potential overflow in bisect.bisect algorithm when applied
7892 - Have importlib take advantage of ImportError's new 'name' and 'path'
7895 - Issue #14399: zipfile now recognizes that the archive has been modified even
7897 trying to set a non-binary value as a comment is now raised at the time
7900 - trace.CoverageResults.is_ignored_filename() now ignores any name that starts
7901 with "<" and ends with ">" instead of special-casing "<string>" and
7904 - Issue #12537: The mailbox module no longer depends on knowledge of internal
7907 - Issue #7978: socketserver now restarts the select() call when EINTR is
7911 - Issue #14522: Avoid duplicating socket handles in multiprocessing.connection.
7914 - Don't Py_DECREF NULL variable in io.IncrementalNewlineDecoder.
7916 - Issue #3033: Add displayof parameter to tkinter font. Patch by Guilherme Polo.
7918 - Issue #14482: Raise a ValueError, not a NameError, when trying to create
7922 - Issue #802310: Generate always unique tkinter font names if not directly passed.
7924 - Issue #14151: Raise a ValueError, not a NameError, when trying to create
7926 non-Windows platforms. Patch by Popa Claudiu.
7928 - Issue #14493: Use gvfs-open or xdg-open in webbrowser.
7931 -----
7933 - "make touch" will now touch generated files that are checked into Mercurial,
7937 -----
7939 - Issue #14026: In test_cmd_line_script, check that sys.argv is populated
7942 - Issue #14032: Fix incorrect variable name in test_cmd_line_script debugging
7945 - Issue #14589: Update certificate chain for sha256.tbs-internet.com, fixing
7948 - Issue #14355: Regrtest now supports the standard unittest test loading, and
7952 ----
7954 - Issue #8515: Set __file__ when run file in IDLE.
7957 - Issue #14496: Fix wrong name in idlelib/tabbedpages.py.
7961 -------------
7963 - Issue #3561: The Windows installer now has an option, off by default, for
7966 - Issue #13165: stringbench is now available in the Tools/stringbench folder.
7969 C-API
7970 -----
7972 - Issue #14098: New functions PyErr_GetExcInfo and PyErr_SetExcInfo.
7979 *Release date: 01-Apr-2012*
7982 -----------------
7984 - Issue #1683368: object.__new__ and object.__init__ raise a TypeError if they
7987 - Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as
7990 - Issue #14331: Use significantly less stack space when importing modules by
7993 - Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not
7996 - Issue #1469629: Allow cycles through an object's __dict__ slot to be
7999 - Issue #14205: dict lookup raises a RuntimeError if the dict is modified
8002 - Issue #14220: When a generator is delegating to another iterator with the
8005 - Issue #14435: Remove dedicated block allocator from floatobject.c and rely
8008 - Issue #14471: Fix a possible buffer overrun in the winreg module.
8010 - Issue #14288: Allow the serialization of builtin iterators
8013 -------
8015 - Issue #14300: Under Windows, sockets created using socket.dup() now allow
8018 - Issue #13872: socket.detach() now marks the socket closed (as mirrored
8021 - Issue #14406: Fix a race condition when using ``concurrent.futures.wait(
8024 - Issue #5136: deprecate old, unused functions from tkinter.
8026 - Issue #14416: syslog now defines the LOG_ODELAY and LOG_AUTHPRIV constants
8029 - Issue #14295: Add unittest.mock
8031 - Issue #7652: Add --with-system-libmpdec option to configure for linking
8034 - Issue #14380: MIMEText now defaults to utf-8 when passed non-ASCII unicode
8037 - Issue #10340: asyncore - properly handle EINVAL in dispatcher constructor on
8041 - Issue #14204: The ssl module now has support for the Next Protocol
8045 - Issue #3035: Unused functions from tkinter are marked as pending deprecated.
8047 - Issue #12757: Fix the skipping of doctests when python is run with -OO so
8048 that it works in unittest's verbose mode as well as non-verbose mode.
8050 - Issue #7652: Integrate the decimal floating point libmpdec library to speed
8054 - Issue #14269: SMTPD now conforms to the RFC and requires a HELO command
8057 - Issue #13694: asynchronous connect in asyncore.dispatcher does not set addr
8060 - Issue #14344: fixed the repr of email.policy objects.
8062 - Issue #11686: Added missing entries to email package __all__ lists
8065 - Issue #14335: multiprocessing's custom Pickler subclass now inherits from
8066 the C-accelerated implementation. Patch by sbt.
8068 - Issue #10484: Fix the CGIHTTPServer's PATH_INFO handling problem.
8070 - Issue #11199: Fix the with urllib which hangs on particular ftp urls.
8072 - Improve the memory utilization and speed of functools.lru_cache.
8074 - Issue #14222: Use the new time.steady() function instead of time.time() for
8078 - Issue #13248: Remove lib2to3.pytree.Base.get_prefix/set_prefix.
8080 - Issue #14234: CVE-2012-0876: Randomize hashes of xml attributes in the hash
8085 - Issue #12818: format address no longer needlessly \ escapes ()s in names when
8088 - Issue #14062: BytesGenerator now correctly folds Header objects,
8091 - Issue #13839: When invoked on the command-line, the pstats module now
8095 - Issue #14291: Email now defaults to utf-8 for non-ASCII unicode headers
8098 - Issue #989712: Support using Tk without a mainloop.
8100 - Issue #3835: Refuse to use unthreaded Tcl in threaded Python.
8102 - Issue #2843: Add new Tk API to Tkinter.
8104 - Issue #14184: Increase the default stack size for secondary threads on
8107 - Issue #14180: datetime.date.fromtimestamp(),
8111 - Issue #14180: time.ctime(), gmtime(), time.localtime(),
8116 - Issue #14180: datetime.datetime.fromtimestamp() and
8120 - Issue #10543: Fix unittest test discovery with Jython bytecode files.
8122 - Issue #1178863: Separate initialisation from setting when initializing
8126 - Issue #14104: Implement time.monotonic() on Mac OS X, patch written by
8129 - Issue #13394: the aifc module now uses warnings.warn() to signal warnings.
8131 - Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under
8134 - Issue #14223: curses.addch() is no more limited to the range 0-255 when the
8138 - Issue #14168: Check for presence of Element._attrs in minidom before
8141 - Issue #12328: Fix multiprocessing's use of overlapped I/O on Windows.
8145 - Issue #14007: Accept incomplete TreeBuilder objects (missing start, end,
8147 Drop the no-op TreeBuilder().xml() method from the C implementation.
8149 - Issue #14210: pdb now has tab-completion not only for command names, but
8152 - Issue #14310: Sockets can now be with other processes on Windows using
8155 - Issue #10576: The gc module now has a 'callbacks' member that will get
8159 -----
8161 - Issue #14557: Fix extensions build on HP-UX. Patch by Adi Roiban.
8163 - Issue #14387: Do not include accu.h from Python.h.
8165 - Issue #14359: Only use O_CLOEXEC in _posixmodule.c if it is defined.
8168 - Issue #14321: Do not run pgen during the build if files are up to date.
8171 -------------
8173 - Issue #14034: added the argparse tutorial.
8175 - Issue #14324: Fix configure tests for cross builds.
8177 - Issue #14327: Call AC_CANONICAL_HOST in configure.ac and check in
8181 -----------------
8183 - Issue #9041: An issue in ctypes.c_longdouble, ctypes.c_double, and
8187 - Issue #14212: The re module didn't retain a reference to buffers it was
8190 - Issue #14259: The finditer() method of re objects did not take any
8193 - Issue #10142: Support for SEEK_HOLE/SEEK_DATA (for example, under ZFS).
8196 -----
8198 - Issue #14442: Add missing errno import in test_smtplib.
8200 - Issue #8315: (partial fix) python -m unittest test.test_email now works.
8206 *Release date: 05-Mar-2012*
8209 -----------------
8211 - Issue #14172: Fix reference leak when marshalling a buffer-like object
8214 - Issue #13521: dict.setdefault() now does only one lookup for the given key,
8217 - PEP 409, Issue #6210: "raise X from None" is now supported as a means of
8221 - Issue #10181: New memoryview implementation fixes multiple ownership
8226 PEP-3118, so further development towards the complete implementation
8227 of the PEP can proceed in a test-driven manner.
8232 - Issue #12834: Fix incorrect results of memoryview.tobytes() for
8233 non-contiguous arrays.
8235 - Issue #5231: Introduce memoryview.cast() method that allows changing
8238 - Issue #14084: Fix a file descriptor leak when importing a module with a
8241 - Upgrade Unicode data to Unicode 6.1.
8243 - Issue #14040: Remove rarely used file name suffixes for C extensions
8246 - Issue #14051: Allow arbitrary attributes to be set of classmethod and
8249 - Issue #13703: oCERT-2011-003: Randomize hashes of str and bytes to protect
8253 - Issue #13020: Fix a reference leak when allocating a structsequence object
8256 - Issue #13908: Ready types returned from PyType_FromSpec.
8258 - Issue #11235: Fix OverflowError when trying to import a source file whose
8259 modification time doesn't fit in a 32-bit timestamp.
8261 - Issue #12705: A SyntaxError exception is now raised when attempting to
8264 - Fix the builtin module initialization code to store the init function for
8267 - Issue #8052: The posix subprocess module would take a long time closing
8272 - Issue #13629: Renumber the tokens in token.h so that they match the indexes
8275 - Issue #13752: Add a casefold() method to str.
8277 - Issue #13761: Add a "flush" keyword argument to the print() function,
8280 - Issue #13645: pyc files now contain the size of the corresponding source
8284 - PEP 380, Issue #11682: Add "yield from <x>" to support easy delegation to
8286 Renaud Blanch, Ryan Kelly, Zbigniew Jędrzejewski-Szmek and Nick Coghlan)
8288 - Issue #13748: Raw bytes literals can now be written with the ``rb`` prefix
8291 - Issue #12736: Use full unicode case mappings for upper, lower, and title case.
8293 - Issue #12760: Add a create mode to open(). Patch by David Townshend.
8295 - Issue #13738: Simplify implementation of bytes.lower() and bytes.upper().
8297 - Issue #13577: Built-in methods and functions now have a __qualname__.
8300 - Issue #6695: Full garbage collection runs now clear the freelist of set
8303 - Fix OSError.__init__ and OSError.__new__ so that each of them can be
8306 - Fix the fix for issue #12149: it was incorrect, although it had the side
8310 - Issue #13505: Pickle bytes objects in a way that is compatible with
8313 - Issue #11147: Fix an unused argument in _Py_ANNOTATE_MEMORY_ORDER. (Fix
8316 - Issue #13503: Use a more efficient reduction format for bytearrays with
8320 - Issue #7111: Python can now be run without a stdin, stdout or stderr
8324 - Issue #11849: Ensure that free()d memory arenas are really released
8326 Charles-François Natali.
8328 - PEP 3155 / issue #13448: Qualified name for classes and functions.
8330 - Issue #13436: Fix a bogus error message when an AST object was passed
8333 - Issue #13411: memoryview objects are now hashable when the underlying
8336 - Issue #13338: Handle all enumerations in _Py_ANNOTATE_MEMORY_ORDER
8337 to allow compiling extension modules with -Wswitch-enum on gcc.
8340 - Issue #10227: Add an allocation cache for a single slice object. Patch by
8343 - Issue #13393: BufferedReader.read1() now asks the full requested size to
8346 - Issue #13392: Writing a pyc file should now be atomic under Windows as well.
8348 - Issue #13333: The UTF-7 decoder now accepts lone surrogates (the encoder
8351 - Issue #13389: Full garbage collection passes now clear the freelists for
8355 - Issue #13327: Remove the need for an explicit None as the second argument
8360 - Issue #13350: Simplify some C code by replacing most usages of
8363 - Issue #13342: input() used to ignore sys.stdin's and sys.stdout's unicode
8366 - Issue #9896: Add start, stop, and step attributes to range objects.
8368 - Issue #13343: Fix a SystemError when a lambda expression uses a global
8369 variable in the default value of a keyword-only argument: ``lambda *,
8372 - Issue #12797: Added custom opener parameter to builtin open() and
8375 - Issue #10519: Avoid unnecessary recursive function calls in
8378 - Issue #10363: Deallocate global locks in Py_Finalize().
8380 - Issue #13018: Fix reference leaks in error paths in dictobject.c.
8383 - Issue #13201: Define '==' and '!=' to compare range objects based on
8387 - Issue #1294232: In a few cases involving metaclass inheritance, the
8391 - Issue #12753: Add support for Unicode name aliases and named sequences.
8395 - Issue #12170: The count(), find(), rfind(), index() and rindex() methods
8399 - Issue #12604: VTRACE macro expanded to no-op in _sre.c to avoid compiler
8402 - Issue #12281: Rewrite the MBCS codec to handle correctly replace and ignore
8406 - Issue #13188: When called without an explicit traceback argument,
8410 - Issue #13146: Writing a pyc file is now atomic under POSIX.
8412 - Issue #7833: Extension modules built using distutils on Windows will no
8416 - PEP 3151 / issue #12555: reworking the OS and IO exception hierarchy.
8418 - Add internal API for static strings (_Py_identifier et al.).
8420 - Issue #13063: the Windows error ERROR_NO_DATA (numbered 232 and described
8424 - Issue #12911: Fix memory consumption when calculating the repr() of huge
8427 - PEP 393: flexible string representation. Thanks to Torsten Becker for the
8430 - Issue #14081: The 'sep' and 'maxsplit' parameter to str.split, bytes.split,
8433 - Issue #13012: The 'keepends' parameter to str.splitlines may now be passed
8437 - Issue #7732: Don't open a directory as a file anymore while importing a
8441 - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for
8444 - Issue #12973: Fix overflow checks that relied on undefined behaviour in
8448 - Issue #12904: os.utime, os.futimes, os.lutimes, and os.futimesat now write
8451 - Issue #12802: the Windows error ERROR_DIRECTORY (numbered 267) is now
8454 - Issue #9200: The str.is* methods now work with strings that contain non-BMP
8457 - Issue #12791: Break reference cycles early when a generator exits with
8460 - Issue #12773: Make __doc__ mutable on user-defined classes.
8462 - Issue #12766: Raise a ValueError when creating a class with a class variable
8465 - Issue #12266: Fix str.capitalize() to correctly uppercase/lowercase
8466 titlecased and cased non-letter characters.
8468 - Issue #12732: In narrow unicode builds, allow Unicode identifiers which fall
8471 - Issue #12575: Validate user-generated AST before it is compiled.
8473 - Make type(None), type(Ellipsis), and type(NotImplemented) callable. They
8476 - Forbid summing bytes with sum().
8478 - Verify the types of AST strings and identifiers provided by the user before
8481 - Issue #12647: The None object now has a __bool__() method that returns False.
8485 - Issue #12579: str.format_map() now raises a ValueError if used on a
8489 - Issue #10271: Allow warnings.showwarning() be any callable.
8491 - Issue #11627: Fix segfault when __new__ on an exception returns a
8492 non-exception class.
8494 - Issue #12149: Update the method cache after a type's dictionary gets
8500 - Issue #9611, Issue #9015: FileIO.read() clamps the length to INT_MAX on Windows.
8502 - Issue #9642: Uniformize the tests on the availability of the mbcs codec, add
8505 - Issue #9642: Fix filesystem encoding initialization: use the ANSI code page
8508 instead of using UTF-8.
8510 - When a generator yields, do not retain the caller's exception state on the
8513 - Issue #12475: Prevent generators from leaking their exception state into the
8516 - Issue #12291: You can now load multiple marshalled objects from a stream,
8519 - Issue #12356: When required positional or keyword-only arguments are not
8523 - Issue #12370: Fix super with no arguments when __class__ is overridden in the
8526 - Issue #12084: os.stat on Windows now works properly with relative symbolic
8529 - Loosen type restrictions on the __dir__ method. __dir__ can now return any
8532 - Issue #12265: Make error messages produced by passing an invalid set of
8535 - Issue #12225: Still allow Python to build if Python is not in its hg repo or
8538 - Issue #1195: my_fgets() now always clears errors before calling fgets(). Fix
8542 - Issue #12216: Allow unexpected EOF errors to happen on any line of the file.
8544 - Issue #12199: The TryExcept and TryFinally and AST nodes have been unified
8547 - Issue #9670: Increase the default stack size for secondary threads on
8552 - Issue #12106: The use of the multiple-with shorthand syntax is now reflected
8555 - Issue #12190: Try to use the same filename object when compiling unmarshalling
8558 - Issue #12166: Move implementations of dir() specialized for various types into
8561 - Issue #5715: In socketserver, close the server socket in the child process.
8563 - Correct lookup of __dir__ on objects. Among other things, this causes errors
8566 - Issue #12060: Use sig_atomic_t type and volatile keyword in the signal
8567 module. Patch written by Charles-François Natali.
8569 - Issue #1746656: Added the if_nameindex, if_indextoname, if_nametoindex
8572 - Issue #12044: Fixed subprocess.Popen when used as a context manager to
8576 - Issue #1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c,
8577 clear the end-of-file indicator after CTRL+d.
8579 - Issue #1856: Avoid crashes and lockups when daemon threads run while the
8583 - Issue #9756: When calling a method descriptor or a slot wrapper descriptor,
8588 - Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*
8590 by Charles-François Natali.
8592 - Issue #10914: Initialize correctly the filesystem codec when creating a new
8594 the ISO-8859-15 codec.
8596 - Issue #11918: OS/2 and VMS are no more supported because of the lack of
8599 - Issue #6780: fix starts/endswith error message to mention that tuples are
8602 - Issue #5057: fix a bug in the peepholer that led to non-portable pyc files
8603 between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP
8606 - Issue #11845: Fix typo in rangeobject.c that caused a crash in
8609 - Issue #5673: Added a `timeout` keyword argument to subprocess.Popen.wait,
8614 - Issue #11650: PyOS_StdioReadline() retries fgets() if it was interrupted
8616 written by Charles-Francois Natali.
8618 - Issue #9319: Include the filename in "Non-UTF8 code ..." syntax error.
8620 - Issue #10785: Store the filename as Unicode in the Python parser.
8622 - Issue #11619: _PyImport_LoadDynamicModule() doesn't encode the path to bytes
8625 - Issue #10998: Remove mentions of -Q, sys.flags.division_warning and
8628 - Issue #11244: Remove an unnecessary peepholer check that was preventing
8629 negative zeros from being constant-folded properly.
8631 - Issue #11395: io.FileIO().write() clamps the data length to 32,767 bytes on
8637 - Issue #11320: fix bogus memory management in Modules/getpath.c, leading to
8640 - Issue #11432: A bug was introduced in subprocess.Popen on posix systems with
8644 - Issue #9856: Change object.__format__ with a non-empty format string
8648 - Issue #11244: The peephole optimizer is now able to constant-fold
8650 operations involving negative numbers were not constant-folded.
8652 - Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when
8655 - Issue #11335: Fixed a memory leak in list.sort when the key function
8658 - Issue #8923: When a string is encoded to UTF-8 in strict mode, the result is
8659 cached into the object. Examples: str.encode(), str.encode('utf-8'),
8660 PyUnicode_AsUTF8String() and PyUnicode_AsEncodedString(unicode, "utf-8",
8663 - Issue #10829: Refactor PyUnicode_FromFormat(), use the same function to parse
8666 - Issue #13007: whichdb should recognize gdbm 1.9 magic numbers.
8668 - Issue #11286: Raise a ValueError from calling PyMemoryView_FromBuffer with
8671 - Issue #11272: On Windows, input() strips '\r' (and not only '\n'), and
8674 - Issue #11828: startswith and endswith now accept None as slice index.
8677 - Issue #11168: Remove filename debug variable from PyEval_EvalFrameEx().
8678 It encoded the Unicode filename to UTF-8, but the encoding fails on
8682 - Issue #11187: Remove bootstrap code (use ASCII) of
8686 - Check for NULL result in PyType_FromSpec.
8688 - Issue #10516: New copy() and clear() methods for lists and bytearrays.
8690 - Issue #11386: bytearray.pop() now throws IndexError when the bytearray is
8693 - Issue #12380: The rjust, ljust and center methods of bytes and bytearray
8697 -------
8699 - Issue #14195: An issue that caused weakref.WeakSet instances to incorrectly
8703 - Issue #14166: Pickler objects now have an optional ``dispatch_table``
8704 attribute which allows setting custom per-pickler reduction functions.
8707 - Issue #14177: marshal.loads() now raises TypeError when given a unicode
8710 - Issue #13550: Remove the debug machinery from the threading module: remove
8713 - Issue #14159: Fix the len() of weak containers (WeakSet, WeakKeyDictionary,
8718 - Issue #11841: Fix comparison bug with 'rc' versions in packaging.version.
8721 - Issue #6884: Fix long-standing bugs with MANIFEST.in parsing in distutils
8724 - Issue #8033: sqlite3: Fix 64-bit integer handling in user functions
8725 on 32-bit architectures. Initial patch by Philippe Devalkeneer.
8727 - HTMLParser is now able to handle slashes in the start tag.
8729 - Issue #13641: Decoding functions in the base64 module now accept ASCII-only
8732 - Issue #14043: Speed up importlib's _FileFinder by at least 8x, and add a
8735 - Issue #14001: CVE-2012-0845: xmlrpc: Fix an endless loop in
8738 - Issue #13961: Move importlib over to using os.replace() for atomic renaming.
8740 - Do away with ambiguous level values (as suggested by PEP 328) in
8743 - Issue #2489: pty.spawn could consume 100% cpu when it encountered an EOF.
8745 - Issue #13014: Fix a possible reference leak in SSLSocket.getpeercert().
8747 - Issue #13777: Add PF_SYSTEM sockets on OS X.
8750 - Issue #13015: Fix a possible reference leak in defaultdict.__repr__.
8753 - Issue #1326113: distutils' and packaging's build_ext commands option now
8755 to their --libraries option.
8757 - Issue #10287: nntplib now queries the server's CAPABILITIES first before
8761 - Issue #13993: HTMLParser is now able to handle broken end tags when
8764 - Issue #13930: lib2to3 now supports writing converted output files to another
8768 - Issue #9750: Fix sqlite3.Connection.iterdump on tables and fields
8772 - Issue #10287: nntplib now queries the server's CAPABILITIES again after
8776 - Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, building
8777 Distutils-based packages with C extension modules may fail because
8778 Apple has removed gcc-4.2, the version used to build python.org
8779 64-bit/32-bit Pythons. If the user does not explicitly override
8782 if gcc-4.2 is required but not found. Also as a convenience, if
8785 (Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4u
8789 - Issue #13960: HTMLParser is now able to handle broken comments when
8792 - When '' is a path (e.g. in sys.path), make sure __file__ uses the current
8795 - Issue #13609: Add two functions to query the terminal size:
8797 Patch by Zbigniew Jędrzejewski-Szmek.
8799 - Issue #13845: On Windows, time.time() now uses GetSystemTimeAsFileTime()
8803 - Issue #13846: Add time.monotonic(), monotonic clock.
8805 - Issue #8184: multiprocessing: On Windows, don't set SO_REUSEADDR on
8810 - Issue #10811: Fix recursive usage of cursors. Instead of crashing,
8813 - Issue #13734: Add os.fwalk(), a directory walking function yielding file
8816 - Issue #2945: Make the distutils upload command aware of bdist_rpm products.
8818 - Issue #13712: pysetup create should not convert package_data to extra_files.
8820 - Issue #11805: package_data in setup.cfg should allow more than one value.
8822 - Issue #13676: Handle strings with embedded zeros correctly in sqlite3.
8824 - Issue #8828: Add new function os.replace(), for cross-platform renaming
8827 - Issue #13848: open() and the FileIO constructor now check for NUL
8830 - Issue #13806: The size check in audioop decompression functions was too
8833 - Issue #13812: When a multiprocessing Process child raises an exception,
8836 - Issue #13885: CVE-2011-3389: the _ssl module would always disable the CBC
8839 - Issue #13847: time.localtime() and time.gmtime() now raise an OSError instead
8844 - Issue #13772: In os.symlink() under Windows, do not try to guess the link
8846 call non-atomic (therefore prone to race conditions).
8848 - Issue #6631: Disallow relative file paths in urllib urlopen methods.
8850 - Issue #13722: Avoid silencing ImportErrors when initializing the codecs
8853 - Issue #13781: Fix GzipFile bug that caused an exception to be raised when
8856 - Issue #13803: Under Solaris, distutils doesn't include bitness
8859 - Issue #10278: Add time.wallclock() function, monotonic clock.
8861 - Issue #13809: Fix regression where bz2 module wouldn't work when threads are
8864 - Issue #13589: Fix some serialization primitives in the aifc module.
8867 - Issue #13642: Unquote before b64encoding user:password during Basic
8870 - Issue #12364: Fix a hang in concurrent.futures.ProcessPoolExecutor.
8874 - Issue #13502: threading: Fix a race condition in Event.wait() that made it
8877 - Issue #9993: When the source and destination are on different filesystems,
8882 - Issue #12926: Fix a bug in tarfile's link extraction.
8884 - Issue #13696: Fix the 302 Relative URL Redirection problem.
8886 - Issue #13636: Weak ciphers are now disabled by default in the ssl module
8889 - Issue #12715: Add an optional symlinks argument to shutil functions
8894 - Add a flags parameter to select.epoll.
8896 - Issue #13626: Add support for SSL Diffie-Hellman key exchange, through the
8899 - Issue #11006: Don't issue low level warning in subprocess when pipe2() fails.
8901 - Issue #13620: Support for Chrome browser in webbrowser. Patch contributed
8904 - Issue #11829: Fix code execution holes in inspect.getattr_static for
8907 - Issue #12708: Add starmap() and starmap_async() methods (similar to
8910 - Issue #1785: Fix inspect and pydoc with misbehaving descriptors.
8912 - Issue #13637: "a2b" functions in the binascii module now accept ASCII-only
8915 - Issue #13634: Add support for querying and disabling SSL compression.
8917 - Issue #13627: Add support for SSL Elliptic Curve-based Diffie-Hellman
8921 - Issue #13635: Add ssl.OP_CIPHER_SERVER_PREFERENCE, so that SSL servers
8925 - Issue #11813: Fix inspect.getattr_static for modules. Patch by Andreas
8928 - Issue #7502: Fix equality comparison for DocTestCase instances. Patch by
8931 - Issue #11870: threading: Properly reinitialize threads internal locks and
8934 - Issue #8035: urllib: Fix a bug where the client could remain stuck after a
8937 - Issue #13560: os.strerror() now uses the current locale encoding instead of
8938 UTF-8.
8940 - Issue #8373: The filesystem path of AF_UNIX sockets now uses the filesystem
8941 encoding and the surrogateescape error handler, rather than UTF-8. Patch
8944 - Issue #10350: Read and save errno before calling a function which might
8947 - Issue #11610: Introduce a more general way to declare abstract properties.
8949 - Issue #13591: A bug in importlib has been fixed that caused import_module
8952 - Issue #13449: sched.scheduler.run() method has a new "blocking" parameter which
8956 - Issue #8684: sched.scheduler class can be safely used in multi-threaded
8959 - Alias resource.error to OSError ala PEP 3151.
8961 - Issue #5689: Add support for lzma compression to the tarfile module.
8963 - Issue #13248: Turn 3.2's PendingDeprecationWarning into 3.3's
8968 - Issue #5905, Issue #13560: time.strftime() is now using the current locale
8969 encoding, instead of UTF-8, if the wcsftime() function is not available.
8971 - Issue #13464: Add a readinto() method to http.client.HTTPResponse. Patch
8974 - tarfile.py: Correctly detect bzip2 compressed streams with blocksizes
8977 - Issue #13439: Fix many errors in turtle docstrings.
8979 - Issue #6715: Add a module 'lzma' for compression using the LZMA algorithm.
8982 - Issue #13487: Make inspect.getmodule robust against changes done to
8985 - Issue #12618: Fix a bug that prevented py_compile from creating byte
8988 - Issue #13444: When stdout has been closed explicitly, we should not attempt
8991 - Issue #12567: The curses module uses Unicode functions for Unicode arguments
8993 the locale encoding instead of UTF-8.
8995 - Issue #12856: Ensure child processes do not inherit the parent's random
8999 - Issue #9957: SpooledTemporaryFile.truncate() now accepts an optional size
9000 parameter, as other file-like objects. Patch by Ryan Kelly.
9002 - Issue #13458: Fix a memory leak in the ssl module when decoding a
9005 - Issue #13415: os.unsetenv() doesn't ignore errors anymore.
9007 - Issue #13245: sched.scheduler class constructor's timefunc and
9012 - Issue #12328: Under Windows, refactor handling of Ctrl-C events and
9016 - Issue #13322: Fix BufferedWriter.write() to ensure that BlockingIOError is
9017 raised when the wrapped raw file is non-blocking and the write would block.
9022 - Issue #13358: HTMLParser now calls handle_data only once for each CDATA.
9024 - Issue #4147: minidom's toprettyxml no longer adds whitespace around a text
9028 - Issue #13374: The Windows bytes API has been deprecated in the os module. Use
9032 - Issue #13297: Use bytes type to send and receive binary data through XMLRPC.
9034 - Issue #6397: Support "/dev/poll" polling objects in select module,
9037 - Issues #1745761, #755670, #13357, #12629, #1200313: HTMLParser now correctly
9038 handles non-valid attributes, including adjacent and unquoted attributes.
9040 - Issue #13193: Fix distutils.filelist.FileList and packaging.manifest.Manifest
9043 - Issue #13384: Remove unnecessary __future__ import in Lib/random.py
9045 - Issue #13149: Speed up append-only StringIO objects.
9047 - Issue #13373: multiprocessing.Queue.get() could sometimes block indefinitely
9050 - Issue #13254: Fix Maildir initialization so that maildir contents
9053 - Issue #3067: locale.setlocale() now raises TypeError if the second
9057 - Issue #13140: Fix the daemon_threads attribute of ThreadingMixIn.
9059 - Issue #13339: Fix compile error in posixmodule.c due to missing semicolon.
9062 - Byte compilation in packaging is now isolated from the calling Python -B or
9063 -O options, instead of being disallowed under -B or buggy under -O.
9065 - Issue #10570: curses.putp() and curses.tparm() are now expecting a byte
9068 - Issue #13295: http.server now produces valid HTML 4.01 strict.
9070 - Issue #2892: preserve iterparse events in case of SyntaxError.
9072 - Issue #13287: urllib.request and urllib.error now contains an __all__
9076 - Issue #670664: Fix HTMLParser to correctly handle the content of
9079 - Issue #10817: Fix urlretrieve function to raise ContentTooShortError even
9082 - Fix the xmlrpc.client user agent to return something similar to
9083 urllib.request user agent: "Python-xmlrpc/3.3".
9085 - Issue #13293: Better error message when trying to marshal bytes using
9088 - Issue #13291: NameError in xmlrpc package.
9090 - Issue #13258: Use callable() built-in in the standard library.
9092 - Issue #13273: fix a bug that prevented HTMLParser to properly detect some
9095 - Issue #11183: Add finer-grained exceptions to the ssl module, so that
9098 - Issue #13216: Add cp65001 codec, the Windows UTF-8 (CP_UTF8).
9100 - Issue #13226: Add RTLD_xxx constants to the os module. These constants can be
9103 - Issue #10278: Add clock_getres(), clock_gettime() and CLOCK_xxx constants to
9107 - Issue #10332: multiprocessing: fix a race condition when a Pool is closed
9110 - Issue #13255: wrong docstrings in array module.
9112 - Issue #8540: Remove deprecated Context._clamp attribute in Decimal module.
9114 - Issue #13235: Added DeprecationWarning to logging.warn() method and function.
9116 - Issue #9168: now smtpd is able to bind privileged port.
9118 - Issue #12529: fix cgi.parse_header issue on strings with double-quotes and
9121 - Issue #13227: functools.lru_cache() now has an option to distinguish
9124 - Issue #6090: zipfile raises a ValueError when a document with a timestamp
9127 - Issue #13150: sysconfig no longer parses the Makefile and config.h files
9131 - Issue #12448: smtplib now flushes stdout while running ``python -m smtplib``
9134 - Issue #12454: The mailbox module is now using ASCII, instead of the locale
9137 - Issue #13194: zlib.compressobj().copy() and zlib.decompressobj().copy() are
9140 - Issue #1673007: urllib.request now supports HEAD request via new method argument.
9143 - Issue #12386: packaging does not fail anymore when writing the RESOURCES
9146 - Issue #13158: Fix decoding and encoding of GNU tar specific base-256 number
9149 - Issue #13025: mimetypes is now reading MIME types using the UTF-8 encoding,
9152 - Issue #10653: On Windows, use strftime() instead of wcsftime() because
9155 - Issue #13150: The tokenize module doesn't compile large regular expressions
9158 - Issue #11171: Fix distutils.sysconfig.get_makefile_filename when Python was
9159 configured with different prefix and exec-prefix.
9161 - Issue #11254: Teach distutils and packaging to compile .pyc and .pyo files in
9162 PEP 3147-compliant __pycache__ directories.
9164 - Issue #7367: Fix pkgutil.walk_paths to skip directories whose
9167 - Issue #3163: The struct module gets new format characters 'n' and 'N'
9170 - Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale.
9173 - Issue #13087: BufferedReader.seek() now always raises UnsupportedOperation
9177 - Issue #7689: Allow pickling of dynamically created classes when their
9181 - Issue #13034: When decoding some SSL certificates, the subjectAltName
9184 - Issue #12306: Expose the runtime version of the zlib C library as a constant,
9187 - Issue #12959: Add collections.ChainMap to collections.__all__.
9189 - Issue #8933: distutils' PKG-INFO files and packaging's METADATA files will
9190 now correctly report Metadata-Version: 1.1 instead of 1.0 if a Classifier or
9191 Download-URL field is present.
9193 - Issue #12567: Add curses.unget_wch() function. Push a character so the next
9196 - Issue #9561: distutils and packaging now writes egg-info files using UTF-8,
9199 - Issue #8286: The distutils command sdist will print a warning message instead
9202 - Issue #12841: tarfile unnecessarily checked the existence of numerical user
9207 - Issue #12888: Fix a bug in HTMLParser.unescape that prevented it to escape
9210 - Issue #12878: Expose a __dict__ attribute on io.IOBase and its subclasses.
9212 - Issue #12494: On error, call(), check_call(), check_output() and
9216 - Issue #12720: Expose low-level Linux extended file attribute functions in os.
9218 - Issue #10946: The distutils commands bdist_dumb, bdist_wininst and bdist_msi
9219 now respect a --skip-build option given to bdist. The packaging commands
9222 - Issue #12847: Fix a crash with negative PUT and LONG_BINPUT arguments in
9225 - Issue #11564: Avoid crashes when trying to pickle huge objects or containers
9228 - Issue #12287: Fix a stack corruption in ossaudiodev module when the FD is
9231 - Issue #12839: Fix crash in zlib module due to version mismatch.
9234 - Issue #9923: The mailcap module now correctly uses the platform path
9235 separator for the MAILCAP environment variable on non-POSIX platforms.
9237 - Issue #12835: Follow up to #6560 that unconditionally prevents use of the
9241 - Issue #12803: SSLContext.load_cert_chain() now accepts a password argument
9244 - Issue #11657: Fix sending file descriptors over 255 over a multiprocessing
9247 - Issue #12811: tabnanny.check() now promptly closes checked files. Patch by
9250 - Issue #6560: The sendmsg/recvmsg API is now exposed by the socket module
9254 - Issue #12326: On Linux, sys.platform doesn't contain the major version
9258 - Issue #12213: Fix a buffering bug with interleaved reads and writes that
9261 - Issue #12778: Reduce memory consumption when JSON-encoding a large
9264 - Issue #12650: Fix a race condition where a subprocess.Popen could leak
9267 - Issue #12744: Fix inefficient representation of integers between 2**31 and
9268 2**63 on systems with a 64-bit C "long".
9270 - Issue #12646: Add an 'eof' attribute to zlib.Decompress, to make it easier to
9273 - Issue #11513: Fix exception handling ``tarfile.TarFile.gzopen()`` when
9276 - Issue #12687: Fix a possible buffering bug when unpickling text mode
9279 - Issue #10087: Fix the html output format of the calendar module.
9281 - Issue #13121: add support for inplace math operators to collections.Counter.
9283 - Add support for unary plus and unary minus to collections.Counter.
9285 - Issue #12683: urlparse updated to include svn as schemes that uses relative
9288 - Issue #12655: Expose functions from sched.h in the os module: sched_yield(),
9293 - Add ThreadError to threading.__all__.
9295 - Issues #11104, #8688: Fix the behavior of distutils' sdist command with
9296 manually-maintained MANIFEST files.
9298 - Issue #11281: smtplib.STMP gets source_address parameter, which adds the
9302 - Issue #12464: tempfile.TemporaryDirectory.cleanup() should not follow
9305 - Issue #8887: "pydoc somebuiltin.somemethod" (or help('somebuiltin.somemethod')
9308 - Issue #10968: Remove indirection in threading. The public names (Event,
9311 code pre-dates the ability to subclass extension types. It is now possible
9315 - Issue #9723: Add shlex.quote functions, to escape filenames and command
9318 - Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
9320 - Issue #12514: Use try/finally to assure the timeit module restores garbage
9323 - Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
9326 - Issue #12576: Fix urlopen behavior on sites which do not send (or obfuscates)
9329 - Issue #12560: Build libpython.so on OpenBSD. Patch by Stefan Sperling.
9331 - Issue #1813: Fix codec lookup under Turkish locales.
9333 - Issue #12591: Improve support of "universal newlines" in the subprocess
9336 - Issue #12591: Allow io.TextIOWrapper to work with raw IO objects (without
9340 - Issue #10883: Fix socket leaks in urllib.request when using FTP.
9342 - Issue #12592: Make Python build on OpenBSD 5 (and future major releases).
9344 - Issue #12372: POSIX semaphores are broken on AIX: don't use them.
9346 - Issue #12551: Provide a get_channel_binding() method on SSL sockets so as
9348 "tls-unique" channel binding is implemented). This allows the implementation
9349 of certain authentication mechanisms such as SCRAM-SHA-1-PLUS. Patch by
9352 - Issue #665194: email.utils now has format_datetime and parsedate_to_datetime
9355 - Issue #12571: Add a plat-linux3 directory mirroring the plat-linux2
9359 - Issue #7484: smtplib no longer puts <> around addresses in VRFY and EXPN
9362 - Issue #12273: Remove ast.__version__. AST changes can be accounted for by
9365 - Silence spurious "broken pipe" tracebacks when shutting down a
9368 - Fix potential resource leaks in concurrent.futures.ProcessPoolExecutor
9371 - Issue #11603: Fix a crash when __str__ is rebound as __repr__. Patch by
9374 - Issue #11321: Fix a crash with multiple imports of the _pickle module when
9377 - Issue #6755: Add get_wch() method to curses.window class. Patch by Iñigo
9380 - Add cgi.closelog() function to close the log file.
9382 - Issue #12502: asyncore: fix polling loop with AF_UNIX sockets.
9384 - Issue #4376: ctypes now supports nested structures in an endian different than
9387 - Raise ValueError when attempting to set the _CHUNK_SIZE attribute of a
9390 - Issue #12504: Close file handles in a timely manner in packaging.database.
9393 - Issues #12169 and #10510: Factor out code used by various packaging commands
9396 - Issue #12016: Multibyte CJK decoders now resynchronize faster. They only
9400 - Issue #12459: time.sleep() now raises a ValueError if the sleep length is
9404 - Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support
9405 Python scripts using an encoding different than UTF-8 (read the coding cookie
9408 - Issue #12493: subprocess: Popen.communicate() now also handles EINTR errors
9411 - Issue #12467: warnings: fix a race condition if a warning is emitted at
9414 - Issue #12451: pydoc: importfile() now opens the Python script in binary mode,
9417 - Issue #12451: runpy: run_path() now opens the Python script in binary mode,
9419 than UTF-8 (scripts using the coding cookie).
9421 - Issue #12451: xml.dom.pulldom: parse() now opens files in binary mode instead
9424 - Issue #12147: Adjust the new-in-3.2 smtplib.send_message method for better
9425 conformance to the RFCs: correctly handle Sender and Resent- headers.
9427 - Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by
9428 the garbage collector while the Heap lock is held.
9430 - Issue #12462: time.sleep() now immediately calls the (Python) signal handler
9434 - Issue #12442: new shutil.disk_usage function, providing total, used and free
9437 - Issue #12451: The XInclude default loader of xml.etree now decodes files from
9438 UTF-8 instead of the locale encoding if the encoding is not specified. It now
9442 - Issue #12451: doctest.debug_script() doesn't create a temporary file
9445 - Issue #12451: pydoc.synopsis() now reads the encoding cookie if available,
9448 - Issue #12451: distutils now opens the setup script in binary mode to read the
9449 encoding cookie, instead of opening it in UTF-8.
9451 - Issue #9516: On Mac OS X, change Distutils to no longer globally attempt to
9453 interpreter process. This could cause failures in non-Distutils subprocesses
9462 - Issue #12422: In the copy module, don't store objects that are their own copy
9465 - Issue #12303: Add sigwaitinfo() and sigtimedwait() to the signal module.
9467 - Issue #12404: Remove C89 incompatible code from mmap module. Patch by Akira
9470 - Issue #1874: email now detects and reports as a defect the presence of
9473 - Issue #12383: Fix subprocess module with env={}: don't copy the environment
9476 - Issue #11637: Fix support for importing packaging setup hooks from the
9479 - Issue #6771: Moved the curses.wrapper function from the single-function
9483 - Issue #11584: email.header.decode_header no longer fails if the header
9485 if given binary unknown-8bit input.
9487 - Issue #11700: mailbox proxy object close methods can now be called multiple
9490 - Issue #11767: Correct file descriptor leak in mailbox's __getitem__ method.
9492 - Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTP
9496 - Issue #12240: Allow multiple setup hooks in packaging's setup.cfg files.
9499 - Issue #9284: Allow inspect.findsource() to find the source of doctest
9502 - Issue #11595: Fix assorted bugs in packaging.util.cfg_to_args, a
9503 compatibility helper for the distutils-packaging transition. Original patch
9506 - Issue #12287: In ossaudiodev, check that the device isn't closed in several
9509 - Issue #12009: Fixed regression in netrc file comment handling.
9511 - Issue #12246: Warn and fail when trying to install a third-party project from
9515 - Issue #10694: zipfile now ignores garbage at the end of a zipfile.
9517 - Issue #12283: Fixed regression in smtplib quoting of leading dots in DATA.
9519 - Issue #10424: Argparse now includes the names of the missing required
9522 - Issue #12168: SysLogHandler now allows NUL termination to be controlled using
9525 - Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes
9528 - Issue #12021: Make mmap's read() method argument optional. Patch by Petri
9531 - Issue #9205: concurrent.futures.ProcessPoolExecutor now detects killed
9535 - Issue #12040: Expose a new attribute ``sentinel`` on instances of
9539 - Issue #11893: Remove obsolete internal wrapper class ``SSLFakeFile`` in the
9542 - Issue #12080: Fix a Decimal.power() case that took an unreasonably long time
9545 - Issue #12221: Remove __version__ attributes from pyexpat, pickle, tarfile,
9549 - Named tuples now work correctly with vars().
9551 - Issue #12085: Fix an attribute error in subprocess.Popen destructor if the
9555 - Issue #12028: Make threading._get_ident() public, rename it to
9559 - Issue #12171: IncrementalEncoder.reset() of CJK codecs (multibytecodec) calls
9562 - Issue #12218: Removed wsgiref.egg-info.
9564 - Issue #12196: Add pipe2() to the os module.
9566 - Issue #985064: Make plistlib more resilient to faulty input plists.
9569 - Issue #1625: BZ2File and bz2.decompress() now support multi-stream files.
9572 - Issue #12175: BufferedReader.read(-1) now calls raw.readall() if available.
9574 - Issue #12175: FileIO.readall() now only reads the file position and size
9577 - Issue #12175: RawIOBase.readall() now returns None if read() returns None.
9579 - Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError
9582 - Issue #11109: New service_action method for BaseServer, used by ForkingMixin
9585 - Issue #12045: Avoid duplicate execution of command in
9588 - Issue #10818: Remove the Tk GUI and the serve() function of the pydoc module,
9589 pydoc -g has been deprecated in Python 3.2 and it has a new enhanced web
9592 - Issue #1441530: In imaplib, read the data in one chunk to speed up large
9595 - Issue #12070: Fix the Makefile parser of the sysconfig module to handle
9598 - Issue #12100: Don't reset incremental encoders of CJK codecs at each call to
9602 - Issue #12049: Add RAND_bytes() and RAND_pseudo_bytes() functions to the ssl
9605 - Issue #6501: os.device_encoding() returns None on Windows if the application
9608 - Issue #12105: Add O_CLOEXEC to the os module.
9610 - Issue #12079: Decimal('Infinity').fma(Decimal('0'), (3.91224318126786e+19+0j))
9614 - Issue #12124: zipimport doesn't keep a reference to zlib.decompress() anymore
9617 - Add the packaging module, an improved fork of distutils (also known as
9620 - Issue #12065: connect_ex() on an SSL socket now returns the original errno
9623 - Issue #8809: The SMTP_SSL constructor and SMTP.starttls() now support
9627 - Issue #9516: Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET
9630 - Issue #8650: Make zlib module 64-bit clean. compress(), decompress() and
9635 - Issue #12050: zlib.decompressobj().decompress() now clears the unconsumed_tail
9638 - Issue #12062: Fix a flushing bug when doing a certain type of I/O sequence
9643 - Issue #9971: Write an optimized implementation of BufferedReader.readinto().
9646 - Issue #11799: urllib.request Authentication Handlers will raise a ValueError
9650 - Issue #10419, #6011: build_scripts command of distutils handles correctly
9651 non-ASCII path (path to the Python executable). Open and write the script in
9652 binary mode, but ensure that the shebang is decodable from UTF-8 and from the
9655 - Issue #8498: In socket.accept(), allow specifying 0 as a backlog value in
9658 - Issue #12011: signal.signal() and signal.siginterrupt() raise an OSError,
9661 - Issue #3709: add a flush_headers method to BaseHTTPRequestHandler, which
9665 - Issue #11743: Rewrite multiprocessing connection classes in pure Python.
9667 - Issue #11164: Stop trying to use _xmlplus in the xml module.
9669 - Issue #11888: Add log2 function to math module. Patch written by Mark
9672 - Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional.
9674 - Issue #8407: The signal handler writes the signal number as a single byte
9678 - Issue #8407: Add pthread_kill(), sigpending() and sigwait() functions to the
9681 - Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch
9684 - Issue #12002: ftplib's abort() method raises TypeError.
9686 - Issue #11916: Add a number of MacOSX specific definitions to the errno module.
9689 - Issue #11999: fixed sporadic sync failure mailbox.Maildir due to its trying to
9693 - Issue #11072: added MLSD command (RFC-3659) support to ftplib.
9695 - Issue #8808: The IMAP4_SSL constructor now allows passing an SSLContext
9699 - ntpath.samefile failed to notice that "a.txt" and "A.TXT" refer to the same
9702 - Issue #12000: When a SSL certificate has a subjectAltName without any
9706 - Issue #10775: assertRaises, assertRaisesRegex, assertWarns, and
9710 - Issue #10684: shutil.move used to delete a folder on case insensitive
9714 - Issue #11647: objects created using contextlib.contextmanager now support
9718 - Issue #11930: Removed deprecated time.accept2dyear variable.
9721 - logging: don't define QueueListener if Python has no thread support.
9723 - functools.cmp_to_key() now works with collections.Hashable().
9725 - Issue #11277: mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get
9728 - Issue #8407: Add signal.pthread_sigmask() function to fetch and/or change the
9731 - Issue #11858: configparser.ExtendedInterpolation expected lower-case section
9734 - Issue #11324: ConfigParser(interpolation=None) now works correctly.
9736 - Issue #11811: ssl.get_server_certificate() is now IPv6-compatible. Patch
9737 by Charles-François Natali.
9739 - Issue #11763: don't use difflib in TestCase.assertMultiLineEqual if the
9742 - Issue #11236: getpass.getpass responds to ctrl-c or ctrl-z on terminal.
9744 - Issue #11856: Speed up parsing of JSON numbers.
9746 - Issue #11005: threading.RLock()._release_save() raises a RuntimeError if the
9747 lock was not acquired.
9749 - Issue #11258: Speed up ctypes.util.find_library() under Linux by a factor
9752 - Issue #11382: Trivial system calls, such as dup() or pipe(), needn't
9753 release the GIL. Patch by Charles-François Natali.
9755 - Issue #11223: Add threading._info() function providing information about
9758 - Issue #11731: simplify/enhance email parser/generator API by introducing
9761 - Issue #11768: The signal handler of the signal module only calls
9765 - Issue #11492: fix several issues with header folding in the email package.
9767 - Issue #11852: Add missing imports and update tests.
9769 - Issue #11875: collections.OrderedDict's __reduce__ was temporarily
9772 - Issue #11467: Fix urlparse behavior when handling urls which contains scheme
9775 - collections.Counter().copy() now works correctly for subclasses.
9777 - Issue #11474: Fix the bug with url2pathname() handling of '/C|/' on Windows.
9780 - Issue #11684: complete email.parser bytes API by adding BytesHeaderParser.
9782 - The bz2 module now handles 4GiB+ input buffers correctly.
9784 - Issue #9233: Fix json.loads('{}') to return a dict (instead of a list), when
9787 - Issue #11830: Remove unnecessary introspection code in the decimal module.
9789 - Issue #11703: urllib2.geturl() does not return correct url when the original
9792 - Issue #10019: Fixed regression in json module where an indent of 0 stopped
9795 - Issue #11186: pydoc ignores a module if its name contains a surrogate
9798 - Issue #11815: Use a light-weight SimpleQueue for the result queue in
9801 - Issue #5162: Treat services like frozen executables to allow child spawning
9804 - logging.basicConfig now supports an optional 'handlers' argument taking an
9808 - Issue #11814: Fix likely typo in multiprocessing.Pool._terminate().
9810 - Issue #11747: Fix range formatting in difflib.context_diff() and
9813 - Issue #8428: Fix a race condition in multiprocessing.Pool when terminating
9815 shut down. Patch by Charles-François Natali.
9817 - Issue #2650: re.escape() no longer escapes the '_'.
9819 - Issue #11757: select.select() now raises ValueError when a negative timeout
9821 by Charles-François Natali.
9823 - Issue #7311: fix html.parser to accept non-ASCII attribute values.
9825 - Issue #11605: email.parser.BytesFeedParser was incorrectly converting
9826 multipart subparts with an 8-bit CTE into unicode instead of preserving the
9829 - Issue #1690608: email.util.formataddr is now RFC 2047 aware: it now has a
9830 charset parameter that defaults to utf-8 and is used as the charset for RFC
9831 2047 encoding when the realname contains non-ASCII characters.
9833 - Issue #10963: Ensure that subprocess.communicate() never raises EPIPE.
9835 - Issue #10791: Implement missing method GzipFile.read1(), allowing GzipFile
9838 - Issue #11707: Added a fast C version of functools.cmp_to_key().
9841 - Issue #11688: Add sqlite3.Connection.set_trace_callback(). Patch by
9844 - Issue #11746: Fix SSLContext.load_cert_chain() to accept elliptic curve
9847 - Issue #5863: Rewrite BZ2File in pure Python, and allow it to accept
9848 file-like objects using a new ``fileobj`` constructor argument. Patch by
9851 - unittest.TestCase.assertSameElements has been removed.
9853 - sys.getfilesystemencoding() raises a RuntimeError if initfsencoding() was not
9856 - Issue #11393: Add the new faulthandler module.
9858 - Issue #11618: Fix the timeout logic in threading.Lock.acquire() under Windows.
9860 - Removed the 'strict' argument to email.parser.Parser, which has been
9863 - Issue #11256: Fix inspect.getcallargs on functions that take only keyword
9866 - Issue #11696: Fix ID generation in msilib.
9868 - itertools.accumulate now supports an optional *func* argument for
9869 a user-supplied binary function.
9871 - Issue #11692: Remove unnecessary demo functions in subprocess module.
9873 - Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int when
9874 trying to pack a negative (in-range) integer.
9876 - Issue #11675: multiprocessing.[Raw]Array objects created from an integer size
9880 - Issue #7639: Fix short file name generation in bdist_msi
9882 - Issue #11635: Don't use polling in worker threads and processes launched by
9885 - Issue #5845: Automatically read readline configuration to enable completion
9888 - Issue #6811: Allow importlib to change a code object's co_filename attribute
9892 - Issue #8754: Have importlib use the repr of a module name in error messages.
9894 - Issue #11591: Prevent "import site" from modifying sys.path when python
9895 was started with -S.
9897 - collections.namedtuple() now adds a _source attribute to the generated
9902 - Issue #11371: Mark getopt error messages as localizable. Patch by Filip
9905 - Issue #11333: Add __slots__ to collections ABCs.
9907 - Issue #11628: cmp_to_key generated class should use __slots__.
9909 - Issue #11666: let help() display named tuple attributes and methods
9912 - Issue #11662: Make urllib and urllib2 ignore redirections if the
9913 scheme is not HTTP, HTTPS or FTP (CVE-2011-1521).
9915 - Issue #5537: Fix time2isoz() and time2netscape() functions of
9916 httplib.cookiejar for expiration year greater than 2038 on 32-bit systems.
9918 - Issue #4391: Use proper gettext plural forms in optparse.
9920 - Issue #11127: Raise a TypeError when trying to pickle a socket object.
9922 - Issue #11563: ``Connection: close`` header is sent by requests using URLOpener
9926 - Issue #11459: A ``bufsize`` value of 0 in subprocess.Popen() really creates
9929 - Issue #5421: Fix misleading error message when one of socket.sendto()'s
9932 - Issue #10812: Add some extra posix functions to the os module.
9934 - Issue #10979: unittest stdout buffering now works with class and module
9937 - Issue #11243: fix the parameter querying methods of Message to work if
9938 the headers contain un-encoded non-ASCII data.
9940 - Issue #11401: fix handling of headers with no value; this fixes a regression
9943 - Issue #9298: base64 bodies weren't being folded to line lengths less than 78,
9947 - Issue #11560: shutil.unpack_archive now correctly handles the format
9950 - Issue #5870: Add `subprocess.DEVNULL` constant.
9952 - Issue #11133: fix two cases where inspect.getattr_static can trigger code
9955 - Issue #11569: use absolute path to the sysctl command in multiprocessing to
9959 - Issue #11501: distutils.archive_utils.make_zipfile no longer fails if zlib is
9963 - Issue #11289: `smtp.SMTP` class is now a context manager so it can be used
9966 - Issue #11554: Fixed support for Japanese codecs; previously the body output
9967 encoding was not done if euc-jp or shift-jis was specified as the charset.
9969 - Issue #11407: `TestCase.run` returns the result object used or created.
9972 - Issue #11500: Fixed a bug in the OS X proxy bypass code for fully qualified
9975 - Issue #11491: dbm.error is no longer raised when dbm.open is called with
9979 - Issue #1162477: Postel Principle adjustment to email date parsing: handle the
9980 fact that some non-compliant MUAs use '.' instead of ':' in time specs.
9982 - Issue #11131: Fix sign of zero in decimal.Decimal plus and minus
9985 - Issue #9935: Speed up pickling of instances of user-defined classes.
9987 - Issue #5622: Fix curses.wrapper to raise correct exception if curses
9990 - Issue #11408: In threading.Lock.acquire(), only call gettimeofday() when
9991 really necessary. Patch by Charles-François Natali.
9993 - Issue #11391: Writing to a mmap object created with
9995 TypeError. Patch by Charles-François Natali.
9997 - Issue #9795: add context management protocol support for nntplib.NNTP class.
9999 - Issue #11306: mailbox in certain cases adapts to an inability to open
10000 certain files in read-write mode. Previously it detected this by
10003 - Issue #11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errors
10006 - Issue #11377: Deprecate platform.popen() and reimplement it with os.popen().
10008 - Issue #8513: On UNIX, subprocess supports bytes command string.
10010 - Issue #10866: Add socket.sethostname(). Initial patch by Ross Lagerwall.
10012 - Issue #11140: Lock.release() now raises a RuntimeError when attempting
10013 to release an unacquired lock, as claimed in the threading documentation.
10017 - Issue #8594: ftplib now provides a source_address parameter to specify which
10020 - Issue #11326: Add the missing connect_ex() implementation for SSL sockets,
10021 and make it work for non-blocking connects.
10023 - Issue #11297: Add collections.ChainMap().
10025 - Issue #10755: Add the posix.flistdir() function. Patch by Ross Lagerwall.
10027 - Issue #4761: Add the ``*at()`` family of functions (openat(), etc.) to the
10030 - Issue #7322: Trying to read from a socket's file-like object after a timeout
10033 - Issue #11291: poplib.POP no longer suppresses errors on quit().
10035 - Issue #11177: asyncore's create_socket() arguments can now be omitted.
10037 - Issue #6064: Add a ``daemon`` keyword argument to the threading.Thread
10042 - Issue #10956: Buffered I/O classes retry reading or writing after a signal
10045 - Issue #10784: New os.getpriority() and os.setpriority() functions.
10047 - Issue #11114: Fix catastrophic performance of tell() on text files (up
10051 - Issue #10882: Add os.sendfile function.
10053 - Issue #10868: Allow usage of the register method of an ABC as a class
10056 - Issue #11224: Fixed a regression in tarfile that affected the file-like
10060 - Issue #10924: Adding salt and Modular Crypt Format to crypt library.
10064 - Issue #11074: Make 'tokenize' so it can be reloaded.
10066 - Issue #11085: Moved collections abstract base classes into a separate
10071 - Issue #4681: Allow mmap() to work on file sizes and offsets larger than
10072 4GB, even on 32-bit builds. Initial patch by Ross Lagerwall, adapted for
10073 32-bit Windows.
10075 - Issue #11169: compileall module uses repr() to format filenames and paths to
10078 - Issue #11089: Fix performance issue limiting the use of ConfigParser()
10081 - Issue #10276: Fix the results of zlib.crc32() and zlib.adler32() on buffers
10084 - Issue #11388: Added a clear() method to MutableSequence
10086 - Issue #11174: Add argparse.MetavarTypeHelpFormatter, which uses type names
10089 - Issue #9348: Raise an early error if argparse nargs and metavar don't match.
10091 - Issue #9026: Fix order of argparse sub-commands in help messages.
10093 - Issue #9347: Fix formatting for tuples in argparse type= error messages.
10095 - Issue #12191: Added shutil.chown() to change user and/or group owner of a
10098 - Issue #13988: The _elementtree accelerator is used whenever available.
10102 -----
10104 - Issue #6807: Run msisupport.mak earlier.
10106 - Issue #10580: Minor grammar change in Windows installer.
10108 - Issue #13326: Clean __pycache__ directories correctly on OpenBSD.
10110 - PEP 393: the configure option --with-wide-unicode is removed.
10112 - Issue #12852: Set _XOPEN_SOURCE to 700, instead of 600, to get POSIX 2008
10115 - Issue #11863: Remove support for legacy systems deprecated in Python 3.2
10119 - Issue #8746: Correct faulty configure checks so that os.chflags() and
10124 - Issue #10645: Installing Python no longer creates a
10125 Python-X.Y.Z-pyX.Y.egg-info file in the lib-dynload directory.
10127 - Do not accidentally include the directory containing sqlite.h twice when
10130 - Issue #11217: For 64-bit/32-bit Mac OS X universal framework builds,
10131 ensure "make install" creates symlinks in --prefix bin for the "-32"
10134 - Issue #11347: Use --no-as-needed when linking libpython3.so.
10136 - Issue #11411: Fix 'make DESTDIR=' with a relative destination.
10138 - Issue #11268: Prevent Mac OS X Installer failure if Documentation
10141 - Issue #11495: OSF support is eliminated. It was deprecated in Python 3.2.
10144 ----
10146 - Issue #14409: IDLE now properly executes commands in the Shell window
10148 has to use the built-in default key bindings.
10151 - IDLE can be launched as python -m idlelib
10153 - Issue #3573: IDLE hangs when passing invalid command line args
10156 - Issue #14200: IDLE shell crash on printing non-BMP unicode character.
10158 - Issue #5219: Prevent event handler cascade in IDLE.
10160 - Issue #964437: Make IDLE help window non-modal.
10163 - Issue #13933: IDLE auto-complete did not work with some imported
10166 - Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell.
10169 - Issue #4625: If IDLE cannot write to its recent file or breakpoint files,
10173 - Issue #8641: Update IDLE 3 syntax coloring to recognize b".." and not u"..".
10176 - Issue #13296: Fix IDLE to clear compile __future__ flags on shell restart.
10179 - Issue #9871: Prevent IDLE 3 crash when given byte stings
10183 - Issue #12636: IDLE reads the coding cookie when executing a Python script.
10185 - Issue #12540: Prevent zombie IDLE processes on Windows due to changes
10188 - Issue #12590: IDLE editor window now always displays the first line
10191 - Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSX
10194 - Issue #1028: Tk returns invalid Unicode null in %A: UnicodeDecodeError.
10198 - Issue #11718: IDLE's open module dialog couldn't find the __init__.py
10202 -----------
10204 - Issue #14053: patchcheck.py ("make patchcheck") now works with MQ patches.
10207 - Issue #13930: 2to3 is now able to write its converted output files to another
10209 suffix. See its new -o, -W and --add-suffix options. This makes it more
10212 - Issue #13628: python-gdb.py is now able to retrieve more frames in the Python
10215 - Issue #11996: libpython (gdb), replace "py-bt" command by "py-bt-full" and
10216 add a smarter "py-bt" command printing a classic Python traceback.
10218 - Issue #11179: Make ccbench work under Python 3.1 and 2.7 again.
10220 - Issue #10639: reindent.py no longer converts newlines and will raise
10222 "--newline" option added to specify new line character.
10225 -----------------
10227 - Issue #16847: Fixed improper use of _PyUnicode_CheckConsistency() in
10228 non-pydebug builds. Several extension modules now compile cleanly when
10229 assert()s are enabled in standard builds (-DDEBUG flag).
10231 - Issue #13840: The error message produced by ctypes.create_string_buffer
10234 - Issue #9975: socket: Fix incorrect use of flowinfo and scope_id. Patch by
10237 - Issue #7777: socket: Add Reliable Datagram Sockets (PF_RDS) support.
10239 - Issue #13159: FileIO and BZ2Compressor/BZ2Decompressor now use a linear-time
10240 buffer growth strategy instead of a quadratic-time one.
10242 - Issue #10141: socket: Add SocketCAN (PF_CAN) support. Initial patch by
10245 - Issue #13070: Fix a crash when a TextIOWrapper caught in a reference cycle
10249 - Issue #12881: ctypes: Fix segfault with large structure field names.
10251 - Issue #13058: ossaudiodev: fix a file descriptor leak on error. Patch by
10254 - Issue #13013: ctypes: Fix a reference leak in PyCArrayType_from_ctype.
10257 - Issue #13022: Fix: _multiprocessing.recvfd() doesn't check that
10260 - Issue #1172711: Add 'long long' support to the array module.
10263 - Issue #12483: ctypes: Fix a crash when the destruction of a callback
10266 - Issue #12950: Fix passing file descriptors in multiprocessing, under
10269 - Issue #12764: Fix a crash in ctypes when the name of a Structure field is not
10272 - Issue #11241: subclasses of ctypes.Array can now be subclassed.
10274 - Issue #9651: Fix a crash when ctypes.create_string_buffer(0) was passed to
10277 - Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper
10281 - Issue #12051: Fix segfault in json.dumps() while encoding highly-nested
10284 - Issue #12017: Fix segfault in json.loads() while decoding highly-nested
10287 - Issue #1838: Prevent segfault in ctypes, when _as_parameter_ on a class is set
10291 -----
10293 - Issue #13125: Silence spurious test_lib2to3 output when in non-verbose mode.
10296 - Issue #13447: Add a test file to host regression tests for bugs in the
10299 - Issue #10881: Fix test_site failure with OS X framework builds.
10301 - Issue #13901: Prevent test_distutils failures on OS X with --enable-shared.
10303 - Issue #13862: Fix spurious failure in test_zlib due to runtime/compile time
10306 - Issue #12804: Fix test_socket and test_urllib2net failures when running tests
10309 - Issue #13726: Fix the ambiguous -S flag in regrtest. It is -o/--slow for slow
10312 - Issue #11659: Fix ResourceWarning in test_subprocess introduced by #11459.
10315 - Issue #11577: fix ResourceWarning triggered by improved binhex test coverage
10317 - Issue #11509: Significantly increase test coverage of fileinput.
10320 - Issue #11689: Fix a variable scoping error in an sqlite3 test
10322 - Issue #13786: Remove unimplemented 'trace' long option from regrtest.py.
10324 - Issue #13725: Fix regrtest to recognize the documented -d flag.
10327 - Issue #13304: Skip test case if user site-packages disabled (-s or
10330 - Issue #5661: Add a test for ECONNRESET/EPIPE handling to test_asyncore. Patch
10333 - Issue #13218: Fix test_ssl failures on Debian/Ubuntu.
10335 - Re-enable lib2to3's test_parser.py tests, though with an expected failure
10338 - Issue #12656: Add tests for IPv6 and Unix sockets to test_asyncore.
10340 - Issue #6484: Add unit tests for mailcap module (patch by Gregory Nofi)
10342 - Issue #11651: Improve the Makefile test targets to run more of the test suite
10343 more quickly. The --multiprocess option is now enabled by default, reducing
10345 now include some resource-intensive tests, but no longer run the test suite
10347 an easy platform-independent way to run test suite with sensible defaults.
10349 - Issue #12331: The test suite for the packaging module can now run from an
10352 - Issue #12331: The test suite for lib2to3 can now run from an installed
10355 - Issue #12626: In regrtest, allow filtering tests using a glob filter
10356 with the ``-m`` (or ``--match``) option. This works with all test cases
10360 - Issue #12624: It is now possible to fail after the first failure when
10361 running in verbose mode (``-v`` or ``-W``), by using the ``--failfast``
10362 (or ``-G``) option to regrtest. This is useful with long test suites
10365 - Issue #12587: Correct faulty test file and reference in test_tokenize.
10368 - Issue #12573: Add resource checks for dangling Thread and Process objects.
10370 - Issue #12549: Correct test_platform to not fail when OS X returns 'x86_64'
10373 - Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary
10376 - Issue #11812: Solve transient socket failure to connect to 'localhost'
10379 - Solved a potential deadlock in test_telnetlib.py. Related to issue #11812.
10381 - Avoid failing in test_robotparser when mueblesmoraleda.com is flaky and
10385 - Avoid failing in test_urllibnet.test_bad_address when some overzealous
10386 DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test
10389 - Issue #12440: When testing whether some bits in SSLContext.options can be
10393 - Issue #11512: Add a test suite for the cgitb module. Patch by Robbie Clemons.
10395 - Issue #12497: Install test/data to prevent failures of the various codecmaps
10398 - Issue #12496: Install test/capath directory to prevent test_connect_capath
10401 - Issue #12469: Run wakeup and pending signal tests in a subprocess to run the
10405 - Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to run
10409 - Issue #12407: Explicitly skip test_capi.EmbeddingTest under Windows.
10411 - Issue #12400: regrtest -W doesn't rerun the tests twice anymore, but captures
10412 the output and displays it on failure instead. regrtest -v doesn't print the
10415 - Issue #12141: Install copies of template C module file so that
10420 - Issue #8746: Add additional tests for os.chflags() and os.lchflags().
10423 - Issue #10736: Fix test_ttk test_widgets failures with Cocoa Tk 8.5.9
10426 - Issue #12057: Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2,
10429 - Issue #12096: Fix a race condition in test_threading.test_waitfor(). Patch
10430 written by Charles-François Natali.
10432 - Issue #11614: import __hello__ prints "Hello World!". Patch written by
10435 - Issue #5723: Improve json tests to be executed with and without accelerations.
10437 - Issue #12041: Make test_wait3 more robust.
10439 - Issue #11873: Change regex in test_compileall to fix occasional failures when
10442 - Issue #11958: Fix FTP tests for IPv6, bind to "::1" instead of "localhost".
10443 Patch written by Charles-Francois Natali.
10445 - Issue #8407, #11859: Fix tests of test_io using threads and an alarm: use
10449 - Issue #11811: Factor out detection of IPv6 support on the current host
10451 Charles-François Natali.
10453 - Issue #10914: Add a minimal embedding test to test_capi.
10455 - Issue #11223: Skip test_lock_acquire_interruption() and
10456 test_rlock_acquire_interruption() of test_threadsignals if a thread lock is
10461 - Issue #11790: Fix sporadic failures in test_multiprocessing.WithProcessesTestCondition.
10463 - Fix possible "file already exists" error when running the tests in parallel.
10465 - Issue #11719: Fix message about unexpected test_msilib skip on non-Windows
10468 - Issue #11727: Add a --timeout option to regrtest: if a test takes more than
10471 - Issue #11653: fix -W with -j in regrtest.
10473 - The email test suite now lives in the Lib/test/test_email package. The test
10476 - regrtest now discovers test packages as well as test modules.
10478 - Issue #11577: improve test coverage of binhex.py. Patch by Arkady Koplyarov.
10480 - New test_crashers added to exercise the scripts in the Lib/test/crashers
10483 - Issue #11578: added test for the timeit module. Patch by Michael Henry.
10485 - Issue #11503: improve test coverage of posixpath.py. Patch by Evan Dandrea.
10487 - Issue #11505: improves test coverage of string.py, increases granularity of
10490 - Issue #11548: Improve test coverage of the shutil module. Patch by
10493 - Issue #11554: Reactivated test_email_codecs.
10495 - Issue #11505: improves test coverage of string.py. Patch by Alicia
10498 - Issue #11490: test_subprocess.test_leaking_fds_on_error no longer gives a
10501 - Issue #11223: Fix test_threadsignals to fail, not hang, when the
10502 non-semaphore implementation of locks is used under POSIX.
10504 - Issue #10911: Add tests on CGI with non-ASCII characters. Patch written by
10507 - Issue #9931: Fix hangs in GUI tests under Windows in certain conditions.
10510 - Issue #10512: Properly close sockets under test.test_cgi.
10512 - Issue #10992: Make tests pass under coverage.
10514 - Issue #10826: Prevent sporadic failure in test_subprocess on Solaris due
10517 - Issue #10990: Prevent tests from clobbering a set trace function.
10519 C-API
10520 -----
10522 - Issue #13452: PyUnicode_EncodeDecimal() doesn't support error handlers
10526 - Issue #13560: Add PyUnicode_DecodeLocale(), PyUnicode_DecodeLocaleAndSize()
10530 - Issue #10831: PyUnicode_FromFormat() supports %li, %lli and %zi formats.
10532 - Issue #11246: Fix PyUnicode_FromFormat("%V") to decode the byte string from
10533 UTF-8 (with replace error handler) instead of ISO-8859-1 (in strict mode).
10536 - Issue #10830: Fix PyUnicode_FromFormatV("%c") for non-BMP characters on
10539 - Add PyObject_GenericGetDict and PyObject_GeneriSetDict. They are generic
10543 - Issue #13727: Add 3 macros to access PyDateTime_Delta members:
10547 - Issue #10542: Add 4 macros to work with surrogates: Py_UNICODE_IS_SURROGATE,
10551 - Issue #12724: Add Py_RETURN_NOTIMPLEMENTED macro for returning NotImplemented.
10553 - PY_PATCHLEVEL_REVISION has been removed, since it's meaningless with
10556 - Issue #12173: The first argument of PyImport_ImportModuleLevel is now `const
10559 - Issue #12380: PyArg_ParseTuple now accepts a bytearray for the 'c' format.
10562 -------------
10564 - Issue #13989: Document that GzipFile does not support text mode, and give a
10567 - Issue #13921: Undocument and clean up sqlite3.OptimizedUnicode,
10571 - Issue #12102: Document that buffered files must be flushed before being used
10574 - Issue #8982: Improve the documentation for the argparse Namespace object.
10576 - Issue #9343: Document that argparse parent parsers must be configured before
10579 - Issue #13498: Clarify docs of os.makedirs()'s exist_ok argument. Done with
10580 great native-speaker help from R. David Murray.
10582 - Issues #13491 and #13995: Fix many errors in sqlite3 documentation.
10585 - Issue #13402: Document absoluteness of sys.executable.
10587 - Issue #13883: PYTHONCASEOK also works on OS X.
10589 - Issue #9021: Add an introduction to the copy module documentation.
10591 - Issue #6005: Examples in the socket library documentation use sendall, where
10594 - Issue #12798: Updated the mimetypes documentation.
10596 - Issue #12949: Document the kwonlyargcount argument for the PyCode_New
10599 - Issue #13513: Fix io.IOBase documentation to correctly link to the
10602 - Issue #13237: Reorganise subprocess documentation to emphasise convenience
10605 - Issue #13141: Demonstrate recommended style for socketserver examples.
10607 - Issue #11818: Fix tempfile examples for Python 3.
10613 *Release date: 20-Feb-2011*
10616 -----------------
10618 - Issue #11249: Fix potential crashes when using the limited API.
10621 -----
10623 - Issue #11222: Fix non-framework shared library build on Mac OS X.
10625 - Issue #11184: Fix large-file support on AIX.
10627 - Issue #941346: Fix broken shared library build on AIX.
10630 -------------
10632 - Issue #10709: Add updated AIX notes in Misc/README.AIX.
10638 *Release date: 13-Feb-2011*
10641 -----------------
10643 - Issue #11134: Add missing fields to typeslots.h.
10645 - Issue #11135: Remove redundant doc field from PyType_Spec.
10647 - Issue #11067: Add PyType_GetFlags, to support PyUnicode_Check in the limited
10650 - Issue #11118: Fix bogus export of None in python3.dll.
10653 -------
10655 - Issue #11116: any error during addition of a message to a mailbox now causes a
10658 - Issue #11132: Fix passing of "optimize" parameter when recursing in
10661 - Issue #11110: Fix a potential decref of a NULL in sqlite3.
10663 - Issue #8275: Fix passing of callback arguments with ctypes under Win64. Patch
10667 -----
10669 - Issue #11079: The /Applications/Python x.x folder created by the Mac OS X
10674 - Issue #11121: Fix building with --enable-shared.
10677 -----
10679 - Issue #10971: test_zipimport_support is once again compatible with the refleak
10686 *Release date: 30-Jan-2011*
10689 -----------------
10691 - Issue #10451: memoryview objects could allow mutating a readable buffer.
10695 -------
10697 - Issue #9124: mailbox now accepts binary input and reads and writes mailbox
10700 and string input fails early if non-ASCII characters are used, where
10703 - Issue #10845: Mitigate the incompatibility between the multiprocessing
10707 - Issue #11045: Protect logging call against None argument.
10709 - Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save
10712 - Issue #11053: Fix IDLE "Syntax Error" windows to behave as in 2.x,
10716 - Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the
10720 - Issue #10989: Fix a crash on SSLContext.load_verify_locations(None, True).
10722 - Issue #11020: Command-line pyclbr was broken because of missing 2-to-3
10725 - Issue #11019: Fixed BytesGenerator so that it correctly handles a Message
10728 - Issue #11014: Make 'filter' argument in tarfile.Tarfile.add() into a
10729 keyword-only argument. The preceding positional argument was deprecated,
10732 - Issue #11004: Repaired edge case in deque.count().
10734 - Issue #10974: IDLE no longer crashes if its recent files list includes files
10735 with non-ASCII characters in their path names.
10737 - Have hashlib.algorithms_available and hashlib.algorithms_guaranteed both
10740 - Issue #10987: Fix the recursion limit handling in the _pickle module.
10742 - Issue #10983: Fix several bugs making tunnel requests in http.client.
10744 - Issue #10955: zipimport uses ASCII encoding instead of cp437 to decode
10746 possible to have non-ASCII filenames using the Unicode flag (UTF-8 encoding)
10749 - Issue #10949: Improved robustness of rotating file handlers.
10751 - Issue #10955: Fix a potential crash when trying to mmap() a file past its
10754 - Issue #10898: Allow compiling the posix module when the C library defines
10757 - Issue #10980: the HTTP server now encodes headers with iso-8859-1 (latin1)
10761 - To match the behaviour of HTTP server, the HTTP client library now also
10762 encodes headers with iso-8859-1 (latin1) encoding. It was already doing
10766 - Issue #9509: argparse now properly handles IOErrors raised by
10769 - Issue #10961: The new pydoc server now better handles exceptions raised
10772 - Issue #10680: Fix mutually exclusive arguments for argument groups in
10776 -----
10778 - Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
10779 the system-provided Python.
10785 *Release date: 16-Jan-2011*
10788 -----------------
10790 - Issue #10889: range indexing and slicing now works correctly on ranges with
10793 - Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
10796 - Issue #8020: Avoid a crash where the small objects allocator would read
10797 non-Python managed memory while it is being modified by another thread. Patch
10800 - Issue #10841: On Windows, set the binary mode on stdin, stdout, stderr and all
10804 - Remove buffer API from stable ABI for now, see #10181.
10806 - Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
10808 (length bigger than 2^31-1 bytes).
10810 - Issue #9015, #9611: FileIO.readinto(), FileIO.write(), os.write() and
10813 - Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
10816 - Issue #10780: PyErr_SetFromWindowsErrWithFilename() and
10818 filesystem encoding instead of UTF-8.
10820 - Issue #10779: PyErr_WarnExplicit() decodes the filename from the filesystem
10821 encoding instead of UTF-8.
10823 - Add sys.flags attribute for the new -q command-line option.
10825 - Issue #11506: Trying to assign to a bytes literal should result in a
10829 -------
10831 - Issue #10916: mmap should not segfault when a file is mapped using 0 as length
10832 and a non-zero offset, and an attempt to read past the end of file is made
10835 - Issue #10154, #10090: change the normalization of UTF-8 to "UTF-8" instead
10838 - Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather
10839 than the currently problematic Apple-supplied one, when running with the
10840 64-/32-bit installer variant.
10842 - Issue #4953: cgi.FieldStorage and cgi.parse() parse the request as bytes, not
10847 - Add encoding and errors arguments to urllib.parse_qs() and urllib.parse_qsl().
10849 - Issue #10899: No function type annotations in the standard library. Removed
10852 - Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'.
10854 - Issue #10872: The repr() of TextIOWrapper objects now includes the mode
10857 - Issue #10869: Fixed bug where ast.increment_lineno modified the root node
10860 - Issue #5871: email.header.Header.encode now raises an error if any
10866 - Issue #10859: Make ``contextlib.GeneratorContextManager`` officially
10869 - Issue #10042: Fixed the total_ordering decorator to handle cross-type
10872 - Issue #10686: the email package now :rfc:`2047`\ -encodes headers with
10873 non-ASCII bytes (parsed by a BytesParser) when doing conversion to 7bit-clean
10876 - email.header.Header was incorrectly encoding folding whitespace when
10877 rfc2047-encoding header values with embedded newlines, leaving them without
10881 - Issue #1777412, #10827: Changed the rules for 2-digit years. The
10886 the range [1; 9999]. Conversion of 2-digit years to 4-digit is deprecated.
10888 - Issue #7858: Raise an error properly when os.utime() fails under Windows
10891 - Issue #3839: wsgiref should not override a Content-Length header set by
10894 - Issue #10492: bdb.Bdb.run() only traces the execution of the code, not the
10897 - Issue #7995: When calling accept() on a socket with a timeout, the returned
10900 - Issue #10756: atexit normalizes the exception before displaying it. Patch by
10903 - Issue #10790: email.header.Header.append's charset logic now works correctly
10906 - Issue #10819: SocketIO.name property returns -1 when its closed, instead of
10909 - Issue #8650: zlib.compress() and zlib.decompress() raise an OverflowError if
10911 2^32-1 bytes).
10913 - Issue #6643: Reinitialize locks held within the threading module after fork to
10916 - Issue #10806, issue #9905: Fix subprocess pipes when some of the standard file
10920 - `unittest.TestCase` can be instantiated without a method name; for simpler
10923 - Issue #10798: Reject supporting concurrent.futures if the system has too
10926 - Issue #10807: Remove base64, bz2, hex, quopri, rot13, uu and zlib codecs from
10929 - Issue #10801: In zipfile, support different encodings for the header and the
10932 - Issue #6285: IDLE no longer crashes on missing help file; patch by Scott
10935 - Fix collections.OrderedDict.setdefault() so that it works in subclasses that
10938 - Issue #10786: unittest.TextTestRunner default stream no longer bound at import
10942 - Issue #10753: Characters ';', '=' and ',' in the PATH_INFO environment variable
10947 - Issue #10738: Fix webbrowser.Opera.raise_opts.
10949 - Issue #9824: SimpleCookie now encodes , and ; in values to cater to how
10952 - Issue #9333: os.symlink now available regardless of user privileges. The
10956 - Issue #10783: struct.pack() no longer implicitly encodes unicode to UTF-8.
10958 - Issue #10730: Add SVG mime types to mimetypes module.
10960 - Issue #10768: Make the Tkinter ScrolledText widget work again.
10962 - Issue #10777: Fix "dictionary changed size during iteration" bug in
10965 - Issue #10626: test_logging now preserves logger disabled states.
10967 - Issue #10774: test_logging now removes temp files created during tests.
10969 - Issue #5258/#10642: if site.py encounters a .pth file that generates an error,
10973 - Issue #10763: subprocess.communicate() closes stdout and stderr if both are
10976 - Issue #1693546: fix email.message RFC 2231 parameter encoding to be in better
10979 - Improved the diff message in the unittest module's assertCountEqual().
10981 - Issue #1155362: email.utils.parsedate_tz now handles a missing space before
10982 the '-' of a timezone field as well as before a '+'.
10984 - Issue #4871: The zipfile module now gives a more useful error message if
10987 - Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only.
10989 - Deprecated assertDictContainsSubset() in the unittest module.
10991 C-API
10992 -----
10994 - PyObject_CallMethod now passes along any underlying AttributeError from
10997 - Issue #10913: Deprecate misleading functions PyEval_AcquireLock() and
10998 PyEval_ReleaseLock(). The thread-state aware APIs should be used instead.
11000 - Issue #10333: Remove ancient GC API, which has been deprecated since Python
11004 -----
11006 - Issue #10843: Update third-party library versions used in OS X 32-bit
11008 and RTREE enabled), and ncursesw 5.5 (wide-char support enabled).
11010 - Issue #10820: Fix OS X framework installs to support version-specific
11013 - Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in
11016 - Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
11019 - Issue #10679: The "idle", "pydoc" and "2to3" scripts are now installed with
11020 a version-specific suffix on "make altinstall".
11022 - Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
11023 timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
11027 - Issue #1099: Fix the build on MacOSX when building a framework with pydebug
11031 -----------
11033 - Issue #10843: Install the Tools directory on OS X in the applications Extras
11037 - Issue #7962: The Demo directory is gone. Most of the old and unmaintained
11041 - Issue #10502: Addition of the unittestgui tool. Originally by Steve Purcell.
11046 -----
11048 - Issue #11910: Fix test_heapq to skip the C tests when _heapq is missing.
11050 - Fix test_startfile to wait for child process to terminate before finishing.
11052 - Issue #10822: Fix test_posix:test_getgroups failure under Solaris. Patch
11055 - Make the --coverage flag work for test.regrtest.
11057 - Issue #1677694: Refactor and improve test_timeout. Original patch by
11060 - Issue #5485: Add tests for the UseForeignDTD method of expat parser objects.
11061 Patch by Jean-Paul Calderone and Sandro Tosi.
11063 - Issue #6293: Have regrtest.py echo back sys.flags. This is done by default in
11064 whole runs and enabled selectively using ``--header`` when running an explicit
11071 *Release date: 19-Dec-2010*
11074 -----------------
11076 - Issue #8844: Regular and recursive lock acquisitions can now be interrupted
11079 - Issue #4236: PyModule_Create2 now checks the import machinery directly
11083 - Issue #5587: add a repr to dict_proxy objects. Patch by David Stanek and
11087 -------
11089 - Issue #3243: Support iterable bodies in httplib. Patch Contributions by
11092 - Issue #10611: SystemExit exception will no longer kill a unittest run.
11094 - Issue #9857: It is now possible to skip a test in a setUp, tearDown or clean
11097 - Issue #10573: use actual/expected consistently in unittest methods.
11100 - Issue #9286: email.utils.parseaddr no longer concatenates blank-separated
11103 - Issue #6791: Limit header line length (to 65535 bytes) in http.client
11106 - Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle.
11108 - Issue #9907: Fix tab handling on OSX when using editline by calling
11111 - Issue #4188: Avoid creating dummy thread objects when logging operations
11114 - Issue #10711: Remove HTTP 0.9 support from http.client. The ``strict``
11117 - Issue #9721: Fix the behavior of urljoin when the relative url starts with a
11120 - Issue #10714: Limit length of incoming request in http.server to 65536 bytes
11123 - Issue #9558: Fix distutils.command.build_ext with VS 8.0.
11125 - Issue #10667: Fast path for collections.Counter().
11127 - Issue #10695: passing the port as a string value to telnetlib no longer
11130 - Issue #1078919: add_header now automatically RFC2231 encodes parameters
11131 that contain non-ascii values.
11133 - Issue #10188 (partial resolution): tempfile.TemporaryDirectory emits
11139 - Issue #10107: Warn about unsaved files in IDLE on OSX.
11141 - Issue #7213: subprocess.Popen's default for close_fds has been changed.
11145 - Issue #6559: subprocess.Popen has a new pass_fds parameter (actually
11149 - Issue #1731717: Fixed the problem where subprocess.wait() could cause an
11154 -----
11156 - Issue #775964: test_grp now skips YP/NIS entries instead of failing when
11160 -----------
11162 - Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk and
11165 - Issue #10710: ``Misc/setuid-prog.c`` is removed from the source tree.
11167 - Issue #10706: Remove outdated script runtests.sh. Either ``make test``
11168 or ``python -m test`` should be used instead.
11171 -----
11173 - The Windows build now uses Tcl/Tk 8.5.9 and sqlite3 3.7.4.
11175 - Issue #9234: argparse supports alias names for subparsers.
11181 *Release date: 05-Dec-2010*
11184 -----------------
11186 - Issue #10630: Return dict views from the dict proxy keys()/values()/items()
11189 - Issue #10596: Fix float.__mod__ to have the same behaviour as float.__divmod__
11190 with respect to signed zeros. -4.0 % 4.0 should be 0.0, not -0.0.
11192 - Issue #1772833: Add the -q command-line option to suppress copyright and
11195 - Provide an *optimize* parameter in the built-in compile() function.
11197 - Fixed several corner case issues on Windows in os.stat/os.lstat related to
11200 - PEP 384 (Defining a Stable ABI) is implemented.
11202 - Issue #2690: Range objects support negative indices and slicing.
11204 - Issue #9915: Speed up sorting with a key.
11206 - Issue #8685: Speed up set difference ``a - b`` when source set ``a`` is much
11209 - Issue #10518: Bring back the callable() builtin.
11211 - Issue #7094: Added alternate formatting (specified by '#') to ``__format__``
11215 - Issue #10474: range.count() should return integers.
11217 - Issue #1574217: isinstance now catches only AttributeError, rather than
11221 -------
11223 - logging: added "handler of last resort". See http://bit.ly/last-resort-handler
11225 - test.support: Added TestHandler and Matcher classes for better support of
11228 - Issue #4391: Use proper plural forms in argparse.
11230 - Issue #10601: sys.displayhook uses 'backslashreplace' error handler on
11233 - Add the "display" and "undisplay" pdb commands.
11235 - Issue #7245: Add a SIGINT handler in pdb that allows breaking a program again
11238 - Add the "interact" pdb command.
11240 - Issue #7905: Actually respect the keyencoding parameter to shelve.Shelf.
11242 - Issue #1569291: Speed up array.repeat().
11244 - Provide an interface to set the optimization level of compilation in
11247 - Issue #7904: Changes to urllib.parse.urlsplit to handle schemes as defined by
11251 - Issue #6045: dbm.gnu databases now support get() and setdefault() methods.
11253 - Issue #10620: `python -m unittest` can accept file paths instead of module
11256 - Issue #9424: Deprecate the `unittest.TestCase` methods `assertEquals`,
11260 - Issue #10272: The ssl module now raises socket.timeout instead of a generic
11263 - Issue #10528: Allow translators to reorder placeholders in localizable
11266 - Issue #10497: Fix incorrect use of gettext in argparse.
11268 - Issue #10478: Reentrant calls inside buffered IO objects (for example by
11272 - logging: Added getLogRecordFactory/setLogRecordFactory with docs and tests.
11274 - Issue #10549: Fix pydoc traceback when text-documenting certain classes.
11276 - Issue #2001: New HTML server with enhanced Web page features. Patch by Ron
11279 - Issue #10360: In WeakSet, do not raise TypeErrors when testing for membership
11280 of non-weakrefable objects.
11282 - Issue #940286: pydoc.Helper.help() ignores input/output init parameters.
11284 - Issue #1745035: Add a command size and data size limit to smtpd.py, to prevent
11287 - Issue #4925: Add filename to error message when executable can't be found in
11290 - Issue #10391: Don't dereference invalid memory in error messages in the ast
11293 - Issue #10027: st_nlink was not being set on Windows calls to os.stat or
11296 - Issue #9333: Expose os.symlink only when the SeCreateSymbolicLinkPrivilege is
11299 - Issue #8879: Add os.link support for Windows.
11301 - Issue #7911: ``unittest.TestCase.longMessage`` defaults to True for improved
11304 - Issue #1486713: HTMLParser now has an optional tolerant mode where it tries to
11307 - Issue #10554: Add context management protocol support to subprocess.Popen objects.
11309 - Issue #8989: email.utils.make_msgid now has a domain parameter that can
11312 - Issue #9299: Add exist_ok parameter to os.makedirs to suppress the 'File
11316 - Issue #9573: os.fork() now works correctly when triggered as a side effect of
11319 - Issue #10464: netrc now correctly handles lines with embedded '#' characters.
11321 - Added itertools.accumulate().
11323 - Issue #4113: Added custom ``__repr__`` method to ``functools.partial``.
11326 - Issue #10273: Rename `assertRegexpMatches` and `assertRaisesRegexp` to
11329 - Issue #10535: Enable silenced warnings in unittest by default.
11331 - Issue #9873: The URL parsing functions in urllib.parse now accept ASCII byte
11334 - Issue #10586: The statistics API for the new functools.lru_cache has been
11337 - Issue #10323: itertools.islice() now consumes the minimum number of inputs
11341 - Issue #10565: The collections.Iterator ABC now checks for both __iter__ and
11344 - Issue #10242: Fixed implementation of unittest.ItemsEqual and gave it a new
11347 - Issue #10561: In pdb, clear the breakpoints by the breakpoint number.
11349 - Issue #2986: difflib.SequenceMatcher gets a new parameter, autojunk, which can
11353 - Issue #10534: in difflib, expose bjunk and bpopular sets; deprecate
11356 - Issue #9846: zipfile is now correctly closing underlying file objects.
11358 - Issue #10459: Update CJK character names to Unicode 6.0.
11360 - Issue #4493: urllib.request adds '/' in front of path components which does not
11363 - Issue #6378: idle.bat now runs with the appropriate Python version rather than
11366 - Issue #10470: 'python -m unittest' will now run test discovery by default,
11369 - Issue #3709: BaseHTTPRequestHandler will buffer the headers and write to
11373 - Issue #10220: Added inspect.getgeneratorstate. Initial patch by Rodolpho
11376 - Issue #10453: compileall now uses argparse instead of getopt, and thus
11377 provides clean output when called with '-h'.
11379 - Issue #8078: Add constants for higher baud rates in the termios module. Patch
11382 - Issue #10407: Fix two NameErrors in distutils.
11384 - Issue #10371: Deprecated undocumented functions in the trace module.
11386 - Issue #10467: Fix BytesIO.readinto() after seeking into a position after the
11389 - configparser: 100% test coverage.
11391 - Issue #10499: configparser supports pluggable interpolation handlers. The
11396 - configparser: the SafeConfigParser class has been renamed to ConfigParser.
11400 - configparser: Usage of RawConfigParser is now discouraged for new projects
11403 - Issue #1682942: configparser supports alternative option/value delimiters.
11405 - Issue #5412: configparser supports mapping protocol access.
11407 - Issue #9411: configparser supports specifying encoding for read operations.
11409 - Issue #9421: configparser's getint(), getfloat() and getboolean() methods
11412 - Issue #9452: configparser supports reading from strings and dictionaries
11416 - configparser: accepted INI file structure is now customizable, including
11420 - Issue #10326: unittest.TestCase instances can be pickled.
11422 - Issue #9926: Wrapped TestSuite subclass does not get __call__ executed.
11424 - Issue #9920: Skip tests for cmath.atan and cmath.atanh applied to complex
11428 - Issue #9732: Addition of getattr_static to the inspect module.
11430 - Issue #10446: Module documentation generated by pydoc now links to a
11431 version-specific online reference manual.
11433 - Make the 'No module named' exception message from importlib consistent.
11435 - Issue #10443: Add the SSLContext.set_default_verify_paths() method.
11437 - Issue #10440: Support RUSAGE_THREAD as a constant in the resource module.
11440 - Issue #10429: IMAP.starttls() stored the capabilities as bytes objects, rather
11443 C-API
11444 -----
11446 - Issue #10557: Added a new API function, PyUnicode_TransformDecimalToASCII(),
11447 which transforms non-ASCII decimal digits in a Unicode string to their ASCII
11450 - Issue #9518: Extend the PyModuleDef_HEAD_INIT macro to explicitly
11451 zero-initialize all fields, fixing compiler warnings seen when building
11452 extension modules with gcc with "-Wmissing-field-initializers" (implied by
11453 "-W").
11455 - Issue #10255: Fix reference leak in Py_InitializeEx(). Patch by Neil
11458 - structseq.h is now included in Python.h.
11460 - Loosen PyArg_ValidateKeywordArguments to allow dict subclasses.
11463 -----
11465 - regrtest.py once again ensures the test directory is removed from sys.path
11468 - `python -m test` can be used to run the test suite as well as `python -m
11471 - Do not fail test_socket when the IP address of the local hostname cannot be
11474 - Issue #8886: Use context managers throughout test_zipfile. Patch by Eric
11478 -----
11480 - Issue #10325: Fix two issues in the fallback definitions for PY_ULLONG_MAX and
11484 -------------
11486 - Issue #10299: List the built-in functions in a table in functions.rst.
11492 *Release date: 13-Nov-2010*
11495 -----------------
11497 - Issue #10372: Import the warnings module only after the IO library is
11498 initialized, so as to avoid bootstrap issues with the '-W' option.
11500 - Issue #10293: Remove obsolete field in the PyMemoryView structure, unused
11501 undocumented value PyBUF_SHADOW, and strangely-looking code in
11504 - Issue #6081: Add str.format_map(), similar to ``str.format(**mapping)``.
11506 - If FileIO.__init__ fails, close the file descriptor.
11508 - Issue #10221: dict.pop(k) now has a key error message that includes the
11511 - Issue #5437: A preallocated MemoryError instance should not keep traceback
11514 - Issue #10186: Fix the SyntaxError caret when the offset is equal to the length
11517 - Issue #10089: Add support for arbitrary -X options on the command line. They
11520 - Issue #4388: On Mac OS X, decode command line arguments from UTF-8, instead of
11522 variable is not set, the locale encoding is ISO-8859-1, whereas most programs
11523 (including Python) expect UTF-8. Python already uses UTF-8 for the filesystem
11526 - Issue #9713, #10114: Parser functions (e.g. PyParser_ASTFromFile) expect
11528 handler (to support undecodable bytes), instead of UTF-8 in strict mode.
11530 - Issue #9997: Don't let the name "top" have special significance in scope
11533 - Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding its value as
11536 - Use locale encoding instead of UTF-8 to encode and decode filenames if
11539 - Issue #10095: fp_setreadl() doesn't reopen the file, instead reuse the file
11542 - Issue #9418: Moved private string methods ``_formatter_parser`` and
11545 - Issue #9992: Remove PYTHONFSENCODING environment variable.
11548 -------
11550 - Issue #12943: python -m tokenize support has been added to tokenize.
11552 - Issue #10465: fix broken delegating of attributes by gzip._PaddedFile.
11554 - Issue #10356: Decimal.__hash__(-1) should return -2.
11556 - Issue #1553375: logging: Added stack_info kwarg to display stack information.
11558 - Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.
11560 - Fix Fraction.__hash__ so that Fraction.__hash__(-1) is -2. (See also issue
11563 - Issue #4471: Add the IMAP.starttls() method to enable encryption on standard
11566 - Issue #1466065: Add 'validate' option to base64.b64decode to raise an error if
11567 there are non-base64 alphabet characters in the input.
11569 - Issue #10386: Add __all__ to token module; this simplifies importing in
11572 - Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by Lorenzo
11575 - Fix IMAP.login() to work properly.
11577 - Issue #9244: multiprocessing pool worker processes could terminate
11582 - Issue #9244: The ``apply_async()`` and ``map_async()`` methods of
11587 - Issue #10022: The dictionary returned by the ``getpeercert()`` method of SSL
11590 - ``usenetrc`` is now false by default for NNTP objects.
11592 - Issue #1926: Add support for NNTP over SSL on port 563, as well as STARTTLS.
11595 - Issue #10335: Add tokenize.open(), detect the file encoding using
11598 - Issue #10321: Add support for binary data to smtplib.SMTP.sendmail, and a new
11601 - Issue #6011: sysconfig and distutils.sysconfig use the surrogateescape error
11603 code directory name contains a non-ASCII character and the locale encoding is
11606 - Issue #10329: The trace module writes reports using the input Python script
11610 - Issue #10126: Fix distutils' test_build when Python was built with
11611 --enable-shared.
11613 - Issue #9281: Prevent race condition with mkdir in distutils. Patch by
11616 - Issue #10229: Fix caching error in gettext.
11618 - Issue #10252: Close file objects in a timely manner in distutils code and
11621 - Issue #10180: Pickling file objects is now explicitly forbidden, since
11624 - Issue #10311: The signal module now restores errno before returning from its
11625 low-level signal handler. Patch by Hallvard B Furuseth.
11627 - Issue #10282: Add a ``nntp_implementation`` attribute to NNTP objects.
11629 - Issue #10283: Add a ``group_pattern`` argument to NNTP.list().
11631 - Issue #10155: Add IISCGIHandler to wsgiref.handlers to support IIS CGI
11634 - Issue #10281: nntplib now returns None for absent fields in the OVER/XOVER
11637 - wsgiref now implements and validates PEP 3333, rather than an experimental
11639 incorrectly validated some non-compliant applications as WSGI compliant; if
11643 - Issue #10280: NNTP.nntp_version should reflect the highest version advertised
11646 - Issue #10184: Touch directories only once when extracting a tarfile.
11648 - Issue #10199: New package, ``turtledemo`` now contains selected demo scripts
11651 - Issue #10265: Close file objects explicitly in sunau. Patch by Brian Brazil.
11653 - Issue #10266: uu.decode didn't close in_file explicitly when it was given as a
11656 - Issue #10110: Queue objects didn't recognize full queues when the maxsize
11659 - Issue #10160: Speed up operator.attrgetter. Patch by Christos Georgiou.
11661 - logging: Added style option to basicConfig() to allow %, {} or $-formatting.
11663 - Issue #5729: json.dumps() now supports using a string such as '\t' for
11664 pretty-printing multilevel objects.
11666 - Issue #10253: FileIO leaks a file descriptor when trying to open a file for
11669 - Support context management protocol for file-like objects returned by mailbox
11672 - Issue #10246: uu.encode didn't close file objects explicitly when filenames
11675 - Issue #10198: fix duplicate header written to wave files when writeframes() is
11678 - Close file objects in modulefinder in a timely manner.
11680 - Close an io.TextIOWrapper object in email.parser in a timely manner.
11682 - Close a file object in distutils.sysconfig in a timely manner.
11684 - Close a file object in pkgutil in a timely manner.
11686 - Issue #10233: Close file objects in a timely manner in the tarfile module and
11689 - Issue #10093: ResourceWarnings are now issued when files and sockets are
11693 - tarfile.py: Add support for all missing variants of the GNU sparse extensions
11696 - Issue #10218: Return timeout status from ``Condition.wait`` in threading.
11698 - Issue #7351: Add ``zipfile.BadZipFile`` spelling of the exception name and
11701 - Issue #5027: The standard ``xml`` namespace is now understood by
11705 - Issue #5975: Add csv.unix_dialect class.
11707 - Issue #7761: telnetlib.interact failures on Windows fixed.
11709 - logging: Added style option to Formatter to allow %, {} or $-formatting.
11711 - Issue #5178: Added tempfile.TemporaryDirectory class that can be used as a
11714 - Issue #1349106: Generator (and BytesGenerator) flatten method and Header
11717 - Issue #5639: Add a *server_hostname* argument to ``SSLContext.wrap_socket`` in
11721 - Issue #10166: Avoid recursion in pstats Stats.add() for many stats items.
11723 - Issue #10163: Skip unreadable registry keys during mimetypes initialization.
11725 - logging: Made StreamHandler terminator configurable.
11727 - logging: Allowed filters to be just callables.
11729 - logging: Added tests for _logRecordClass changes.
11731 - Issue #10092: Properly reset locale in calendar.Locale*Calendar classes.
11733 - logging: Added _logRecordClass, getLogRecordClass, setLogRecordClass to
11736 - Issue #5117: Case normalization was needed on ntpath.relpath(). Also fixed
11740 - Issue #1343: xml.sax.saxutils.XMLGenerator now has an option
11741 short_empty_elements to direct it to use self-closing tags when appropriate.
11743 - Issue #9807 (part 1): Expose the ABI flags in sys.abiflags. Add --abiflags
11744 switch to python-config for command line access.
11746 - Issue #6098: Don't claim DOM level 3 conformance in minidom.
11748 - Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty
11751 - Issue #2830: Add the ``html.escape()`` function, which quotes all problematic
11754 - Issue #9409: Fix the regex to match all kind of filenames, for interactive
11757 - Issue #9183: ``datetime.timezone(datetime.timedelta(0))`` will now return the
11760 - Issue #7523: Add SOCK_CLOEXEC and SOCK_NONBLOCK to the socket module, where
11763 - Issue #10063: file:// scheme will stop accessing remote hosts via ftp
11768 - Issue #1710703: Write structures for an empty ZIP archive when a ZipFile is
11770 BadZipfile (rather than IOError) when opening small non-ZIP files.
11772 - Issue #10041: The signature of optional arguments in socket.makefile() didn't
11776 - Issue #9003: http.client.HTTPSConnection, urllib.request.HTTPSHandler and
11780 - Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if the
11783 - Issue #3873: Speed up unpickling from file objects that have a peek() method.
11785 - Issue #10075: Add a session_stats() method to SSLContext objects.
11787 - Issue #9948: Fixed problem of losing filename case information.
11790 -----------------
11792 - Issue #5109: array.array constructor will now use fast code when
11795 - Issue #6317: Now winsound.PlaySound only accepts unicode.
11797 - Issue #6317: Now winsound.PlaySound can accept non ascii filename.
11799 - Issue #9377: Use Unicode API for gethostname on Windows.
11801 - Issue #10143: Update "os.pathconf" values.
11803 - Issue #6518: Support context management protocol for ossaudiodev types.
11805 - Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
11807 - Issue #9054: Fix a crash occurring when using the pyexpat module with expat
11810 - Issue #5355: Provide mappings from Expat error numbers to string descriptions
11814 - The Unicode database was updated to 6.0.0.
11816 C-API
11817 -----
11819 - Issue #10288: The deprecated family of "char"-handling macros
11822 - Issue #9778: Hash values are now always the size of pointers. A new Py_hash_t
11826 -----------
11828 - Issue #10117: Tools/scripts/reindent.py now accepts source files that use
11829 encoding other than ASCII or UTF-8. Source encoding is preserved when
11832 - Issue #7287: Demo/imputil/knee.py was removed.
11835 -----
11837 - Issue #3699: Fix test_bigaddrspace and extend it to test bytestrings as well
11840 - Issue #10294: Remove dead code form test_unicode_file.
11842 - Issue #10123: Don't use non-ascii filenames in test_doctest tests. Add a new
11843 test specific to unicode (non-ascii name and filename).
11846 -----
11848 - Issue #10268: Add a --enable-loadable-sqlite-extensions option to configure.
11850 - Issue #8852: Allow the socket module to build on OpenSolaris.
11852 - Drop -OPT:Olimit compiler option.
11854 - Issue #10094: Use versioned .so files on GNU/kfreeBSD and the GNU Hurd.
11856 - Accept Oracle Berkeley DB 5.0 and 5.1 as backend for the dbm extension.
11858 - Issue #7473: avoid link errors when building a framework with a different set
11865 *Release date: 09-Oct-2010*
11868 -----------------
11870 - Issue #10068: Global objects which have reference cycles with their module's
11873 - Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
11876 - ast.literal_eval() can now handle negative numbers. It is also a little more
11880 - Issue #10006: type.__abstractmethods__ now raises an AttributeError. As a
11883 - Issue #8670: ctypes.c_wchar supports non-BMP characters with 32 bits wchar_t.
11885 - Issue #8670: PyUnicode_AsWideChar() and PyUnicode_AsWideCharString() replace
11886 UTF-16 surrogate pairs by single non-BMP characters for 16 bits Py_UNICODE and
11889 - Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression
11892 - Issue #9979: Create function PyUnicode_AsWideCharString().
11894 - Issue #7397: Mention that importlib.import_module() is probably what someone
11897 - Issue #8521: Allow CreateKeyEx, OpenKeyEx, and DeleteKeyEx functions of winreg
11900 - Issue #9930: Remove bogus subtype check that was causing (e.g.)
11903 - Issue #9808: Implement os.getlogin for Windows. Patch by Jon Anglin.
11905 - Issue #9901: Destroying the GIL in Py_Finalize() can fail if some other
11909 - All SyntaxErrors now have a column offset and therefore a caret when the error
11912 - Issue #9252: PyImport_Import no longer uses a fromlist hack to return the
11915 - Issue #9213: The range type_items now provides index() and count() methods, to
11918 - Issue #7994: Issue a PendingDeprecationWarning if object.__format__ is called
11919 with a non-empty format string. This is an effort to future-proof user
11925 - Issue #9828: Destroy the GIL in Py_Finalize(), so that it gets properly
11926 re-created on a subsequent call to Py_Initialize(). The problem (a crash)
11929 - Issue #9210: Configure option --with-wctype-functions was removed. Using the
11933 - Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on a
11934 non-ASCII byte in the format string.
11936 - Issue #4617: Previously it was illegal to delete a name from the local
11940 - Issue #9804: ascii() now always represents unicode surrogate pairs as a single
11943 single character on UCS-2 builds.
11945 - Issue #9757: memoryview objects get a release() method to release the
11949 - Issue #9797: pystate.c wrongly assumed that zero couldn't be a valid
11950 thread-local storage key.
11953 -------
11955 - Issue #2236: distutils' mkpath ignored the mode parameter.
11957 - Fix typo in one sdist option (medata-check).
11959 - Issue #9199: Fix incorrect use of distutils.cmd.Command.announce.
11961 - Issue #1718574: Fix options that were supposed to accept arguments but did
11964 - Issue #9437: Fix building C extensions with non-default LDFLAGS.
11966 - Issue #4661: email can now parse bytes input and generate either converted
11969 - Issue #1589: Add ssl.match_hostname(), to help implement server identity
11970 verification for higher-level protocols.
11972 - Issue #9759: GzipFile now raises ValueError when an operation is attempted
11975 - Issue #9042: Fix interaction of custom translation classes and caching in
11978 - Issue #6706: asyncore.dispatcher now provides a handle_accepted() method
11984 - Issue #9065: tarfile no longer uses "root" as the default for the uname and
11987 - Issue #8980: Fixed a failure in distutils.command check that was shadowed by
11990 - Issue #1050268: parseaddr now correctly quotes double quote and backslash
11993 - Issue #10004: quoprimime no longer generates a traceback when confronted with
11994 invalid characters after '=' in a Q-encoded word.
11996 - Issue #1491: BaseHTTPServer nows send a ``100 Continue`` response before
11997 sending a 200 OK for the Expect: 100-continue request header.
11999 - Issue #9360: Cleanup and improvements to the nntplib module. The API now
12003 - Issue #9962: GzipFile now has the peek() method.
12005 - Issue #9090: When a socket with a timeout fails with EWOULDBLOCK or EAGAIN,
12010 - Issue #3612: Added new types to ctypes.wintypes. (CHAR and pointers)
12012 - Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is
12017 - Issue #9947: logging: Fixed locking bug in stopListening.
12019 - Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler.
12021 - Issue #9936: Fixed executable lines' search in the trace module.
12023 - Issue #9790: Rework imports necessary for samefile and sameopenfile
12026 - Issue #9928: Properly initialize the types exported by the bz2 module.
12028 - Issue #1675951: Allow GzipFile to work with unseekable file objects. Patch by
12031 - Logging: Added QueueListener class to facilitate logging usage for
12032 performance-critical threads.
12034 - Issue #9916: Add some missing errno symbols.
12036 - Issue #9877: Expose sysconfig.get_makefile_filename()
12038 - logging: Added hasHandlers() method to Logger and LoggerAdapter.
12040 - Issue #9908: Fix os.stat() on bytes paths under Windows 7.
12042 - Issue #2643: msync() is not called anymore when deallocating an open mmap
12045 - logging: Changed LoggerAdapter implementation internally, to make it easier to
12048 - logging: hasHandlers method was added to Logger, and isEnabledFor,
12052 - Issue #1686: Fix string.Template when overriding the pattern attribute.
12054 - Issue #9854: SocketIO objects now observe the RawIOBase interface in
12055 non-blocking mode: they return None when an operation would block (instead of
12058 - Issue #1730136: Fix the comparison between a tk.font.Font and an object of
12061 - Issue #9441: logging has better coverage for rotating file handlers.
12063 - Issue #9865: collections.OrderedDict now has a __sizeof__ method.
12065 - Issue #9854: The default read() implementation in io.RawIOBase now handles
12066 non-blocking readinto() returning None correctly.
12068 - Issue #1552: socket.socketpair() now returns regular socket.socket objects
12072 - Issue #9853: Fix the signature of SSLSocket.recvfrom() and SSLSocket.sendto()
12075 - Issue #9840: Added a decorator to reprlib for wrapping __repr__ methods to make
12078 - logging: Enhanced HTTPHandler with secure and credentials initializers.
12080 - Issue #767645: Set os.path.supports_unicode_filenames to True on Mac OS X.
12082 - Issue #9837: The read() method of ZipExtFile objects (as returned by
12085 - Issue #9826: OrderedDict.__repr__ can now handle self-referential values:
12088 - Issue #9825: Using __del__ in the definition of collections.OrderedDict made
12089 it possible for the user to create self-referencing ordered dictionaries which
12094 - Issue #9579, #9580: Fix os.confstr() for value longer than 255 bytes and
12096 utf-8 in strict mode) . Patch written by David Watson.
12098 - Issue #9632: Remove sys.setfilesystemencoding() function: use PYTHONFSENCODING
12103 - Issue #9410: Various optimizations to the pickle module, leading to speedups
12107 - The pprint module now supports printing OrderedDicts in their given order
12110 - Logging: Added QueueHandler class to facilitate logging usage with
12113 - Issue #9707: Rewritten reference implementation of threading.local which is
12117 - Issue #6394: os.getppid() is now supported on Windows. Note that it will
12121 - Issue #9792: In case of connection failure, socket.create_connection() would
12124 re-raised.
12126 - Issue #9758: When fcntl.ioctl() was called with mutable_flag set to True, and
12130 - Updates to the random module:
12139 * Improved the random()-->integer algorithm used in choice(), shuffle(),
12145 - collections.OrderedDict now supports a new method for repositioning keys to
12148 - Issue #9754: Similarly to assertRaises and assertRaisesRegexp, unittest test
12152 - Issue #5506: BytesIO objects now have a getbuffer() method exporting a view of
12156 - Issue #7566: Implement os.path.sameopenfile for Windows.
12158 - Issue #9293: I/O streams now raise ``io.UnsupportedOperation`` when an
12162 - hashlib has two new constant attributes: algorithms_guaranteed and
12167 - A new package ``concurrent.futures`` as defined by PEP 3148.
12169 C-API
12170 -----
12172 - Add PyErr_SyntaxLocationEx, which supports passing a column offset.
12174 - Issue #9834: Don't segfault in PySequence_GetSlice, PySequence_SetSlice, or
12179 -----------
12181 - Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well as
12186 -----
12188 - Issue #9308: Added tests for importing encoded modules that do not
12191 - Issue #1051: Add a script (Lib/test/make_ssl_certs.py) to generate the custom
12192 certificate and private key files used by SSL-related certs.
12194 - Issue #9978: Wait until subprocess completes initialization. (Win32KillTests
12197 - Issue #7110: regrtest now sends test failure reports and single-failure
12200 - Issue #9628: fix runtests.sh -x option so more than one test can be excluded.
12202 - Issue #9899: Fix test_tkinter.test_font on various platforms. Patch by Ned
12205 - Issue #9894: Do not hardcode ENOENT in test_subprocess.
12207 - Issue #9315: Added tests for the trace module. Patch by Eli Bendersky.
12209 - Issue #9323: Make test.regrtest.__file__ absolute, this was not always the
12212 - Issue #9568: Fix test_urllib2_localnet on OS X 10.3.
12215 -----
12217 - Issue #10062: Allow building on platforms which do not have sem_timedwait.
12219 - Issue #10054: Some platforms provide uintptr_t in inttypes.h. Patch by Akira
12222 - Issue #10055: Make json C89-compliant in UCS4 mode.
12224 - Issue #9552: Avoid unnecessary rebuild of OpenSSL. (Windows)
12226 - Issue #1633863: Don't ignore $CC under AIX.
12228 - Issue #9810: Compile bzip2 source files in Python's project file directly. It
12231 - Issue #9848: Stopping trying to build _weakref in setup.py as it is a built-in
12234 - Issue #9806: python-config now has an ``--extension-suffix`` option that
12238 - Issue #941346: Improve the build process under AIX and allow Python to be
12241 - Issue #4026: Make the fcntl extension build under AIX. Patch by Sébastien
12244 - Issue #9701: The MacOSX installer can patch the shell profile to ensure that
12252 *Release date: 05-Sep-2010*
12255 -----------------
12257 - Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced by
12261 - Issue #9766: Rename poorly named variables exposed by _warnings to prevent
12264 - Issue #9212: dict_keys and dict_items now provide the isdisjoint() method, to
12267 - Issue #9737: Fix a crash when trying to delete a slice or an item from a
12270 - Issue #9549: sys.setdefaultencoding() and PyUnicode_SetDefaultEncoding() are
12272 hardcoded to utf-8 and cannot be changed).
12274 - Issue #7415: PyUnicode_FromEncodedObject() now uses the new buffer API
12277 - Issue #5553: The Py_LOCAL_INLINE macro now results in inlining on most
12280 - Issue #9712: Fix tokenize on identifiers that start with non-ascii names.
12282 - Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
12284 - Issue #9684: Added a definition for SIZEOF_WCHAR_T to PC/pyconfig.h, to match
12287 - Issue #9666: Only catch AttributeError in hasattr(). All other exceptions that
12290 - Issue #8622: Add PYTHONFSENCODING environment variable to override the
12293 - Issue #5127: The C functions that access the Unicode Database now accept and
12299 - Issue #9425: Create PyModule_GetFilenameObject() function to get the filename
12304 - Issue #8063: Call _PyGILState_Init() earlier in Py_InitializeEx().
12306 - Issue #9612: The set object is now 64-bit clean under Windows.
12308 - Issue #8202: sys.argv[0] is now set to '-m' instead of '-c' when searching for
12309 the module file to be executed with the -m command line option.
12311 - Issue #9599: Create PySys_FormatStdout() and PySys_FormatStderr() functions to
12315 - Issue #9542: Create PyUnicode_FSDecoder() function, a ParseTuple converter:
12317 objects are output as-is.
12319 - Issue #9203: Computed gotos are now enabled by default on supported compilers
12321 selectively by specifying --without-computed-gotos.
12323 - Issue #9425: Create PyErr_WarnFormat() function, similar to PyErr_WarnEx() but
12326 - Issue #8530: Prevent stringlib fastsearch from reading beyond the front of an
12329 - Issue #5319: Print an error if flushing stdout fails at interpreter shutdown.
12331 - Issue #9337: The str() of a float or complex number is now identical to its
12334 - Issue #9416: Fix some issues with complex formatting where the output with no
12337 - format(complex(-0.0, 2.0), '-') omitted the real part from the output,
12338 - format(complex(0.0, 2.0), '-') included a sign and parentheses.
12341 -----------------
12343 - Issue #8013: time.asctime and time.ctime no longer call system
12349 - Issue #6608: time.asctime is now checking struct tm fields its input
12352 - Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file
12355 - Issue #7736: Release the GIL around calls to opendir() and closedir() in the
12358 - Issue #4835: make PyLong_FromSocket_t() and PyLong_AsSocket_t() private to the
12360 detected under 64-bit Windows.
12362 - Issue #1027206: Support IDNA in gethostbyname, gethostbyname_ex, getaddrinfo
12366 - Issue #9214: Set operations on a KeysView or ItemsView in collections now
12369 - Issue #5737: Add Solaris-specific mnemonics in the errno module. Patch by
12372 - Restore GIL in nis_cat in case of error. Decode NIS data to fs encoding, using
12375 - Issue #665761: ``functools.reduce()`` will no longer mask exceptions other
12378 - Issue #9570: Use PEP 383 decoding in os.mknod and os.mkfifo.
12380 - Issue #6915: Under Windows, os.listdir() didn't release the Global Interpreter
12381 Lock around all system calls. Original patch by Ryan Kelly.
12383 - Issue #8524: Add a detach() method to socket objects, so as to put the socket
12386 - Issue #477863: Emit a ResourceWarning at shutdown if gc.garbage is not empty.
12388 - Issue #6869: Fix a refcount problem in the _ctypes extension.
12390 - Issue #5504: ctypes should now work with systems where mmap can't be
12393 - Issue #9507: Named tuple repr will now automatically display the right name in
12396 - Issue #9324: Add parameter validation to signal.signal on Windows in order to
12399 - Issue #9526: Remove some outdated (int) casts that were preventing the array
12402 - Fix memory leak in ssl._ssl._test_decode_cert.
12404 - Issue #8065: Fix memory leak in readline module (from failure to free the
12407 - Issue #9450: Fix memory leak in readline.replace_history_item and
12410 - Issue #8105: Validate file descriptor passed to mmap.mmap on Windows.
12412 - Issue #8046: Add context management protocol support and .closed property to mmap
12416 -------
12418 - Issue #7451: Improve decoding performance of JSON objects, and reduce the
12422 - Issue #1100562: Fix deep-copying of objects derived from the list and dict
12425 - Issue #9753: Fixed socket.dup, which did not always work correctly on Windows.
12427 - Issue #9421: Made the get<type> methods consistently accept the vars and
12430 - Issue #7005: Fixed output of None values for RawConfigParser.write and
12433 - Issue #8990: array.fromstring() and array.tostring() get renamed to
12438 - Issue #808164: Fixed socket.close to avoid references to globals, to avoid
12441 - Issue #9706: ssl module provides a better error handling in various
12444 - Issue #1868: Eliminate subtle timing issues in thread-local objects by getting
12445 rid of the cached copy of thread-local attribute dictionary.
12447 - Issue #1512791: In setframerate() in the wave module, non-integral frame rates
12450 - Issue #8797: urllib2 does a retry for Basic Authentication failure instead of
12453 - Issue #1194222: email.utils.parsedate now returns RFC2822 compliant four
12456 - Issue #8750: Fixed MutableSet's methods to correctly handle reflexive
12457 operations on its self, namely x -= x and x ^= x.
12459 - Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missing error
12462 - Issue #9601: ftplib now provides a workaround for non-compliant
12466 - Issue #658749: asyncore's connect() method now correctly interprets winsock
12469 - Issue #9501: Fixed logging regressions in cleanup code.
12471 - Fix functools.total_ordering() to skip methods inherited from object.
12473 - Issue #9572: Importlib should not raise an exception if a directory it thought
12476 - Issue #9617: Signals received during a low-level write operation aren't
12479 - Issue #843590: Make "macintosh" an alias to the "mac_roman" encoding.
12481 - Create os.fsdecode(): decode from the filesystem encoding with surrogateescape
12484 - Issue #3488: Provide convenient shorthand functions ``gzip.compress`` and
12487 - Issue #8807: poplib.POP3_SSL class now accepts a context parameter, which is a
12489 certificates and private keys into a single (potentially long-lived)
12492 - Issue #8866: parameters passed to socket.getaddrinfo can now be specified as
12495 - Address XXX comment in dis.py by having inspect.py prefer to reuse the dis.py
12498 - Issue #9147: Added dis.code_info() which is similar to show_code() but returns
12501 - Issue #9567: functools.update_wrapper now adds a __wrapped__ attribute
12504 - Issue #3445: functools.update_wrapper now tolerates missing attributes on
12507 - Issue #5867: Add abc.abstractclassmethod and abc.abstractstaticmethod.
12509 - Issue #9605: posix.getlogin() decodes the username with file filesystem
12512 - Issue #9604: posix.initgroups() encodes the username using the fileystem
12515 - Issue #9603: posix.ttyname() and posix.ctermid() decode the terminal name
12519 - Issue #7647: The posix module now has the ST_RDONLY and ST_NOSUID constants,
12522 - Issue #8688: MANIFEST files created by distutils now include a magic comment
12526 - Issue #7467: when reading a file from a ZIP archive, its CRC is checked and a
12530 - Issue #9550: a BufferedReader could issue an additional read when the original
12535 - Issue #3757: thread-local objects now support cyclic garbage collection.
12536 Thread-local objects involved in reference cycles will be deallocated timely
12539 - Issue #9452: Add read_file, read_string, and read_dict to the configparser
12542 - Issue #6231: Fix xml.etree.ElementInclude to include the tail of the current
12545 - Issue #8047: Fix the xml.etree serializer to return bytes by default. Use
12548 - Issue #8280: urllib2's Request method will remove fragments in the url. This
12552 - Issue #6683: For SMTP logins we now try all authentication methods advertised
12556 - Issue #8814: function annotations (the ``__annotations__`` attribute) are now
12560 - Issue #2944: asyncore doesn't handle connection refused correctly.
12562 - Issue #4184: Private attributes on smtpd.SMTPChannel made public and deprecate
12565 - Issue #3196: email header decoding is now forgiving if an RFC2047 encoded word
12568 - Issue #9444: Argparse now uses the first element of prefix_chars as the option
12570 '-', instead of raising an error.
12572 - Issue #7372: Fix pstats regression when stripping paths from profile data
12575 - Issue #9428: Fix running scripts with the profile/cProfile modules from the
12578 - Issue #7781: Fix restricting stats by entry counts in the pstats interactive
12581 - Issue #9209: Do not crash in the pstats interactive browser on invalid regular
12584 - Update collections.OrderedDict to match the implementation in Py2.7 (based on
12587 - Issue #8397: Raise an error when attempting to mix iteration and regular reads
12590 - Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
12591 re-initializing a buffered IO object by calling its ``__init__`` method.
12593 - Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
12596 - Issue #8826: Properly load old-style "expires" attribute in http.cookies.
12598 - Issue #1690103: Fix initial namespace for code run with trace.main().
12600 - Issue #7395: Fix tracebacks in pstats interactive browser.
12602 - Issue #8230: Fix Lib/test/sortperf.py.
12604 - Issue #8620: when a cmd.Cmd() is fed input that reaches EOF without a final
12607 - Issue #5146: Handle UID THREAD command correctly in imaplib.
12609 - Issue #5147: Fix the header generated for cookie files written by
12612 - Issue #8198: In pydoc, output all help text to the correct stream when
12615 - Issue #7909: Do not touch paths with the special prefixes ``\\.\`` or ``\\?\``
12618 - Issue #1286: Allow using fileinput.FileInput as a context manager.
12620 - Add lru_cache() decorator to the functools module.
12623 -----------
12625 - Fix ``Tools/scripts/checkpyc.py`` after PEP 3147.
12627 - Issue #8867: Fix ``Tools/scripts/serve.py`` to work with files containing
12628 non-ASCII content.
12631 -----
12633 - Issue #9601: Provide a test case for ftplib.parse257.
12635 - Issue #8857: Provide a test case for socket.getaddrinfo.
12637 - Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.
12639 - Issue #8433: Fix test_curses failure with newer versions of ncurses.
12641 - Issue #9496: Provide a test suite for the rlcompleter module. Patch by
12644 - Issue #8687: provide a test suite for sched.py module.
12647 -----
12649 - Issue #1303434: Generate ZIP file containing all PDBs.
12651 - Issue #9193: PEP 3149 is accepted.
12653 - Issue #3101: Helper functions _add_one_to_index_C() and _add_one_to_index_F()
12656 - Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x. Patch by
12659 - Don't run pgen twice when using make -j.
12665 *Release date: 01-Aug-2010*
12668 -----------------
12670 - Issue #8991: convertbuffer() rejects discontigious buffers.
12672 - Issue #7616: Fix copying of overlapping memoryview slices with the Intel
12675 - Issue #8413: structsequence now subclasses tuple.
12677 - Issue #8271: during the decoding of an invalid UTF-8 byte sequence, only the
12680 '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and replaces
12682 even if '\xf1' is the start byte of a 4-bytes sequence. Previous versions
12685 - Issue #9011: A negated imaginary literal (e.g., "-7j") now has real part -0.0
12686 rather than 0.0. So "-7j" is now exactly equivalent to "-(7j)".
12688 - Be more specific in error messages about positional arguments.
12690 - Issue #8949: "z" format of PyArg_Parse*() functions doesn't accept bytes
12693 - Issue #6543: Write the traceback in the terminal encoding instead of utf-8.
12697 - Issue #9011: Remove buggy and unnecessary (in 3.x) ST->AST compilation code
12701 - Issue #850997: mbcs encoding (Windows only) handles errors argument: strict
12706 - Issue #8850: Remove "w" and "w#" formats from PyArg_Parse*() functions, use
12709 - Issue #8592: PyArg_Parse*() functions raise a TypeError for "y", "u" and "Z"
12713 - Issue #7490: To facilitate sharing of doctests between 2.x and 3.x test
12717 - Issue #8969: On Windows, use mbcs codec in strict mode to encode and decode
12720 - Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.
12722 - Issue #8941: Decoding big endian UTF-32 data in UCS-2 builds could crash the
12726 - Issue #8950: (See also issue #5080). Py_ArgParse*() functions now raise
12731 - Issue #8922: Normalize the encoding name in PyUnicode_AsEncodedString() to
12733 "iso-8859-1" in PyUnicode_AsEncodedString() and PyUnicode_Decode().
12735 - Issue #8838: Remove codecs.charbuffer_encode() function. The buffer protocol
12738 - Issue #8339: Remove "t#" format of PyArg_Parse*() functions, use "s#" or "s*"
12742 - Issue #8837: Remove "O?" format of PyArg_Parse*() functions. The format is no
12745 - In str.format(), raise a ValueError when indexes to arguments are too large.
12747 - Issue #2844: Make int('42', n) consistently raise ValueError for invalid
12748 integers n (including n = -909).
12750 - Issue #8188: Introduce a new scheme for computing hashes of numbers (instances
12755 - Issue #8748: Fix two issues with comparisons between complex and integer
12762 - Issue #8766: Initialize _warnings module before importing the first module.
12765 - Issue #8589: Decode PYTHONWARNINGS environment variable with the file system
12769 - PyObject_Dump() encodes unicode objects to utf8 with backslashreplace (instead
12772 - Issue #8715: Create PyUnicode_EncodeFSDefault() function: Encode a Unicode
12775 back to UTF-8.
12777 - Enable shortcuts for common encodings in PyUnicode_AsEncodedString() for any
12780 - Issue #8610: Load file system codec at startup, and display a fatal error on
12781 failure. Set the file system encoding to utf-8 (instead of None) if getting
12784 - PyFile_FromFd() uses PyUnicode_DecodeFSDefault() instead of
12788 - Issue #7507: Quote "!" in pipes.quote(); it is special to some shells.
12790 - PyUnicode_DecodeFSDefaultAndSize() uses surrogateescape error handler.
12792 - Issue #8419: Prevent the dict constructor from accepting non-string keyword
12795 - Issue #8124: PySys_WriteStdout() and PySys_WriteStderr() don't execute
12799 - Issue #8092: Fix PyUnicode_EncodeUTF8() to support error handler producing
12802 - Issue #8485: PyUnicode_FSConverter() doesn't accept byteearray objects
12805 - Issue #7332: Remove the 16KB stack-based buffer in
12807 compared to the dynamic memory allocation fallback. Patch by Charles-François
12810 - Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize is
12813 - Issue #7301: Add environment variable $PYTHONWARNINGS.
12815 - Issue #8329: Don't return the same lists from select.select when no fds are
12818 - Issue #8259: 1L << (2**31) no longer produces an 'outrageous shift error' on
12819 64-bit machines. The shift count for either left or right shift is permitted
12822 - Ensure that tokenization of identifiers is not affected by locale.
12824 - Issue #1222585: Added LDCXXSHARED for C++ support. Patch by Arfrever.
12826 - Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
12828 - Issue #8211: Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it
12831 - Issue #8226: sys.setfilesystemencoding() raises a LookupError if the encoding
12834 - Issue #1583863: A str subclass can now override the __str__ method.
12836 - Issue #8014: Setting a T_UINT or T_PYSSIZET attribute of an object with
12839 - Issue #7845: Rich comparison methods on the complex type now return
12841 incompatible type; this allows user-defined classes to implement their own
12844 - Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt
12848 - Issue #7173: Generator finalization could invalidate sys.exc_info().
12850 - Issue #7544: Preallocate thread memory before creating the thread to avoid a
12853 - Issue #7820: The parser tokenizer restores all bytes in the right if the BOM
12856 - Handle errors from looking up __prepare__ correctly.
12858 - Issue #5939: Add additional runtime checking to ensure a valid capsule in
12861 - Issue #7309: Fix unchecked attribute access when converting
12864 - Issue #6902: Fix problem with built-in types format incorrectly with 0
12867 - Issue #7988: Fix default alignment to be right aligned for complex.__format__.
12870 - Issue #5988: Remove deprecated functions PyOS_ascii_formatd,
12874 - Issue #7385: Fix a crash in `MemoryView_FromObject` when `PyObject_GetBuffer`
12877 - Issue #7788: Fix an interpreter crash produced by deleting a list slice with
12880 - Issue #7766: Change sys.getwindowsversion() return value to a named tuple and
12885 - Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`) could
12889 - Issue #6690: Optimize the bytecode for expressions such as `x in {1, 2, 3}`,
12891 frozenset and pre-building it as a constant. The comparison operation is made
12894 pre-built tuple). Patch and additional tests by Dave Malcolm.
12896 - Issue #7622: Improve the split(), rsplit(), splitlines() and replace() methods
12900 - Issue #7632: Fix various str -> float conversion bugs present in 2.7 alpha 2,
12907 - The __complex__ method is now looked up on the class of instances to make it
12910 - Issue #7462: Implement the stringlib fast search algorithm for the `rfind`,
12913 - Issue #7604: Deleting an unset slotted attribute did not raise an
12916 - Issue #7534: Fix handling of IEEE specials (infinities, nans, negative zero)
12919 - Issue #1811: improve accuracy and cross-platform consistency for true division
12924 - Issue #6834: replace the implementation for the 'python' and 'pythonw'
12927 These executables now work properly with the arch(1) command: ``arch -ppc
12931 - Issue #7466: Segmentation fault when the garbage collector is called in the
12934 - Issue #7419: setlocale() could crash the interpreter on Windows when called
12937 - Issue #6077: On Windows, files opened with tempfile.TemporaryFile in "wt+"
12940 - Issue #7085: Fix crash when importing some extensions in a thread on MacOSX
12943 - Issue #1757126: Fix the cyrillic-asian alias for the ptcp154 encoding.
12945 - Issue #6970: Remove redundant calls when comparing objects that don't
12948 - Issue #7298: Fixes for range and reversed(range(...)). Iteration over
12954 - Issue #7244: itertools.izip_longest() no longer ignores exceptions raised
12957 - Issue #3297: On wide unicode builds, do not split unicode characters into
12960 - Remove length limitation when constructing a complex number from a string.
12962 - Issue #1087418: Boost performance of bitwise operations for longs.
12964 - Support for AtheOS has been completely removed from the code base. It was
12967 - Support for several legacy threading libraries has been disabled. These
12971 - Support for OSF* has been disabled. If nobody stands up, support will be
12974 - Peephole constant folding had missed UNARY_POSITIVE.
12976 - Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which
12980 - Issue #7147: Remove support for compiling Python without complex number
12983 - Issue #7120: logging: Removed import of multiprocessing which is causing crash
12986 - Issue #1754094: Improve the stack depth calculation in the compiler. There
12988 Christopher Tur Lesniewski-Laas.
12990 - Issue #7065: Fix a crash in bytes.maketrans and bytearray.maketrans when using
12993 - Issue #1571184: The Unicode database contains properties for more characters.
12998 - Issue #7019: Raise ValueError when unmarshalling bad long data, instead of
13001 - Issue #6990: Fix threading.local subclasses leaving old state around after a
13004 - Issue #5460: Fix an ambiguity in the grammar.
13006 - Issue #1766304: Improve performance of membership tests on range objects.
13008 - Issue #6713: Improve performance of integer -> string conversions.
13010 - Issue #6846: Fix bug where bytearray.pop() returns negative integers.
13012 - Issue #6750: A text file opened with io.open() could duplicate its output when
13015 - Issue #6707: dir() on an uninitialized module caused a crash.
13017 - Issue #6540: Fixed crash for bytearray.translate() with invalid parameters.
13019 - Issue #6573: set.union() stopped processing inputs if an instance of self
13022 - Issue #6070: On posix platforms import no longer copies the execute bit from
13025 - Issue #1616979: Added the cp720 (Arabic DOS) encoding.
13027 - Issue #6428: Since Python 3.0, the __bool__ method must return a bool object,
13030 - The deprecated PyCObject has been removed.
13032 - Issue #6347: Include inttypes.h as well as stdint.h in pyport.h. This fixes a
13033 build failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead
13036 - Issue #6373: Fixed a SystemError when encoding with the latin-1 codec and the
13039 - Issue #4856: Remove checks for win NT.
13041 - Issue #6687: PyBytes_FromObject() no longer accepts an integer as its argument
13042 to construct a null-initialized bytes object.
13044 - Issue #1023290: Add from_bytes() and to_bytes() methods to integers. These
13045 methods allow the conversion of integers to bytes, and vice-versa.
13047 - Issue #7382: Fix bug in bytes.__getnewargs__ that prevented bytes instances
13051 - Code objects now support weak references.
13053 - Issue #7072: isspace(0xa0) is true on Mac OS X.
13055 - Issue #8084: PEP 370 now conforms to system conventions for framework builds
13056 on MacOS X. That is, "python setup.py install --user" will install into
13059 C-API
13060 -----
13062 - Issue #2443: A new macro, `Py_VA_COPY`, copies the state of the
13066 - PySlice_GetIndicesEx now clips the step to [-PY_SSIZE_T_MAX, PY_SSIZE_T_MAX]
13067 instead of [-PY_SSIZE_T_MAX-1, PY_SSIZE_T_MAX]. This makes it safe to do
13068 "step = -step" when reversing a slice.
13070 - Issue #5753: A new C API function, `PySys_SetArgvEx`, allows embedders of the
13072 `CVE-2008-5983
13073 <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
13075 - Add PyArg_ValidateKeywordArguments, which checks if all keyword arguments are
13078 - Issue #8276: PyEval_CallObject() is now only available in macro form. The
13082 - Issue #7767: New function PyLong_AsLongLongAndOverflow added, analogous to
13085 - Make PyUnicode_CompareWithASCIIString return not equal if the Python string
13088 - Issue #5080: The argument parsing functions PyArg_ParseTuple,
13094 - Issue #7033: Function ``PyErr_NewExceptionWithDoc()`` added.
13096 - Issue #7414: 'C' code wasn't being skipped properly (for keyword arguments) in
13099 - Issue #7228: Add '%lld' and '%llu' support to PyString_FromFormat(V) and
13102 - Issue #6151: Made PyDescr_COMMON conform to standard C (like PyObject_HEAD in
13106 - Issue #6405: Remove duplicate type declarations in descrobject.h.
13108 - The code flags for old __future__ features are now available again.
13110 - Issue #5954: Add a PyFrame_GetLineNumber() function to replace most uses of
13113 - Issue #5959: Add a PyCode_NewEmpty() function to create a new empty code
13116 - Issue #1419652: Change the first argument to PyImport_AppendInittab() to
13119 - Issue #2422: When compiled with the ``--with-valgrind`` option, the pymalloc
13125 -------
13127 - In pdb, when Ctrl-C is entered while defining commands for a breakpoint, the
13130 - For traceback debugging, the pdb listing now also shows the locations where
13134 - The pdb command "source" has been added. It displays the source code for a
13137 - The pdb command "longlist" has been added. It displays the whole source code
13140 - Issue #1503502: Make pdb.Pdb easier to subclass by putting message and error
13143 - Issue #809887: Make the output of pdb's breakpoint deletions more consistent;
13146 - Issue #5294: Fix the behavior of pdb's "continue" command when called in the
13147 top-level debugged frame.
13149 - Issue #5727: Restore the ability to use readline when calling into pdb in
13152 - Issue #6719: In pdb, do not stop somewhere in the encodings machinery if the
13153 source file to be debugged is in a non-builtin encoding.
13155 - Issue #8048: Prevent doctests from failing when sys.displayhook has been
13158 - Issue #8015: In pdb, do not crash when an empty line is entered as a
13161 - In pdb, allow giving a line number to the "until" command.
13163 - Issue #1437051: For pdb, allow "continue" and related commands in .pdbrc
13164 files. Also, add a command-line option "-c" that runs a command as if given
13167 - Issue #4179: In pdb, allow "list ." as a command to return to the currently
13170 - Issue #4108: In urllib.robotparser, if there are multiple ``User-agent: *``
13173 - Issue #6630: Allow customizing regex flags when subclassing the
13176 - Issue #9411: Allow specifying an encoding for config files in the configparser
13179 - Issue #1682942: Improvements to configparser: support alternate delimiters,
13182 - Issue #9354: Provide getsockopt() in asyncore's file_wrapper.
13184 - Issue #8966: ctypes: Remove implicit bytes-unicode conversion.
13186 - Issue #9378: python -m pickle <pickle file> will now load and display the
13189 - Issue #4770: Restrict binascii module to accept only bytes (as specified).
13190 And fix the email package to encode to ASCII instead of ``raw-unicode-escape``
13191 before ASCII-to-binary decoding.
13193 - Issue #9384: ``python -m tkinter`` will now display a simple demo applet.
13195 - The default size of the re module's compiled regular expression cache has been
13202 - Issue #7113: Speed up loading in configparser. Patch by Łukasz Langa.
13204 - Issue #9032: XML-RPC client retries the request on EPIPE error. The EPIPE
13206 XML-RPC request.
13208 - Issue #4629: getopt raises an error if an argument ends with "=", whereas
13209 getopt doesn't accept a value (eg. --help= is rejected if getopt uses
13212 - Issue #7989: Added pure python implementation of the `datetime` module. The C
13219 - Issue #7895: platform.mac_ver() no longer crashes after calling os.fork().
13221 - Issue #9323: Fixed a bug in trace.py that resulted in losing the name of the
13224 - Issue #9282: Fixed --listfuncs option of trace.py. Thanks Eli Bendersky for
13227 - Issue #3704: http.cookiejar was not properly handling URLs with a / in the
13230 - Issue #9268: ``pickletools.dis()`` now has an optional *annotate* argument
13233 - Issue #1555570: email no longer inserts extra blank lines when a \r\n combo
13236 - Issue #9243: Fix sndhdr module and add unit tests, contributed by James Lee.
13238 - ``ast.literal_eval()`` now allows byte literals.
13240 - Issue #9137: Fix issue in MutableMapping.update, which incorrectly treated
13243 - ``ast.literal_eval()`` now allows set literals.
13245 - Issue #9164: Ensure that sysconfig handles duplicate -arch flags in CFLAGS.
13247 - Issue #7646: The fnmatch pattern cache no longer grows without bound.
13249 - Issue #9136: Fix 'dictionary changed size during iteration' RuntimeError
13253 - Fix extreme speed issue in Decimal.pow when the base is an exact power of 10
13255 Decimal('1e-999999999')``).
13257 - Issue #9186: Fix math.log1p(-1.0) to raise ValueError, not OverflowError.
13259 - Issue #9130: Fix validation of relative imports in parser module.
13261 - Issue #9128: Fix validation of class decorators in parser module.
13263 - Issue #9094: python -m pickletools will now disassemble pickle files listed in
13264 the command line arguments. See output of python -m pickletools -h for more
13267 - Issue #5468: urlencode to handle bytes type and other encodings in its query
13270 - Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
13273 - Issue #6507: Accept source strings in dis.dis(). Original patch by Daniel
13276 - Issue #7829: Clearly document that the dis module is exposing an
13279 - Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
13282 - Issue #9110: Addition of ContextDecorator to contextlib, for creating APIs
13286 - Implement importlib.abc.SourceLoader and deprecate PyLoader and PyPycLoader
13289 - Issue #9064: pdb's "up" and "down" commands now accept an optional argument
13292 - Issue #9018: os.path.normcase() now raises a TypeError if the argument is not
13295 - Issue #9075: In the ssl module, remove the setting of a ``debug`` flag on an
13298 - Issue #8682: The ssl module now temporary increments the reference count of a
13302 - Issue #1368368: FancyURLOpener class changed to throw an Exception on wrong
13306 - Issue #8720: Fix regression caused by fix for #4050 by making getsourcefile
13309 - Issue #5610: feedparser no longer eats extra characters at the end of a body
13312 - Issue #8986: math.erfc was incorrectly raising OverflowError for values
13313 between -27.3 and -30.0 on some platforms.
13315 - Issue #8784: Set tarfile default encoding to 'utf-8' on Windows.
13317 - Issue #8966: If a ctypes structure field is an array of c_char, convert its
13320 - Issue #8188: Comparisons between Decimal and Fraction objects are now
13322 operands. This builds on issue #2531, which allowed Decimal-to-float
13326 - Issue #8897: Fix sunau module, use bytes to write the header. Patch written by
13329 - Issue #8899: time.struct_time now has class and attribute docstrings.
13331 - Issue #6470: Drop UNC prefix in FixTk.
13333 - Issue #4768: base64 encoded email body parts were incorrectly stored as binary
13336 - Issue #8833: tarfile created hard link entries with a size field != 0 by
13339 - Charset.body_encode now correctly handles base64 encoding by encoding with the
13343 - Issue #8845: sqlite3 Connection objects now have a read-only in_transaction
13346 - Issue #1289118: datetime.timedelta objects can now be multiplied by float and
13348 of timedelta.resolution with ties resolved using round-half-to-even method.
13350 - Issue #7150: Raise OverflowError if the result of adding or subtracting
13353 - Issue #8806: add SSL contexts support to ftplib.
13355 - Issue #4769: Fix main() function of the base64 module, use sys.stdin.buffer
13359 - Issue #8770: Now sysconfig displays information when it's called as a script.
13362 - Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
13365 - Issue #8540: Decimal module: rename the Context._clamp attribute to
13369 - Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM
13370 twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and
13373 - Issue #3798: sys.exit(message) writes the message to sys.stderr file, instead
13376 - Issue #8782: Add a trailing newline in linecache.updatecache to the last line
13379 - Issue #8729: Return NotImplemented from collections.Mapping.__eq__ when
13380 comparing to a non-mapping.
13382 - Issue #8774: tabnanny uses the encoding cookie (#coding:...) to use the
13385 - Issue #4870: Add an `options` attribute to SSL contexts, as well as several
13389 - Issue #8759: Fixed user paths in sysconfig for posix and os2 schemes.
13391 - Issue #8663: distutils.log emulates backslashreplace error handler. Fix
13392 compilation in a non-ASCII directory if stdout encoding is ASCII (eg. if
13395 - Issue #8513: os.get_exec_path() supports b'PATH' key and bytes value.
13400 - Issue #8633: tarfile is now able to read and write archives with "raw" binary
13401 pax headers as described in POSIX.1-2008.
13403 - Issue #1285086: Speed up urllib.parse functions: quote, quote_from_bytes,
13406 - Issue #8688: Distutils now recalculates MANIFEST every time.
13408 - Issue #8477: ssl.RAND_egd() and ssl._test_decode_cert() support str with
13411 - Issue #8550: Add first class ``SSLContext`` objects to the ssl module.
13413 - Issue #8681: Make the zlib module's error messages more informative when the
13416 - The audioop module now supports sound fragments of length greater than 2**31
13417 bytes on 64-bit machines, and is PY_SSIZE_T_CLEAN.
13419 - Issue #4972: Add support for the context management protocol to the ftplib.FTP
13422 - Issue #8664: In py_compile, create __pycache__ when the compiled path is
13425 - Issue #8514: Add os.fsencode() function (Unix only): encode a string to bytes
13428 - Issue #8571: Fix an internal error when compressing or decompressing a chunk
13431 - Issue #8603: Support bytes environmental variables on Unix: Add os.environb
13436 - Issue #8573: asyncore _strerror() function might throw ValueError.
13438 - Issue #8483: asyncore.dispatcher's __getattr__ method produced confusing error
13443 - Issue #4265: shutil.copyfile() was leaking file descriptors when disk fills.
13446 - Issue #8390: tarfile uses surrogateescape as the default error handler
13449 - Issue #7755: Use an unencumbered audio file for tests.
13451 - Issue #8621: uuid.uuid4() returned the same sequence of values in the parent
13454 - Issue #8567: Fix precedence of signals in Decimal module: when a Decimal
13460 - Issue #7865: The close() method of ``io`` objects should not swallow
13464 - Issue #4687: Fix accuracy of garbage collection runtimes displayed with
13467 - Issue #8354: The siginterrupt setting is now preserved for all signals, not
13470 - Issue #7192: webbrowser.get("firefox") now works on Mac OS X, as does
13473 - Issue #8464: tarfile no longer creates files with execute permissions set when
13476 - Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions of
13479 - Issue #8295: Added shutil.unpack_archive.
13481 - Issue #6312: Fixed http HEAD request when the transfer encoding is chunked.
13484 - Issue #8546: Reject None given as the buffering argument to _pyio.open.
13486 - Issue #8549: Fix compiling the _ssl extension under AIX. Patch by
13489 - Issue #6656: fix locale.format_string to handle escaped percents
13492 - Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown, where
13497 - Issue #8524: When creating an SSL socket, the timeout value of the original
13499 turned into a non-blocking SSL socket).
13501 - Issue #5103: SSL handshake would ignore the socket timeout and block
13504 - The do_handshake() method of SSL objects now adjusts the blocking mode of the
13507 - Issue #8391: os.execvpe() and os.getenv() supports unicode with surrogates and
13510 - Issue #8467: Pure Python implementation of subprocess encodes the error
13514 - Issue #8468: bz2.BZ2File() accepts str with surrogates and bytes filenames.
13516 - Issue #8451: Syslog module now uses basename(sys.argv[0]) instead of the
13520 - Issue #8108: Fix the unwrap() method of SSL objects when the socket has a
13521 non-infinite timeout. Also make that method friendlier with applications
13522 wanting to continue using the socket in clear-text mode, by disabling
13525 - Issue #8496: make mailcap.lookup() always return a list, rather than an
13528 - Issue #8195: Fix a crash in sqlite Connection.create_collation() if the
13531 - Issue #8484: Load all ciphers and digest algorithms when initializing the _ssl
13535 - Issue #6547: Added the ignore_dangling_symlinks option to shutil.copytree.
13537 - Issue #1540112: Now allowing the choice of a copy function in shutil.copytree.
13539 - Issue #4814: timeout parameter is now applied also for connections resulting
13542 - Issue #8463: added missing reference to bztar in shutil's documentation.
13544 - Issue #7154: urllib.request can now detect the proxy settings on OSX 10.6 (as
13547 - Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response code
13548 as stated in RFC-959 at chapter 5.4.
13550 - Issue #8394: _ctypes.dlopen() accepts bytes, bytearray and str with
13553 - Issue #850728: Add a *timeout* parameter to the `acquire()` method of
13556 - Issue #8322: Add a *ciphers* argument to SSL sockets, so as to change the
13559 - Issue #8393: subprocess accepts bytes, bytearray and str with surrogates for
13562 - Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII
13565 - Issue #8412: os.system() now accepts bytes, bytearray and str with surrogates.
13567 - Issue #2987: RFC2732 support for urlparse (IPv6 addresses). Patch by Tony
13570 - Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
13572 - Issue #7316: The acquire() method of lock objects in the ``threading``
13574 relies on the system threading library, so as to avoid a semi-busy wait loop.
13576 - Issue #8383: pickle and pickletools use surrogatepass error handler when
13580 - Issue #7585: difflib context and unified diffs now place a tab between
13584 - Issue #7472: Fixed typo in email.encoders module; messages using ISO-2022
13585 character sets will now consistently use a Content-Transfer-Encoding of 7bit
13588 - Issue #8375: test_distutils now checks if the temporary directory are still
13591 - Issue #8374: Update the internal alias table in the ``locale`` module to
13594 - Issue #8321: Give access to OpenSSL version numbers from the `ssl` module,
13598 - Add functools.total_ordering() and functools.cmp_to_key().
13600 - Issue #8257: The Decimal construct now accepts a float instance directly,
13606 - Issue #8294: The Fraction constructor now accepts Decimal and float instances
13609 - Issue #7279: Comparisons involving a Decimal signaling NaN now signal
13614 - Issue #2531: Comparison operations between floats and Decimal instances now
13617 id(Decimal). See also issue #8188, which adds Decimal-to-Fraction
13620 - Added a subtract() method to collections.Counter().
13622 - Issue #8233: When run as a script, py_compile.py optionally takes a single
13623 argument `-` which tells it to read files to compile from stdin. Each line is
13627 - Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and
13631 - Comparisons using one of <, <=, >, >= between a complex instance and a
13636 - Issue #8139: ossaudiodev didn't initialize its types properly, therefore some
13640 - Issue #8205: Remove the "Modules" directory from sys.path when Python is
13643 - Issue #7512: shutil.copystat() could raise an OSError when the filesystem
13647 - Issue #7860: platform.uname now reports the correct 'machine' type when Python
13650 - Issue #3890, #8222: Fix recv() and recv_into() on non-blocking SSL sockets.
13654 - Issue #4282: Fix the main function of the profile module for a non-ASCII
13658 - Issue #8179: Fix macpath.realpath() on a non-existing path.
13660 - Issue #8024: Update the Unicode database to 5.2.
13662 - Issue #8168: py_compile now handles files with utf-8 BOMS.
13664 - ``tokenize.detect_encoding`` now returns ``'utf-8-sig'`` when a UTF-8 BOM is
13667 - Issue #6716/2: Backslash-replace error output in compilall.
13669 - Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
13670 with Tcl/Tk-8.5.
13672 - Issue #8140: extend compileall to compile single files. Add -i option.
13674 - Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the
13677 - The internals of the subprocess module on POSIX systems have been replaced by
13681 - subprocess.Popen now has restore_signals and start_new_session features. The
13686 - Issue #6472: The xml.etree package is updated to ElementTree 1.3. The
13689 - Issue #7774: Set sys.executable to an empty string if argv[0] has been set to
13693 - Issue #7880: Fix sysconfig when the python executable is a symbolic link.
13695 - Issue #6509: fix re.sub to work properly when the pattern, the string, and the
13698 - The sqlite3 module was updated to pysqlite 2.6.0. This fixes several obscure
13701 - Issue #1054943: Fix ``unicodedata.normalize('NFC', text)`` for the Public
13702 Review Issue #29 (http://unicode.org/review/pr-29.html).
13704 - Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler,
13707 - Issue #7232: Add support for the context management protocol to the TarFile
13710 - Issue #7250: Fix info leak of os.environ across multi-run uses of
13713 - Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
13715 - Issue #691291: codecs.open() should not convert end of lines on reading and
13718 - Issue #7869: logging: improved diagnostic for format-time errors.
13720 - Issue #7868: logging: added loggerClass attribute to Manager.
13722 - logging: Implemented PEP 391.
13724 - Issue #1537721: Add a writeheader() method to csv.DictWriter.
13726 - Issue #7959: ctypes callback functions are now registered correctly with the
13729 - Issue #5801: removed spurious empty lines in wsgiref.
13731 - Issue #6666: fix bug in trace.py that applied the list of directories to be
13734 - Issue #7597: curses.use_env() can now be called before initscr(). Noted by
13735 Kan-Ru Chen.
13737 - Issue #7310: fix the __repr__ of os.environ to show the environment variables.
13739 - Issue #7970: email.Generator.flatten now correctly flattens message/rfc822
13742 - Issue #7361: Importlib was not properly checking the number of bytes in
13745 - Issue #7633: In the decimal module, Context class methods (with the exception
13750 - Issue #7835: shelve should no longer produce mysterious warnings during
13753 - Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">") in XML
13758 - Issue #6233: ElementTree failed converting unicode characters to XML entities
13762 - Issue #6003: add an argument to ``zipfile.Zipfile.writestr`` to specify the
13765 - Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
13770 - Issue #6939: Fix file I/O objects in the `io` module to keep the original file
13775 - Issue #7610: Reworked implementation of the internal
13782 - Issue #6963: Added "maxtasksperchild" argument to multiprocessing.Pool,
13786 - Issue #7792: Registering non-classes to ABCs raised an obscure error.
13788 - Issue #7785: Don't accept bytes in FileIO.write().
13790 - Removed the functions 'verify' and 'vereq' from Lib/test/support.py.
13792 - Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when
13795 - Issue #7561: Fix crashes when using bytearray objects with the posix
13798 - Issue #1670765: Prevent email.generator.Generator from re-wrapping headers in
13802 - Issue #7703: Add support for the new buffer API to `binascii.a2bhqx`. Patch
13805 - Issue #7701: Fix crash in binascii.b2a_uu() in debug mode when given a 1-byte
13808 - Issue #3299: Fix possible crash in the _sre module when given bad argument
13811 - Issue #2846: Add support for gzip.GzipFile reading zero-padded files. Patch
13814 - Issue #7681: Use floor division in appropriate places in the wave module.
13816 - Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
13820 - Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc
13823 - Issue #7105: Make WeakKeyDictionary and WeakValueDictionary robust against the
13826 - Issue #7455: Fix possible crash in cPickle on invalid input. Patch by Victor
13829 - Issue #1628205: Socket file objects returned by socket.socket.makefile() now
13833 - Issue #7471: Improve the performance of GzipFile's buffering mechanism, and
13837 - Issue #3972: http.client.HTTPConnection now accepts an optional source_address
13840 - socket.create_connection now accepts an optional source_address parameter.
13842 - Issue #5511: now zipfile.ZipFile can be used as a context manager. Initial
13845 - Issue #7556: Make sure Distutils' msvc9compile reads and writes the MSVC XML
13849 - Issue #7552: Removed line feed in the base64 Authorization header in the
13853 - Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by
13856 - Issue #4757: `zlib.compress` and other methods in the zlib module now raise a
13857 TypeError when given an `str` object (rather than a `bytes`-like object).
13860 - Issue #7349: Make methods of file objects in the io module accept None as an
13861 argument where file-like objects (ie StringIO and BytesIO) accept them to mean
13864 - Issue #7357: tarfile no longer suppresses fatal extraction errors by default.
13866 - Issue #5949: added check for correct lineends in input from IMAP server in
13869 - Add count() and reverse() methods to collections.deque().
13871 - Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d
13873 - Issue #6986: Fix crash in the JSON C accelerator when called with the wrong
13876 - Issue #7457: added a read_pkg_file method to
13879 - logging: Added optional `secure` parameter to SMTPHandler, to enable use of
13882 - Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is generated
13885 - Issue #4120: Drop reference to CRT from manifest when building extensions with
13888 - Issue #7333: The `posix` module gains an `initgroups()` function providing
13890 Patch by Jean-Paul Calderone.
13892 - Issue #7408: Fixed distutils.tests.sdist so it doesn't check for group
13896 - Issue #4486: When an exception has an explicit cause, do not print its
13897 implicit context too. This affects the `traceback` module as well as built-in
13900 - Issue #1515: Enable use of deepcopy() with instance methods. Patch by Robert
13903 - Issue #7403: logging: Fixed possible race condition in lock creation.
13905 - Issue #6845: Add restart support for binary upload in ftplib. The
13909 - Issue #5788: `datetime.timedelta` objects get a new `total_seconds()` method
13913 - Issue #7133: SSL objects now support the new buffer API.
13915 - Issue #1488943: difflib.Differ() doesn't always add hints for tab characters.
13917 - Issue #6123: tarfile now opens empty archives correctly and consistently
13920 - Issue #7354: distutils.tests.test_msvc9compiler - dragfullwindows can be 2.
13922 - Issue #5037: Proxy the __bytes__ special method instead to __bytes__ instead
13925 - Issue #7341: Close the internal file object in the TarFile constructor in case
13928 - Issue #7293: distutils.test_msvc9compiler is fixed to work on any fresh
13931 - Issue #2054: ftplib now provides an FTP_TLS class to do secure FTP using TLS
13934 - Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch.
13936 - Issue #4969: The mimetypes module now reads the MIME database from the
13939 - Issue #6816: runpy now provides a run_path function that allows Python code to
13945 - Issue #7318: multiprocessing now uses a timeout when it fails to establish a
13949 - Issue #7197: Allow unittest.TextTestRunner objects to be pickled and
13953 - Issue #7893: ``unittest.TextTestResult`` is made public and a ``resultclass``
13957 - Issue #7588: ``unittest.TextTestResult.getDescription`` now includes the test
13960 - Issue #3001: Add a C implementation of recursive locks which is used by
13962 locks as fast as regular non-recursive locks (previously, they were slower by
13965 - Issue #7282: Fix a memory leak when an RLock was used in a thread other than
13969 - Issue #7187: Importlib would not silence the IOError raised when trying to
13970 write new bytecode when it was made read-only.
13972 - Issue #7264: Fix a possible deadlock when deallocating thread-local objects
13975 - Issue #7211: Allow 64-bit values for the `ident` and `data` fields of kevent
13976 objects on 64-bit systems. Patch by Michael Broghton.
13978 - Issue #6896: mailbox.Maildir now invalidates its internal cache each time a
13982 - Issue #7246 & Issue #7208: getpass now properly flushes input before reading
13987 - Issue #7233: Fix a number of two-argument Decimal methods to make sure that
13992 - Issue #4750: Store the basename of the original filename in the gzip FNAME
13995 - Issue #1180: Added a new global option to ignore ~/.pydistutils.cfg in
13998 - Issue #7218: Fix test_site for win32, the directory comparison was done with
14001 - Issue #7205: Fix a possible deadlock when using a BZ2File object from
14004 - Issue #7077: logging: SysLogHandler now treats Unicode as per RFC 5424.
14006 - Issue #7099: Decimal.is_normal now returns True for numbers with exponent
14009 - Issue #7080: locale.strxfrm() raises a MemoryError on 64-bit non-Windows
14012 - Issue #5833: Fix extra space character in readline completion with the GNU
14015 - Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment.
14017 - Issue #7086: Added TCP support to SysLogHandler, and tidied up some
14020 - Issue #7082: When falling back to the MIME 'name' parameter, the correct place
14021 to look for it is the Content-Type header.
14023 - Make tokenize.detect_coding() normalize utf-8 and iso-8859-1 variants like the
14026 - Issue #7048: Force Decimal.logb to round its result when that result is too
14029 - Issue #6236, #6348: Fix various failures in the I/O library under AIX and
14030 other platforms, when using a non-gcc compiler. Patch by Derk Drukker.
14032 - Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...) does now
14035 - Issue #5042: Structure sub-subclass does now initialize correctly with base
14038 - Issue #6882: Import uuid creates zombies processes.
14040 - Issue #6635: Fix profiler printing usage message.
14042 - Issue #6856: Add a filter keyword argument to TarFile.add().
14044 - Issue #6888: pdb's alias command was broken when no arguments were given.
14046 - Issue #6857: Default format() alignment should be '>' for Decimal instances.
14048 - Issue #6795: int(Decimal('nan')) now raises ValueError instead of returning
14052 - Issue #6850: Fix bug in Decimal._parse_format_specifier for formats with no
14055 - Issue #6239: ctypes.c_char_p return value must return bytes.
14057 - Issue #6838: Use a list to accumulate the value instead of repeatedly
14060 Transfer-Encoding of 'chunked'.
14062 - Trying to import a submodule from a module that is not a package, ImportError
14065 - When the globals past to importlib.__import__() has __package__ set to None,
14068 - Raise a TypeError when the name of a module to be imported for
14071 - Allow the fromlist passed into importlib.__import__ to be any iterable.
14073 - Have importlib raise ImportError if None is found in sys.modules.
14075 - Issue #6054: Do not normalize stored pathnames in tarfile.
14077 - Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN
14080 - Issue #1356969: Add missing info methods in tix.HList.
14082 - Issue #1522587: New constants and methods for the tix.Grid widget.
14084 - Issue #1250469: Fix the return value of tix.PanedWindow.panes.
14086 - Issue #1119673: Do not override tkinter.Text methods when creating a
14089 - Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
14091 - Issue #1135: Add the XView and YView mix-ins to avoid duplicating the xview*
14094 - Issue #6629: Fix a data corruption issue in the new I/O library, which could
14099 - Issue #6622: Fix "local variable 'secret' referenced before assignment" bug in
14102 - Issue #2715: Remove remnants of Carbon.File from binhex module.
14104 - Issue #6595: The Decimal constructor now allows arbitrary Unicode decimal
14106 to accepting [0-9].
14108 - Issue #6106: telnetlib.Telnet.process_rawq doesn't handle default WILL/WONT
14111 - Issue #1424152: Fix for http.client, urllib.request to support SSL while
14115 - Add importlib.abc.ExecutionLoader to represent the PEP 302 protocol for
14120 - importlib.abc.PyLoader did not inherit from importlib.abc.ResourceLoader like
14124 - Issue #6431: Make Fraction type return NotImplemented when it doesn't know how
14128 - Issue #6415: Fixed warnings.warn segfault on bad formatted string.
14130 - Issue #6358: The exit status of a command started with os.popen() was reported
14133 - Issue #6323: The pdb debugger did not exit when running a script with a syntax
14136 - Issue #3392: The subprocess communicate() method no longer fails in select()
14139 - Issue #6369: Fix an RLE decompression bug in the binhex module.
14141 - Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.
14143 - The deprecated function string.maketrans has been removed.
14145 - Issue #4005: Fixed a crash of pydoc when there was a zip file present in
14148 - Issue #6218: io.StringIO and io.BytesIO instances are now picklable.
14150 - The os.get_exec_path() function to return the list of directories that will be
14153 - Issue #7481: When a threading.Thread failed to start it would leave the
14156 - Issue #1068268: The subprocess module now handles EINTR in internal os.waitpid
14159 - Issue #6729: Added ctypes.c_ssize_t to represent ssize_t.
14161 - Issue #6247: The argparse module has been added to the standard library.
14163 - Issue #8235: _socket: Add the constant ``SO_SETFIB``. SO_SETFIB is a socket
14166 - Issue #9315: Fix for the trace module to record correct class name
14170 -----------------
14172 - Issue #9959: Tweak formula used for computing math.log of an integer,
14175 - Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
14177 - Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly
14183 - Issue #6095: Make directory argument to os.listdir optional.
14185 - Issue #9277: Fix bug in struct.pack for bools in standard mode (e.g.,
14189 - Issue #5180: Fixed a bug that prevented loading 2.x pickles in 3.x python when
14190 they contain instances of old-style classes.
14192 - Issue #9165: Add new functions math.isfinite and cmath.isfinite, to accompany
14195 - Issue #1578269: Implement os.symlink for Windows 6.0+. Patch by Jason
14198 - In struct.pack, correctly propagate exceptions from computing the truth of an
14201 - Issue #9000: datetime.timezone objects now have eval-friendly repr.
14203 - In the math module, correctly lookup __trunc__, __ceil__, and __floor__ as
14206 - Issue #9005: Prevent utctimetuple() from producing year 0 or year 10,000.
14211 - Issue #6641: The ``datetime.strptime`` method now supports the ``%z``
14218 - Issue #5094: The ``datetime`` module now has a simple concrete class
14225 - Issue #8973: Add __all__ to struct module; this ensures that help(struct)
14228 - Issue #3129: Trailing digits in struct format string are no longer ignored.
14232 - Issue #7384: If the system readline library is linked against ncurses, the
14236 - Issue #2810: Fix cases where the Windows registry API returns ERROR_MORE_DATA,
14237 requiring a re-try in order to get the complete result.
14239 - Issue #8692: Optimize math.factorial: replace the previous naive algorithm
14240 with an improved 'binary-split' algorithm that uses fewer multiplications and
14245 - Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing
14248 - Issue #8644: The accuracy of td.total_seconds() has been improved (by
14253 - Issue #2706: Allow division of a timedelta by another timedelta: timedelta /
14257 - Issue #8314: Fix unsigned long long bug in libffi on Sparc v8.
14259 - Issue #8300: When passing a non-integer argument to struct.pack with any
14260 integer format code, struct.pack first attempts to convert the non-integer
14261 using its __index__ method. If that method is non-existent or raises
14264 - Issue #8142: Update libffi to the 3.0.9 release.
14266 - Issue #6949: Allow the _dbm extension to be built with db 4.8.x.
14268 - Issue #6544: Fix a reference leak in the kqueue implementation's error
14271 - Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
14274 - Issue #6508: Add posix.{getresuid,getresgid,setresuid,setresgid}.
14276 - Issue #7078: Set struct.__doc__ from _struct.__doc__.
14278 - Issue #3366: Add erf, erfc, expm1, gamma, lgamma functions to math module.
14280 - Issue #6877: It is now possible to link the readline extension to the libedit
14283 - Issue #6848: Fix curses module build failure on OS X 10.6.
14285 - Fix a segfault that could be triggered by expat with specially formed input.
14287 - Issue #6561: '\d' in a regex now matches only characters with Unicode category
14291 - Issue #4509: Array objects are no longer modified after an operation failing
14292 due to the resize restriction in-place when the object has exported buffers.
14294 - Issue #2389: Array objects are now pickled in a portable manner.
14296 - Expat: Fix DoS via XML document with malformed UTF-8 sequences
14299 - Issue #7242: On Solaris 9 and earlier calling os.fork() from within a thread
14300 could raise an incorrect RuntimeError about not holding the import lock. The
14301 import lock is now reinitialized after fork.
14303 - Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1
14306 - Build the ossaudio extension on GNU/kFreeBSD.
14308 - Issue #7347: winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in
14311 - Issue #7567: PyCurses_setupterm: Don't call ``setupterm`` twice.
14314 -----
14316 - Use OpenSSL 1.0.0a on Windows.
14318 - Issue #9280: Make sharedinstall depend on sharedmods.
14320 - Issue #9189: Make a user-specified CFLAGS, CPPFLAGS, or LDFLAGS setting
14324 backward-compatibility.
14326 - Issue #8854: Fix finding Visual Studio 2008 on Windows x64.
14328 - Issue #1759169, #8864: Drop _XOPEN_SOURCE on Solaris, define it for
14331 - Issue #8625: Turn off optimization in --with-pydebug builds with gcc.
14332 (Optimization was unintentionally turned on in gcc --with-pydebug builds as a
14336 - Issue #3646: It is now easily possible to install a Python framework into your
14339 - Issue #3928: os.mknod() now available in Solaris, also.
14341 - Issue #3326: Build Python without -fno-strict-aliasing when the gcc does not
14344 - Issue #1628484: The Makefile doesn't ignore the CFLAGS environment variable
14348 - Issue #6716: Quote -x arguments of compileall in MSI installer. Exclude 2to3
14351 - Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
14353 - Issue #7632: When Py_USING_MEMORY_DEBUGGER is defined, disable the private
14357 - Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built.
14359 - Issue #6943: Use pkg-config to find the libffi headers when the
14360 --with-system-ffi flag is used.
14362 - Issue #7609: Add a --with-system-expat option that causes the system's expat
14366 - Issue #7589: Only build the nis module when the correct header files are
14369 - Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows.
14371 - Issue #5792: Extend the short float repr support to x86 systems using
14374 - Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it compiles
14375 correctly under gcc on x86-64. This fixes a reported problem with the
14376 --with-tsc build on x86-64.
14378 - Issue #6802: Fix build issues on MacOSX 10.6.
14380 - Issue #6244: Allow detect_tkinter to look for Tcl/Tk 8.6.
14382 - Issue #4601: 'make install' did not set the appropriate permissions on
14385 - Issue #5390: Add uninstall icon independent of whether file extensions are
14388 - Issue #7541: When using ``python-config`` with a framework install the
14391 - python-config now supports multiple options on the same command line.
14393 - Issue #8509: Fix quoting in help strings and code snippets in configure.in.
14395 - Issue #8510: Update to autoconf2.65.
14398 -------------
14400 - Issue #9817: Add expat COPYING file; add expat, libffi and expat licenses
14403 - Issue #9524: Document that two CTRL* signals are meant for use only
14406 - Issue #9255: Document that the 'test' package is meant for internal Python use
14409 - A small WSGI server was added as Tools/scripts/serve.py, and is used to
14412 - Updating `Using Python` documentation to include description of CPython's -J
14413 and -X options.
14415 - Document that importing a module that has None in sys.modules triggers an
14418 - Issue #6556: Fixed the Distutils configuration files location explanation for
14421 - Update python manual page (options -B, -O0, -s, environment variables
14424 - Issue #8909: Added the size of the bitmap used in the installer created by
14428 -----
14430 - Issue #9251: test_threaded_import didn't fail when run through regrtest if the
14431 import lock was disabled.
14433 - Issue #8605: Skip test_gdb if Python is compiled with optimizations.
14435 - Issue #7449: Skip test_socketserver if threading support is disabled.
14437 - Issue #8672: Add a zlib test ensuring that an incomplete stream can be handled
14441 - Issue #8533: regrtest uses backslashreplace error handler for stdout to avoid
14442 UnicodeEncodeError (write non-ASCII character to stdout using ASCII encoding).
14444 - Issue #8576: Remove use of find_unused_port() in test_smtplib and
14447 - Issue #7449: Fix many tests to support Python compiled without thread
14450 - Issue #8108: test_ftplib's non-blocking SSL server now has proper handling of
14453 - Issues #8279, #8330, #8437, #8480, #8495: Fix test_gdb failures, patch written
14456 - Issue #3864: Skip three test_signal tests on freebsd6 because they fail if any
14459 - Issue #8193: Fix test_zlib failure with zlib 1.2.4.
14461 - Issue #8248: Add some tests for the bool type. Patch by Gregory Nofi.
14463 - Issue #8263: Now regrtest.py will report a failure if it receives a
14466 - Issue #8180 and #8207: Fix test_pep277 on OS X and add more tests for special
14469 - Issue #7783: test.support.open_urlresource invalidates the outdated files from
14472 - Issue #7849: Now the utility ``check_warnings`` verifies if the warnings are
14475 - The four path modules (genericpath, macpath, ntpath, posixpath) share a common
14478 - Print platform information when running the whole test suite, or using the
14479 --verbose flag.
14481 - Issue #767675: enable test_pep277 on POSIX platforms with Unicode-friendly
14484 - Issue #6292: for the moment at least, the test suite runs cleanly if python is
14485 run with the -OO flag. Tests requiring docstrings are skipped.
14487 - Issue #7712: test.support gained a new `temp_cwd` context manager which is now
14492 - Issue #7924: Fix an intermittent 'XXX undetected error' failure in test_capi
14496 - Issue #7728: test_timeout was changed to use support.bind_port instead of a
14499 - Issue #7376: Instead of running a self-test (which was failing) when called
14502 - Issue #7396: fix regrtest -s, which was broken by the -j enhancement.
14504 - Issue #7498: test_multiprocessing now uses test.support.find_unused_port
14507 - Issue #7431: Use TESTFN in test_linecache instead of trying to create a file
14508 in the Lib/test directory, which might be read-only for the user running the
14511 - Issue #7324: Add a sanity check to regrtest argument parsing to catch the case
14514 - Issue #7312: Add a -F flag to run the selected tests in a loop until a test
14515 fails. Can be combined with -j.
14517 - Issue #6551: test_zipimport could import and then destroy some modules of the
14522 - Issue #7295: Do not use a hardcoded file name in test_tarfile.
14524 - Issue #7270: Add some dedicated unit tests for multi-thread synchronization
14525 primitives such as Lock, RLock, Condition, Event and Semaphore.
14527 - Issue #7248 (part 2): Use a unique temporary directory for importlib source
14531 - Issue #7248: In importlib.test.source.util a try/finally block did not make
14535 - Issue #7222: Make thread "reaping" more reliable so that reference
14536 leak-chasing test runs give sensible results. The previous method of reaping
14541 - Issue #7151: Fixed regrtest -j so that output to stderr from a test no longer
14544 - Issue #7055: test___all__ now greedily detects all modules which have an
14547 - Issue #7058: Added save/restore for things like sys.argv and cwd to
14551 - Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6.
14553 - Fixed tests in importlib.test.source.test_abc_loader that were masking the
14557 - Removed importlib's custom test discovery code and switched to
14561 -----------
14563 - Issue #5464, #8974: Implement plural forms in msgfmt.py.
14565 - iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were
14572 *Release date: 27-June-2009*
14575 -----------------
14577 - Issue #6334: Fix bug in range length calculation for ranges with
14580 - Issue #6329: Fixed iteration for memoryview objects (it was being blocked
14584 -------
14586 - Issue #6126: Fixed pdb command-line usage.
14588 - Issue #6314: logging: performs extra checks on the "level" argument.
14590 - Issue #6274: Fixed possible file descriptors leak in subprocess.py
14592 - Accessing io.StringIO.buffer now raises an AttributeError instead of
14595 - Issue #6271: mmap tried to close invalid file handle (-1) when anonymous.
14598 - Issue #1202: zipfile module would cause a struct.error when attempting to
14599 store files with a CRC32 > 2**31-1.
14602 -----------------
14604 - Issue #5590: Remove unused global variable in pyexpat extension.
14610 *Release date: 13-June-2009*
14613 -----------------
14615 - Fixed SystemError triggered by "range([], 1, -1)".
14617 - Issue #5924: On Windows, a large PYTHONPATH environment variable
14620 - Issue #4547: When debugging a very large function, it was not always
14623 - Issue #5330: C functions called with keyword arguments were not reported by
14627 -------
14629 - Issue #6438: Fixed distutils.cygwinccompiler.get_versions : the regular
14631 Popen. Tested under win32 to build the py-postgresql project.
14633 - Issue #6258: Support AMD64 in bdist_msi.
14635 - Issue #6195: fixed doctest to no longer try to read 'source' data from
14638 - Issue #5262: Fixed bug in next rollover time computation in
14641 - Issue #6217: The C implementation of io.TextIOWrapper didn't include the
14645 - Issue #6137: The pickle module now translates module names when loading
14646 or dumping pickles with a 2.x-compatible protocol, in order to make data
14650 - Removed the ipaddr module.
14652 - Issue #3613: base64.{encode,decode}string are now called
14656 - Issue #5767: Remove sgmlop support from xmlrpc.client.
14658 - Issue #6150: Fix test_unicode on wide-unicode builds.
14660 - Issue #6149: Fix initialization of WeakValueDictionary objects from non-empty
14664 -------
14666 - Issue #6221: Delete test registry key before running the test.
14668 - Issue #6158: Package Sine-1000Hz-300ms.aif in MSI file.
14670 C-API
14671 -----
14673 - Issue #5735: Python compiled with --with-pydebug should throw an
14675 --with-pydebug, and vice-versa.
14679 -----
14681 - Issue #6154: Make sure the intl library is added to LIBS if needed. Also
14684 - Issue #5809: Specifying both --enable-framework and --enable-shared is
14692 *Release date: 2009-05-30*
14695 -----------------
14697 - Issue #6097: Escape UTF-8 surrogates resulting from mbstocs conversion
14700 - Issue #6012: Add cleanup support to O& argument parsing.
14702 - Issue #6089: Fixed str.format with certain invalid field specifiers
14705 - Issue #5982: staticmethod and classmethod now expose the wrapped
14708 - Added support for multiple context managers in the same with-statement.
14711 - Issue #5829: complex("1e500") no longer raises OverflowError. This
14715 - Issue #3527: Removed Py_WIN_WIDE_FILENAMES which is not used any more.
14717 - Issue #5994: the marshal module now has docstrings.
14719 - Issue #5981: Fix three minor inf/nan issues in float.fromhex:
14722 was locale aware; and (3) the interpretation of fromhex('-nan')
14723 didn't match that of float('-nan').
14726 -------
14728 - Issue #4859: Implement PEP 383 for pwd, spwd, and grp.
14730 - smtplib 'login' and 'cram-md5' login are also fixed (see Issue #5259).
14732 - Issue #6121: pydoc now ignores leading and trailing spaces in the
14735 - Issue #6118: urllib.parse.quote_plus ignored the encoding and errors
14738 - collections.namedtuple() was not working with the following field
14741 - In unittest, using a skipping decorator on a class is now equivalent to
14744 - Issue #6050: Don't fail extracting a directory from a zipfile if
14747 - Issue #1309352: fcntl now converts its third arguments to a C `long` rather
14748 than an int, which makes some operations possible under 64-bit Linux (e.g.
14751 - Issue #5761: Add the name of the underlying file to the repr() of various
14754 - Issue #5259: smtplib plain auth login no longer gives a traceback. Fix
14757 - Issue #1983: Fix functions taking or returning a process identifier to use
14761 - Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns the socket.
14764 - Issue #2116: Weak references and weak dictionaries now support copy()ing and
14767 - Issue #1655: Make imaplib IPv6-capable. Patch by Derek Morr.
14769 - Issue #5918: Fix a crash in the parser module.
14771 - Issue #1664: Make nntplib IPv6-capable. Patch by Derek Morr.
14773 - Issue #5006: Better handling of unicode byte-order marks (BOM) in the io
14774 library. This means, for example, that opening a UTF-16 text file in
14778 - Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source'
14782 - Issue #5955: aifc's close method did not close the file it wrapped,
14786 ------------
14788 - Issue #6047: fullinstall has been removed because Python 3's executable will
14791 - Lib/smtpd.py is no longer installed as a script.
14794 -----------------
14796 - Issue #3061: Use wcsftime for time.strftime where available.
14798 - Issue #4873: Fix resource leaks in error cases of pwd and grp.
14800 - Issue #6093: Fix off-by-one error in locale.strxfrm.
14802 - The _functools and _locale modules are now built into the libpython shared
14806 -----
14808 - Issue #3585: Add pkg-config support. It creates a python-2.7.pc file
14813 -----
14815 - Issue #5442: Tests for importlib were not properly skipping case-sensitivity
14816 tests on darwin even when the OS was installed on a case-sensitive
14824 *Release date: 2009-05-06*
14827 -----------------
14829 - Issue #5914: Add new C API function PyOS_string_to_double, and
14832 - Issue #3382: float.__format__, complex.__format__, and %-formatting
14834 affects nan -> NAN and inf -> INF.
14836 - Issue #5799: ntpath (ie, os.path on Windows) fully supports UNC pathnames
14840 - Issue #5920: For float.__format__, change the behavior with the
14849 - Implement PEP 383, Non-decodable Bytes in System Character Interfaces.
14851 - Issue #5890: in subclasses of 'property' the __doc__ attribute was
14855 - Issue #4426: The UTF-7 decoder was too strict and didn't accept some legal
14858 - Issue #3672: Reject surrogates in utf-8 codec; add surrogatepass error handler.
14860 - Issue #5883: In the io module, the BufferedIOBase and TextIOBase ABCs have
14864 - Issue #5859: Remove switch from '%f' to '%g'-style formatting for
14869 - Issue #1588: Add complex.__format__. For example,
14872 - Issue #5864: Fix empty format code formatting for floats so that it
14875 - Issue #5793: Rationalize isdigit / isalpha / tolower, etc. Includes
14878 - Issue #5835: Deprecate PyOS_ascii_formatd.
14880 - Issue #4971: Fix titlecase for characters that are their own
14883 - Issue #5283: Setting __class__ in __del__ caused a segfault.
14885 - Issue #5816: complex(repr(z)) now recovers z exactly, even when
14888 - Issue #3166: Make int -> float conversions correctly rounded.
14890 - Issue #1869 (and many duplicates): make round(x, n) correctly
14891 rounded for a float x, by using the decimal <-> binary conversions
14895 - Issue #5787: object.__getattribute__(some_type, "__bases__") segfaulted on
14898 - Issue #5772: format(1e100, '<') produces '1e+100', not '1.0e+100'.
14900 - Issue #5515: str.format() type 'n' combined with commas and leading
14903 - Implement PEP 378, Format Specifier for Thousands Separator, for
14906 - The str function switches to exponential notation at
14912 - Issue #1580: On most platforms, use a 'short' float repr: for a
14927 secondary consequence, all string-to-float and float-to-string
14934 - Issue #5759: float() didn't call __float__ on str subclasses.
14936 - The string.maketrans() function is deprecated; there is a new static method
14941 - Issue #2170: refactored xml.dom.minidom.normalize, increasing both
14944 - Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add ``do { ... } while (0)``
14947 - Issue #3739: The unicode-internal encoder now reports the number of characters
14951 ------------
14953 - Issue #5756: Install idle and pydoc with a 3 suffix.
14956 -------
14958 - Issue #8203: Fix IDLE Credits dialog: view_file() uses its encoding argument.
14960 - Issue #5311: bdist_msi can now build packages that do not depend on a
14963 - Issue #5150: IDLE's format menu now has an option to strip trailing
14966 - Issue #5940: distutils.command.build_clib.check_library_list was not doing
14969 - Issue #4875: On win32, ctypes.util.find_library does no longer
14972 - Issue #5142: Add the ability to skip modules while stepping to pdb.
14974 - Issue #1309567: Fix linecache behavior of stripping subdirectories when
14977 - Issue #5923: Update the ``turtle`` module to version 1.1, add two new
14980 - Issue #5692: In ``zipfile.Zipfile``, fix wrong path calculation when
14983 - Issue #5913: os.listdir() should fail for empty path on windows.
14985 - Issue #5084: unpickling now interns the attribute names of pickled objects,
14989 - The json module now works exclusively with str and not bytes.
14991 - Issue #3959: The ipaddr module has been added to the standard library.
14994 - Issue #3002: ``shutil.copyfile()`` and ``shutil.copytree()`` now raise an
14997 - Issue #5857: tokenize.tokenize() now returns named tuples.
14999 - Issue #4305: ctypes should now build again on mipsel-linux-gnu
15001 - Issue #1734234: Massively speedup ``unicodedata.normalize()`` when the
15005 - Issue #5853: calling a function of the mimetypes module from several threads
15009 - Issue #5854: Updated __all__ to include some missing names and remove some
15012 - Issue #3102: All global symbols that the _ctypes extension defines
15015 - Issue #5041: ctypes does now allow pickling wide character.
15017 - Issue #5812: For the two-argument form of the Fraction constructor,
15021 - Issue #5812: Fraction('1e6') is valid: more generally, any string
15025 - Issue #5734: BufferedRWPair was poorly tested and had several glaring
15028 - Issue #1161031: fix readwrite select flag handling: POLLPRI now
15034 - Issue #2703: SimpleXMLRPCDispatcher.__init__: Provide default values for
15037 - Issue #5828 (Invalid behavior of unicode.lower): Fixed bogus logic in
15042 -----------------
15044 - Issue #5881: Remove old undocumented compatibility interfaces in hashlib and
15047 - Issue #5463: In struct module, remove deprecated float coercion
15052 - Issue #5359: Readd the Berkeley DB detection code to allow _dbm be built
15056 -----
15058 - Issue #5354: New test support function import_fresh_module() makes
15064 - Issue #5837: Certain sequences of calls to set() and unset() for
15068 C-API
15069 -----
15071 - Issue #5630: A replacement PyCObject API, PyCapsule, has been added.
15077 *Release date: 2009-4-4*
15080 -----------------
15082 - Implement PEP 378, Format Specifier for Thousands Separator, for
15085 - Issue #5666: Py_BuildValue's 'c' code should create byte strings.
15087 - Issue #5499: The 'c' code for argument parsing functions now only accepts a
15090 - Fix a problem in PyErr_NormalizeException that leads to "undetected errors"
15093 - Issue #1665206: Remove the last eager import in _warnings.c and make it lazy.
15095 - Fix a segfault when running test_exceptions with coverage, caused by
15098 - Issue #5604: non-ASCII characters in module name passed to
15099 imp.find_module() were converted to UTF-8 while the path is
15102 - Issue #5126: str.isprintable() returned False for space characters.
15104 - Issue #4865: On MacOSX /Library/Python/2.7/site-packages is added to
15107 - Issue #4688: Add a heuristic so that tuples and dicts containing only
15110 on long-running programs, depending on their particular use of datatypes.
15112 - Issue #5512: Rewrite PyLong long division algorithm (x_divrem) to
15116 - Issue #4258: Make it possible to use base 2**30 instead of base
15118 reasons. Base 2**30 is enabled by default on 64-bit machines. Add
15119 --enable-big-digits option to configure, which overrides the
15123 - Issue #4474: PyUnicode_FromWideChar now converts characters outside
15127 - Issue #5237: Allow auto-numbered fields in str.format(). For
15130 - Issue #5392: when a very low recursion limit was set, the interpreter would
15133 - Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with
15137 -------
15139 - Issue #2625: added missing items() call to the for loop in
15142 - Issue #5640: Fix _multibytecodec so that CJK codecs don't repeat
15143 error substitutions from non-strict codec error callbacks in
15146 - Issue #5656: Fix the coverage reporting when running the test suite with
15147 the -T argument.
15149 - Issue #5647: MutableSet.__iand__() no longer mutates self during iteration.
15151 - Issue #5624: Fix the _winreg module name still used in several modules.
15153 - Issue #5628: Fix io.TextIOWrapper.read() with an unreadable buffer.
15155 - Issue #5619: Multiprocessing children disobey the debug flag and causes
15158 - Issue #5400: Added patch for multiprocessing on netbsd compilation/support
15160 - Issue #5387: Fixed mmap.move crash by integer overflow.
15162 - Issue #5261: Patch multiprocessing's semaphore.c to support context
15163 manager use: "with multiprocessing.Lock()" works now.
15165 - Issue #5236: Change time.strptime() to only take strings. Didn't work with
15166 bytes already but the failure was non-obvious.
15168 - Issue #5177: Multiprocessing's SocketListener class now uses
15172 - Issue #5595: Fix UnboundedLocalError in ntpath.ismount().
15174 - Issue #1174606: Calling read() without arguments of an unbounded file
15177 - The max_buffer_size arguments of io.BufferedWriter, io.BufferedRWPair, and
15180 - Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop
15185 - Issue #2110: Add support for thousands separator and 'n' type
15188 - Fix Decimal.__format__ bug that swapped the meanings of the '<' and
15191 - The error detection code in FileIO.close() could fail to reflect the `errno`
15192 value, and report it as -1 instead.
15194 - Issue #5016: FileIO.seekable() could return False if the file position
15198 -----------------
15200 - Issue #5391: mmap now deals exclusively with bytes.
15202 - Issue #5463: In struct module, remove deprecated overflow wrapping
15203 when packing an integer: struct.pack('=L', -1) now raises
15212 *Release date: 2009-03-07*
15215 -----------------
15217 - The io module has been reimplemented in C for speed.
15219 - Give dict views an informative __repr__.
15221 - Issue #5247: Improve error message when unknown format codes are
15224 - Issue #5249: time.strftime returned malformed string when format string
15227 - Issue #4626: compile(), exec(), and eval() ignore the coding cookie if the
15230 - Issue #5186: Reduce hash collisions for objects with no __hash__ method by
15233 - Issue #4575: Fix Py_IS_INFINITY macro to work correctly on x87 FPUs:
15236 - Issue #5137: Make len() correctly raise a TypeError when a __len__ method
15237 returns a non-number type.
15239 - Issue #5182: Removed memoryview.__str__.
15241 - Issue #1717: Removed builtin cmp() function, dropped tp_compare
15246 - Issue #1242657: the __len__() and __length_hint__() calls in several tools
15249 - Issue #4707: round(x, n) now returns an integer if x is an integer.
15252 - Issue #4753: By enabling a configure option named '--with-computed-gotos'
15257 - Issue #4874: Most builtin decoders now reject unicode input.
15259 - Issue #4842: Don't allow trailing 'L' when constructing an integer
15262 - Issue #4991: os.fdopen now raises an OSError for invalid file descriptors.
15264 - Issue #4838: When a module is deallocated, free the memory backing the
15267 - Issue #4910: Rename nb_long slot to nb_reserved, and change its
15270 - Issue #4935: The overflow checking code in the expandtabs() method common
15274 - Issue #3720: Fix a crash when an iterator modifies its class and removes its
15277 - Issue #4910: Builtin int() function and PyNumber_Long/PyNumber_Int API
15281 - Issue #4893: Use NT threading on CE.
15283 - Issue #4915: Port sysmodule to Windows CE.
15285 - Issue #4868: utf-8, utf-16 and latin1 decoding are now 2x to 4x faster. The
15289 - Issue #4074: Change the criteria for doing a full garbage collection (i.e.
15293 http://mail.python.org/pipermail/python-dev/2008-June/080579.html.
15295 - Issue #4604: Some objects of the I/O library could still be used after
15299 - Issue #4705: Fix the -u ("unbuffered binary stdout and stderr") command-line
15300 flag to work properly. Furthermore, when specifying -u, the text stdout
15301 and stderr streams have line-by-line buffering enabled (the default being
15304 - The internal table, _PyLong_DigitValue, is now an array of unsigned chars
15308 - Issue #1180193: When importing a module from a .pyc (or .pyo) file with
15312 Patch by Ziga Seilnacht and Jean-Paul Calderone.
15314 - Issue #4580: Fix slicing of memoryviews when the item size is greater than
15318 - Issue #4075: Use OutputDebugStringW in Py_FatalError.
15320 - Issue #4747: When the terminal does not use utf-8, executing a script with
15321 non-ascii characters in its name could fail with a "SyntaxError: None" error.
15323 - Issue #4797: IOError.filename was not set when ``_fileio.FileIO`` failed
15326 - Issue #3680: Reference cycles created through a dict, set or deque iterator
15329 - Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types
15332 - Issue #4759: None is now allowed as the first argument of
15335 - Added test case to ensure attempts to read from a file opened for writing
15338 - Issue #3106: Speedup some comparisons (str/str and int/int).
15340 - Issue #2183: Simplify and optimize bytecode for list, dict and set
15343 - Issue #2467: gc.DEBUG_STATS reported invalid elapsed times. Also, always
15347 - Issue #3439: Add a bit_length method to int.
15349 - Issue #2173: When getting device encoding, check that return value of
15353 - Issue #4597: Fixed several opcodes that weren't always propagating
15356 - Issue #4589: Fixed exception handling when the __exit__ function of a
15359 - Issue #4445: Replace "sizeof(PyBytesObject)" with
15364 - Issue #4533: File read operation was dreadfully slow due to a slowly
15368 - Issue #4509: Various issues surrounding resize of bytearray objects to
15371 - Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
15376 - Issue #4569: Interpreter crash when mutating a memoryview with an item size
15379 - Issue #4748: Lambda generators no longer return a value.
15381 - The re.sub(), re.subn() and re.split() functions now accept a flags parameter.
15383 - Issue #5108: Handle %s like %S, %R and %A in PyUnicode_FromFormatV(): Call
15385 step. This avoids problems with counting UTF-8 bytes that ignores the effect
15389 -------
15391 - Issue #7071: byte-compilation in Distutils is now done with respect to
15394 - Issue #7066: archive_util.make_archive now restores the cwd if an error is
15397 - Issue #6516: Added owner/group support when creating tar archives in
15400 - Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
15402 - Issue #6163: Fixed HP-UX runtime library dir options in
15406 - Issue #6693: New functions in site.py to get user/global site packages paths.
15408 - Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
15411 - Issue #6545: Removed assert statements in distutils.Extension, so the
15412 behavior is similar when used with -O.
15414 - unittest has been split up into a package. All old names should still work.
15416 - Issue #6466: now distutils.cygwinccompiler and distutils.emxccompiler
15421 - Issue #6433: fixed issues with multiprocessing.pool.map hanging on empty list
15423 - Issue #6314: logging: Extra checks on the "level" argument in more places.
15425 - Issue #2622: Fixed an ImportError when importing email.message from a
15428 - Issue #6455: Fixed test_build_ext under win32.
15430 - Issue #6377: Enabled the compiler option, and deprecate its usage as an
15433 - Issue #6413: Fixed the log level in distutils.dist for announce.
15435 - Issue #6403: Fixed package path usage in build_ext.
15437 - Issues #5155, 5313, 5331: multiprocessing.Process._bootstrap was
15441 - Issue #6365: Distutils build_ext inplace mode was copying the compiled
15444 - Issue #6164: Added an AIX specific linker argument in Distutils
15447 - Issue #6286: Now Distutils upload command is based on urllib2 instead of
15450 - Issue #6287: Added the license field in Distutils documentation.
15452 - Issue #6263: Fixed syntax error in distutils.cygwincompiler.
15454 - Issue #5201: distutils.sysconfig.parse_makefile() now understands `$$`
15456 `LDFLAGS='-rpath=\$$LIB:/some/other/path'`. Patch by Floris Bruynooghe.
15458 - Issue #6131: test_modulefinder leaked when run after test_distutils.
15461 - Issue #6048: Now Distutils uses the tarfile module in archive_util.
15463 - Issue #6062: In distutils, fixed the package option of build_ext. Feedback
15466 - Issue #6053: Fixed distutils tests on win32. patch by Hirokazu Yamamoto.
15468 - Issue #6046: Fixed the library extension when distutils build_ext is used
15471 - Issue #6041: Now distutils `sdist` and `register` commands use `check` as a
15474 - Issue #6022: a test file was created in the current working directory by
15477 - Issue #5977: distutils build_ext.get_outputs was not taking into account the
15480 - Issue #5984: distutils.command.build_ext.check_extensions_list checks were broken
15481 for old-style extensions.
15483 - Issue #5976: Fixed Distutils test_check_environ.
15485 - Issue #5941: Distutils build_clib command was not working anymore because
15490 - Issue #2245: aifc now skips chunk types it doesn't recognize, per spec.
15492 - Issue #5874: distutils.tests.test_config_cmd is not locale-sensitive
15495 - Issue #5810: Fixed Distutils test_build_scripts so it uses
15498 - Issue #4951: Fixed failure in test_httpservers.
15500 - Issue #5795: Fixed test_distutils failure on Debian ppc.
15502 - Issue #5607: fixed Distutils test_get_platform for Mac OS X fat binaries.
15504 - Issue #5741: don't disallow "%%" (which is an escape for "%") when setting
15507 - Issue #5732: added a new command in Distutils: check.
15509 - Issue #5731: Distutils bdist_wininst no longer worked on non-Windows
15512 - Issue #5095: Added bdist_msi to the list of bdist supported formats.
15515 - Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.
15518 - Issue #5694: removed spurious test output in Distutils (test_clean).
15520 - Issue #1326077: fix the formatting of SyntaxErrors by the traceback module.
15522 - Issue #1665206 (partially): Move imports in cgitb to the top of the module
15526 - Issue #2522: locale.format now checks its first argument to ensure it has
15530 - Issue #5583: Added optional Extensions in Distutils. Initial patch by Georg
15533 - Issue #1222: locale.format() bug when the thousands separator is a space
15536 - Issue #5472: Fixed distutils.test_util tear down. Original patch by
15539 - collections.deque() objects now have a read-only attribute called maxlen.
15541 - Issue #2638: Show a window constructed with tkSimpleDialog.Dialog only after
15545 - Issue #4792: Prevent a segfault in _tkinter by using the
15549 - Issue #5193: Guarantee that tkinter.Text.search returns a string.
15551 - Issue #5394: removed > 2.3 syntax from distutils.msvc9compiler.
15554 - Issue #5334: array.fromfile() failed to insert values when EOFError was raised.
15556 - Issue #5385: Fixed mmap crash after resize failure on windows.
15558 - Issue #5179: Fixed subprocess handle leak on failure on windows.
15560 - PEP 372: Added collections.OrderedDict().
15562 - The _asdict() for method for namedtuples now returns an OrderedDict().
15564 - configparser now defaults to using an ordered dictionary.
15566 - Issue #5401: Fixed a performance problem in mimetypes when ``from mimetypes
15569 - Issue #1733986: Fixed mmap crash in accessing elements of second map object
15572 - Issue #5386: mmap.write_byte didn't check map size, so it could cause buffer
15575 - Issue #1533164: Installed but not listed ``*.pyo`` was breaking Distutils
15578 - Issue #5378: added --quiet option to Distutils bdist_rpm command.
15580 - Issue #5052: make Distutils compatible with 2.3 again.
15582 - Issue #5316: Fixed buildbot failures introduced by multiple inheritance
15585 - Issue #5287: Add exception handling around findCaller() call to help out
15588 - Issue #5282: Fixed mmap resize on 32bit windows and unix. When offset > 0,
15591 - Issue #5292: Fixed mmap crash on its boundary access m[len(m)].
15593 - Issue #2279: distutils.sdist.add_defaults now add files
15596 - Issue #5257: refactored all tests in distutils, so they use
15599 - Issue #4524: distutils build_script command failed with --with-suffix=3.
15602 - Issue #2461: added tests for distutils.util
15604 - Issue #4998: The memory saving effect of __slots__ had been lost on Fractions
15608 - Issue #4631: Fix urlopen() result when an HTTP response uses chunked
15611 - Issue #5203: Fixed ctypes segfaults when passing a unicode string to a
15614 - Issue #3386: distutils.sysconfig.get_python_lib prefix argument was ignored
15617 - Issue #5128: Make compileall properly inspect bytecode to determine if needs
15621 - Issue #5122: Synchronize tk load failure check to prevent a potential
15624 - Issue #1818: collections.namedtuple() now supports a keyword argument
15628 - Issue #4890: Handle empty text search pattern in Tkinter.Text.search.
15630 - Issue #4512 (part 2): Promote ``ZipImporter._get_filename()`` to be a
15633 - Issue #4195: The ``runpy`` module (and the ``-m`` switch) now support
15638 - Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will
15643 - Issue #4285: Change sys.version_info to be a named tuple. Patch by
15646 - Issue #1520877: Now distutils.sysconfig reads $AR from the
15649 - Issue #1276768: The verbose option was not used in the code of
15652 - Issue #5132: Fixed trouble building extensions under Solaris with
15653 --enabled-shared activated. Initial patch by Dave Peterson.
15655 - Issue #1581476: Always use the Tcl global namespace when calling into Tcl.
15657 - The shelve module now defaults to pickle protocol 3.
15659 - Fix a bug in the trace module where a bytes object from co_lnotab had its
15662 - Issue #2047: shutil.move() could believe that its destination path was
15666 - Added the ttk module. See issue #2983: Ttk support for Tkinter.
15668 - Removed isSequenceType(), isMappingType, and isNumberType() from the
15672 - Issue #5021: doctest.testfile() did not create __name__ and
15675 - Backport importlib from Python 3.1. Only the import_module() function has
15678 - Issue #1885: distutils. When running sdist with --formats=tar,gztar
15681 - Issue #4863: distutils.mwerkscompiler has been removed.
15683 - Added a new itertools functions: combinations_with_replacement()
15686 - Issue #5032: added a step argument to itertools.count() and
15687 allowed non-integer arguments.
15689 - Fix and properly document the multiprocessing module's logging
15693 - Issue #1672332: fix unpickling of subnormal floats, which was
15696 - Issue #3881: Help Tcl to load even when started through the
15699 - Issue #4710: Extract directories properly in the zipfile module;
15702 - Issue #3807: _multiprocessing build fails when configure is passed
15703 --without-threads argument. When this occurs, _multiprocessing will
15706 - Issue #5008: When a file is opened in append mode with the new IO library,
15711 - Issue #5013: Fixed a bug in FileHandler which occurred when the delay
15714 - Issue #4842: Always append a trailing 'L' when pickling longs using
15717 - Add the importlib package.
15719 - Issue #4301: Patch the logging module to add processName support, remove
15722 - Issue #3325: Remove python2.x try: except: imports for old cPickle from
15725 - Issue #4959: inspect.formatargspec now works for keyword only arguments
15728 - Issue #3321: ``_multiprocessing.Connection()`` doesn't check handle; added checks
15732 - Issue #4449: AssertionError in mp_benchmarks.py, caused by an underlying issue
15735 - Issue #1225107: inspect.isclass() returned True for instances with a custom
15738 - Issue #3826 and #4791: The socket module now closes the underlying socket
15742 - Issue #1696199: Add collections.Counter() for rapid and convenient
15745 - Issue #3860: GzipFile and BZ2File now support the context management protocol.
15747 - Issue #4867: Fixed a crash in ctypes when passing a string to a
15750 - Issue #4272: Add an optional argument to the GzipFile constructor to override
15755 - Restore Python 2.3 compatibility for decimal.py.
15757 - Issue #3638: Remove functions from _tkinter module level that depend on
15760 - Issue #4718: Adapt the wsgiref package so that it actually works with
15764 - Issue #4796: Added Decimal.from_float() and Context.create_decimal_from_float()
15767 - Fractions.from_float() no longer loses precision for integers too big to
15770 - Issue #4812: add missing underscore prefix to some internal-use-only
15773 - Issue #4790: The nsmallest() and nlargest() functions in the heapq module
15776 - Issue #4795: inspect.isgeneratorfunction() returns False instead of None when
15779 - Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case
15782 - Issue #4646: distutils was choking on empty options arg in the setup
15785 - Issue #3767: Convert Tk object to string in tkColorChooser.
15787 - Issue #3248: Allow placing ScrolledText in a PanedWindow.
15789 - Issue #4444: Allow assertRaises() to be used as a context handler, so that
15792 - Issue #4739: Add pydoc help topics for symbols, so that e.g. help('@')
15795 - Issue #4756: zipfile.is_zipfile() now supports file-like objects. Patch by
15798 - Issue #4574: reading a UTF16-encoded text file crashes if \r on 64-char
15801 - Issue #4223: inspect.getsource() will now correctly display source code
15805 - Issue #4201: pdb can now access and display source code loaded via
15809 - Issue #4197: doctests in modules loaded via zipimport (or any other PEP
15816 - Issues #4082 and #4512: Add runpy support to zipimport in a manner that
15820 - Issue #4163: textwrap module: allow word splitting on a hyphen preceded by
15821 a non-ASCII letter.
15823 - Issue #4616: TarFile.utime(): Restore directory times on Windows.
15825 - Issue #4021: tokenize.detect_encoding() now raises a SyntaxError when the
15828 - Issue #4084: Fix max, min, max_mag and min_mag Decimal methods to
15832 - Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat
15835 - Added the subprocess.check_call_output() convenience function to get output
15838 - Issue #1055234: cgi.parse_header(): Fixed parsing of header parameters to
15839 support unusual filenames (such as those containing semi-colons) in
15840 Content-Disposition headers.
15842 - Issue #4384: Added logging integration with warnings module using
15848 - Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an
15851 - Issue #4529: fix the parser module's validation of try-except-finally
15854 - Issue #4458: getopt.gnu_getopt() now recognizes a single "-" as an argument,
15857 - Added the subprocess.check_output() convenience function to get output
15860 - Issue #4542: On Windows, binascii.crc32 still accepted str as binary input;
15863 - Issue #4537: webbrowser.UnixBrowser would fail to open the browser because
15866 - Issue #1055234: cgi.parse_header(): Fixed parsing of header parameters to
15867 support unusual filenames (such as those containing semi-colons) in
15868 Content-Disposition headers.
15870 - Issue #4861: ctypes.util.find_library(): Robustify. Fix library detection on
15873 - Issue #5104: The socket module now raises OverflowError when 16-bit port and
15874 protocol numbers are supplied outside the allowed 0-65536 range on bind()
15877 - Windows locale mapping updated to Vista.
15880 -----------
15882 - Issue #4704: remove use of cmp() in pybench, bump its version number to 2.1,
15883 and make it 2.6-compatible.
15885 - Ttk demos added in Demo/tkinter/ttk/
15887 - Issue #4677: add two list comprehension tests to pybench.
15891 -----
15893 - Issue #6094: Build correctly with Subversion 1.7.
15895 - Issue #5847: Remove -n switch on "Edit with IDLE" menu item.
15897 - Issue #5726: Make Modules/ld_so_aix return the actual exit code of the
15900 - Issue #4587: Add configure option --with-dbmliborder=db1:db2:... to specify
15903 - Link the shared python library with $(MODLIBS).
15905 - Issue #5134: Silence compiler warnings when compiling sqlite with VC++.
15907 - Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows.
15909 - Issue #4895: Use _strdup on Windows CE.
15911 - Issue #4472: "configure --enable-shared" now works on OSX
15913 - Issues #4728 and #4060: WORDS_BIGEDIAN is now correct in Universal builds.
15915 - Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs".
15917 - Issue #4289: Remove Cancel button from AdvancedDlg.
15919 - Issue #1656675: Register a drop handler for .py* files on Windows.
15921 - Issue #4120: Exclude manifest from extension modules in VS2008.
15923 - Issue #4091: Install pythonxy.dll in system32 again.
15925 - Issue #4018: Disable "for me" installations on Vista.
15927 - Issue #3758: Add ``patchcheck`` build target to .PHONY.
15929 - Issue #4204: Fixed module build errors on FreeBSD 4.
15932 C-API
15933 -----
15935 - Issue #6624: yArg_ParseTuple with "s" format when parsing argument with
15938 - Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError
15941 - Issue #4720: The format for PyArg_ParseTupleAndKeywords can begin with '|'.
15943 - Issue #3632: from the gdb debugger, the 'pyo' macro can now be called when
15946 - Issue #4122: On Windows, fix a compilation error when using the
15951 -----------------
15953 - Issue #3745: Fix hashlib to always reject unicode and non buffer-api
15957 - Issue #4397: Fix occasional test_socket failure on OS X.
15959 - Issue #4279: Fix build of parsermodule under Cygwin.
15961 - Issue #4751: hashlib now releases the GIL when hashing large buffers
15963 on multi-CPU systems. Contributed by Lukas Lueg (ebfe) and Victor Stinner.
15965 - Issue #4051: Prevent conflict of UNICODE macros in cPickle.
15967 - Issue #4738: Each zlib object now has a separate lock, allowing several streams
15968 to be compressed or decompressed at once on multi-CPU systems. Also, the GIL
15971 - Issue #4228: Pack negative values the same way as 2.4 in struct's L format.
15973 - Issue #1040026: Fix os.times result on systems where HZ is incorrect.
15975 - Issues #3167, #3682: Fix test_math failures for log, log10 on Solaris,
15978 - Issue #4583: array.array would not always prohibit resizing when a buffer
15983 - Issue #5228: Make functools.partial objects can now be pickled.
15986 -----
15988 - Issue #6152: New option '-j'/'--multiprocess' for regrtest allows running
15991 - Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to
15996 - regrtest no longer treats ImportError as equivalent to SkipTest. Imports
16000 - Issue #5083: New 'gui' resource for regrtest.
16004 ----
16010 *Release date: 03-Dec-2008*
16013 -----------------
16015 - Issue #3996: On Windows, the PyOS_CheckStack function would cause the
16019 - Issue #3689: The list reversed iterator now supports __length_hint__
16022 - Issue #4367: Python would segfault during compiling when the unicodedata
16025 - Fix build failure of _cursesmodule.c building with -D_FORTIFY_SOURCE=2.
16028 -------
16030 - Issue #4387: binascii now refuses to accept str as binary input.
16032 - Issue #4073: Add 2to3 support to build_scripts, refactor that support
16035 - IDLE would print a "Unhandled server exception!" message when internal
16038 - Issue #4455: IDLE failed to display the windows list when two windows have
16041 - Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an
16044 - Issue #4433: Fixed an access violation when garbage collecting
16047 - Issue #4429: Fixed UnicodeDecodeError in ctypes.
16049 - Issue #4373: Corrected a potential reference leak in the pickle module and
16052 - Issue #4382: dbm.dumb did not specify the expected file encoding for opened
16055 - Issue #4383: When IDLE cannot make the connection to its subprocess, it would
16059 -----
16061 - Issue #4407: Fix source file that caused the compileall step in Windows installer
16065 ----
16067 - Issue #4449: Fixed multiprocessing examples
16069 - Issue #3799: Document that dbm.gnu and dbm.ndbm will accept string arguments
16076 *Release date: 20-Nov-2008*
16080 -----------------
16082 - Issue #4349: sys.path included a non-existent platform directory because of a
16085 - Issue #3327: Don't overallocate in the modules_by_index list.
16087 - Issue #1721812: Binary set operations and copy() returned the input type
16092 - Issue #4296: Fix PyObject_RichCompareBool so that "x in [x]" evaluates to
16096 - Issue #3705: Command-line arguments were not correctly decoded when the
16100 -------
16102 - Issue #4363: The uuid.uuid1() and uuid.uuid4() functions now work even if
16105 - FileIO's mode attribute now always includes ``"b"``.
16107 - Issue #3799: Fix dbm.dumb to accept strings as well as bytes for keys. String
16108 keys are now written out in UTF-8.
16110 - Issue #4338: Fix distutils upload command.
16112 - Issue #4354: Fix distutils register command.
16114 - Issue #4116: Resolve member name conflict in ScrolledCanvas.__init__.
16116 - Issue #4307: The named tuple that ``inspect.getfullargspec()`` returns now
16119 - Issue #4298: Fix a segfault when pickle.loads is passed ill-formed input.
16121 - Issue #4283: Fix a left-over "iteritems" call in distutils.
16124 -----
16126 - Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs".
16128 - Issue #4289: Remove Cancel button from AdvancedDlg.
16130 - Issue #1656675: Register a drop handler for .py* files on Windows.
16133 -----------
16135 - Demos of the socketserver module now work with Python 3.
16141 *Release date: 05-Nov-2008*
16144 -----------------
16146 - Issue #4211: The __path__ attribute of frozen packages is now a list instead
16149 - Issue #3727: Fixed poplib.
16151 - Issue #3714: Fixed nntplib by using bytes where appropriate.
16153 - Issue #1210: Fixed imaplib and its documentation.
16155 - Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
16160 - Issue #3626: On cygwin, starting python with a non-existent script name
16163 - Issue #4176: Fixed a crash when pickling an object which ``__reduce__``
16166 - Issue #3723: Fixed initialization of subinterpreters.
16168 - Issue #4213: The file system encoding is now normalized by the
16169 codec subsystem, for example UTF-8 is turned into utf-8.
16171 - Issue #4200: Changed the atexit module to store its state in its
16174 - Issue #4237: io.FileIO() was raising invalid warnings caused by
16177 - Issue #4170: Pickling a collections.defaultdict object would crash the
16180 - Issue #4146: Compilation on OpenBSD has been restored.
16182 - Issue #3574: compile() incorrectly handled source code encoded as Latin-1.
16184 - Issues #2384 and #3975: Tracebacks were not correctly printed when the
16188 - Issue #3740: Null-initialize module state.
16190 - Issue #3946: PyObject_CheckReadBuffer crashed on a memoryview object.
16192 - Issue #1688: On Windows, the input() prompt was not correctly displayed if it
16193 contains non-ascii characters.
16195 - Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default.
16198 -------
16200 - Issue #3664: The pickle module could segfault if a subclass of Pickler fails
16203 - Issue #3725: telnetlib now works completely in bytes.
16205 - Issue #4072: Restore build_py_2to3.
16207 - Issue #4014: Don't claim that Python has an Alpha release status, in addition
16210 - Issue #3187: Add sys.setfilesystemencoding.
16212 - Issue #3187: Better support for "undecodable" filenames. Code by Victor
16215 - Issue #3965: Allow repeated calls to turtle.Screen, by making it a
16218 - Issue #3911: ftplib.FTP.makeport() could give invalid port numbers.
16220 - Issue #3929: When the database cannot be opened, dbm.open() would incorrectly
16224 - Bug #3884: Make the turtle module toplevel again.
16226 - Issue #3547: Fixed ctypes structures bitfields of varying integer
16230 -----------------
16232 - Issue #3659: Subclasses of str didn't work as SQL parameters.
16235 -----
16237 - Issue #4120: Exclude manifest from extension modules in VS2008.
16239 - Issue #4091: Install pythonxy.dll in system32 again.
16241 - Issue #4018: Disable "for me" installations on Vista.
16243 - Issue #4204: Fixed module build errors on FreeBSD 4.
16246 -----------
16248 - Issue #3717: Fix Demo/embed/demo.c.
16250 - Issue #4072: Add a distutils demo for build_py_2to3.
16256 *Release date: 17-Sep-2008*
16259 -----------------
16261 - Issue #3827: memoryview lost its size attribute in favor of using len(view).
16263 - Issue #3813: could not lanch python.exe via symbolic link on cygwin.
16265 - Issue #3705: fix crash when given a non-ascii value on the command line for
16266 the "-c" and "-m" parameters. Now the behaviour is as expected under Linux,
16269 - Issue #3279: Importing site at interpreter was failing silently because the
16272 - Issue #3660: Corrected a reference leak in str.encode() when the encoder
16275 - Issue #3774: Added a few more checks in PyTokenizer_FindEncoding to handle
16278 - Issue #3594: Fix Parser/tokenizer.c:fp_setreadl() to open the file being
16282 - Issue #3696: Error parsing arguments on OpenBSD <= 4.4 and Cygwin. On
16285 characters needed to represent the multi-byte character string.
16287 - Issue #3697: "Fatal Python error: Cannot recover from stack overflow"
16292 - Issue #3639: The _warnings module could segfault the interpreter when
16295 - Issue #3712: The memoryview object had a reference leak and didn't support
16298 - Issue #3668: Fix a memory leak with the "s*" argument parser in
16302 - Issue #3611: An exception __context__ could be cleared in a complex pattern
16303 involving a __del__ method re-raising an exception.
16305 - Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
16312 - Issue #3663: Py_None was decref'd when printing SyntaxErrors.
16314 - Issue #3651: Fix various memory leaks when using the buffer
16318 - Issue #3657: Fix uninitialized memory read when pickling longs.
16321 - Apply security patches from Apple.
16323 - Fix crashes on memory allocation failure found with failmalloc.
16325 - Fix memory leaks found with valgrind and update suppressions file.
16327 - Fix compiler warnings in opt mode which would lead to invalid memory reads.
16329 - Fix problem using wrong name in decimal module reported by pychecker.
16331 - Issue #3650: Fixed a reference leak in bytes.split('x').
16333 - bytes(o) now tries to use o.__bytes__() before using fallbacks.
16335 - Issue #1204: The configure script now tests for additional libraries
16340 -----
16342 - PyObject_Bytes and PyBytes_FromObject were added.
16345 -------
16347 - Issue #3756: make re.escape() handle bytes as well as str.
16349 - Issue #3800: fix filter() related bug in formatter.py.
16351 - Issue #874900: fix behaviour of threading module after a fork.
16353 - Issue #3535: zipfile couldn't read some zip files larger than 2GB.
16355 - Issue #3776: Deprecate the bsddb package for removal in 3.0.
16357 - Issue #3762: platform.architecture() fails if python is lanched via
16360 - Issue #3660: fix a memory leak in the C accelerator of the pickle module.
16362 - Issue #3160: the "bdist_wininst" distutils command didn't work.
16364 - Issue #1658: tkinter changes dict size during iteration in both
16367 - The bsddb module (and therefore the dbm.bsd module) has been removed.
16371 - Issue #600362: Relocated parse_qs() and parse_qsl(), from the cgi module
16375 - Issue #3719: platform.architecture() fails if there are spaces in the
16378 - Issue #3602: As part of the merge of r66135, make the parameters on
16379 warnings.catch_warnings() keyword-only. Also remove a DeprecationWarning.
16381 - The deprecation warnings for the camelCase threading API names were removed.
16383 - Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing
16387 -----------------
16389 - Issue #3782: os.write() must not accept unicode strings.
16391 - Issue #2975: When compiling several extension modules with Visual Studio 2008
16395 - Issue #3643: Added a few more checks to _testcapi to prevent segfaults by
16398 - bsddb code updated to version 4.7.3pre2. This code is the same than
16404 - The _bytesio and _stringio modules are now compiled into the python binary.
16406 - Issue #3492 and #3790: Fixed the zlib module and zipimport module uses of
16409 - Issue #3797: Fixed the dbm, marshal, mmap, ossaudiodev, & winreg modules to
16414 -----------
16416 - Fix Misc/gdbinit so it works.
16420 -----
16422 - Issue #3812: Failed to build python if configure --without-threads.
16424 - Issue #3791: Remove the bsddb module from the Windows installer, and the
16431 *Release date: 20-Aug-2008*
16434 -----------------
16436 - Issue #3653: Fix a segfault when sys.excepthook was called with invalid
16439 - Issue #2394: implement more of the memoryview API, with the caveat that
16440 only one-dimensional contiguous buffers are supported and exercised right
16446 - Issue #3560: clean up the new C PyMemoryView API so that naming is
16449 without relying on a particular implementation; remove the ill-named
16452 - ctypes function pointers that are COM methods have a boolean True
16455 - Issue #1819: function calls with several named parameters are now on
16458 - The undocumented C APIs PyUnicode_AsString() and
16462 If you need to access the UTF-8 representation of a Unicode object
16465 - Issue #3460: PyUnicode_Join() implementation is 10% to 80% faster thanks
16471 -------
16473 - Issue #1276: Added temporary aliases for CJK Mac encodings to resolve
16479 - Issue #3614: Corrected a typo in xmlrpc.client, leading to a NameError
16482 - Issue #2834: update the regular expression library to match the unicode
16490 - Issue #3300: make urllib.parse.[un]quote() default to UTF-8.
16497 - Issue #2235: numbers.Number now blocks inheritance of the default id()
16503 - Issue #2676: in the email package, content-type parsing was hanging on
16507 - Issue #3476: binary buffered reading through the new "io" library is now
16508 thread-safe.
16510 - Issue #1342811: Fix leak in Tkinter.Menu.delete. Commands associated to
16513 - Remove the TarFileCompat class from tarfile.py.
16515 - Issue #2491: os.fdopen is now almost an alias for the built-in open(), and
16519 - Issue #3394: zipfile.writestr sets external attributes when passed a
16523 - Issue #2523: Fix quadratic behaviour when read()ing a binary file without
16527 -----------------
16529 - Bug #3542: Support Unicode strings in _msi module.
16534 *Release date: 17-Jul-2008*
16537 -----------------
16539 - Issue #3008: the float type has a new instance method 'float.hex'
16540 and a new class method 'float.fromhex' to convert floating-point
16543 - Issue #3083: Add alternate (#) formatting for bin, oct, hex output
16546 - Issue #3280: like chr(), the "%c" format now accepts unicode code points
16549 UTF-16 surrogate pair.
16551 - Issue #3282: str.isprintable() should return False for undefined
16554 - Issue #3236: Return small longs from PyLong_FromString.
16556 - Exception tracebacks now support exception chaining.
16559 -------
16561 - Removed the sunaudio module. Use sunau instead.
16563 - Issue #3554: ctypes.string_at and ctypes.wstring_at did call Python
16567 - Issue #799428: Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects.
16569 - Removed "ast" function aliases from the parser module.
16571 - Issue #3313: Fixed a crash when a failed dlopen() call does not set
16574 - Issue #3258: Fixed a crash when a ctypes POINTER type to an
16577 - Issue #2683: Fix inconsistency in subprocess.Popen.communicate(): the
16580 - Issue #3145: help("modules whatever") failed when trying to load the source
16584 - The gettext library now consistently uses Unicode strings for message ids
16587 - The traceback module has been expanded to handle chained exceptions.
16590 -----
16592 - Issue #3247: the function Py_FindMethod was removed. Modern types should
16596 -----------
16598 - The Mac/Demos directory has been removed.
16600 - All of the Mac scripts have been removed (including BuildApplet.py).
16606 *Release date: 18-Jun-2008*
16609 -----------------
16611 - Issue #3211: warnings.warn_explicit() did not guard against its 'registry'
16616 - Issue #3100: Corrected a crash on deallocation of a subclassed weakref which
16619 - Issue #2630: implement PEP 3138. repr() now returns printable
16620 Unicode characters unescaped, to get an ASCII-only representation
16623 - Issue #1342: On windows, Python could not start when installed in a
16624 directory with non-ascii characters.
16626 - Implement PEP 3121: new module initialization and finalization API.
16628 - Removed the already-defunct ``-t`` option.
16630 - Issue #2957: Corrected a ValueError "recursion limit exceeded", when
16634 - Issue #2963: fix merging oversight that disabled method cache for
16637 - Issue #2964: fix a missing INCREF in instancemethod_descr_get.
16639 - Issue #2895: Don't crash when given bytes objects as keyword names.
16641 - Issue #2798: When parsing arguments with PyArg_ParseTuple, the "s"
16642 code now allows any unicode string and returns a utf-8 encoded
16646 - Issue #2863: generators now have a ``gen.__name__`` attribute that
16651 - Issue #2831: enumerate() now has a ``start`` argument.
16653 - Issue #2801: fix bug in the float.is_integer method where a
16656 - The ``--with-toolbox-glue`` option (and the associated
16659 - Issue #2196: hasattr() now lets exceptions which do not inherit
16663 - #3021 Exception reraising semantics have been significantly improved. However,
16667 - Three of PyNumberMethods' members, nb_coerce, nb_hex, and nb_oct, have been
16671 -----------------
16673 - Renamed ``_winreg`` module to ``winreg``.
16675 - Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the
16678 - Support for Windows 9x has been removed from the winsound module.
16680 - Issue #2870: cmathmodule.c compile error.
16683 -------
16685 - The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of
16688 - Patch #3133: http.server.CGIHTTPRequestHandler did not work on windows.
16690 - a new ``urllib`` package was created. It consists of code from
16699 - rfc822 has been removed in favor of the email package.
16701 - mimetools has been removed in favor of the email package.
16703 - Patch #2849: Remove use of rfc822 module from standard library.
16705 - Added C optimized implementation of io.StringIO.
16707 - The ``pickle`` module is now automatically use an optimized C
16711 - Removed the ``htmllib`` and ``sgmllib`` modules.
16713 - The deprecated ``SmartCookie`` and ``SimpleCookie`` classes have
16716 - The ``commands`` module has been removed. Its getoutput() and
16719 - The ``http`` package was created; it contains the old ``httplib``
16724 - The ``xmlrpc`` package was created; it contains the old
16729 - The ``dbm`` package was created, containing the old modules
16735 - The ``repr`` module has been renamed to ``reprlib``.
16737 - The ``statvfs`` module has been removed.
16739 - Issue #1713041: fix pprint's handling of maximum depth.
16741 - Issue #2250: Exceptions raised during evaluation of names in
16745 - Patch #2659: Added ``break_on_hyphens`` option to textwrap's
16748 - Issue #2487: change the semantics of math.ldexp(x, n) when n is too
16753 - The ``ConfigParser`` module has been renamed to ``configparser``.
16755 - Issue #2865: webbrowser.open() works again in a KDE environment.
16757 - The ``multifile`` module has been removed.
16759 - The ``SocketServer`` module has been renamed to ``socketserver``.
16761 - Fixed the ``__all__`` setting on ``collections`` to include
16764 - The sre module has been removed.
16766 - The Queue module has been renamed to queue.
16768 - The copy_reg module has been renamed to copyreg.
16770 - The mhlib module has been removed.
16772 - The ihooks module has been removed.
16774 - The fpformat module has been removed.
16776 - The dircache module has been removed.
16778 - The Canvas module has been removed.
16780 - The Decimal module gained the magic methods __round__, __ceil__,
16784 - The user module has been removed.
16786 - The mutex module has been removed.
16788 - The imputil module has been removed.
16790 - os.path.walk has been removed in favor of os.walk.
16792 - pdb gained the "until" command.
16794 - The test.test_support module has been renamed to test.support.
16796 - The threading module API was renamed to be PEP 8 compliant. The
16800 -----------
16802 - The bgen tool has been removed.
16805 -----
16811 *Release date: 08-May-2008*
16814 -----------------
16816 - Fixed misbehaviour of PyLong_FromSsize_t on systems where
16819 - Issue #2221: Corrected a SystemError "error return without exception
16823 - Bug #2565: The repr() of type objects now calls them 'class', not
16824 'type' - whether they are builtin types or not.
16826 - The command line processing was converted to pass Unicode strings
16830 - All backslashes in raw strings are interpreted literally. This
16834 -----------------
16837 -------
16839 - ctypes objects now support the PEP3118 buffer interface.
16841 - Issue #2682: ctypes callback functions now longer contain a cyclic
16844 - Issue #2058: Remove the buf attribute and add __slots__ to the
16847 - Bug #2606: Avoid calling .sort() on a dict_keys object.
16849 - The bundled libffi copy is now in sync with the recently released
16854 -----
16856 - Issue #1496032: On alpha, use -mieee when gcc is the compiler.
16858 - "make install" is now an alias for "make altinstall", to prevent
16862 - Issue #2544: On HP-UX systems, use 'gcc -shared' for linking when
16869 *Release date: 02-Apr-2008*
16872 -----------------
16874 - Bug #2301: Don't try decoding the source code into the original
16878 -----------------
16880 - The dl module was removed, use the ctypes module instead.
16882 - Use wchar_t functions in _locale module.
16885 -------
16887 - The class distutils.commands.build_py.build_py_2to3 can be used as a
16891 - A new pickle protocol (protocol 3) is added with explicit support
16895 - When a pickle written by Python 2.x contains an (8-bit) str
16903 - Default to ASCII as the locale.getpreferredencoding, if the POSIX
16907 - Issue #1202: zlib.crc32 and zlib.adler32 now return an unsigned
16910 - Issue #719888: Updated tokenize to use a bytes API. generate_tokens
16913 determining source file encoding according to PEP-0263. Token
16922 *Release date: 29-Feb-2008*
16925 -----------------
16927 - Issue #2282: io.TextIOWrapper was not overriding seekable() from
16930 - Issue #2115: Important speedup in setting __slot__ attributes. Also
16934 - Fixed repr() and str() of complex numbers with infinity or nan as
16937 - Clear all free list during a gc.collect() of the highest generation
16941 - Issue #2045: Fix an infinite recursion triggered when printing a
16945 - Fixed a minor memory leak in dictobject.c. The content of the free
16948 - Limit free list of method and builtin function objects to 256
16951 - Patch #1953: Added ``sys._compact_freelists()`` and the C API
16953 to compact the internal free lists of pre-allocted ints and floats.
16955 - Bug #1983: Fixed return type of fork(), fork1() and forkpty() calls.
16959 - Issue #1678380: Fix a bug that identifies 0j and -0j when they
16962 - Issue #2025: Added tuple.count() and tuple.index() methods to comply
16965 - Fixed multiple reinitialization of the Python interpreter. The small
16969 - Issue #1973: bytes.fromhex('') raised SystemError.
16971 - Issue #1771: remove cmp parameter from sorted() and list.sort().
16973 - Issue #1969: split and rsplit in bytearray are inconsistent.
16975 - map() no longer accepts None for the first argument. Use zip()
16978 - Issue #1769: Now int("- 1") is not allowed any more.
16980 - Object/longobject.c: long(float('nan')) raises an OverflowError
16983 - Issue #1762972: __file__ points to the source file instead of the
16986 - Issue #1393: object_richcompare() returns NotImplemented instead of
16989 - Issue #1692: Interpreter was not displaying location of SyntaxError.
16991 - Improve some exception messages when Windows fails to load an
16994 to deal with non-English locales.
16996 - Issue #1587: Added instancemethod wrapper for PyCFunctions. The
17001 - Constants gc.DEBUG_OBJECT and gc.DEBUG_INSTANCE have been removed
17006 - Issue #1573: Improper use of the keyword-only syntax makes the
17009 - Issue #1564: The set implementation should special-case PyUnicode
17012 - Patch #1031213: Decode source line in SyntaxErrors back to its
17015 - inspect.getsource() includes the decorators again.
17017 - Bug #1713: posixpath.ismount() claims symlink to a mountpoint is a
17020 - Fix utf-8-sig incremental decoder, which didn't recognise a BOM when
17025 -----------------
17027 - Code for itertools ifilter(), imap(), and izip() moved to bultins
17031 - Issue #1762972: Readded the reload() function as imp.reload().
17033 - Bug #2111: mmap segfaults when trying to write a block opened with
17036 - Issue #2063: correct order of utime and stime in os.times() result
17040 -------
17042 - Weakref dictionaries now inherit from MutableMapping.
17044 - Created new UserDict class in collections module. This one inherits
17049 - Removed UserDict.DictMixin. Replaced all its uses with
17052 - Issue #1703: getpass() should flush after writing prompt.
17054 - Issue #1585: IDLE uses non-existent xrange() function.
17056 - Issue #1578: Problems in win_getpass.
17059 -----
17061 - Renamed --enable-unicode configure flag to --with-wide-unicode,
17065 -----
17067 - Issue #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE,
17070 - New API PyImport_ImportModuleNoBlock(), works like
17071 PyImport_ImportModule() but won't block on the import lock
17078 *Release date: 07-Dec-2007*
17083 -----------------
17085 - str8 now has the same construction signature as bytes.
17087 - Comparisons between str and str8 now return False/True for ==/!=.
17089 value. The struct module returns str8 for all string-related
17093 - Replaced `PyFile_FromFile()` with `PyFile_FromFd(fd, name. mode,
17096 - Fixed `imp.find_module()` to obey the -*- coding: -*- header.
17098 - Changed `__file__` and `co_filename` to unicode. The path names are decoded
17102 - io.open() and _fileio.FileIO have grown a new argument closefd. A
17105 - Added a new option -b to issues warnings (-bb for errors) about
17109 - The standard streams sys.stdin, stdout and stderr may be None
17114 - Added PCbuild9 directory for VS 2008.
17116 - Renamed structmember.h WRITE_RESTRICTED to PY_WRITE_RESTRICTED to
17119 - Unbound methods are gone for good. ClassObject.method returns an
17126 - intobject.h is no longer included by Python.h. The remains were
17130 - Removed sys.maxint, use sys.maxsize instead.
17133 -----------------
17135 - The `hotshot` profiler has been removed; use `cProfile` instead.
17138 -------
17140 - When loading an external file using testfile(), the passed-in
17142 forcing the source to be UTF-8.
17144 - The methods `os.tmpnam()`, `os.tempnam()` and `os.tmpfile()` have
17147 - Removed the 'new' module.
17149 - Removed all types from the 'types' module that are easily accessible
17156 *Release date: 31-Aug-2007*
17159 -----------------
17161 - PEP 3131: Support non-ASCII identifiers.
17163 - PEP 3120: Change default encoding to UTF-8.
17165 - PEP 3123: Use proper C inheritance for PyObject.
17167 - Removed the __oct__ and __hex__ special methods and added a bin()
17170 - PEP 3127: octal literals now start with "0o". Old-style octal
17174 - None, True, False are now keywords.
17176 - PEP 3119: isinstance() and issubclass() can be overridden.
17178 - Remove BaseException.message.
17180 - Remove tuple parameter unpacking (PEP 3113).
17182 - Remove the f_restricted attribute from frames. This naturally leads
17185 - PEP 3132 was accepted. That means that you can do ``a, *b =
17188 - range() now returns an iterator rather than a list. Floats are not
17191 - Patch #1660500: hide iteration variable in list comps, add set comps
17194 - By default, != returns the opposite of ==, unless the latter returns
17197 - Patch #1680961: sys.exitfunc has been removed and replaced with a
17198 private C-level API.
17200 - PEP 3115: new metaclasses: the metaclass is now specified as a
17206 - The long-deprecated argument "pend" of PyFloat_FromString() has been
17209 - The dir() function has been extended to call the __dir__() method on
17214 - Removed support for __members__ and __methods__.
17216 - Removed indexing/slicing on BaseException.
17218 - input() became raw_input(): the name input() now implements the
17222 - Classes listed in an 'except' clause must inherit from
17225 - PEP 3106: dict.iterkeys(), .iteritems(), .itervalues() are now gone;
17229 - PEP 3105: print is now a function. Also (not in the PEP) the
17239 - PEP 3102: keyword-only arguments.
17241 - Int/Long unification is complete. The 'long' built-in type and
17243 may be sub-optimal (haven't really benchmarked).
17245 - 'except E, V' must now be spelled as 'except E as V' and deletes V
17248 - Added function annotations per PEP 3107.
17250 - Added nonlocal declaration from PEP 3104:
17265 - Moved intern() to sys.intern().
17267 - exec is now a function.
17269 - Renamed nb_nonzero to nb_bool and __nonzero__ to __bool__.
17271 - Classic classes are a thing of the past. All classes are new style.
17273 - Exceptions *must* derive from BaseException.
17275 - Integer division always returns a float. The -Q option is no more.
17283 them if we want to re-use __div__ and friends. If we do, it will
17286 - 'as' and 'with' are keywords.
17288 - Absolute import is the default behavior for 'import foo' etc.
17290 - Removed support for syntax: backticks (ie, `x`), <>.
17292 - Removed these Python builtins: apply(), callable(), coerce(),
17295 - Removed these Python methods: {}.has_key.
17297 - Removed these opcodes: BINARY_DIVIDE, INPLACE_DIVIDE, UNARY_CONVERT.
17299 - Remove C API support for restricted execution.
17301 - zip(), map() and filter() now return iterators, behaving like their
17303 sequences of unequal length -- it now stops after the shortest one
17306 - Additions: set literals, set comprehensions, ellipsis literal.
17308 - Added class decorators per PEP 3129.
17312 -----------------
17314 - Removed the imageop module. Obsolete long with its unit tests
17317 - Removed these attributes from the operator module: div, idiv,
17320 - Removed these attributes from the sys module: exc_clear(), exc_type,
17325 -------
17327 - Removed the compiler package. Use of the _ast module and (an
17328 eventual) AST -> bytecode mechanism.
17330 - Removed these modules: audiodev, Bastion, bsddb185, exceptions,
17334 - Moved the toaiff module to Tools/Demos.
17336 - Removed obsolete IRIX modules: al/AL, cd/CD, cddb, cdplayer, cl/CL,
17340 - Removed obsolete functions: commands.getstatus(), os.popen*().
17342 - Removed functions in the string module that are also string methods;
17345 - Removed support for long obsolete platforms: plat-aix3, plat-irix5.
17347 - Removed xmlrpclib.SlowParser. It was based on xmllib.
17349 - Patch #1680961: atexit has been reimplemented in C.
17351 - Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE.
17354 -----
17357 -----
17359 - Removed these Python slots: __coerce__, __div__, __idiv__, __rdiv__.
17361 - Removed these C APIs: PyNumber_Coerce(), PyNumber_CoerceEx(),
17364 - Removed these C slots/fields: nb_divide, nb_inplace_divide.
17366 - Removed these macros: staticforward, statichere, PyArg_GetInt,
17369 - Removed these typedefs: intargfunc, intintargfunc, intobjargproc,
17374 -----
17376 - Removed test.testall as test.regrtest replaces it.
17379 -------------
17382 ---
17384 - The cfmfile module was removed.
17387 ---------
17389 - Support for BeOS and AtheOS was removed (according to PEP 11).
17391 - Support for RiscOS, Irix, Tru64 was removed (allegedly).
17394 -----------
17400 *Release date: 17-AUG-2006*
17403 -----------------
17405 - Unicode objects will no longer raise an exception when being
17418 - Fix segfault when doing string formatting on subclasses of long.
17420 - Fix bug related to __len__ functions using values > 2**32 on 64-bit machines
17421 with new-style classes.
17423 - Fix bug related to __len__ functions returning negative values with
17426 - Patch #1538606, Fix __index__() clipping. There were some problems
17431 - Bug #1536021: __hash__ may now return long int; the final hash
17434 - Bug #1536786: buffer comparison could emit a RuntimeWarning.
17436 - Bug #1535165: fixed a segfault in input() and raw_input() when
17439 - On Windows, the PyErr_Warn function is now exported from
17442 - Bug #1191458: tracing over for loops now produces a line event
17447 - Bug #1333982: string/number constants were inappropriately stored
17451 - Fixed a reference-counting problem in property().
17455 -------
17457 - Fix a bug in the ``compiler`` package that caused invalid code to be
17460 - The distutils version has been changed to 2.5.0. The change to
17465 - If the Python part of a ctypes callback function returns None,
17470 - The __repr__ method of a NULL ctypes.py_object() no longer raises
17473 - uuid.UUID now has a bytes_le attribute. This returns the UUID in
17474 little-endian byte order for Windows. In addition, uuid.py gained some
17478 - Patch #1540892: site.py Quitter() class attempts to close sys.stdin
17481 - Bug #1224621: make tabnanny recognize IndentationErrors raised by tokenize.
17483 - Patch #1536071: trace.py should now find the full module name of a
17486 - logging's atexit hook now runs even if the rest of the module has
17489 - Bug #1112549, fix DoS attack on cgi.FieldStorage.
17491 - Bug #1531405, format_exception no longer raises an exception if
17494 - Fix a bug in the ``compiler`` package that caused invalid code to be
17499 -----------------
17501 - Patch #1511317: don't crash on invalid hostname (alias) info.
17503 - Patch #1535500: fix segfault in BZ2File.writelines and make sure it
17506 - Patch # 1536908: enable building ctypes on OpenBSD/AMD64. The
17507 '-no-stack-protector' compiler flag for OpenBSD has been removed.
17509 - Patch #1532975 was applied, which fixes Bug #1533481: ctypes now
17513 - Bug #1530559, struct.pack raises TypeError where it used to convert.
17519 -----
17521 - test_socketserver should now work on cygwin and not fail sporadically
17524 - test_mailbox should now work on cygwin versions 2006-08-10 and later.
17526 - Bug #1535182: really test the xreadlines() method of bz2 objects.
17528 - test_threading now skips testing alternate thread stack sizes on
17533 -------------
17535 - Patch #1534922: unittest docs were corrected and enhanced.
17539 -----
17541 - Bug #1535502, build _hashlib on Windows, and use masm assembler
17544 - Bug #1534738, win32 debug version of _msi should be _msi_d.pyd.
17546 - Bug #1530448, ctypes build failure on Solaris 10 was fixed.
17550 -----
17552 - New API for Unicode rich comparisons: PyUnicode_RichCompare()
17554 - Bug #1069160. Internal correctness changes were made to
17563 *Release date: 03-AUG-2006*
17566 -----------------
17568 - _PyWeakref_GetWeakrefCount() now returns a Py_ssize_t; it previously
17571 - Bug #1515471: string.replace() accepts character buffers again.
17573 - Add PyErr_WarnEx() so C code can pass the stacklevel to warnings.warn().
17577 - Patch #1531113: Fix augmented assignment with yield expressions.
17580 - Bug #1529871: The speed enhancement patch #921466 broke Python's compliance
17582 used in ``sys.path_importer_cache`` to cache non-directory paths and avoid
17585 - Bug #1521947: When checking for overflow, ``PyOS_strtol()`` used some
17590 - Bug #1524310: Properly report errors from FindNextFile in os.listdir.
17592 - Patch #1232023: Stop including current directory in search
17595 - Fix some potential crashes found with failmalloc.
17597 - Fix warnings reported by Klocwork's static analysis tool.
17599 - Bug #1512814, Fix incorrect lineno's when code within a function
17602 - Patch #1521179: Python now accepts the standard options ``--help`` and
17603 ``--version`` as well as ``/?`` on Windows.
17605 - Bug #1520864: unpacking singleton tuples in a 'for' loop (for x, in) works
17609 - Bug #1524317: Compiling Python ``--without-threads`` failed.
17614 - Bug #1525447: build on MacOS X on a case-sensitive filesystem.
17618 -------
17620 - Fix #1693149. Now you can pass several modules separated by
17621 comma to trace.py in the same --ignore-module option.
17623 - Correction of patch #1455898: In the mbcs decoder, set final=False
17626 - os.urandom no longer masks unrelated exceptions like SystemExit or
17629 - Bug #1525866: Don't copy directory stat times in
17632 - Bug #1002398: The documentation for os.path.sameopenfile now correctly
17635 - The renaming of the xml package to xmlcore, and the import hackery done
17639 - Bug #1441397: The compiler module now recognizes module and function
17642 - Bug #1529297: The rewrite of doctest for Python 2.4 unintentionally
17644 matters for well-written tests, but can create baffling symptoms if
17648 - The distutils version has been changed to 2.5.0, and is now kept
17651 - Bug #978833: Really close underlying socket in _socketobject.close.
17653 - Bug #1459963: urllib and urllib2 now normalize HTTP header names with
17656 - Patch #1525766: In pkgutil.walk_packages, correctly pass the onerror callback
17659 - Bug #1525817: Don't truncate short lines in IDLE's tool tips.
17661 - Patch #1515343: Fix printing of deprecated string exceptions with a
17664 - Resync optparse with Optik 1.5.3: minor tweaks for/to tests.
17666 - Patch #1524429: Use repr() instead of backticks in Tkinter again.
17668 - Bug #1520914: Change time.strftime() to accept a zero for any position in its
17672 tuple pre-2.4.
17674 - Patch #1220874: Update the binhex module for Mach-O.
17676 - The email package has improved RFC 2231 support, specifically for
17677 recognizing the difference between encoded (name*0*=<blah>) and non-encoded
17680 Specifically in some cases where non-encoded continuations were used,
17681 get_param() used to return a 3-tuple of (None, None, string) whereas now it
17682 will just return the string (since non-encoded continuations don't have
17688 - Bug #1517990: IDLE keybindings on MacOS X now work correctly
17690 - Bug #1517996: IDLE now longer shows the default Tk menu when a
17693 - Patch #1520294: Support for getset and member descriptors in types.py,
17695 of an object against these built-in types and more importantly, for getting
17700 -----------------
17702 - Patch #1519025 and bug #926423: If a KeyboardInterrupt occurs during
17706 - Patch #1529514: The _ctypes extension is now compiled on more
17709 - The ``__reduce__()`` method of the new ``collections.defaultdict`` had
17712 - Bug #1471938: Fix curses module build problem on Solaris 8; patch by
17715 - Patch #1448199: Release interpreter lock in _winreg.ConnectRegistry.
17717 - Patch #1521817: Index range checking on ctypes arrays containing
17721 - Bug #1521375: When the code in ctypes.util.find_library was
17725 - Bug #1467450: On Mac OS X 10.3, RTLD_GLOBAL is now used as the
17728 - Because of a misspelled preprocessor symbol, ctypes was always
17731 - pybsddb Bug #1527939: bsddb module DBEnv dbremove and dbrename
17735 - Bug #1526460: Fix socketmodule compile on NetBSD as it has a different
17739 -----
17741 - Bug #1501330: Change test_ossaudiodev to be much more tolerant in terms of
17743 (exact time) +/- 10% instead of the hard-coded 3.1 sec.
17745 - Patch #1529686: The standard tests ``test_defaultdict``, ``test_iterlen``,
17750 -----
17752 - Bug #1439538: Drop usage of test -e in configure as it is not portable.
17755 ---
17757 - PythonLauncher now works correctly when the path to the script contains
17760 - Bug #1527397: PythonLauncher now launches scripts with the working directory
17769 *Release date: 11-JUL-2006*
17772 -----------------
17774 - Bug #1441486: The literal representation of -(sys.maxint - 1)
17777 - Bug #1501934: The scope of global variables that are locally assigned
17780 - Bug #927248: Recursive method-wrapper objects can now safely
17783 - Bug #1417699: Reject locale-specific decimal point in float()
17786 - Bug #1511381: codec_getstreamcodec() in codec.c is corrected to
17790 - Bug #1519018: 'as' is now validated properly in import statements.
17792 - On 64 bit systems, int literals that use less than 64 bits are
17795 - Bug #1512814, Fix incorrect lineno's when code at module scope
17798 - New function ``sys._current_frames()`` returns a dict mapping thread
17806 -------
17808 - Bug #1257728: Mention Cygwin in distutils error message about a missing
17811 - Patch #1519566: Update turtle demo, make begin_fill idempotent.
17813 - Bug #1508010: msvccompiler now requires the DISTUTILS_USE_SDK
17817 - Bug #1515998: Properly generate logical ids for files in bdist_msi.
17819 - warnings.py now ignores ImportWarning by default
17821 - string.Template() now correctly handles tuple-values. Previously,
17822 multi-value tuples would raise an exception and single-value tuples would
17825 - Bug #822974: Honor timeout in telnetlib.{expect,read_until}
17828 - Bug #1267547: Put proper recursive setup.py call into the
17831 - Bug #1514693: Update turtle's heading when switching between
17834 - Reimplement turtle.circle using a polyline, to allow correct
17837 - Bug #1514703: Only setup canvas window in turtle when the canvas
17840 - Bug #1513223: .close() of a _socketobj now releases the underlying
17843 - Bug #1504333: Make sgmllib support angle brackets in quoted
17846 - Bug #853506: Fix IPv6 address parsing in unquoted attributes in
17849 - Fix a bug in the turtle module's end_fill function.
17851 - Bug #1510580: The 'warnings' module improperly required that a Warning
17855 - The compiler module now correctly compiles the new try-except-finally
17858 - The wsgiref package is now installed properly on Unix.
17860 - A bug was fixed in logging.config.fileConfig() which caused a crash on
17863 - The sqlite3 module did cut off data from the SQLite database at the first
17868 -----------------
17870 - #1494314: Fix a regression with high-numbered sockets in 2.4.3. This
17874 - Assigning None to pointer type fields in ctypes structures possible
17877 - Fixed a segfault in _ctypes when ctypes.wintypes were imported
17878 on non-Windows platforms.
17880 - Bug #1518190: The ctypes.c_void_p constructor now accepts any
17883 - Patch #1517790: It is now possible to use custom objects in the ctypes
17887 - The '_ctypes' extension module now works when Python is configured
17888 with the --without-threads option.
17890 - Bug #1513646: os.access on Windows now correctly determines write
17893 - Bug #1512695: cPickle.loads could crash if it was interrupted with
17896 - Bug #1296433: parsing XML with a non-default encoding and
17899 - Patch #1516912: improve Modules support for OpenVMS.
17902 -----
17904 - Automate Windows build process for the Win64 SSL module.
17906 - 'configure' now detects the zlib library the same way as distutils.
17910 - The MSI compileall step was fixed to also support a TARGETDIR
17913 - Bug #1517388: sqlite3.dll is now installed on Windows independent
17916 - Bug #1513032: 'make install' failed on FreeBSD 5.3 due to lib-old
17920 -----
17922 - Call os.waitpid() at the end of tests that spawn child processes in order
17926 -------------
17928 - Cover ImportWarning, PendingDeprecationWarning and simplefilter() in the
17931 - Patch #1509163: MS Toolkit Compiler no longer available.
17933 - Patch #1504046: Add documentation for xml.etree.
17939 *Release date: 20-JUN-2006*
17942 -----------------
17944 - Patch #1507676: Error messages returned by invalid abstract object operations
17948 - Bug #992017: A classic class that defined a __coerce__() method that returned
17951 - Fix the socket tests so they can be run concurrently.
17953 - Removed 5 integers from C frame objects (PyFrameObject).
17956 - Bug #532646: object.__call__() will continue looking for the __call__
17959 class. Originally fixed for classic classes, but this fix is for new-style.
17962 - The string and unicode methods startswith() and endswith() now accept
17965 - Buffer objects, at the C level, never used the char buffer
17971 - Patch #1346214: Statements like "if 0: suite" are now again optimized
17974 - Builtin exceptions are now full-blown new-style classes instead of
17978 - Patch #1494554: Update unicodedata.numeric and unicode.isnumeric to
17981 - Patch #921466: sys.path_importer_cache is now used to cache valid and
17982 invalid file paths for the built-in import machinery which leads to
17985 - Patch #1442927: ``long(str, base)`` is now up to 6x faster for non-power-
17986 of-2 bases. The largest speedup is for inputs with about 1000 decimal
17987 digits. Conversion from non-power-of-2 bases remains quadratic-time in
17988 the number of input digits (it was and remains linear-time for bases
17991 - Bug #1334662: ``int(string, base)`` could deliver a wrong answer
17996 - Patch #1337051: reduced size of frame objects.
17998 - PyErr_NewException now accepts a tuple of base classes as its
18001 - Patch #876206: function call speedup by retaining allocated frame
18004 - Bug #1462152: file() now checks more thoroughly for invalid mode
18008 - Patch #1488312, Fix memory alignment problem on SPARC in unicode
18010 - Bug #1487966: Fix SystemError with conditional expression in assignment
18012 - WindowsError now has two error code attributes: errno, which carries
18017 - Patch #1475845: Raise IndentationError for unexpected indent.
18019 - Patch #1479181: split open() and file() from being aliases for each other.
18021 - Patch #1497053 & bug #1275608: Exceptions occurring in ``__eq__()``
18026 - Bug #1456209: In some obscure cases it was possible for a class with a
18029 No, you don't have any code that did this ;-)
18032 -----------------
18034 - Bug #1295808: expat symbols should be namespaced in pyexpat
18036 - Patch #1462338: Upgrade pyexpat to expat 2.0.0
18038 - Change binascii.hexlify to accept a read-only buffer instead of only a char
18041 - Fixed a potentially invalid memory access of CJKCodecs' shift-jis decoder.
18043 - Patch #1478788 (modified version): The functional extension module has
18048 - Patch #1493701: performance enhancements for struct module.
18050 - Patch #1490224: time.altzone is now set correctly on Cygwin.
18052 - Patch #1435422: zlib's compress and decompress objects now have a
18055 - Patch #1454481: thread stack size is now tunable at runtime for thread
18058 - On Win32, os.listdir now supports arbitrarily-long Unicode path names
18061 - Use Win32 API to implement os.{access,chdir,chmod,mkdir,remove,rename,rmdir,utime}.
18064 - ``time.clock()`` on Win64 should use the high-performance Windows
18065 ``QueryPerformanceCounter()`` now (as was already the case on 32-bit
18068 - Calling Tk_Init twice is refused if the first call failed as that
18071 - bsddb: added the DB_ARCH_REMOVE flag and fixed db.DBEnv.log_archive() to
18074 - bsddb: added support for the DBEnv.log_stat() and DBEnv.lsn_reset() methods
18078 - bsddb: added an interface for the BerkeleyDB >= 4.3 DBSequence class.
18081 - bsddb: fix DBCursor.pget() bug with keyword argument names when no data
18084 - bsddb: the __len__ method of a DB object has been fixed to return correct
18088 - bsddb: the bsddb.dbtables Modify method now raises the proper error and
18092 - bsddb: multithreaded DB access using the simple bsddb module interface
18097 - Patch #1446489: add support for the ZIP64 extensions to zipfile.
18099 - Patch #1506645: add Python wrappers for the curses functions
18103 -------
18105 - Patch #815924: Restore ability to pass type= and icon= in tkMessageBox
18108 - Patch #812986: Update turtle output even if not tracing.
18110 - Patch #1494750: Destroy master after deleting children in
18113 - Patch #1096231: Add ``default`` argument to Tkinter.Wm.wm_iconbitmap.
18115 - Patch #763580: Add name and value arguments to Tkinter variable
18118 - Bug #1117556: SimpleHTTPServer now tries to find and use the system's
18121 - Bug #1339007: Shelf objects now don't raise an exception in their
18124 - Patch #1455898: The MBCS codec now supports the incremental mode for
18125 double-byte encodings.
18127 - ``difflib``'s ``SequenceMatcher.get_matching_blocks()`` was changed to
18129 non-adjacent blocks. Previously, a pair of matching blocks could end
18133 - Bug #1498146: fix optparse to handle Unicode strings in option help,
18136 - Bug #1366250: minor optparse documentation error.
18138 - Bug #1361643: fix textwrap.dedent() so it handles tabs appropriately;
18141 - The wsgiref package has been added to the standard library.
18143 - The functions update_wrapper() and wraps() have been added to the functools
18147 - The optional ``isprivate`` argument to ``doctest.testmod()``, and the
18150 - Patch #1359618: Speed up charmap encoder by using a trie structure
18153 - The functions in the ``pprint`` module now sort dictionaries by key
18159 - Patch #1497027: try HTTP digest auth before basic auth in urllib2
18162 - Patch #1496206: improve urllib2 handling of passwords with respect to
18165 - Patch #1080727: add "encoding" parameter to doctest.DocFileSuite.
18167 - Patch #1281707: speed up gzip.readline.
18169 - Patch #1180296: Two new functions were added to the locale module:
18170 format_string() to get the effect of "format % items" but locale-aware,
18173 - Patch #1486962: Several bugs in the turtle Tk demo module were fixed
18176 - Patch #1488881: add support for external file objects in bz2 compressed
18179 - Patch #721464: pdb.Pdb instances can now be given explicit stdin and
18183 - Patch #1484695: Update the tarfile module to version 0.8. This fixes
18187 - Patch #1478292. ``doctest.register_optionflag(name)`` shouldn't create a
18190 - Bug #1385040: don't allow "def foo(a=1, b): pass" in the compiler
18193 - Patch #1472854: make the rlcompleter.Completer class usable on non-
18196 - Patch #1470846: fix urllib2 ProxyBasicAuthHandler.
18198 - Bug #1472827: correctly escape newlines and tabs in attribute values in
18203 -----
18205 - Bug #1502728: Correctly link against librt library on HP-UX.
18207 - OpenBSD 3.9 is supported now.
18209 - Patch #1492356: Port to Windows CE.
18211 - Bug/Patch #1481770: Use .so extension for shared libraries on HP-UX for ia64.
18213 - Patch #1471883: Add --enable-universalsdk.
18216 -----
18219 -----
18222 -----
18225 -------------
18232 *Release date: 27-APR-2006*
18235 -----------------
18237 - Bug #1465834: 'bdist_wininst preinstall script support' was fixed
18246 - Under COUNT_ALLOCS, types are not necessarily immortal anymore.
18248 - All uses of PyStructSequence_InitType have been changed to initialize
18252 - Bug #1454485, array.array('u') could crash the interpreter. This was
18256 - Py_UNICODE is unsigned. It was always documented as unsigned, but
18259 - Patch #837242: ``id()`` of any Python object always gives a positive
18270 could return negative values before, on a 32-bit box an ``id()`` result
18274 - Python on OS X 10.3 and above now uses dlopen() (via dynload_shlib.c)
18279 - Patch #1463867: enhanced garbage collection to allow cleanup of cycles
18286 -----------------
18288 - Patch #1191065: Fix preprocessor problems on systems where recvfrom
18291 - Bug #1467952: os.listdir() now correctly raises an error if readdir()
18294 - Fixed bsddb.db.DBError derived exceptions so they can be unpickled.
18296 - Bug #1117761: bsddb.*open() no longer raises an exception when using
18299 - Bug #1149413: bsddb.*open() no longer raises an exception when using
18302 - Bug #1332852: bsddb module minimum BerkeleyDB version raised to 3.3
18305 - Patch #1062014: AF_UNIX sockets under Linux have a special
18309 -------
18311 - Bug #1223937: subprocess.CalledProcessError reports the exit status
18315 - Patch #1475231: ``doctest`` has a new ``SKIP`` option, which causes
18319 - Fixed contextlib.nested to cope with exceptions being raised and
18322 - Updated optparse module to Optik 1.5.1 (allow numeric constants in
18327 - Bug #1473760: ``tempfile.TemporaryFile()`` could hang on Windows, when
18330 - The pydoc module now supports documenting packages contained in
18333 - The pkgutil module now has several new utility functions, such
18337 - The mailbox module can now modify and delete messages from
18342 - The ``__del__`` method of class ``local`` in module ``_threading_local``
18345 - Patch #790710: Add breakpoint command lists in pdb.
18347 - Patch #1063914: Add Tkinter.Misc.clipboard_get().
18349 - Patch #1191700: Adjust column alignment in bdb breakpoint lists.
18351 - SimpleXMLRPCServer relied on the fcntl module, which is unavailable on
18354 - The warnings, linecache, inspect, traceback, site, and doctest modules
18358 - Patch #1467770: Reduce usage of subprocess._active to processes which
18361 - Patch #1462222: Fix Tix.Grid.
18363 - Fix exception when doing glob.glob('anything*/')
18365 - The pstats.Stats class accepts an optional stream keyword argument to
18366 direct output to an alternate file-like object.
18369 -----
18371 - The Makefile now has a reindent target, which runs reindent.py on
18374 - Patch #1470875: Building Python with MS Free Compiler
18376 - Patch #1161914: Add a python-config script.
18378 - Patch #1324762:Remove ccpython.cc; replace --with-cxx with
18379 --with-cxx-main. Link with C++ compiler only if --with-cxx-main was
18381 CXX from --with-cxx-main, see description in README.
18383 - Patch #1429775: Link extension modules with the shared libpython.
18385 - Fixed a libffi build problem on MIPS systems.
18387 - ``PyString_FromFormat``, ``PyErr_Format``, and ``PyString_FromFormatV``
18392 -----
18394 - test_contextlib now checks contextlib.nested can cope with exceptions
18397 - test_cmd_line now checks operation of the -m and -c command switches
18399 - The test_contextlib test in 2.5a1 wasn't actually run unless you ran
18403 - regrtest.py now has a -M option to run tests that test the new limits of
18404 containers, on 64-bit architectures. Running these tests is only sensible
18405 on 64-bit machines with more than two gigabytes of memory. The argument
18409 -----
18411 - Added the Python benchmark suite pybench to the Tools/ directory;
18412 contributed by Marc-Andre Lemburg.
18415 -------------
18417 - Patch #1473132: Improve docs for ``tp_clear`` and ``tp_traverse``.
18419 - PEP 343: Added Context Types section to the library reference
18421 line with the implementation and/or python-dev discussions.
18423 - Bug #1337990: clarified that ``doctest`` does not support examples
18430 *Release date: 05-APR-2006*
18433 -----------------
18435 - PEP 338: -m command line switch now delegates to runpy.run_module
18438 - On Windows, .DLL is not an accepted file name extension for
18442 - Bug #1421664: sys.stderr.encoding is now set to the same value as
18445 - __import__ accepts keyword arguments.
18447 - Patch #1460496: round() now accepts keyword arguments.
18449 - Fixed bug #1459029 - unicode reprs were double-escaped.
18451 - Patch #1396919: The system scope threads are reenabled on FreeBSD
18454 - Bug #1115379: Compiling a Unicode string with an encoding declaration
18457 - Previously, Python code had no easy way to access the contents of a
18461 - Patch #1123430: Python's small-object allocator now returns an arena to
18465 especially long-running applications that, from time to time, temporarily
18470 appears to be effective at least on Microsoft C and gcc-based systems.
18473 - Patch #1434038: property() now uses the getter's docstring if there is
18475 property() as a decorator to produce a read-only property.
18477 - PEP 357, patch 1436368: add an __index__ method to int/long and a matching
18482 - Fixed various bugs reported by Coverity's Prevent tool.
18484 - PEP 352, patch #1104669: Make exceptions new-style objects. Introduced the
18489 - Patch #1438387, PEP 328: relative and absolute imports. Imports can now be
18492 old relative-then-absolute, unless 'from __future__ import
18495 - Properly check if 'warnings' raises an exception (usually when a filter set
18499 - CO_GENERATOR_ALLOWED is no longer defined. This behavior is the default.
18502 - PEP 308: conditional expressions were added: (x if cond else y).
18504 - Patch 1433928:
18505 - The copy module now "copies" function objects (as atomic objects).
18506 - dict.__getitem__ now looks for a __missing__ hook before raising
18509 - PEP 343: with statement implemented. Needs ``from __future__ import
18514 - The built-in file type.
18515 - The thread.LockType type.
18516 - The following types defined by the threading module:
18517 Lock, RLock, Condition, Semaphore, BoundedSemaphore.
18518 - The decimal.Context class.
18520 - Fix the encodings package codec search function to only search
18526 - PEP 353: Using ``Py_ssize_t`` as the index type.
18528 - ``PYMALLOC_DEBUG`` builds now add ``4*sizeof(size_t)`` bytes of debugging
18531 some purposes on 64-bit boxes. A ``PYMALLOC_DEBUG`` build was limited
18532 to 4-byte allocations before.
18534 - Patch #1400181, fix unicode string formatting to not use the locale.
18538 - Bug #1244610, #1392915, fix build problem on OpenBSD 3.7 and 3.8.
18541 - Bug #959576: The pwd module is now built in. This allows Python to be
18544 - Bug #1072182, fix some potential problems if characters are signed.
18546 - Bug #889500, fix line number on SyntaxWarning for global declarations.
18548 - Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
18550 - Support for converting hex strings to floats no longer works.
18553 - Patch #1382163: Expose Subversion revision number to Python. New C API
18557 - Implementation of PEP 341 - Unification of try/except and try/finally.
18561 - Bug #1379994: Builtin unicode_escape and raw_unicode_escape codec
18564 - Patch #1350409: Work around signal handling bug in Visual Studio 2005.
18566 - Bug #1281408: Py_BuildValue now works correctly even with unsigned longs
18569 - SF Bug #1350188, "setdlopenflags" leads to crash upon "import"
18573 - Replaced most Unicode charmap codecs with new ones using the
18574 new Unicode translate string feature in the built-in charmap
18579 - Added a few more codecs for Mac OS encodings
18581 - Sped up some Unicode operations.
18583 - A new AST parser implementation was completed. The abstract
18584 syntax tree is available for read-only (non-compile) access
18587 - SF bug #1167751: fix incorrect code being produced for generator expressions.
18590 - SF Bug #976608: fix SystemError when mtime of an imported file is -1.
18592 - SF Bug #887946: fix segfault when redirecting stdin from a directory.
18595 - Fix segfault with invalid coding.
18597 - SF bug #772896: unknown encoding results in MemoryError.
18599 - All iterators now have a Boolean value of True. Formerly, some iterators
18603 - On 64-bit platforms, when __len__() returns a value that cannot be
18606 - test__locale is skipped on OS X < 10.4 (only partial locale support is
18609 - SF bug #893549: parsing keyword arguments was broken with a few format
18612 - Changes donated by Elemental Security to make it work on AIX 5.3
18613 with IBM's 64-bit compiler (SF patch #1284289). This also closes SF
18616 - Changes donated by Elemental Security to make it work on HP-UX 11 on
18617 Itanium2 with HP's 64-bit compiler (SF patch #1225212).
18619 - Disallow keyword arguments for type constructors that don't use them
18622 - Forward UnicodeDecodeError into SyntaxError for source encoding errors.
18624 - SF bug #900092: When tracing (e.g. for hotshot), restore 'return' events for
18627 - The implementation of set() and frozenset() was revised to use its
18629 and there are modest speed-ups as well. The API is unchanged.
18631 - SF bug #1238681: freed pointer is used in longobject.c:long_pow().
18633 - SF bug #1229429: PyObject_CallMethod failed to decrement some
18636 - SF bug #1185883: Python's small-object memory allocator took over
18640 portable way to copy data from the C-managed block into Python's
18641 small-object space without risking a memory fault. Python's small-object
18645 - SF bug #1232517: An overflow error was not detected properly when
18648 - SF bug #1224347: hex longs now print with lowercase letters just
18651 - SF bug #1163563: the original fix for bug #1010677 ("thread Module
18654 http://mail.python.org/pipermail/python-dev/2005-June/054258.html
18655 for a longer write-up of the problem).
18657 - SF patch #1180995: marshal now uses a binary format by default when
18660 - SF patch #1181301: on platforms that appear to use IEEE 754 floats,
18664 - bug #967182: disallow opening files with 'wU' or 'aU' as specified by PEP
18667 - patch #1109424: int, long, float, complex, and unicode now check for the
18675 - Descriptors defined in C with a PyGetSetDef structure, where the setter is
18678 with the equivalent pure-Python implementation.
18680 - It is now safe to call PyGILState_Release() before
18684 have no way of knowing if Python is multi-threaded yet).
18686 - Typing Ctrl-C whilst raw_input() was waiting in a build with threads
18689 - Bug #1165306: instancemethod_new allowed the creation of a method
18692 - Move exception finalisation later in the shutdown process - this
18695 - Added two new builtins, any() and all().
18697 - Defining a class with empty parentheses is now allowed
18702 - Patch #1115086: Support PY_LONGLONG in structmember.
18704 - Bug #1155938: new style classes did not check that __init__() was
18707 - Patch #802188: Report characters after line continuation character
18710 - Bug #723201: Raise a TypeError for passing bad objects to 'L' format.
18712 - Bug #1124295: the __name__ attribute of file objects was
18715 - Bug #1074011: closing sys.std{out,err} now causes a flush() and
18718 - min() and max() now support key= arguments with the same meaning as in
18721 - The peephole optimizer now performs simple constant folding in expressions:
18722 (2+3) --> (5).
18724 - set and frozenset objects can now be marshalled. SF #1098985.
18726 - Bug #1077106: Poor argument checking could cause memory corruption
18729 - The parser did not complain about future statements in illegal
18733 - Change the %s format specifier for str objects so that it returns a
18737 - Patch #1413181: changed ``PyThreadState_Delete()`` to forget about the
18738 current thread state when the auto-GIL-state machinery knows about
18744 -----------------
18746 - Patch #1380952: fix SSL objects timing out on consecutive read()s
18748 - Patch #1309579: wait3 and wait4 were added to the posix module.
18750 - Patch #1231053: The audioop module now supports encoding/decoding of alaw.
18753 - RFE #567972: Socket objects' family, type and proto properties are
18756 - Everything under lib-old was removed. This includes the following modules:
18761 - The following modules were removed: regsub, reconvert, regex, regex_syntax.
18763 - re and sre were swapped, so help(re) provides full help. importing sre
18766 - Bug #1448490: Fixed a bug that ISO-2022 codecs could not handle
18767 SS2 (single-shift 2) escape sequences correctly.
18769 - The unicodedata module was updated to the 4.1 version of the Unicode
18773 - The timing module is no longer built by default. It was deprecated
18776 - Patch 1433928: Added a new type, defaultdict, to the collections module.
18779 - Bug #854823: socketmodule now builds on Sun platforms even when
18782 - Patch #1393157: os.startfile() now has an optional argument to specify
18785 - Bug #876637, prevent stack corruption when socket descriptor
18788 - Patch #1407135, bug #1424041: harmonize mmap behavior of anonymous memory.
18789 mmap.mmap(-1, size) now returns anonymous memory in both Unix and Windows.
18792 - Patch #1422385: The nis module now supports access to domains other
18795 - Use Win32 API to implement os.stat/fstat. As a result, subsecond timestamps
18799 - Add bsddb.db.DBEnv.set_tx_timestamp allowing time based database recovery.
18801 - Bug #1413192, fix seg fault in bsddb if a transaction was deleted
18804 - Patch #1103116: Basic AF_NETLINK support.
18806 - Bug #1402308, (possible) segfault when using mmap.mmap(-1, ...)
18808 - Bug #1400822, _curses over{lay,write} doesn't work when passing 6 ints.
18812 - Bug #1400115, Fix segfault when calling curses.panel.userptr()
18815 - Fix 64-bit problems in bsddb.
18817 - Patch #1365916: fix some unsafe 64-bit mmap methods.
18819 - Bug #1290333: Added a workaround for cjkcodecs' _codecs_cn build
18822 - Bug #869197: os.setgroups rejects long integer arguments
18824 - Bug #1346533, select.poll() doesn't raise an error if timeout > sys.maxint
18826 - Bug #1344508, Fix UNIX mmap leaking file descriptors
18828 - Patch #1338314, Bug #1336623: fix tarfile so it can extract
18831 - Patch #1407992, fixes broken bsddb module db associate when using
18834 - Get bsddb module to build with BerkeleyDB version 4.4
18836 - Get bsddb module to build with BerkeleyDB version 3.2
18838 - Patch #1309009, Fix segfault in pyexpat when the XML document is in latin_1,
18839 but Python incorrectly assumes it is in UTF-8 format
18841 - Fix parse errors in the readline module when compiling without threads.
18843 - Patch #1288833: Removed thread lock from socket.getaddrinfo on
18844 FreeBSD 5.3 and later versions which got thread-safe getaddrinfo(3).
18846 - Patches #1298449 and #1298499: Add some missing checks for error
18849 - Patch #1297028: fix segfault if call type on MultibyteCodec,
18852 - Fix memory leak in posix.access().
18854 - Patch #1213831: Fix typo in unicodedata._getcode.
18856 - Bug #1007046: os.startfile() did not accept unicode strings encoded in
18859 - Patch #756021: Special-case socket.inet_aton('255.255.255.255') for
18862 - Bug #1215928: Fix bz2.BZ2File.seek() for 64-bit file offsets.
18864 - Bug #1191043: Fix bz2.BZ2File.(x)readlines for files containing one
18867 - Bug #728515: mmap.resize() now resizes the file on Unix as it did
18870 - Patch #1180695: Add nanosecond stat resolution, and st_gen,
18873 - Patch #1231069: The fcntl.ioctl function now uses the 'I' code for
18874 the request code argument, which results in more C-like behaviour
18877 - Bug #1234979: For the argument of thread.Lock.acquire, the Windows
18880 - Bug #1194181: bz2.BZ2File didn't handle mode 'U' correctly.
18882 - Patch #1212117: os.stat().st_flags is now accessible as an attribute
18885 - Patch #1103951: Expose O_SHLOCK and O_EXLOCK in the posix module if
18888 - Bug #1166660: The readline module could segfault if hook functions
18891 - collections.deque objects now support a remove() method.
18893 - operator.itemgetter() and operator.attrgetter() now support retrieving
18897 - os.access now supports Unicode path names on non-Win32 systems.
18899 - Patches #925152, #1118602: Avoid reading after the end of the buffer
18902 - Patches #749830, #1144555: allow UNIX mmap size to default to current
18905 - Added functional.partial(). See PEP309.
18907 - Patch #1093585: raise a ValueError for negative history items in readline.
18910 - The spwd module has been added, allowing access to the shadow password
18913 - stat_float_times is now True.
18915 - array.array objects are now picklable.
18917 - the cPickle module no longer accepts the deprecated None option in the
18920 - itertools.islice() now accepts None for the start and step arguments.
18924 - datetime.datetime() now has a strptime class method which can be used to
18927 - Patch #1117961: Replace the MD5 implementation from RSA Data Security Inc
18928 with the implementation from http://sourceforge.net/projects/libmd5-rfc/.
18931 -------
18933 - Patch #1388073: Numerous __-prefixed attributes of unittest.TestCase have
18937 - PEP 338: new module runpy defines a run_module function to support
18941 - The email module's parsedate_tz function now sets the daylight savings
18942 flag to -1 (unknown) since it can't tell from the date whether it should
18945 - Patch #624325: urlparse.urlparse() and urlparse.urlsplit() results
18948 - Patch #1462498: sgmllib now handles entity and character references
18951 - Added the sqlite3 package. This is based on pysqlite2.1.3, and provides
18952 a DB-API interface in the standard library. You'll need sqlite 3.0.8 or
18953 later to build this - if you have an earlier version, the C extension
18956 - Bug #1460340: ``random.sample(dict)`` failed in various ways. Dicts
18961 - Bug #1445068: getpass.getpass() can now be given an explicit stream
18964 - Patch #1462313, bug #1443328: the pickle modules now can handle classes
18967 - Bug #1250170: mimetools now handles socket.gethostname() failures gracefully.
18969 - patch #1457316: "setup.py upload" now supports --identity to select the
18972 - Queue.Queue objects now support .task_done() and .join() methods
18976 - popen2.Popen objects now preserve the command in a .cmd attribute.
18978 - Added the ctypes ffi package.
18980 - email 4.0 package now integrated. This is largely the same as the email 3.0
18988 - Patches #1436130/#1443155: codecs.lookup() now returns a CodecInfo object
18995 - Patch #1359365: Calling next() on a closed StringIO.String object raises
19000 - A regrtest option -w was added to re-run failed tests in verbose mode.
19002 - Patch #1446372: quit and exit can now be called from the interactive
19005 - The function get_count() has been added to the gc module, and gc.collect()
19008 - A library msilib to generate Windows Installer files, and a distutils
19011 - PEP 343: new module contextlib.py defines decorator @contextmanager
19014 - The compiler package now supports future imports after the module docstring.
19016 - Bug #1413790: zipfile now sanitizes absolute archive names that are
19019 - Patch #1215184: FileInput now can be given an opening hook which can
19022 - Patch #1212287: fileinput.input() now has a mode parameter for
19025 - Patch #1215184: fileinput now has a fileno() function for getting the
19028 - Patch #1349274: gettext.install() now optionally installs additional
19031 - Patch #1337756: fileinput now accepts Unicode filenames.
19033 - Patch #1373643: The chunk module can now read chunks larger than
19036 - Patch #1417555: SimpleHTTPServer now returns Last-Modified headers.
19038 - Bug #1430298: It is now possible to send a mail with an empty
19041 - Bug #1432260: The names of lambda functions are now properly displayed
19044 - Patch #1412872: zipfile now sets the creator system to 3 (Unix)
19047 - Patch #1349118: urllib now supports user:pass@ style proxy
19051 - Bug #902075: urllib2 now supports 'host:port' style proxy specifications.
19053 - Bug #1407902: Add support for sftp:// URIs to urlparse.
19055 - Bug #1371247: Update Windows locale identifiers in locale.py.
19057 - Bug #1394565: SimpleHTTPServer now doesn't choke on query parameters
19060 - Bug #1403410: The warnings module now doesn't get confused
19063 - Patch #1177307: Added a new codec utf_8_sig for UTF-8 with a BOM signature.
19065 - Patch #1157027: cookielib mishandles RFC 2109 cookies in Netscape mode
19067 - Patch #1117398: cookielib.LWPCookieJar and .MozillaCookieJar now raise
19071 - Added the hashlib module. It provides secure hash functions for MD5 and
19073 historic MD5 and SHA1 unsuitable for cryptographic-strength applications.
19074 In <http://mail.python.org/pipermail/python-dev/2005-December/058850.html>
19079 is that SHA-256 is a good choice for the time being, but
19083 - Added a subset of Fredrik Lundh's ElementTree package. Available
19087 - Patch #1162825: Support non-ASCII characters in IDLE window titles.
19089 - Bug #1365984: urllib now opens "data:" URLs again.
19091 - Patch #1314396: prevent deadlock for threading.Thread.join() when an exception
19095 - Bug #1340337: change time.strptime() to always return ValueError when there
19098 - Patch #754022: Greatly enhanced webbrowser.py (by Oleg Broytmann).
19100 - Bug #729103: pydoc.py: Fix docother() method to accept additional
19103 - Patch #1300515: xdrlib.py: Fix pack_fstring() to really use null bytes
19106 - Bug #1296004: httplib.py: Limit maximal amount of data read from the
19109 - Patch #1166948: locale.py: Prefer LC_ALL, LC_CTYPE and LANG over LANGUAGE
19112 - Patch #1166938: locale.py: Parse LANGUAGE as a colon separated list of
19115 - Patch #1268314: Cache lines in StreamReader.readlines for performance.
19117 - Bug #1290505: Fix clearing the regex cache for time.strptime().
19119 - Bug #1167128: Fix size of a symlink in a tarfile to be 0.
19121 - Patch #810023: Fix off-by-one bug in urllib.urlretrieve reporthook
19124 - Bug #1163178: Make IDNA return an empty string when the input is empty.
19126 - Patch #848017: Make Cookie more RFC-compliant. Use CRLF as default output
19129 - Patch #1062060: urllib.urlretrieve() now raises a new exception, named
19131 match the Content-Length header.
19133 - Bug #1121494: distutils.dir_utils.mkpath now accepts Unicode strings.
19135 - Bug #1178484: Return complete lines from codec stream readers
19139 - Bug #1192315: Disallow negative arguments to clear() in pdb.
19141 - Patch #827386: Support absolute source paths in msvccompiler.py.
19143 - Patch #1105730: Apply the new implementation of commonprefix in posixpath
19146 - Fix a problem in Tkinter introduced by SF patch #869468: delete bogus
19150 - Bug #1015140: disambiguated the term "article id" in nntplib docs and
19153 - Bug #1238170: threading.Thread.__init__ no longer has "kwargs={}" as a
19156 - textwrap now processes text chunks at O(n) speed instead of O(n**2).
19159 - urllib2 has now an attribute 'httpresponses' mapping from HTTP status code
19160 to W3C name (404 -> 'Not Found'). RFE #1216944.
19162 - Bug #1177468: Don't cache the /dev/urandom file descriptor for os.urandom,
19165 - Bug #839151: Fix an attempt to access sys.argv in the warnings module;
19168 - Bug #1155638: Fix a bug which affected HTTP 0.9 responses in httplib.
19170 - Bug #1100201: Cross-site scripting was possible on BaseHTTPServer via
19173 - Bug #1108948: Cookie.py produced invalid JavaScript code.
19175 - The tokenize module now detects and reports indentation errors.
19178 - The tokenize module has a new untokenize() function to support a full
19183 - Bug #1196315: fix weakref.WeakValueDictionary constructor.
19185 - Bug #1213894: os.path.realpath didn't resolve symlinks that were the first
19188 - Patch #1120353: The xmlrpclib module provides better, more transparent,
19193 - distutils.commands.upload was added to support uploading distribution
19196 - distutils.commands.register now encodes the data as UTF-8 before posting
19199 - decimal operator and comparison methods now return NotImplemented
19204 - Bug #1163325: Decimal infinities failed to hash. Attempting to
19207 - Patch #918101: Add tarfile open mode r|* for auto-detection of the
19210 - Patch #1043890: Add extractall method to tarfile.
19212 - Patch #1075887: Don't require MSVC in distutils if there is nothing
19215 - Patch #1103407: Properly deal with tarfile iterators when untarring
19218 - Patch #645894: Use getrusage for computing the time consumption in
19221 - Patch #1046831: Use get_python_version where appropriate in sysconfig.py.
19223 - Patch #1117454: Remove code to special-case cookies without values
19226 - Patch #1117339: Add cookielib special name tests.
19228 - Patch #1112812: Make bsddb/__init__.py more friendly for modulefinder.
19230 - Patch #1110248: SYNC_FLUSH the zlib buffer for GZipFile.flush.
19232 - Patch #1107973: Allow iterating over the lines of a tarfile.ExFileObject.
19234 - Patch #1104111: Alter setup.py --help and --help-commands.
19236 - Patch #1121234: Properly cleanup _exit and tkerror commands.
19238 - Patch #1049151: xdrlib now unpacks booleans as True or False.
19240 - Fixed bug in a NameError bug in cookielib. Patch #1116583.
19242 - Applied a security fix to SimpleXMLRPCserver (PSF-2005-001). This
19246 - Bug #1222790: in SimpleXMLRPCServer, set the reuse-address and close-on-exec
19249 - Bug #792570: SimpleXMLRPCServer had problems if the request grew too large.
19252 - Patches #893642, #1039083: add allow_none, encoding arguments to
19255 - Bug #1110478: Revert os.environ.update to do putenv again.
19257 - Bug #1103844: fix distutils.install.dump_dirs() with negated options.
19259 - os.{SEEK_SET, SEEK_CUR, SEEK_END} have been added for convenience.
19261 - Enhancements to the csv module:
19266 + Dialect parameter parsing has been re-implemented to improve error
19282 C-coded dialect type, rather than references to python objects.
19283 + the internal c-coded dialect type is now immutable.
19287 + a configurable limit to the size of parsed fields has been added -
19297 + reader and writer objects were not being registered with the cyclic-GC.
19300 - _DummyThread objects in the threading module now delete self.__block that is
19301 inherited from _Thread since it uses up a lock allocated by 'thread'. The
19302 lock primitives tend to be limited in number and thus should not be wasted on
19305 - The imghdr module now detects Exif files.
19307 - StringIO.truncate() now correctly adjusts the size attribute.
19310 - locale.py now uses an updated locale alias table (built using
19315 - moved deprecated modules to Lib/lib-old: whrandom, tzparse, statcache.
19317 - the pickle module no longer accepts the deprecated None option in the
19320 - optparse now optionally imports gettext. This allows its use in setup.py.
19322 - the pickle module no longer uses the deprecated bin parameter.
19324 - the shelve module no longer uses the deprecated binary parameter.
19326 - the pstats module no longer uses the deprecated ignore() method.
19328 - the filecmp module no longer uses the deprecated use_statcache argument.
19330 - unittest.TestCase.run() and unittest.TestSuite.run() can now be successfully
19334 - heapq.nsmallest() and heapq.nlargest() now support key= arguments with
19337 - Bug #1076985: ``codecs.StreamReader.readline()`` now calls ``read()`` only
19341 - Bug #1083110: ``zlib.decompress.flush()`` would segfault if called
19345 - The reconvert.quote function can now emit triple-quoted strings. The
19348 - ``UserString.MutableString`` now supports negative indices in
19351 - Bug #1149508: ``textwrap`` now handles hyphenated numbers (eg. "2004-03-05")
19354 - Partial fixes for SF bugs #1163244 and #1175396: If a chunk read by
19360 - Bug #1251300: On UCS-4 builds the "unicode-internal" codec will now complain
19364 - Bug #1235646: ``codecs.StreamRecoder.next()`` now reencodes the data it reads
19368 - Bug #1202493: Fixing SRE parser to handle '{}' as perl does, rather than
19371 - Bug #1245379: Add "unicode-1-1-utf-7" as an alias for "utf-7" to
19374 - ` uu.encode()`` and ``uu.decode()`` now support unicode filenames.
19376 - Patch #1413711: Certain patterns of differences were making difflib
19379 - Bug #947906: An object oriented interface has been added to the calendar
19381 called as a script (e.g. via ``python -mcalendar``). Localized month and
19386 -----
19388 - Fix test_float, test_long, and test_struct failures on Tru64 with gcc
19389 by using -mieee gcc option.
19391 - Patch #1432345: Make python compile on DragonFly.
19393 - Build support for Win64-AMD64 was added.
19395 - Patch #1428494: Prefer linking against ncursesw over ncurses library.
19397 - Patch #881820: look for openpty and forkpty also in libbsd.
19399 - The sources of zlib are now part of the Python distribution (zlib 1.2.3).
19402 - Use -xcode=pic32 for CCSHARED on Solaris with SunPro.
19404 - Bug #1189330: configure did not correctly determine the necessary
19407 - Upgrade Windows build to zlib 1.2.3 which eliminates a potential security
19410 - EXTRA_CFLAGS has been introduced as an environment variable to hold compiler
19415 - SF patch 1171735: Darwin 8's headers are anal about POSIX compliance,
19419 - Bug #1158607: Build with --disable-unicode again.
19421 - spwdmodule.c is built only if either HAVE_GETSPNAM or HAVE_HAVE_GETSPENT is
19424 - setup.py now uses the directories specified in LDFLAGS using the -L option
19425 and in CPPFLAGS using the -I option for adding library and include
19428 the need for the special-casing of both DarwinPorts and Fink for darwin since
19429 the proper directories can be specified in LDFLAGS (``-L/sw/lib`` for Fink,
19430 ``-L/opt/local/lib`` for DarwinPorts) and CPPFLAGS (``-I/sw/include`` for
19431 Fink, ``-I/opt/local/include`` for DarwinPorts).
19433 - Test in configure.in that checks for tzset no longer dependent on tm->tm_zone
19439 -----
19441 - ``PyMem_{Del, DEL}`` and ``PyMem_{Free, FREE}`` no longer map to
19445 always been officially true, but when Python's small-object allocator was
19450 low-level memory management functions can yield many symptoms).
19452 - Added a C API for set and frozenset objects.
19454 - Removed PyRange_New().
19456 - Patch #1313939: PyUnicode_DecodeCharmap() accepts a unicode string as the
19463 -----
19465 - In test_os, st_?time is now truncated before comparing it with ST_?TIME.
19467 - Patch #1276356: New resource "urlfetch" is implemented. This enables
19472 -------------
19474 - Bug #1402224: Add warning to dl docs about crashes.
19476 - Bug #1396471: Document that Windows' ftell() can return invalid
19477 values for text files with UNIX-style line endings.
19479 - Bug #1274828: Document os.path.splitunc().
19481 - Bug #1190204: Clarify which directories are searched by site.py.
19483 - Bug #1193849: Clarify os.path.expanduser() documentation.
19485 - Bug #1243192: re.UNICODE and re.LOCALE affect \d, \D, \s and \S.
19487 - Bug #755617: Document the effects of os.chown() on Windows.
19489 - Patch #1180012: The documentation for modulefinder is now in the library reference.
19491 - Patch #1213031: Document that os.chown() accepts argument values of -1.
19493 - Bug #1190563: Document os.waitpid() return value with WNOHANG flag.
19495 - Bug #1175022: Correct the example code for property().
19497 - Document the IterableUserDict class in the UserDict module.
19500 - Remove all latent references for "Macintosh" that referred to semantics for
19505 ---
19509 -------------
19511 - FreeBSD 7 support is added.
19515 -----------
19517 - Created Misc/Vim/vim_syntax.py to auto-generate a python.vim file in that
19521 - Added two new files to Tools/scripts: pysource.py, which recursively
19526 - Bug #1072853: pindent.py used an uninitialized variable.
19528 - Patch #1177597: Correct Complex.__init__.
19530 - Fixed a display glitch in Pynche, which could cause the right arrow to
19537 *Release date: 30-NOV-2004*
19540 -----------------
19542 - Bug 875692: Improve signal handling, especially when using threads, by
19543 forcing an early re-execution of PyEval_EvalFrame() "periodic" code when
19550 *Release date: 18-NOV-2004*
19553 -----------------
19555 - Bug 1061968: Fixes in 2.4a3 to address thread bug 1010677 reintroduced
19556 the years-old thread shutdown race bug 225673. Numeric history lesson
19561 -------
19563 - Bug 1052242: If exceptions are raised by an atexit handler function an
19565 raised is re-raised.
19567 - ``doctest``'s new support for adding ``pdb.set_trace()`` calls to
19570 - Bug 1065388: ``calendar``'s ``day_name``, ``day_abbr``, ``month_name``,
19571 and ``month_abbr`` attributes emulate sequences of locale-correct
19581 - Patch 1061679: Added ``__all__`` to pickletools.py.
19584 -----
19586 - Bug 1034277 / Patch 1035255: Remove compilation of core against CoreServices
19591 -----
19593 - The PyRange_New() function is deprecated.
19599 *Release date: 03-NOV-2004*
19602 -------
19622 -----------------
19624 - Bug #1055820 Cyclic garbage collection was not protecting against that
19635 - Bug #1054139 _PyString_Resize() now invalidates its cached hash value.
19638 -----------------
19640 - Bug #1048870: the compiler now generates distinct code objects for
19646 -------
19648 - Patch #1056967 changes the semantics of Template.safe_substitute() so that
19652 - Bug #1052503 pdb.runcall() was not passing along keyword arguments.
19654 - Bug #902037: XML.sax.saxutils.prepare_input_source() now combines relative
19657 - The whichdb module can now be run from the command line.
19659 - Bug #1045381: time.strptime() can now infer the date using %U or %W (week of
19662 - Bug #1048816: fix bug in Ctrl-K at start of line in curses.textpad.Textbox
19664 - Bug #1017553: fix bug in tarfile.filemode()
19666 - Patch #737473: fix bug that old source code is shown in tracebacks even if
19670 -----
19672 - Patch #1044395: --enable-shared is allowed in FreeBSD also.
19677 *Release date: 15-OCT-2004*
19680 -----------------
19682 - Patch #975056: Restartable signals were not correctly disabled on
19685 - The internal portable implementation of thread-local storage (TLS), used
19687 thread-correct. This could lead to a variety of problems, up to and
19690 - Added a command line option, -m module, which searches sys.path for the
19693 - The bytecode optimizer now folds tuples of constants into a single
19696 - SF bug #513866: Float/long comparison anomaly. Prior to 2.4b1, when
19700 ``long(1e200)+1 == 1e200 == long(1e200)-1``. Coercion to float is no
19701 longer performed, and cases like ``long(1e200)-1 < 1e200``,
19706 -----------------
19708 - ``collections.deque`` objects didn't play quite right with garbage
19715 -------
19717 - Patch 1046644: distutils build_ext grew two new options - --swig for
19718 specifying the swig executable to use, and --swig-opts to specify
19719 options to pass to swig. --swig-opts="-c++" is the new way to spell
19720 --swig-cpp.
19722 - Patch 983206: distutils now obeys environment variable LDSHARED, if
19725 - Added Peter Astrand's subprocess.py module. See PEP 324 for details.
19727 - time.strptime() now properly escapes timezones and all other locale-specific
19728 strings for regex-specific symbols. Was breaking under Japanese Windows when
19732 - Updates for the email package:
19747 - re's findall() and finditer() functions now take an optional flags argument
19752 - rfc822 Messages now support iterating over the headers.
19754 - The (undocumented) tarfile.Tarfile.membernames has been removed;
19757 - httplib now offers symbolic constants for the HTTP status codes.
19759 - SF bug #1028306: Trying to compare a ``datetime.date`` to a
19761 Now it acts like a mixed-type comparison: ``False`` for ``==``,
19769 - bdist_rpm now supports command line options --force-arch,
19770 {pre,post}-install, {pre,post}-uninstall, and
19771 {prep,build,install,clean,verify}-script.
19773 - SF patch #998993: The UTF-8 and the UTF-16 stateful decoders now support
19776 readline support for the UTF-16 decoders. ``codecs.StreamReader.read()``
19782 - The documentation for doctest is greatly expanded, and now covers all
19785 - ``doctest.master`` was put back in, and ``doctest.testmod()`` once again
19792 - httplib now handles ipv6 address/port pairs.
19794 - SF bug #1017864: ConfigParser now correctly handles default keys,
19796 consistent with the handling of config file entries and runtime-set
19799 - SF bug #997050: Document, test, & check for non-string values in
19800 ConfigParser. Moved the new string-only restriction added in
19803 conditions under which non-string values work.
19806 -----
19808 - Building on darwin now includes /opt/local/include and /opt/local/lib for
19812 - pyport.h now defines a Py_IS_NAN macro. It works as-is when the
19814 Other platforms can override the default definition with a platform-
19819 -----
19821 - SF patch 1044089: New function ``PyEval_ThreadsInitialized()`` returns
19822 non-zero if PyEval_InitThreads() has been called.
19824 - The undocumented and unused extern int ``_PyThread_Started`` was removed.
19826 - The C API calls ``PyInterpreterState_New()`` and ``PyThreadState_New()``
19830 of calls to Python's small-object allocator, to get the benefit of
19831 its extra debugging capabilities. But Python's small-object allocator
19836 - PyLong_AsUnsignedLong[Mask] now support int objects as well.
19838 - SF patch #998993: ``PyUnicode_DecodeUTF8Stateful`` and
19843 -----
19845 - test__locale ported to unittest
19848 ---
19850 - ``plistlib`` now supports non-dict root objects. There is also a new
19855 -----------
19857 - The text file comparison scripts ``ndiff.py`` and ``diff.py`` now
19858 read the input files in universal-newline mode. This spares them
19867 *Release date: 02-SEP-2004*
19870 -----------------
19872 - SF patch #1007189: ``from ... import ...`` statements now allow the name
19875 - Some speedups for long arithmetic, thanks to Trevor Perrin. Gradeschool
19884 from right-to-left to left-to-right, which is more efficient for small
19889 - OverflowWarning is no longer generated. PEP 237 scheduled this to
19895 - Py_InitializeEx has been added.
19897 - Fix the order of application of decorators. The proper order is bottom-up;
19900 - SF patch #1005778. Fix a seg fault if the list size changed while
19904 - The ``func_name`` (a.k.a. ``__name__``) attribute of user-defined
19907 - code_new (a.k.a new.code()) now checks its arguments sufficiently
19912 - Subclasses of string can no longer be interned. The semantics of
19913 interning were not clear here -- a subclass could be mutable, for
19914 example -- and had bugs. Explicitly interning a subclass of string
19918 - Bug 1003935: xrange() could report bogus OverflowErrors. Documented
19922 -----------------
19924 - difflib now supports HTML side-by-side diff.
19926 - os.urandom has been added for systems that support sources of random
19929 - Patch 1012740: truncate() on a writable cStringIO now resets the
19934 - Added socket.socketpair().
19936 - Added CurrentByteIndex, CurrentColumnNumber, CurrentLineNumber
19939 - The mpz, rotor, and xreadlines modules, all deprecated in earlier
19943 -------
19945 - Patch #934356: if a module defines __all__, believe that rather than using
19948 - Patch #941486: added os.path.lexists(), which returns True for broken
19951 - the random module now uses os.urandom() for seeding if it is available.
19954 - difflib and diff.py can now generate HTML.
19956 - bdist_rpm now includes version and release in the BuildRoot, and
19957 replaces - by ``_`` in version and release.
19959 - distutils build/build_scripts now has an -e option to specify the
19962 - PEP 292 classes Template and SafeTemplate are added to the string module.
19964 - tarfile now generates GNU tar files by default.
19966 - HTTPResponse has now a getheaders method.
19968 - Patch #1006219: let inspect.getsource handle '@' decorators. Thanks Simon
19971 - logging.handlers.SMTPHandler.date_time has been removed;
19974 - A new function tkFont.nametofont was added to return an existing
19979 - Updated the decimal package's min() and max() methods to match the
19984 - The decimal package's Context.copy() method now returns deep copies.
19986 - Deprecated sys.exitfunc in favor of the atexit module. The sys.exitfunc
19990 - patch #675551: Add get_history_item and replace_history_item functions
19993 - bug #989672: pdb.doc and the help messages for the help_d and help_u methods
19997 - bug #990669: os.path.realpath() will resolve symlinks before normalizing the
20001 - bug #851123: shutil.copyfile will raise an exception when trying to copy a
20004 - bug #570300: Fix inspect to resolve file locations using os.path.realpath()
20008 - doctest refactoring continued. See the docs for details. As part of
20009 this effort, some old and little- (never?) used features are now
20022 - Bug #891637, patch #1005466: fix inspect.getargs() crash on def foo((bar)).
20025 -----------
20027 - IDLE's shortcut keys for windows are now case insensitive so that
20028 Control-V works the same as Control-v.
20030 - pygettext.py: Generate POT-Creation-Date header in ISO format.
20033 -----
20035 - Backward incompatibility: longintrepr.h now triggers a compile-time
20038 5-bits-at-a-time long_pow() implementation. If necessary, the
20040 falling back to the 1-bit-at-a-time algorithm), but there are no
20043 - bug #991962: When building with --disable-toolbox-glue on Darwin no
20044 attempt to build Mac-specific modules occurs.
20046 - The --with-tsc flag to configure to enable VM profiling with the
20049 - patch #1006629: Define _XOPEN_SOURCE to 500 on Solaris 8/9 to match
20052 - Detect pthreads support (provided by gnu pth pthread emulation) on
20055 - bug #1005737, #1007249: Fixed several build problems and warnings
20056 found on old/legacy C compilers of HP-UX, IRIX and Tru64.
20059 -----
20064 -------------
20066 - patch #1005936, bug #1009373: fix index entries which contain
20069 - bug #990669: os.path.normpath may alter the meaning of a path if
20074 -------------
20076 - FreeBSD 6 is now supported.
20079 -----
20084 -------
20086 - Boosted the stack reservation for python.exe and pythonw.exe from
20097 ---
20105 *Release date: 05-AUG-2004*
20108 -----------------
20110 - Patch #980695: Implements efficient string concatenation for statements
20115 - PEP-0318, Function Decorators have been added to the language. These are
20116 implemented using the Java-style @decorator syntax, like so::
20123 - When importing a module M raises an exception, Python no longer leaves M
20127 Subsequent imports got no indication that M was in a partially-
20143 - u'%s' % obj will now try obj.__unicode__() first and fallback to
20146 - Patch #550732: Add PyArg_VaParseTupleAndKeywords(). Analogous to
20149 - Allow string and unicode return types from .encode()/.decode()
20153 - An attempt to fix the mess that is Python's behaviour with
20157 - Added C macros Py_CLEAR and Py_VISIT to ease the implementation of
20160 - Compiler now treats None as a constant.
20162 - The type of values returned by __int__, __float__, __long__,
20167 - Implemented bind_textdomain_codeset() in locale module.
20169 - Added a workaround for proper string operations in BSDs. str.split
20170 and str.is* methods can now work correctly with UTF-8 locales.
20172 - Bug #989185: unicode.iswide() and unicode.width() is dropped and
20176 - Patch #941229: The source code encoding in interactive mode
20177 now refers sys.stdin.encoding not just ISO-8859-1 anymore. This
20178 allows for non-latin-1 users to write unicode strings directly.
20181 -----------------
20183 - cpickle now supports the same keyword arguments as pickle.
20186 -------
20188 - Added new codecs and aliases for ISO_8859-11, ISO_8859-16 and
20189 TIS-620
20191 - Thanks to Edward Loper, doctest has been massively refactored, and
20202 - Tkinter now supports the wish -sync and -use options.
20204 - The following methods in time support passing of None: ctime(), gmtime(),
20209 - nntplib does now allow ignoring a .netrc file.
20211 - urllib2 now recognizes Basic authentication even if other authentication
20214 - Bug #1001053. wave.open() now accepts unicode filenames.
20216 - gzip.GzipFile has a new fileno() method, to retrieve the handle of the
20220 - imaplib has two new methods: deleteacl and myrights.
20222 - nntplib has two new methods: description and descriptions. They
20223 use a more RFC-compliant way of getting a newsgroup description.
20225 - Bug #993394. Fix a possible red herring of KeyError in 'threading' being
20229 - Bug #857297/Patch #916874. Fix an error when extracting a hard link
20232 - Patch #846659. Fix an error in tarfile.py when using
20235 - The obsolete FCNTL.py has been deleted. The built-in fcntl module
20240 - Several new unicode codecs are added: big5hkscs, euc_jis_2004,
20243 - Bug #788520. Queue.{get, get_nowait, put, put_nowait} have new
20246 Empty exceptions raised by non-blocking calls now occur only if the
20254 - Bugs #979794 and #980117: difflib.get_grouped_opcodes() now handles the
20258 - Bug #980938: smtplib now prints debug output to sys.stderr.
20260 - Bug #930024: posixpath.realpath() now handles infinite loops in symlinks by
20264 - Bug #980327: ntpath not handles compressing erroneous slashes between the
20268 - bug #679953: zipfile.py should now work for files over 2 GB. The packed data
20272 - decimal.py now only uses signals in the IBM spec. The other conditions are
20275 - codecs module now has two new generic APIs: encode() and decode()
20279 - Non-blocking SSL sockets work again; they were broken in Python 2.3.
20282 - doctest unittest integration improvements:
20284 o Improved the unitest test output for doctest-based unit tests
20289 - The threading module has a new class, local, for creating objects
20290 that provide thread-local data.
20292 - Bug #990307: when keep_empty_values is True, cgi.parse_qsl()
20295 - Implemented bind_textdomain_codeset() in gettext module.
20297 - Introduced in gettext module the l*gettext() family of functions,
20301 - optparse module (and tests) upgraded to Optik 1.5a1. Changes:
20303 - Add expansion of default values in help text: the string
20307 - Bug #955889: option default values that happen to be strings are
20312 - Bug #960515: don't crash when generating help for callback
20315 - Feature #815264: change the default help format for short options
20316 that take an argument from e.g. "-oARG" to "-o ARG"; add
20320 - Patch #736940: internationalize Optik: all built-in user-
20323 -- you'll find them in the Optik source distribution from
20326 - Bug #878453: respect $COLUMNS environment variable for
20329 - Feature #988122: expand "%prog" in the 'description' passed
20334 -----
20336 - PyImport_ExecCodeModule() and PyImport_ExecCodeModuleEx(): if an
20339 one of these, so this is an error-case change in semantics for all
20348 - A large pile of datetime field-extraction macros is now documented,
20352 -------------
20354 - Improved the tutorial on creating types in C.
20356 - point out the importance of reassigning data members before
20359 - correct my misconception about return values from visitprocs. Sigh.
20361 - mention the labor saving Py_VISIT and Py_CLEAR macros.
20363 - Major rewrite of the math module docs, to address common confusions.
20366 -----
20368 - The test data files for the decimal test suite are now installed on
20371 - SF patch 995225: The test file testtar.tar accidentally contained
20379 *Release date: 08-JUL-2004*
20382 -----------------
20384 - weakref.ref is now the type object also known as
20385 weakref.ReferenceType; it can be subclassed like any other new-style
20386 class. There's less per-entry overhead in WeakValueDictionary
20389 - Bug #951851: Python crashed when reading import table of certain
20392 - Bug #215126. The locals argument to eval(), execfile(), and exec now
20395 - marshal now shares interned strings. This change introduces
20398 - Bug #966623. classes created with type() in an exec(, {}) don't
20402 - Python no longer relies on the LC_NUMERIC locale setting to be
20406 - Bug #952807: Unpickling pickled instances of subclasses of
20410 - Bug #845802: Python crashes when __init__.py is a directory.
20412 - Unicode objects received two new methods: iswide() and width().
20416 - Improved the tuple hashing algorithm to give fewer collisions in
20419 - Implemented generator expressions (PEP 289). Coded by Jiwon Seo.
20421 - Enabled the profiling of C extension functions (and builtins) - check
20424 - Set file.name to the object passed to open (instead of a new string)
20426 - Moved tracebackobject into traceback.h and renamed to PyTracebackObject
20428 - Optimized the byte coding for multiple assignments like "a,b=b,a" and
20431 - Limit the nested depth of a tuple for the second argument to isinstance()
20435 - Optimized dict iterators, creating separate types for each
20439 - Implemented a newcode opcode, LIST_APPEND, that simplifies
20443 - Implemented rich comparisons for floats, which seems to make
20447 - Optimized list.extend() to save memory and no longer create
20448 intermediate sequences. Also, extend() now pre-allocates the
20450 advance -- this halves the time to extend the list.
20452 - Optimized list resize operations to make fewer calls to the system
20457 - Changed the internal list over-allocation scheme. For larger lists,
20460 the overallocation is no more than three elements -- this improves space
20463 - Most list bodies now get re-used rather than freed. Speeds up list
20466 - The dict.update() method now accepts all the same argument forms
20470 - Support for arbitrary objects supporting the read-only buffer
20474 - Made omitted callback and None equivalent for weakref.ref() and
20478 - Fixed problem where PyWeakref_NewRef() and PyWeakref_NewProxy()
20489 - input() built-in function now respects compiler flags such as
20492 - Removed PendingDeprecationWarning from apply(). apply() remains
20495 - At Python shutdown time (Py_Finalize()), 2.3 called cyclic garbage
20505 - Removed FutureWarnings related to hex/oct literals and conversions
20514 - For str and unicode objects, the ljust(), center(), and rjust()
20518 - When method objects have an attribute that can be satisfied either
20527 - Critical bugfix, for SF bug 839548: if a weakref with a callback,
20531 the callback to see partially-torn-down objects, leading to immediate
20542 - Critical bugfix, for SF bug 840829: if cyclic garbage collection
20543 happened to occur during a weakref callback for a new-style class
20548 - Compiler flags set in PYTHONSTARTUP are now active in __main__.
20550 - Added two built-in types, set() and frozenset().
20552 - Added a reversed() built-in function that returns a reverse iterator
20555 - Added a sorted() built-in function that returns a new sorted list
20558 - CObjects are now mutable (on the C level) through PyCObject_SetVoidPtr.
20560 - list.sort() now supports three keyword arguments: cmp, key, and reverse.
20569 - Added test whether wchar_t is signed or not. A signed wchar_t is not
20573 - Fixed a bug in the cache of length-one Unicode strings that could
20575 non-fatal error left an uninitialized Unicode object in the
20578 - The % formatting operator now supports '%F' which is equivalent to
20581 - complex(obj) could leak a little memory if obj wasn't a string or
20584 - zip() with no arguments now returns an empty list instead of raising
20587 - obj.__contains__() now returns True/False instead of 1/0. SF patch
20590 - Python no longer tries to be smart about recursive comparisons.
20594 - str and unicode built-in types now have an rsplit() method that is
20598 - Fixed a bug in object.__reduce_ex__ when using protocol 2. Failure
20602 - buffer objects based on other objects no longer cache a pointer to
20606 - fixed: if a file is opened with an explicit buffer size >= 1, repeated
20612 -----------------
20614 - Added socket.getservbyport(), and make the second argument in
20617 - time module code that deals with input POSIX timestamps will now raise
20625 - fcntl.ioctl now warns if the mutate flag is not specified.
20627 - nt now properly allows referring to UNC roots, e.g. in nt.stat().
20629 - the weakref module now supports additional objects: array.array,
20632 - operator.isMappingType() and operator.isSequenceType() now give
20635 - socket.sslerror is now a subclass of socket.error . Also added
20638 - Bug #920575: A problem where the _locale module segfaults on
20641 - array objects now support the copy module. Also, their resizing
20647 - cStringIO.writelines() now accepts any iterable argument and writes
20652 - time.strftime() now checks that the values in its time tuple argument
20659 - The socket module now supports Bluetooth sockets, if the
20662 - Added a collections module containing a new datatype, deque(),
20663 offering high-performance, thread-safe, memory friendly appends
20666 - Several modules now take advantage of collections.deque() for
20669 - The operator module has two new functions, attrgetter() and
20674 - socket.SHUT_{RD,WR,RDWR} was added.
20676 - os.getsid was added.
20678 - The pwd module incorrectly advertised its struct type as
20682 - The xml.parsers.expat module now provides Expat 1.95.7.
20684 - socket.IPPROTO_IPV6 was added.
20686 - readline.clear_history was added.
20688 - select.select() now accepts sequences for its first three arguments.
20690 - cStringIO now supports the f.closed attribute.
20692 - The signal module now exposes SIGRTMIN and SIGRTMAX (if available).
20694 - curses module now supports use_default_colors(). [patch #739124]
20696 - Bug #811028: ncurses.h breakage on FreeBSD/MacOS X
20698 - Bug #814613: INET_ADDRSTRLEN fix needed for all compilers on SGI
20700 - Implemented non-recursive SRE matching scheme (#757624).
20702 - Implemented (?(id/name)yes|no) support in SRE (#572936).
20704 - random.seed() with no arguments or None uses time.time() as a default
20708 - random.Random has a new method, getrandbits(k), which returns an int
20716 - itertools has a new function, groupby() for aggregating iterables
20721 - itertools now has a new tee() function which produces two independent
20724 - itertools.izip() with no arguments now returns an empty iterator instead
20727 - Fixed #853061: allow BZ2Compressor.compress() to receive an empty string
20731 -------
20733 - Added a new module: cProfile, a C profiler with the same interface as the
20738 - Bug #1266283: The new function "lexists" is now in os.path.__all__.
20740 - Bug #981530: Fix UnboundLocalError in shutil.rmtree(). This affects
20744 - Bug #754449: threading.Thread objects no longer mask exceptions raised during
20748 - Added decimal.py per PEP 327.
20750 - Bug #981299: rsync is now a recognized protocol in urlparse that uses a
20753 - Bug #919012: shutil.move() will not try to move a directory into itself.
20756 - Bug #934282: pydoc.stripid() is now case-insensitive. Thanks Robin Becker.
20758 - Bug #823209: cmath.log() now takes an optional base argument so that its
20761 - Bug #957381: distutils bdist_rpm no longer fails on recent RPM versions
20762 that generate a -debuginfo.rpm
20764 - os.path.devnull has been added for all supported platforms.
20766 - Fixed #877165: distutils now picks the right C++ compiler command
20769 - urllib.urlopen().readline() now handles HTTP/0.9 correctly.
20771 - refactored site.py into functions. Also wrote regression tests for the
20774 - The distutils install command now supports the --home option and
20777 - asyncore.loop now has a repeat count parameter that defaults to
20780 - The distutils sdist command now ignores all .svn directories, in
20784 - Added a new module: cookielib. Automatic cookie handling for HTTP
20788 - stringprep.py now uses built-in set() instead of sets.Set().
20790 - Bug #876278: Unbounded recursion in modulefinder
20792 - Bug #780300: Swap public and system ID in LexicalHandler.startDTD.
20795 - Bug #926075: Fixed a bug that returns a wrong pattern object
20799 - Added countcallers arg to trace.Trace class (--trackcalls command line arg
20802 - Fixed a caching bug in platform.platform() where the argument of 'terse' was
20805 - Added two new command-line arguments for profile (output file and
20808 - Added global runctx function to profile module
20810 - Add hlist missing entryconfigure and entrycget methods.
20812 - The ptcp154 codec was added for Kazakh character set support.
20814 - Support non-anonymous ftp URLs in urllib2.
20816 - The encodings package will now apply codec name aliases
20818 This simplifies overriding built-in codecs with external
20823 - base64 now supports RFC 3548 Base16, Base32, and Base64 encoding and
20826 - urllib2 now supports processors. A processor is a handler that
20830 - distutils compilers now compile source files in the same order as
20833 - pprint.pprint() and pprint.pformat() now have additional parameters
20836 - Patch #750542: pprint now will pretty print subclasses of list, tuple
20839 - Bug #848614: distutils' msvccompiler fails to find the MSVC6
20842 - httplib.HTTP.putrequest now offers to omit the implicit Accept-Encoding.
20844 - Patch #841977: modulefinder didn't find extension modules in packages
20846 - imaplib.IMAP4.thread was added.
20848 - Plugged a minor hole in tempfile.mktemp() due to the use of
20851 - bisect.py and heapq.py now have underlying C implementations
20854 - heapq.py has two new functions, nsmallest() and nlargest().
20856 - traceback.format_exc has been added (similar to print_exc but it returns
20859 - xmlrpclib.MultiCall has been added.
20861 - poplib.POP3_SSL has been added.
20863 - tmpfile.mkstemp now returns an absolute path even if dir is relative.
20865 - urlparse is RFC 2396 compliant.
20867 - The fieldnames argument to the csv module's DictReader constructor is now
20871 - encodings.bz2_codec was added for access to bz2 compression
20874 - Various improvements to unittest.py, realigned with PyUnit CVS.
20876 - dircache now passes exceptions to the caller, instead of returning
20879 - The bsddb module and dbhash module now support the iterator and
20883 - The csv module's DictReader and DictWriter classes now accept keyword
20886 - The email package handles some RFC 2231 parameters with missing
20890 - sets.py now runs under Py2.2. In addition, the argument restrictions
20894 - _strptime.py now has a behind-the-scenes caching mechanism for the most
20896 patterns. The overall module was also made more thread-safe.
20898 - random.cunifvariate() and random.stdgamma() were deprecated in Py2.3
20901 - Bug #823328: urllib2.py's HTTP Digest Auth support works again.
20903 - Patch #873597: CJK codecs are imported into rank of default codecs.
20906 -----------
20908 - A hotshotmain script was added to the Tools/scripts directory that
20911 - The db2pickle and pickle2db scripts can now dump/load gdbm files.
20913 - The file order on the command line of the pickle2db script was reversed.
20918 - The pydoc script will display a link to the module documentation for
20923 - texcheck.py now detects double word errors.
20925 - md5sum.py mistakenly opened input files in text mode by default, a
20927 opens input files in binary mode by default. The -t and -b flags
20928 remain for compatibility with the 2.3 release, but -b is the default
20931 - py-electric-colon now works when pending-delete/delete-selection mode is
20934 - py-help-at-point is no longer bound to the F1 key - it's still bound to
20935 C-c C-h
20937 - Pynche was fixed to not crash when there is no ~/.pynche file and no
20938 -d option was given.
20941 -----
20943 - Bug #978645: Modules/getpath.c now builds properly in --disable-framework
20946 - Profiling using gprof is now available if Python is configured with
20947 --enable-profiling.
20949 - Profiling the VM using the Pentium TSC is now possible if Python
20950 is configured --with-tsc.
20952 - In order to find libraries, setup.py now also looks in /lib64, for use
20955 - Bug #934635: Fixed a bug where the configure script couldn't detect
20958 - Support for missing ANSI C header files (limits.h, stddef.h, etc) was
20961 - Systems requiring the D4, D6 or D7 variants of pthreads are no longer
20964 - Universal newline support can no longer be disabled (see PEP 11).
20966 - Support for DGUX, SunOS 4, IRIX 4 and Minix was removed (see PEP 11).
20968 - Support for systems requiring --with-dl-dld or --with-sgi-dl was removed
20971 - Tests for sizeof(char) were removed since ANSI C mandates that
20975 -----
20977 - Thanks to Anthony Tuininga, the datetime module now supplies a C API
20978 containing type-check macros and constructors. See new docs in the
20981 - Private function _PyTime_DoubleToTimet added, to convert a Python
20982 timestamp (C double) to platform time_t with some out-of-bounds
20986 - New public functions PyEval_EvaluateFrame and PyGen_New to expose
20989 - New public functions Py_IncRef() and Py_DecRef(), exposing the
20994 - Added a new macro, PySequence_Fast_ITEMS, which retrieves a fast sequence's
20997 - Created a new method flag, METH_COEXIST, which causes a method to be loaded
20999 method, for example, to co-exist with a defined sq_contains slot. This
21003 - Added a new function, PyDict_Contains(d, k) which is like
21007 - Added three new macros: Py_RETURN_NONE, Py_RETURN_TRUE, and Py_RETURN_FALSE.
21010 - Added a new function, PyTuple_Pack(n, ...) for constructing tuples from a
21016 -------
21018 - The _winreg module could segfault when reading very large registry
21023 - file.truncate() could misbehave if the file was open for update
21031 *Release date: 29-Jul-2003*
21034 ----
21036 - Bug 778400: IDLE hangs when selecting "Edit with IDLE" from explorer.
21037 This was unique to Windows, and was fixed by adding an -n switch to
21039 context-menu actions.
21041 - IDLE displays a new message upon startup: some "personal firewall"
21055 *Release date: 24-Jul-2003*
21058 -----------------
21060 - It is now possible to import from zipfiles containing additional
21065 -----------------
21067 - A longstanding bug in the parser module's initialization could cause
21071 - Fixed memory leak in pyexpat; using the parser's ParseFile() method
21076 - Fixed some leaks in the locale module.
21079 -------
21081 - Lib/encodings/rot_13.py when used as a script, now more properly
21084 - Removed caching of TimeRE (and thus LocaleTime) in _strptime.py to
21090 ----
21092 - Calltips patches.
21095 -----
21097 - For MacOSX, added -mno-fused-madd to BASECFLAGS to fix test_coercion
21101 -----
21104 -------
21106 - The tempfile module could do insane imports on Windows if PYTHONCASEOK
21109 - Add a patch to workaround pthread_sigmask() bugs in Cygwin.
21112 ---
21114 - Various fixes to pimp.
21116 - Scripts runs with pythonw no longer had full window manager access.
21118 - Don't force boot-disk-only install, for reasons unknown it causes
21125 *Release date: 18-Jul-2003*
21128 -----------------
21130 - The new function sys.getcheckinterval() returns the last value set
21133 - Several bugs in the symbol table phase of the compiler have been
21137 - The interpreter is now more robust about importing the warnings
21142 - A warning about assignments to module attributes that shadow
21145 - It is not possible to create subclasses of built-in types like str
21149 - The thread_id is now initialized to 0 in a non-thread build. SF bug
21152 - SF bug 762891: "del p[key]" on proxy object no longer raises SystemError.
21155 -----------------
21157 - weakref.proxy() can now handle "del obj[i]" for proxy objects
21160 - SSL no longer crashes the interpreter when the remote side disconnects.
21162 - On Unix the mmap module can again be used to map device files.
21164 - time.strptime now exclusively uses the Python implementation
21167 - The print slot of weakref proxy objects was removed, because it was
21170 - The mmap module only checks file size for regular files, not
21173 - The cPickle Pickler garbage collection support was fixed to traverse
21176 - There are several fixes for the bsddb3 wrapper module.
21189 -------
21191 - distutils now supports MSVC 7.1
21193 - doctest now examines all docstrings by default. Previously, it would
21202 - There were several fixes to the way dumbdbms are closed. It's vital
21203 that a dumbdbm database be closed properly, else the on-disk data
21208 get the on-disk files in synch could be badly surprised. The race
21214 - The classes in threading.py are now new-style classes. That they
21217 - The urllib2 digest authentication handlers now define the correct
21220 - SF bug 763023: fix uncaught ZeroDivisionError in difflib ratio methods
21223 - SF bug 763637: fix exception in Tkinter with after_cancel
21226 - SF bug 770601: CGIHTTPServer.py now passes the entire environment
21229 - SF bug 765238: add filter to fnmatch's __all__.
21231 - SF bug 748201: make time.strptime() error messages more helpful.
21233 - SF patch 764470: Do not dump the args attribute of a Fault object in
21236 - SF patch 549151: urllib and urllib2 now redirect POSTs on 301
21239 - SF patch 766650: The whichdb module was fixed to recognize dbm files
21242 - SF bugs 763047 and 763052: fixes bug of timezone value being left as
21243 -1 when ``time.tzname[0] == time.tzname[1] and not time.daylight``
21246 - SF bug 764548: re now allows subclasses of str and unicode to be
21249 - SF bug 763637: In Tkinter, change after_cancel() to handle tuples
21253 - SF bug 763023: difflib.ratio() did not catch zero division.
21255 - The Queue module now has an __all__ attribute.
21258 -----------
21260 - See Lib/idlelib/NEWS.txt for IDLE news.
21262 - SF bug 753592: webchecker/wsgui now handles user supplied directories.
21264 - The trace.py script has been removed. It is now in the standard library.
21267 -----
21269 - Python now compiles with -fno-strict-aliasing if possible (SF bug 766696).
21271 - The socket module compiles on IRIX 6.5.10.
21273 - An irix64 system is treated the same way as an irix6 system (SF
21276 - Several definitions were missing on FreeBSD 5.x unless the
21281 -----
21283 - Unicode objects now support mbcs as a built-in encoding, so the C
21287 -------
21289 - The Windows implementation of PyThread_start_new_thread() never
21292 _beginthread() function failed (due to "too many threads" -- this is
21300 - SF bug 766669: Prevent a GPF on interpreter exit when sockets are in
21305 ---
21307 - Bundlebuilder now inherits default values in the right way. It was
21309 of "APPL." Other improvements include, a --build-id option to
21310 specify the CFBundleIdentifier and using the --python option to set
21313 - Fixed two bugs in MacOSX framework handling.
21315 - pythonw did not allow user interaction in 2.3rc1, this has been fixed.
21317 - Python is now compiled with -mno-fused-madd, making all tests pass
21323 *Release date: 29-Jun-2003*
21326 -----------------
21328 - A program can now set the environment variable PYTHONINSPECT to some
21331 with the -i option.
21333 - list.index() now accepts optional start and stop arguments. Similar
21336 - SF patch 751998 fixes an unwanted side effect of the previous fix
21339 - SF bug 742860: "WeakKeyDictionary __delitem__ uses iterkeys". This
21345 referencable type; and broke various more-or-less obscure dict
21353 - SF bug 734869: Fixed a compiler bug that caused a fatal error when
21357 - SF bug 705231: builtin pow() no longer lets the platform C pow()
21358 raise -1.0 to integer powers, because (at least) glibc gets it wrong
21359 in some cases. The result should be -1.0 if the power is odd and 1.0
21363 - SF bug 759227: A new-style class that implements __nonzero__() must
21367 - The encoding attribute has been added for file objects, and set to
21370 - The softspace attribute of file objects became read-only by oversight.
21373 - Reverted a 2.3 beta 1 change to iterators for subclasses of list and
21378 - SF bug 735247: The staticmethod and super types participate in
21380 occur in functions with non-global free variables that used these types.
21383 -----------------
21385 - the socket module has a new exception, socket.timeout, to allow
21388 - SF bug 751276: cPickle has fixed to propagate exceptions raised in
21393 - cPickle Pickler and Unpickler objects now participate in garbage
21396 - mimetools.choose_boundary() could return duplicate strings at times,
21400 - thread.interrupt_main() raises KeyboardInterrupt in the main thread.
21403 - array.array.insert() now treats negative indices as being relative
21406 - The datetime module classes datetime, time, and timedelta are now
21409 - _tkinter.{get|set}busywaitinterval was added.
21411 - itertools.islice() now accepts stop=None as documented.
21414 - the bsddb185 module is built in one restricted instance -
21416 for many BSD-derived systems.
21420 -------
21422 - Some happy doctest extensions from Jim Fulton have been added to
21437 - For compatibility with doctests created before 2.3, if an expected
21440 for "0" and "False". This is quite un-doctest-like, but is practical.
21445 - ZipFile.testzip() now only traps BadZipfile exceptions. Previously,
21449 - The logging module now has a new function, makeLogRecord() making
21452 - The cgitb module has been extended to support plain text display (SF patch
21455 - A brand new version of IDLE (from the IDLEfork project at
21459 - Added a new module: trace (documentation missing). This module used
21461 code execution -- either function calls or individual lines. It can
21462 generate tracing output during execution or a post-mortem report of
21465 - The threading module has new functions settrace() and setprofile()
21471 - copy.py: applied SF patch 707900, fixing bug 702858, by Steven
21472 Taschuk. Copying a new-style class that had a reference to itself
21473 didn't work. (The same thing worked fine for old-style classes.)
21476 - difflib.py has two new functions: context_diff() and unified_diff().
21478 - More fixes to urllib (SF 549151): (a) When redirecting, always use
21479 GET. This is common practice and more-or-less sanctioned by the
21483 - Added optional 'onerror' argument to os.walk(), to control error
21486 - inspect.is{method|data}descriptor was added, to allow pydoc display
21489 - Fixed socket speed loss caused by use of the _socketobject wrapper class
21492 - timeit.py now checks the current directory for imports.
21494 - urllib2.py now knows how to order proxy classes, so the user doesn't
21499 - Iterators have been added for dbm keys.
21501 - random.Random objects can now be pickled.
21504 -----------
21506 - pydoc now offers help on keywords and topics.
21508 - Tools/idle is gone; long live Lib/idlelib.
21510 - diff.py prints file diffs in context, unified, or ndiff formats,
21513 - texcheck.py is a new script for making a rough validation of Python LaTeX
21517 -----
21519 - Setting DESTDIR during 'make install' now allows specifying a
21523 -----
21525 - PyType_Ready(): If a type declares that it participates in gc
21528 a tp_free slot itself, _PyObject_GC_Del is assigned to type->tp_free.
21533 type, its dealloc function must call type->tp_free, and since the type
21536 - PyThreadState_SetAsyncExc(): A new API (deliberately accessible only
21543 -------------
21548 -----
21550 - test_imp rewritten so that it doesn't raise RuntimeError if run as a
21554 -------
21556 - The Windows installer ships with Tcl/Tk 8.4.3 (upgraded from 8.4.1).
21558 - The installer always suggested that Python be installed on the C:
21565 directory you want in the "Select Destination Directory" dialog --
21569 ---
21571 - There's a new module called "autoGIL", which offers a mechanism to
21572 automatically release the Global Interpreter Lock when an event loop
21574 supported on OSX, in the Mach-O version.
21575 - The OSA modules now allow direct access to properties of the
21577 - The Package Manager can now update itself.
21580 ------------------------------------
21612 *Release date: 25-Apr-2003*
21615 -----------------
21617 - New format codes B, H, I, k and K have been implemented for
21620 - New built-in function sum(seq, start=0) returns the sum of all the
21624 - bool() called without arguments now returns False rather than
21626 constructors for the other built-in types -- called without argument
21629 - In support of PEP 269 (making the pgen parser generator accessible
21634 - The repr() of a weakref object now shows the __name__ attribute of
21637 - super() no longer ignores data descriptors, except __class__. See
21639 http://mail.python.org/pipermail/python-dev/2003-April/034338.html
21641 - list.insert(i, x) now interprets negative i as it would be
21646 - range() now works even if the arguments are longs with magnitude
21651 - Some horridly obscure problems were fixed involving interaction
21652 between garbage collection and old-style classes with "ambitious"
21653 getattr hooks. If an old-style instance didn't have a __del__ method,
21659 - dict.pop now takes an optional argument specifying a default
21665 - sys.getfilesystemencoding() was added to expose
21668 - New function sys.exc_clear() clears the current exception. This is
21673 - On 64-bit systems, a dictionary could contain duplicate long/int keys
21676 - Fixed SF bug #663074. The codec system was using global static
21681 - "%c" % u"a" now returns a unicode string instead of raising a
21686 -----------------
21688 - The socket module now provides the functions inet_pton and inet_ntop
21693 - Tkinter wrappers around Tcl variables now pass objects directly
21696 - The .*? pattern in the re module is now special-cased to avoid the
21697 recursion limit. (SF patch #720991 -- many thanks to Gary Herron
21700 - New function sys.call_tracing() allows pdb to debug code
21703 - New function gc.get_referents(obj) returns a list of objects
21708 - The iconv module has been removed from this release.
21710 - The platform-independent routines for packing floats in IEEE formats
21718 - New function time.tzset() provides access to the C library tzset()
21721 - Using createfilehandler, deletefilehandler, createtimerhandler functions
21725 - Modified the fcntl.ioctl() function to allow modification of a passed
21728 - Made user requested changes to the itertools module.
21732 - The rotor module is now deprecated; the encryption algorithm it uses
21736 - The socket module now always uses the _socketobject wrapper class, even on
21742 -------
21744 - New generator function os.walk() is an easy-to-use alternative to
21749 - Added new module "platform" which provides a wide range of tools
21752 - netrc now allows ASCII punctuation characters in passwords.
21754 - shelve now supports the optional writeback argument, and exposes
21757 - Several methods of nntplib.NNTP have grown an optional file argument
21761 - The self-documenting XML server library DocXMLRPCServer was added.
21763 - Support for internationalized domain names has been added through
21768 - htmlentitydefs has two new dictionaries: name2codepoint maps
21772 - pdb has a new command, "debug", which lets you step through
21775 - unittest.failUnlessEqual and its equivalent unittest.assertEqual now
21779 - sgmllib now supports SGML marked sections, in particular the
21782 - The urllib module now offers support for the iterator protocol.
21785 - New module timeit provides a simple framework for timing the
21788 - sets.Set objects now support mixed-type __eq__ and __ne__, instead
21789 of raising TypeError. If x is a Set object and y is a non-Set object,
21791 for mixed-type comparisons of datetime objects in 2.3a2; more info
21795 - On Unix platforms, if os.listdir() is called with a Unicode argument,
21799 - Distutils: both 'py_modules' and 'packages' keywords can now be specified
21803 - New csv package makes it easy to read/write CSV files.
21805 - Module shlex has been extended to allow posix-like shell parsings,
21810 -----------
21812 - New script combinerefs.py helps analyze new PYTHONDUMPREFS output.
21816 -----
21818 - Fix problem building on OSF1 because the compiler only accepted
21822 -----
21824 - Added PyGC_Collect(), equivalent to calling gc.collect().
21826 - PyThreadState_GetDict() was changed not to raise an exception or
21830 - LONG_LONG was renamed to PY_LONG_LONG. Extensions that use this and
21837 - Added PyObject_SelfIter() to fill the tp_iter slot for the
21840 - The extended type structure used for heap types (new-style
21845 -------------
21850 -----
21852 - test_timeout now requires -u network to be passed to regrtest to run.
21856 -------
21858 - os.fsync() now exists on Windows, and calls the Microsoft _commit()
21861 - New function winsound.MessageBeep() wraps the Win32 API
21865 ---
21867 - os.listdir() now returns Unicode strings on MacOS X when called with
21870 - A new method MacOS.WMAvailable() returns true if it is safe to access
21873 - EasyDialogs dialogs are now movable-modal, and if the application is
21877 - OSA Scripting support has improved a lot, and gensuitemodule.py can now
21881 - The IDE (in a framework build) now includes introductory documentation
21888 *Release date: 19-Feb-2003*
21891 -----------------
21893 - Negative positions returned from PEP 293 error callbacks are now
21897 - sys.path[0] (the directory from which the script is loaded) is now
21901 - Finally fixed the bug in compile() and exec where a string ending
21903 This would have been a four-line change in parsetok.c... Except
21909 - If a new-style class defines neither __new__ nor __init__, its
21912 that worked under Python 2.2. The simplest fix is to add a no-op
21915 - Through a bytecode optimizer bug (and I bet you didn't even know
21916 Python *had* a bytecode optimizer :-), "unsigned" hex/oct constants
21921 E.g. 0xffffffff is -1, and -(0xffffffff) is 1, but -0xffffffff would
21922 come out as -4294967295. This was the case in Python 2.2 through
21927 - int(s, base) sometimes sign-folds hex and oct constants; it only
21929 sign is actually folded, as in int("0xffffffff", 0) on a 32-bit
21930 machine, which returns -1, a FutureWarning is now issued; in Python
21934 - super(X, x): x may now be a proxy for an X instance, i.e.
21937 - isinstance(x, X): if X is a new-style class, this is now equivalent
21942 - compile(), eval() and the exec statement now fully support source code
21945 - int subclasses can be initialized with longs if the value fits in an int.
21948 - long(string, base) takes time linear in len(string) when base is a power
21951 - filter returns now Unicode results for Unicode arguments.
21953 - raw_input can now return Unicode objects.
21955 - List objects' sort() method now accepts None as the comparison function.
21959 - Fixed crash when printing a subclass of str and __str__ returned self.
21962 - Fixed an invalid RuntimeWarning and an undetected error when trying
21966 - Function objects now have a __module__ attribute that is bound to
21972 at the top-level of a module (examples: methods, nested functions).
21976 -----------------
21978 - operator.isNumberType() now checks that the object has a nb_int or
21979 nb_float slot, rather than simply checking whether it has a non-NULL
21982 - The imp module now has ways to acquire and release the "import
21983 lock": imp.acquire_lock() and imp.release_lock(). Note: this is a
21984 reentrant lock, so releasing the lock only truly releases it when
21988 - Change to cPickle to match pickle.py (see below and PEP 307).
21990 - Fix some bugs in the parser module. SF bug #678518.
21992 - Thanks to Scott David Daniels, a subtle bug in how the zlib
21997 - Added an itertools module containing high speed, memory efficient
22000 - The SSL module now handles sockets with a timeout set correctly (SF
22003 - os/posixmodule has grown the sysexits.h constants (EX_OK and friends).
22005 - Fixed broken threadstate swap in readline that could cause fatal
22009 - fcntl now exposes the strops.h I_* constants.
22011 - Fix a crash on Solaris that occurred when calling close() on
22014 - Fixed several serious bugs in the zipimport implementation.
22016 - datetime changes:
22064 be suitable as-is for "almost all" time zone subclasses, but the
22065 creativity of political time zone fiddling appears unbounded -- fromutc()
22086 falling back to the default compare-object-addresses strategy, these
22094 for mixed-type comparisons in the last paragraph doesn't apply, if
22106 sequence is heterogeneous, or the dict has mixed-type keys. [This
22107 seems like a good idea to implement for all mixed-type comparisons
22122 -------
22124 - The logging module was updated slightly; the WARN level was renamed
22127 - The pickle and cPickle modules were updated with a new pickling
22134 - The distutils "register" command now uses http://www.python.org/pypi
22137 - the platform dependent path related variables sep, altsep,
22144 - array.array was added to the types repr.py knows about (see
22147 - The new pickletools.py contains lots of documentation about pickle
22151 - xmlrpclib.py now supports the built-in boolean type.
22153 - py_compile has a new 'doraise' flag and a new PyCompileError
22156 - SimpleXMLRPCServer now supports CGI through the CGIXMLRPCRequestHandler
22159 - The sets module now raises TypeError in __cmp__, to clarify that
22160 sets are not intended to be three-way-compared; the comparison
22163 - Bastion.py and rexec.py are disabled. These modules are not safe in
22166 - realpath is now exported when doing ``from poxixpath import *``.
22170 - New module tarfile from Lars Gustäbel provides a comprehensive interface
22174 - urlparse can now parse imap:// URLs. See SF feature request #618024.
22176 - Tkinter.Canvas.scan_dragto() provides an optional parameter to support
22179 - Fix logging.handlers.SysLogHandler protocol when using UNIX domain sockets.
22182 - The dospath module was deleted. Use the ntpath module when manipulating
22186 -----------
22188 - Two new scripts (db2pickle.py and pickle2db.py) were added to the
22190 to the new one. While the user-visible API of the new module is
22198 % python2.2 db2pickle.py -h some.db > some.pickle
22199 % python2.3 pickle2db.py -h some.db.new < some.pickle
22205 -----
22207 - The audio driver tests (test_ossaudiodev.py and
22212 ./python Lib/test/regrtest.py -u audio test_ossaudiodev
22214 - On systems which build using the configure script, compiler flags which
22216 groups, OPT and BASECFLAGS. OPT is meant to carry just optimization- and
22217 debug-related flags like "-g" and "-O3". BASECFLAGS is meant to carry
22224 - On Darwin/Mac OS X platforms, /sw/lib and /sw/include are added to the
22229 - A new Makefile target, scriptsinstall, installs a number of useful scripts
22233 -----
22235 - PyEval_GetFrame() is now declared to return a ``PyFrameObject *``
22238 - PyNumber_Check() now checks that the object has a nb_int or nb_float
22239 slot, rather than simply checking whether it has a non-NULL
22242 - A C type that inherits from a base type that defines tp_as_buffer
22246 - The PyArg_Parse functions now issue a DeprecationWarning if a float
22252 -----
22254 - Several tests weren't being run from regrtest.py (test_timeout.py,
22261 - Added test_posix.py, a test suite for the posix module.
22263 - Added test_hexoct.py, a test suite for hex/oct constant folding.
22266 -------
22268 - The timeout code for socket connect() didn't work right; this has
22272 - distutils' msvccompiler class now passes the preprocessor options to
22275 - The bsddb module now ships with Sleepycat's 4.1.25.NC, the latest
22278 - sys.path[0], if it contains a directory name, is now always an
22281 - The new logging package is now installed by the Windows installer. It
22285 ---
22287 - There are new dialogs EasyDialogs.AskFileForOpen, AskFileForSave
22290 - Most of the standard library now uses pathnames or FSRefs in preference
22294 - Type Carbon.File.FSCatalogInfo and supporting methods have been implemented.
22297 - There is a new module pimp, the package install manager for Python, and
22300 form. Only in MacPython-OSX.
22302 - Applets are now built with bundlebuilder in MacPython-OSX, which should make
22311 *Release date: 31-Dec-2002*
22313 Type/class unification and new-style classes
22314 --------------------------------------------
22316 - One can now assign to __bases__ and __name__ of new-style classes.
22318 - dict() now accepts keyword arguments so that dict(one=1, two=2)
22324 - int() now returns a long object if the argument is outside the
22328 - Assignment to __class__ is disallowed if either the old or the new
22332 - New-style object creation and deallocation have been sped up
22336 - The __slots__ variable can now mention "private" names, and the
22339 - The built-ins slice() and buffer() are now callable types. The
22341 instancemethod (formerly instance-method), which have no built-in
22343 callable. The type dict-proxy is renamed to dictproxy.
22345 - Cycles going through the __class__ link of a new-style instance are
22348 - Classes using __slots__ are now properly garbage collected.
22351 - Tightened the __slots__ rules: a slot name must be a valid Python
22354 - The constructor for the module type now requires a name argument and
22361 - A new type object, 'basestring', is added. This is a common base type
22364 isinstance(x, basestring) is True for Unicode and 8-bit strings. This
22367 - Changed new-style class instantiation so that when C's __new__
22371 - Fixed super() to work correctly with class methods. [SF bug #535444]
22373 - If you try to pickle an instance of a class that has __slots__ but
22380 -----------------
22382 - Import from zipfiles is now supported. The name of a zipfile placed
22390 - PEP 302 has been accepted. Although it was initially developed to
22395 overriding the __import__ built-in function. For a description of
22398 - A frame object's f_lineno attribute can now be written to from a
22402 - The _codecs support module for codecs.py was turned into a built-in
22403 module to assure that at least the built-in codecs are available
22406 - issubclass now supports a tuple as the second argument, just like
22410 - Thanks to Armin Rigo, the last known way to provoke a system crash
22420 - Unicode file name processing for Windows (PEP 277) is implemented.
22424 - Codec error handling callbacks (PEP 293) are implemented.
22427 - A subtle change to the semantics of the built-in function intern():
22431 - Use of 'None' as a variable, argument or attribute name now
22434 - SET_LINENO is gone. co_lnotab is now consulted to determine when to
22439 - There's a new warning category, FutureWarning. This is used to warn
22445 - Octal and hex literals without 'L' prefix in the inclusive range
22450 - Left shifts on integer values that cause the outcome to lose
22455 - Conversions from ints to string that show negative values as
22459 show signed values (e.g. hex(-1) currently returns "0xffffffff";
22460 in Python 2.4 it will return "-0x1").
22462 - The bits manipulated under the cover by sys.setcheckinterval() have
22464 per-thread values. They are now just a pair of global variables.
22467 relied on the old default value. In particular, in multi-threaded
22471 - When multiplying very large integers, a version of the so-called
22482 devoted to fast large-integer arithmetic should run circles around it.
22484 - u'%c' will now raise a ValueError in case the argument is an
22487 - The tempfile module has been overhauled for enhanced security. The
22490 higher-level functions NamedTemporaryFile() and TemporaryFile().
22497 - When x is an object whose class implements __mul__ and __rmul__,
22499 invoke __mul__. This was due to the sequence-repeat code in the int
22502 - Previously, "str1 in str2" required str1 to be a string of length 1.
22506 - File objects are now their own iterators. For a file f, iter(f) now
22516 - Encoding declarations (PEP 263, phase 1) have been implemented. A
22517 comment of the form "# -*- coding: <encodingname> -*-" in the first
22520 - list.sort() has a new implementation. While cross-platform results
22521 may vary, and in data-dependent ways, this is much faster on many
22528 len(list)*2 bytes (``*4`` on a 64-bit machine). It's therefore possible
22532 - All standard iterators now ensure that, once StopIteration has been
22540 - Ctrl+C handling on Windows has been made more consistent with
22549 - sys.getwindowsversion() has been added on Windows. This
22553 - Slices and repetitions of buffer objects now consistently return
22558 - Unicode objects in sys.path are no longer ignored but treated
22561 - Fixed string.startswith and string.endswith built-in methods
22564 - Fixed a bug with a continue inside a try block and a yield in the
22567 - Most built-in sequences now support "extended slices", i.e. slices
22568 with a third "stride" parameter. For example, "hello world"[::-1]
22571 - A new warning PendingDeprecationWarning was added to provide
22574 deprecations, use -Walways::PendingDeprecationWarning::
22577 - Deprecated features of xrange objects have been removed as
22582 - New built-in function enumerate(x), from PEP 279. Example:
22586 - The assert statement no longer tests __debug__ at runtime. This means
22590 - A method zfill() was added to str and unicode, that fills a numeric
22592 "+123".zfill(6) -> "+00123".
22594 - Complex numbers supported divmod() and the // and % operators, but
22598 - String and unicode methods lstrip(), rstrip() and strip() now take
22600 example, "Foo!!!?!?!?".rstrip("?!") -> "Foo".
22602 - There's a new dictionary constructor (a class method of the dict
22608 - Added a new dict method pop(key). This removes and returns the
22611 - A new built-in type, bool, has been added, as well as built-in
22617 - Fixed two bugs reported as SF #535905: under certain conditions,
22623 - The optional object allocator ("pymalloc") has been enabled by
22630 - PyErr_Display will provide file and line information for all exceptions
22633 - The UTF-8 codec will now encode and decode Unicode surrogates
22636 - Universal newlines (PEP 278) is implemented. Briefly, using 'U'
22642 - file.xreadlines() now raises a ValueError if the file is closed:
22646 - sys.exit() inadvertently allowed more than one argument.
22649 - Changed evaluation order of dictionary literals to conform to the
22653 - Fixed bug #521782: when a file was in non-blocking mode, file.read()
22656 - The sq_repeat, sq_inplace_repeat, sq_concat and sq_inplace_concat
22660 - Fix problem with dynamic loading on 64-bit AIX (see bug #639945).
22663 -----------------
22665 - Added three operators to the operator module:
22670 - posix.openpty now works on all systems that have /dev/ptmx.
22672 - A module zipimport exists to support importing code from zip
22675 - The new datetime module supplies classes for manipulating dates and
22681 - _tkinter now returns Tcl objects, instead of strings. Objects which
22686 - The PyBSDDB wrapper around the Sleepycat Berkeley DB library has
22695 - unicodedata was updated to Unicode 3.2. It supports normalization
22698 - resource.getrlimit() now returns longs instead of ints.
22700 - readline now dynamically adjusts its input/output stream if
22703 - The _tkinter module (and hence Tkinter) has dropped support for
22707 - cPickle.BadPickleGet is now a class.
22709 - The time stamps in os.stat_result are floating point numbers
22712 - If the size passed to mmap.mmap() is larger than the length of the
22713 file on non-Windows platforms, a ValueError is raised. [SF bug 585792]
22715 - The xreadlines module is slated for obsolescence.
22717 - The strptime function in the time module is now always available (a
22720 - The 'new' module is no longer an extension, but a Python module that
22724 - The bsddb.*open functions can now take 'None' as a filename.
22725 This will create a temporary in-memory bsddb that won't be
22728 - posix.getloadavg, posix.lchown, posix.killpg, posix.mknod, and
22731 - The locale module now exposes the C library's gettext interface. It
22734 - A security hole ("double free") was found in zlib-1.1.3, a popular
22736 hole was quickly plugged in zlib-1.1.4, and the Windows build of
22737 Python now ships with zlib-1.1.4.
22739 - pwd, grp, and resource return enhanced tuples now, with symbolic
22742 - array.array is now a type object. A new format character
22747 - dl now builds on every system that has dlfcn.h. Failure in case
22751 - The sys module acquired a new attribute, api_version, which evaluates
22755 - Fixed bug #470582: sre module would return a tuple (None, 'a', 'ab')
22762 - Fixed bug #581080: sre scanner was not checking the buffer limit
22767 - The os.fdopen function now enforces a file mode starting with the
22771 - The linuxaudiodev module is now deprecated; it is being replaced by
22777 -------
22779 - imaplib.py now supports SSL (Tino Lange and Piers Lauder).
22781 - Freeze's modulefinder.py has been moved to the standard library;
22786 - os.path exposes getctime.
22788 - unittest.py now has two additional methods called assertAlmostEqual()
22794 - calendar.py now depends on the new datetime module rather than
22798 - pdb has a new 'j(ump)' command to select the next line to be
22801 - The distutils created windows installers now can run a
22804 - doctest.testmod can now be called without argument, which means to
22807 - When canceling a server that implemented threading with a keyboard
22813 - A new module, optparse, provides a fancy alternative to getopt for
22817 - UserDict.py now defines a DictMixin class which defines all dictionary
22822 - shelve.py now subclasses from UserDict.DictMixin. Now shelve supports
22826 - shelve.open and the various classes in shelve.py now accept an optional
22830 - A new package, logging, implements the logging API defined by PEP
22833 - StreamReader, StreamReaderWriter and StreamRecoder in the codecs
22836 - gzip.py now handles files exceeding 2GB. Files over 4GB also work
22839 record only the least-significant 32 bits of the file size, so that
22843 - xml.sax.saxutils.unescape has been added, to replace entity references
22846 - Queue.Queue.{put,get} now support an optional timeout argument.
22848 - Various features of Tk 8.4 are exposed in Tkinter.py. The multiple
22851 - Various configure methods of Tkinter have been stream-lined, so that
22855 - Importing the readline module now no longer has the side effect of
22858 want repr() of 8-bit strings in your preferred encoding to preserve
22866 - shutil.move was added. shutil.copytree now reports errors as an
22869 - Encoding name normalization was generalized to not only
22870 replace hyphens with underscores, but also all other non-alphanumeric
22875 - mimetypes has two new functions: guess_all_extensions() which
22880 - New module: sets, defines the class Set that implements a mutable
22886 - Added random.sample(population,k) for random sampling without replacement.
22889 - random.randrange(-sys.maxint-1, sys.maxint) no longer raises
22894 - Thanks to Raymond Hettinger, random.random() now uses a new core
22897 large period (2**19937-1), creates random floats to full 53-bit
22904 continues to support multi-threaded code needing generators of
22905 non-overlapping sequences. However, it will break code which relies
22913 - New "algorithms" module: heapq, implements a heap queue. Thanks to
22915 write-up explaining the theory and practical uses of heaps.
22917 - New encoding for the Palm OS character set: palmos.
22919 - binascii.crc32() and the zipfile module had problems on some 64-bit
22920 platforms. These have been fixed. On a platform with 8-byte C longs,
22921 crc32() now returns a signed-extended 4-byte result, so that its value
22922 as a Python int is equal to the value computed a 32-bit platform.
22924 - xml.dom.minidom.toxml and toprettyxml now take an optional encoding
22927 - Some fixes in the copy module: when an object is copied through its
22933 - Sockets now support timeout mode. After s.settimeout(T), where T is
22940 - getopt.gnu_getopt was added. This supports GNU-style option
22941 processing, where options can be mixed with non-option arguments.
22943 - Stop using strings for exceptions. String objects used for
22948 - Constants BOM_UTF8, BOM_UTF16, BOM_UTF16_LE, BOM_UTF16_BE,
22950 Order Mark in UTF-8, UTF-16 and UTF-32 encodings for little and
22954 - Added conversion functions math.degrees() and math.radians().
22956 - math.log() now takes an optional argument: math.log(x[, base]).
22958 - ftplib.retrlines() now tests for callback is None rather than testing
22965 - random.gauss() uses a piece of hidden state used by nothing else,
22972 - The pickle.Pickler class grew a clear_memo() method to mimic that
22975 - difflib's SequenceMatcher class now does a dynamic analysis of
22984 - New Text.dump() method in Tkinter module.
22986 - New distutils commands for building packagers were added to
22987 support pkgtool on Solaris and swinstall on HP-UX.
22989 - distutils now has a new abstract binary packager base class
22995 - The UTF-16, -LE and -BE stream readers now raise a
22997 used to just produce garbage or fail with an encoding error --
22998 UTF-16 is a 2-byte encoding and the C lib's line reading APIs don't
23001 - compileall now supports quiet operation.
23003 - The BaseHTTPServer now implements optional HTTP/1.1 persistent
23006 - socket module: the SSL support was broken out of the main
23010 - encodings package: added aliases for all supported IANA character
23013 - ftplib: to safeguard the user's privacy, anonymous login will use
23017 - webbrowser: tightened up the command passed to os.system() so that
23021 - gettext.translation has an optional fallback argument, and
23023 on a per-message basis. The module supports plural forms, by means
23026 - distutils bdist commands now offer a --skip-build option.
23028 - warnings.warn now accepts a Warning instance as first argument.
23030 - The xml.sax.expatreader.ExpatParser class will no longer create
23034 - The email.Parser.Parser class now properly parses strings regardless
23040 - distutils' build_ext command now links C++ extensions with the C++
23044 - New module bz2: provides a comprehensive interface for the bz2 compression
23045 library. It implements a complete file interface, one-shot (de)compression
23048 - New pdb command 'pp' which is like 'p' except that it pretty-prints
23051 - Now bdist_rpm distutils command understands a verify_script option in
23055 - Fixed bug #495695: webbrowser module would run graphic browsers in a
23059 - Fixed bug #636769: rexec would run unallowed code if subclasses of
23063 -----------
23065 - pygettext.py now supports globbing on Windows, and accepts module
23068 - The SGI demos (Demo/sgi) have been removed. Nobody thought they
23073 - IDLE supports the new encoding declarations (PEP 263); it can also
23074 deal with legacy 8-bit files if they use the locale's encoding. It
23075 allows non-ASCII strings in the interactive shell and executes them
23078 - freeze.py now produces binaries which can import shared modules,
23083 -----
23085 - On Unix, IDLE is now installed automatically.
23087 - The fpectl module is not built by default; it's dangerous or useless
23090 - The public Python C API will generally be declared using PyAPI_FUNC
23095 - A bug was fixed that could cause COUNT_ALLOCS builds to segfault, or
23096 get into infinite loops, when a new-style class got garbage-collected.
23098 that new-style classes be immortal in COUNT_ALLOCS builds. Note that
23100 builds, and that new-style classes are immortal only in COUNT_ALLOCS
23103 - Compiling out the cyclic garbage collector is no longer an option.
23112 - According to Annex F of the current C standard,
23126 http://www.cray.com/swpubs/manuals/SN-2194_2.0/html-SN-2194_2.0/x3138.htm
23130 - The configure option --without-doc-strings can be used to remove the
23131 doc strings from the built-in functions and modules; this reduces the
23134 - The universal newlines option (PEP 278) is on by default. On Unix
23135 it can be disabled by passing --without-universal-newlines to the
23139 - On Unix, a shared libpython2.3.so can be created with --enable-shared.
23141 - All uses of the CACHE_HASH, INTERN_STRINGS, and DONT_SHARE_SHORT_STRINGS
23145 - The tools used to build the documentation now work under Cygwin as
23148 - The bsddb and dbm module builds have been changed to try and avoid version
23154 -----
23156 - PyNumber_Check() now returns true for string and unicode objects.
23162 - The string object's layout has changed: the pointer member
23164 platforms (e.g. most 64-bit systems) this may change the offset of
23175 - The Py_InitModule*() functions now accept NULL for the 'methods'
23179 - New C API PyUnicode_FromOrdinal() which exposes unichr() at C
23182 - New functions PyErr_SetExcFromWindowsErr() and
23188 - Py_FatalError() is now declared as taking a const char* argument. It
23192 - Added new macro PySequence_ITEM(o, i) that directly calls
23196 - PyRange_New() now raises ValueError if the fourth argument is not 1.
23200 - PyNumber_Coerce() and PyNumber_CoerceEx() now also invoke the type's
23204 - The type of tp_free has been changed from "``void (*)(PyObject *)``" to
23207 - PyObject_Del, PyObject_GC_Del are now functions instead of macros.
23209 - A type can now inherit its metatype from its base type. Previously,
23211 was always set to &PyType_Type; now it is set to base->ob_type,
23214 - PyType_Ready() accidentally did not inherit tp_is_gc; now it does.
23216 - The PyCore_* family of APIs have been removed.
23218 - The "u#" parser marker will now pass through Unicode objects as-is
23221 - The enumerators of cmp_op have been renamed to use the prefix ``PyCmp_``.
23223 - An old #define of ANY as void has been removed from pyport.h. This
23224 hasn't been used since Python's pre-ANSI days, and the #define has
23228 - Because Python's magic number scheme broke on January 1st, we decided
23231 - Some of us don't like fish, so we changed Python's magic number
23235 -------------
23237 - OpenVMS is now supported.
23239 - AtheOS is now supported.
23241 - the EMX runtime environment on OS/2 is now supported.
23243 - GNU/Hurd is now supported.
23246 -----
23248 - The regrtest.py script's -u option now provides a way to say "allow
23250 except bsddb, give the option '-uall,-bsddb'.
23253 -------
23255 - The Windows distribution now ships with version 4.0.14 of the
23265 - The Windows distribution now ships with a Secure Sockets Library (SLL)
23268 - The Windows distribution now ships with Tcl/Tk version 8.4.1 (it
23271 - When Python is built under a Microsoft compiler, sys.version now
23276 - Sometimes the uninstall executable (UNWISE.EXE) vanishes. One cause
23277 of that has been fixed in the installer (disabled Wise's "delete in-
23280 - Fixed a bug in urllib's proxy handling in Windows. [SF bug #503031]
23282 - The installer now installs Start menu shortcuts under (the local
23285 - file.truncate([newsize]) now works on Windows for all newsize values.
23289 - os.waitpid() is now implemented for Windows, and can be used to block
23298 - New tempfile.TemporaryFile implementation for Windows: this doesn't
23306 doing f.close() in P first closed P's C-level file handle on f, but Q's
23307 C-level file handle on f remained open, so the attempt in P to delete f
23312 - The os module now exports all the symbolic constants usable with the
23313 low-level os.open() on Windows: the new constants in 2.3 are
23322 ----
23324 - Mac/Relnotes is gone, the release notes are now here.
23326 - Python (the OSX-only, unix-based version, not the OS9-compatible CFM
23330 - The current naming convention for Python on the Macintosh is that MacPython
23331 refers to the unix-based OSX-only version, and MacPython-OS9 refers to the
23332 CFM-based version that runs on both OS9 and OSX.
23334 - All MacPython-OS9 functionality is now available in an OSX unix build,
23343 - Most of Mac/Lib has moved to Lib/plat-mac, which is again used both in
23344 MacPython-OSX and MacPython-OS9. The only modules remaining in Mac/Lib
23345 are specifically for MacPython-OS9 (CFM support, preference resources, etc).
23347 - A new utility PythonLauncher will start a Python interpreter when a .py or
23348 .pyw script is double-clicked in the Finder. By default .py scripts are
23350 files are run with a window-aware pythonw interpreter without a Terminal
23353 - MacPython-OS9 is now Carbon-only, so it runs on Mac OS 9 or Mac OS X and
23357 - Many tools such as BuildApplet.py and gensuitemodule.py now support a command
23360 - All the Carbon classes are now PEP253 compliant, meaning that you can
23366 - New Carbon modules File (implementing the APIs in Files.h and Aliases.h)
23367 and Folder (APIs from Folders.h). The old macfs built-in module is
23370 - Pathname handling should now be fully consistent: MacPython-OSX always uses
23371 unix pathnames and MacPython-OS9 always uses colon-separated Mac pathnames
23374 - New Carbon modules Help and AH give access to the Carbon Help Manager.
23380 - OSA support has been redesigned and the generated Python classes now
23383 - MacPython no longer maps both \r and \n to \n on input for any text file.
23386 - The default encoding for Python sourcefiles in MacPython-OS9 is no longer
23387 mac-roman (or whatever your local Mac encoding was) but "ascii", like on
23395 *Release date: 21-Dec-2001*
23397 Type/class unification and new-style classes
23398 --------------------------------------------
23400 - pickle.py, cPickle: allow pickling instances of new-style classes
23404 -----------------
23406 - weakref proxy object: when comparing, unwrap both arguments if both
23410 -----------------
23412 - binascii.b2a_base64(): fix a potential buffer overrun when encoding
23415 - cPickle: the obscure "fast" mode was suspected of causing stack
23422 -------
23424 - dumbdbm.py: fixed a dumb old bug (the file didn't get synched at
23427 - rfc822.py: fixed a bug where the address '<>' was converted to None
23430 - xmlrpclib.py: version 1.0.0; uses precision for doubles.
23432 - test suite: the pickle and cPickle tests were not executing any code
23436 -----------
23439 -----
23442 -----
23445 -------------
23448 -----
23451 -------
23453 - distutils package: fixed broken Windows installers (bdist_wininst).
23455 - tempfile.py: prevent mysterious warnings when TemporaryFileWrapper
23458 - socket.py: prevent mysterious warnings when socket instances are
23461 - posixmodule.c: fix a Windows crash with stat() of a filename ending
23465 ----
23467 - The Carbon toolbox modules have been upgraded to Universal Headers
23469 been added. All only for framework-enabled MacOSX.
23475 *Release date: 14-Dec-2001*
23477 Type/class unification and new-style classes
23478 --------------------------------------------
23480 - Guido's tutorial introduction to the new type/class features has
23487 - Fixed a leak: instance variables declared with __slots__ were never
23490 - The "delete attribute" method of descriptor objects is called
23496 - Some subtle issues with the super built-in were fixed:
23510 - Previously, hash() of an instance of a subclass of a mutable type
23516 - New-style objects now support deleting their __dict__. This is for
23521 -----------------
23523 - -Qnew now works as documented in PEP 238: when -Qnew is passed on
23526 means all instances in library and 3rd-party modules, as well as in
23527 your own code. As the PEP says, -Qnew is intended for use only in
23530 under -Qnew; this is expected, and won't be repaired until true
23534 - complex() now only allows the first argument to be a string
23539 -----------------
23541 - gc.get_referents was renamed to gc.get_referrers.
23544 -------
23546 - Functions in the os.spawn() family now release the global interpreter
23547 lock around calling the platform spawn. They should always have done
23553 - webbrowser defaults to netscape.exe on OS/2 now.
23555 - Tix.ResizeHandle exposes detach_widget, hide, and show.
23557 - The charset alias windows_1252 has been added.
23559 - types.StringTypes is a tuple containing the defined string types;
23563 - The pulldom and minidom modules were synchronized to PyXML.
23566 -----------
23568 - A new script called Tools/scripts/google.py was added, which fires
23572 -----
23574 - Note that release builds of Python should arrange to define the
23576 In the 2.2 pre-release series we tried to define this by magic in
23582 - It is no longer necessary to use --with-suffix when building on a
23583 case-insensitive file system (such as Mac OS X HFS+). In the build
23587 -----
23589 - New function PyDict_MergeFromSeq2() exposes the built-in dict
23591 producing key-value pairs.
23593 - PyArg_ParseTupleAndKeywords() requires that the number of entries in
23601 -------------
23604 -----
23607 -------
23610 ----
23612 - In unix-Python on Mac OS X (and darwin) sys.platform is now "darwin",
23615 - Changed logic for finding python home in Mac OS X framework Pythons.
23624 *Release date: 16-Nov-2001*
23626 Type/class unification and new-style classes
23627 --------------------------------------------
23629 - Multiple inheritance mixing new-style and classic classes in the
23637 using new-style MRO rules if any base class is a new-style class.
23640 - The new built-in dictionary() constructor, and dictionary type, have
23643 - dict() now accepts an iterable object producing 2-sequences. For
23647 - New-style classes can now have a __del__ method, which is called
23650 - Assignment to object.__dict__ is now possible, for objects that are
23651 instances of new-style classes that have a __dict__ (unless the base
23654 - Methods of built-in types now properly check for keyword arguments
23655 (formerly these were silently ignored). The only built-in methods
23658 - The socket function has been converted to a type; see below.
23661 -----------------
23663 - Assignment to __debug__ raises SyntaxError at compile-time. This
23667 - Clarified the error messages for unsupported operands to an operator
23671 -----------------
23673 - mmap has a new keyword argument, "access", allowing a uniform way for
23674 both Windows and Unix users to create read-only, write-through and
23675 copy-on-write memory mappings. This was previously possible only on
23680 - By default, the gc.garbage list now contains only those instances in
23683 to include instances of both new-style and old-style classes.
23685 - The socket module defines a new method for socket objects,
23691 - Various bugfixes to the curses module. There is now a test suite
23694 - binascii.b2a_base64 no longer places an arbitrary restriction of 57
23698 -------
23700 - tkFileDialog exposes a Directory class and askdirectory
23703 - Symbolic group names in regular expressions must be unique. For
23713 - Tix exposes more commands through the classes DirSelectBox,
23718 - Traceback objects are now scanned by cyclic garbage collection, so
23722 - mimetypes.py has optional support for non-standard, but commonly
23725 recognize non-standard types or not. A few non-standard types we
23727 new -l and -e options.
23729 - statcache is now deprecated.
23731 - email.Utils.formatdate() now produces the preferred RFC 2822 style
23737 - In pickle and cPickle, instead of masking errors in load() by
23743 -----------
23746 -----
23748 - The dbm module is built using libdb1 if available. The bsddb module
23751 - Misc/Makefile.pre.in has been removed by BDFL pronouncement.
23754 -----
23756 - New function PySequence_Fast_GET_SIZE() returns the size of a non-
23760 - New argument unpacking function PyArg_UnpackTuple() added.
23762 - New functions PyObject_CallFunctionObjArgs() and
23766 - PyArg_ParseTupleAndKeywords() no longer masks errors, so it's
23769 - New function PyObject_CheckReadBuffer(), which returns true if its
23770 argument supports the single-segment readable buffer interface.
23773 -------------
23775 - We've finally confirmed that this release builds on HP-UX 11.00,
23778 - Thanks to a series of patches from Michael Muller, Python may build
23781 - Updated RISCOS port by Dietmar Schwertberger.
23784 -----
23786 - Added a test script for the curses module. It isn't run automatically;
23787 regrtest.py must be run with '-u curses' to enable it.
23790 -------
23793 ----
23795 - PythonScript has been moved to unsupported and is slated to be
23798 - It should now be possible to build applets that work on both OS9 and
23801 - The core is now linked with CoreServices not Carbon; as a side
23804 - Python should now build on OSX 10.1.1
23810 *Release date: 19-Oct-2001*
23812 Type/class unification and new-style classes
23813 --------------------------------------------
23815 - New-style classes are now always dynamic (except for built-in and
23818 remains: the __dict__ of a new-style class is a read-only proxy; you
23820 __defined__ attribute of new-style types no longer exists, for lack
23825 - C.__doc__ now works as expected for new-style classes (in 2.2a4 it
23828 - doctest now finds and runs docstrings attached to new-style classes,
23832 -----------------
23834 - A very subtle syntactical pitfall in list comprehensions was fixed.
23843 - getattr(obj, name, default) now only catches AttributeError, as
23848 - Weak reference objects are now part of the core and offer a C API.
23851 built-in exception.
23853 - unicode(obj) now behaves more like str(obj), accepting arbitrary
23856 require an 8-bit string or character buffer argument.
23858 - isinstance() now allows any object as the first argument and a
23870 -----------------
23872 - thread.start_new_thread() now returns the thread ID (previously None).
23874 - binascii has now two quopri support functions, a2b_qp and b2a_qp.
23876 - readline now supports setting the startup_hook and the
23879 - os and posix supports chroot(), setgroups() and unsetenv() where
23881 now return "pseudo-sequences" -- the various fields can now be
23883 backwards compatibility they also behave as a fixed-length sequence.
23884 Some platform-specific fields (e.g. st_rdev) are only accessible as
23887 - time: localtime(), gmtime() and strptime() now return a
23888 pseudo-sequence similar to the os.stat() return value, with
23891 - Decompression objects in the zlib module now accept an optional
23895 - optional SSL support in the socket module now exports OpenSSL
23901 - posixmodule (and by extension, the os module on POSIX platforms) now
23905 -------
23907 - doctest now excludes functions and classes not defined by the module
23910 - HotShot, a new profiler implemented using a C-based callback, has
23915 - profile now produces correct output in situations where an exception
23929 - Profile.calibrate() has a new implementation that should deliver
23930 a much better system-specific calibration constant. The constant can
23942 - quopri's encode and decode methods take an optional header parameter,
23946 - The SocketServer.ThreadingMixIn class now closes the request after
23949 - The nntplib module's NNTP.body() method has grown a 'file' argument
23952 - The email package has added a class email.Parser.HeaderParser which
23957 - ftplib should be able to handle files > 2GB.
23959 - ConfigParser.getboolean() now also interprets TRUE, FALSE, YES, NO,
23962 - xml.dom.minidom NodeList objects now support the length attribute
23966 -----------
23968 - Demo/dns was removed. It no longer serves any purpose; a package
23972 - The freeze tool has been made more robust, and two new options have
23973 been added: -X and -E.
23976 -----
23978 - configure will use CXX in LINKCC if CXX is used to build main() and
23982 -----
23984 - The documentation for the tp_compare slot is updated to require that
23985 the return value must be -1, 0, 1; an arbitrary number <0 or >0 is
23987 Python 2.3; even later, we may use -2 to indicate errors and +2 for
23988 "NotImplemented". Right now, -1 should be used for an error return.
23990 - PyLong_AsLongLong() now accepts int (as well as long) arguments.
23994 - PyThread_start_new_thread() now returns a long int giving the thread
23995 ID, if one can be calculated; it returns -1 for error, 0 if no
24001 - PyUnicode_FromEncodedObject() no longer accepts Unicode objects as
24005 -------------
24008 -----
24011 -------
24013 - Installer: If you install IDLE, and don't disable file-extension
24014 registration, a new "Edit with IDLE" context (right-click) menu entry
24017 - The signal module now supports SIGBREAK on Windows, thanks to Steven
24033 # program without the possibility for any Python-level cleanup).
24040 *Release date: 28-Sep-2001*
24042 Type/class unification and new-style classes
24043 --------------------------------------------
24045 - pydoc and inspect are now aware of new-style classes;
24049 - Applications using Jim Fulton's ExtensionClass module can now safely
24057 - property() now takes 4 keyword arguments: fget, fset, fdel and doc.
24058 These map to read-only attributes 'fget', 'fset', 'fdel', and '__doc__'
24063 - Comparison overloading is now more completely implemented. For
24066 other built-in object types.
24068 - The repr() of new-style classes has changed; instead of <type
24069 'M.Foo'> a new-style class is now rendered as <class 'M.Foo'>,
24070 *except* for built-in types, which are still rendered as <type
24074 - The repr() of new-style objects is now always <Foo object at XXX>;
24077 - For new-style classes, what was previously called __getattr__ is now
24082 access, you can use __getattribute__ (for new-style classes). If
24086 - The __class__ attribute of new-style objects can be assigned to.
24087 The new class must have the same C-level object layout as the old
24090 - The built-in file type can be subclassed now. In the usual pattern,
24091 "file" is the name of the built-in type, and file() is a new built-in
24092 constructor, with the same signature as the built-in open() function.
24095 - Previously, __new__ would only see sequential arguments passed to
24100 - Previously, hash() applied to an instance of a subclass of str or
24103 - Previously, an operation on an instance of a subclass of an
24106 operation was handled by the built-in type), could return that
24108 a str subclass type, s[:] returned s as-is. Now it returns a str
24111 - Provisional support for pickling new-style objects has been added.
24114 ----
24116 - file.writelines() now accepts any iterable object producing strings.
24118 - PyUnicode_FromEncodedObject() now works very much like
24121 makes unicode() behave like str() when applied to non-string/buffer
24124 - PyFile_WriteObject now passes Unicode objects to the file's write
24125 method. As a result, all file-like objects which may be the target
24129 - Thread scheduling on Solaris should be improved; it is no longer
24134 -------
24136 - StringIO.StringIO instances and cStringIO.StringIO instances support
24141 - The "email" package has been added. This is basically a port of the
24145 - difflib.ndiff() and difflib.Differ.compare() are generators now. This
24149 - StringIO.StringIO instances and cStringIO.StringIO instances support
24153 - The codecs module has grown four new helper APIs to access
24154 built-in codecs: getencoder(), getdecoder(), getreader(),
24157 - SimpleXMLRPCServer: a new module (based upon SimpleHTMLServer)
24160 - os.path.realpath(): a new function that returns the absolute pathname
24161 after interpretation of symbolic links. On non-Unix systems, this
24164 - operator.indexOf() (PySequence_Index() in the C API) now works with any
24167 - smtplib now supports various authentication and security features of
24170 - hmac: a new module implementing keyed hashing for message
24173 - mimetypes now recognizes more extensions and file types. At the
24176 - The "compiler" package has been brought up to date to the state of
24182 -----
24184 - Large file support (LFS) is now automatic when the platform supports
24192 - The configure script now supplies plausible defaults in a
24193 cross-compilation environment. This doesn't mean that the supplied
24194 values are always correct, or that cross-compilation now works
24195 flawlessly -- but it's a first step (and it shuts up most of
24198 - The Unix build is now a bit less chatty, courtesy of the parser
24200 using "make -s", thanks to a -q option to setup.py.
24203 -----
24205 - The "structmember" API now supports some new flag bits to deny read
24209 -------------
24211 - Compaq's iPAQ handheld, running the "familiar" Linux distribution
24215 -----
24217 - The "classic" standard tests, which work by comparing stdout to
24218 an expected-output file under Lib/test/output/, no longer stop at
24220 variant of ndiff-style comparison is used to report all differences.
24223 - The unittest-based standard tests now use regrtest's test_main()
24224 convention, instead of running as a side-effect of merely being
24228 - regrtest.py is much better integrated with unittest and doctest now,
24232 -------
24234 - Large file support now also works for files > 4GB, on filesystems
24242 *Release Date: 07-Sep-2001*
24245 ----
24247 - Conversion of long to float now raises OverflowError if the long is too
24250 - The 3-argument builtin pow() no longer allows a third non-None argument
24256 - The builtin dir() now returns more information, and sometimes much
24273 - Overflowing operations on plain ints now return a long int rather
24275 237. You can use -Wdefault::OverflowWarning to enable a warning for
24276 this situation, and -Werror::OverflowWarning to revert to the old
24279 - A new command line option, -Q<arg>, is added to control run-time
24281 values are -Qold, -Qwarn, -Qwarnall, and -Qnew. The default is
24282 -Qold, meaning the / operator has its classic meaning and no
24283 warnings are issued. Using -Qwarn issues a run-time warning about
24284 all uses of classic division for int and long arguments; -Qwarnall
24288 obsolete in 2.2c1 -- -Qnew has global effect in 2.2] ::
24290 Using -Qnew is questionable; it turns on new division by default, but
24291 only in the __main__ module. You can usefully combine -Qwarn or
24292 -Qwarnall and -Qnew: this gives the __main__ module new division, and
24295 - Many built-in types can now be subclassed. This applies to int,
24298 Note that restrictions apply when subclassing immutable built-in
24305 - The dictionary constructor now takes an optional argument, a
24306 mapping-like object, and initializes the dictionary from its
24309 - A new built-in type, super, has been added. This facilitates making
24313 - A new built-in type, property, has been added. This enables the
24315 getter and setter functions (or only one of these for read-only or
24316 write-only attributes), without the need to override __getattr__.
24319 - The syntax of floating-point and imaginary literals has been
24325 - An old tokenizer bug allowed floating point literals with an incomplete
24326 exponent, such as 1e and 3.1e-. Such literals now raise SyntaxError.
24329 -------
24331 - telnetlib includes symbolic names for the options, and support for
24335 - The new C standard no longer requires that math libraries set errno to
24337 freedom, Python's overflow-checking was wholly broken. A new overflow-
24342 - Asynchronous timeout actions are available through the new class
24345 - math.log and math.log10 now return sensible results for even huge
24348 - A new function, imp.lock_held(), returns 1 when the import lock is
24351 - pickle, cPickle and marshal on 32-bit platforms can now correctly read
24356 - In restricted execution mode (using the rexec module), unmarshalling
24359 - unittest.TestResult instances no longer store references to tracebacks
24364 -----
24366 - Tools/scripts/fixdiv.py has been added which can be used to fix
24370 -----
24372 - If you are an adventurous person using Mac OS X you may want to look at
24375 Discussion of this on pythonmac-sig, please.
24378 -----
24380 - New function PyObject_Dir(obj), like Python __builtin__.dir(obj).
24382 - Note that PyLong_AsDouble can fail! This has always been true, but no
24387 if (x == -1.0 && PyErr_Occurred()) {
24391 - The GC API has been changed. Extensions that use the old API will still
24395 - rename Py_TPFLAGS_GC to PyTPFLAGS_HAVE_GC
24397 - use PyObject_GC_New or PyObject_GC_NewVar to allocate objects and
24400 - rename PyObject_GC_Init to PyObject_GC_Track and PyObject_GC_Fini
24403 - remove PyGC_HEAD_SIZE from object size calculations
24405 - remove calls to PyObject_AS_GC and PyObject_FROM_GC
24407 - Two new functions: PyString_FromFormat() and PyString_FromFormatV().
24409 sprintf-style format string (similar to the format string supported
24413 -------------
24415 - Stephen Hansen contributed patches sufficient to get a clean compile
24422 -----
24425 -------
24427 - Large file support is now enabled on Win32 platforms as well as on
24437 - The w9xpopen hack is now used on Windows NT and 2000 too when COMPSPEC
24444 *Release Date: 22-Aug-2001*
24447 -----
24449 - Tim Peters developed a brand new Windows installer using Wise 8.1,
24452 - configure supports a new option --enable-unicode, with the values
24453 ucs2 and ucs4 (new in 2.2a1). With --disable-unicode, the Unicode
24456 - A new configure option --enable-framework builds a Mac OS X framework,
24458 point for more mac-like functionality, join pythonmac-sig@python.org
24461 - The NeXT platform is no longer supported.
24463 - The 'new' module is now statically linked.
24466 -----
24468 - The new Tools/scripts/cleanfuture.py can be used to automatically
24473 -----
24475 - regrtest.py now knows which tests are expected to be skipped on some
24477 also has optional --use/-u switch to run normally disabled tests
24480 - Several new tests in the standard test suite, with special thanks to
24484 ----
24486 - The floor division operator // has been added as outlined in PEP
24493 <http://python.sf.net/peps/pep-0238.html>
24495 - Future statements are now effective in simulated interactive shells
24498 details: <http://python.sf.net/peps/pep-0264.html>.
24500 - The type/class unification (PEP 252-253) was integrated into the
24506 - Warnings about a mismatch in the Python API during extension import
24510 - A function's __dict__ (aka func_dict) will now always be a
24516 - A new command line option, -E, was added which disables the use of
24524 -------
24526 - New class Differ and new functions ndiff() and restore() in difflib.py.
24530 - New function xml.sax.saxutils.quoteattr(): Quote an XML attribute
24534 - Readline completion support for cmd.Cmd was added.
24536 - Calling os.tempnam() or os.tmpnam() generate RuntimeWarnings.
24538 - Added function threading.BoundedSemaphore()
24540 - Added Ka-Ping Yee's cgitb.py module.
24542 - The 'new' module now exposes the CO_xxx flags.
24544 - The gc module offers the get_referents function.
24547 -------------
24550 -----
24552 - Two new APIs PyOS_snprintf() and PyOS_vsnprintf() were added
24553 which provide a cross-platform implementations for the
24559 - Unicode APIs now use name mangling to assure that mixing interpreters
24561 impossible. Trying to import an incompatible Unicode-aware extension
24566 - Two new flags METH_NOARGS and METH_O are available in method definition
24573 -------
24575 - "import module" now compiles module.pyw if it exists and nothing else
24582 *Release date: 18-Jul-2001*
24585 ----
24587 - TENTATIVELY, a large amount of code implementing much of what's
24589 253 (Subtyping Built-in Types) was added. This will be released
24598 - Generators were added; this is a new way to create an iterator (see
24609 - The UTF-16 codec was modified to be more RFC compliant. It will now
24611 only if running in native mode (UTF-16-LE and -BE won't remove a
24614 - Strings now have a new method .decode() to complement the already
24620 were auto-magically converted to string using the default encoding).
24624 return Unicode objects when decoding is requested ("äöü".decode("latin-1")
24631 +---------+-----------+-----------+-----------------------------+
24635 +---------+-----------+-----------+-----------------------------+
24637 +---------+-----------+-----------+-----------------------------+
24638 |quopri | string | string | quoted-printable codec |
24639 +---------+-----------+-----------+-----------------------------+
24641 +---------+-----------+-----------+-----------------------------+
24642 |hex | string | string | 2-byte hex codec |
24643 +---------+-----------+-----------+-----------------------------+
24644 |rot-13 | string | Unicode | ROT-13 Unicode charmap codec|
24645 +---------+-----------+-----------+-----------------------------+
24647 - Some operating systems now support the concept of a default Unicode
24653 On operating system that support non-ASCII filenames, it is common for
24655 string objects pre-encoded using the default file system encoding for
24667 - Float (and complex) literals in source code were evaluated to full
24670 12th significant decimal digit. For example, on a machine with IEEE-754
24680 machine precision (assuming the platform C float<->string I/O conversion
24683 This may cause floating-point results to change in some cases, and
24687 - The implementation of dicts suffers fewer collisions, which has speed
24697 - Many other small changes to dicts were made, resulting in faster
24700 - Dictionary objects now support the "in" operator: "x in dict" means
24703 - The update() method of dictionaries now accepts generic mapping
24708 - Iterators were added; this is a generalized way of providing values
24709 to a for loop. See PEP 234. There's a new built-in function iter()
24717 - The following functions were generalized to work nicely with iterator
24727 right-hand side of assignment statements with multiple targets, such as ::
24730 - Accessing module attributes is significantly faster (for example,
24733 - Comparing dictionary objects via == and != is faster, and now works even
24736 - Comparing dictionaries in ways other than == and != is slower: there were
24741 - Collisions in dicts are resolved via a new approach, which can help
24747 - repr() is much faster for large containers (dict, list, tuple).
24751 -------
24753 - The constants ascii_letters, ascii_lowercase. and ascii_uppercase
24754 were added to the string module. These a locale-independent
24758 - The flags used in dlopen calls can now be configured using
24761 - Fredrik Lundh's xmlrpclib is now a standard library module. This
24762 provides full client-side XML-RPC support. In addition,
24763 Demo/xmlrpc/ contains two server frameworks (one SocketServer-based,
24764 one asyncore-based). Thanks to Eric Raymond for the documentation.
24766 - The xrange() object is simplified: it no longer supports slicing,
24770 - A new function fnmatch.filter to filter lists of file names was added.
24772 - calendar.py uses month and day names based on the current locale.
24774 - strop is now *really* obsolete (this was announced before with 1.6),
24778 - Cookie.py now sorts key+value pairs by key in output strings.
24780 - pprint.isrecursive(object) didn't correctly identify recursive objects.
24783 - pprint functions now much faster for large containers (tuple, list, dict).
24785 - New 'q' and 'Q' format codes in the struct module, corresponding to C
24791 8-byte integral types.
24793 - The site module installs a new built-in function 'help' that invokes
24799 -----
24801 - New test_mutants.py runs dict comparisons where the key and value
24806 - New test_pprint.py verifies that pprint.isrecursive() and
24811 -----
24813 - Removed the unused last_is_sticky argument from the internal
24822 - A bug in the locale module was fixed that affected locales which
24825 - A few bugs in the weakref module's implementations of weak
24829 - An old bug in the os.path.walk() function (introduced in Python
24830 2.0!) was fixed: a non-existent file would cause an exception
24833 - Fixed a few bugs in the new symtable module found by Neil Norwitz's
24846 - Tim discovered a nasty bug in the dictionary code, caused by
24849 fixed with considerable amounts of band-aid, but the net effect is a
24852 - Made a bunch of symbols static that were accidentally global.
24856 - The setup.py script didn't check for a new enough version of zlib
24859 - Changed "make clean" target to also remove shared libraries.
24861 - Added a more general warning about the SGI Irix optimizer to README.
24865 - Fix a bug in urllib.basejoin("http://host", "../file.html") which
24868 - The mailbox module's _Mailbox class contained a completely broken
24871 - Fixed a bunch of typos in various library modules (urllib2, smtpd,
24874 - Fixed a few last-minute bugs in unittest.
24878 - Reverted the patch to the OpenSSL code in socketmodule.c to support
24880 fix it for pre-0.9.5 versions; the problem with the patch is that on
24886 - Fixed the pickle tests to work with "import test.test_pickle".
24888 - Tweaked test_locale.py to actually run the test Windows.
24890 - In distutils/archive_util.py, call zipfile.ZipFile() with mode "w",
24893 - Fix pstats browser crashes. Import readline if it exists to make
24896 - Add "import thread" to the top of test modules that import the
24901 - Changed test_asynchat.py to set the SO_REUSEADDR option; this was
24905 - Skip rather than fail test_sunaudiodev if no audio device is found.
24916 - Copyright was assigned to the Python Software Foundation (PSF) and a
24919 - The CNRI copyright notice was updated to include 2001.
24923 - After a public outcry, assignment to __debug__ is no longer illegal;
24926 - Fixed a core dump with "%#x" % 0, and changed the semantics so that
24929 - Fixed some nits in the bytecode compiler.
24931 - Fixed core dumps when calling certain kinds of non-functions.
24933 - Fixed various core dumps caused by reference count bugs.
24937 - Use INSTALL_SCRIPT to install script files.
24939 - New port: SCO Unixware 7, by Billy G. Allie.
24941 - Updated RISCOS port.
24943 - Updated BeOS port and notes.
24945 - Various other porting problems resolved.
24949 - The TERMIOS and SOCKET modules are now truly obsolete and
24953 - Fixed some 64-bit bugs in pickle, cPickle, and struct, and added
24956 - threading: make Condition.wait() robust against KeyboardInterrupt.
24958 - zipfile: add support to zipfile to support opening an archive
24961 where flush() was called for a read-only file.
24963 - imputil: added an uninstall() method to the ImportManager.
24965 - Canvas: fixed bugs in lower() and tkraise() methods.
24967 - SocketServer: API change (added overridable close_request() method)
24970 - pstats: Eric Raymond added a simple interactive statistics browser,
24973 - locale: fixed a problem in format().
24975 - webbrowser: made it work when the BROWSER environment variable has a
24976 value like "/usr/bin/netscape". Made it auto-detect Konqueror for
24979 - unittest: changes to allow using a different exception than
24983 - urllib, urllib2: fixed redirect problems and a coupleof other nits.
24985 - asynchat: fixed a critical bug in asynchat that slipped through the
24988 - Fix some unqualified except: clauses (always a bad code example).
24992 - pyexpat: new API get_version_string().
24994 - Fixed some minidom bugs.
24998 - Fixed a core dump in _weakref. Removed the weakref.mapping()
25001 - Rationalized the use of header files in the readline module, to make
25005 - Hopefully fixed a buffering problem in linuxaudiodev.
25007 - Attempted a fix to make the OpenSSL support in the socket module
25008 work again with pre-0.9.5 versions of OpenSSL.
25012 - Added a test case for asynchat and asyncore.
25014 - Removed coupling between tests where one test failing could break
25019 - Ping added an interactive help browser to pydoc, fixed some nits
25023 - An updated python-mode.el version 4.1 which integrates Ken
25029 - IDLE: syntax warnings in interactive mode are changed into errors.
25031 - Some improvements to Tools/webchecker (ignore some more URL types,
25034 - Brought the Tools/compiler package up to date.
25044 - The nested scopes work (enabled by "from __future__ import
25049 - When calling a base class method (e.g. BaseClass.__init__(self)),
25053 - Slice objects are now comparable but not hashable; this prevents
25056 - Complex division is now calculated using less braindead algorithms.
25061 - sgmllib.py now calls handle_decl() for simple <!...> declarations.
25063 - It is illegal to assign to the name __debug__, which is set when the
25064 interpreter starts. It is effectively a compile-time constant.
25066 - A warning will be issued if a global statement for a variable
25071 - unittest.py, a unit testing framework by Steve Purcell (PyUNIT,
25078 - A new module Tix was added, which wraps the Tix extension library
25083 - tzparse.py is now obsolete.
25085 - In gzip.py, the seek() and tell() methods are removed -- they were
25086 non-functional anyway, and it's better if callers can test for their
25091 - PyDict_Next(): it is now safe to call PyDict_SetItem() with a key
25095 modifications to the dictionary are still off-limits during a
25098 - New extended APIs related to passing compiler variables around.
25100 - New abstract APIs PyObject_IsInstance(), PyObject_IsSubclass()
25103 - Py_BuildValue() now has a "D" conversion to create a Python complex
25106 - Extensions types which support weak references must now set the
25112 - PyFrame_FastToLocals() and PyFrame_LocalsToFast() copy bindings for
25115 - Variants of several functions defined in pythonrun.h have been added
25124 - the sdist command now writes a PKG-INFO file, as described in PEP 241,
25127 - several enhancements to the bdist_wininst command from Thomas Heller
25130 - from Jack Jansen: added Mac-specific code to generate a dialog for
25131 users to specify the command-line (because providing a command-line with
25135 - added 'platforms' and 'keywords' to the set of metadata that can be
25138 - applied patches from Jason Tishler to make the compiler class work with
25147 - Following an outcry from the community about the amount of code
25151 per-module basis by adding "from __future__ import nested_scopes" at
25158 - The nested scopes code, when enabled, has been hardened, and most
25161 - Compile-time warnings are now generated for a number of conditions
25164 - Using "from...import *" or "exec" without in-clause in a function
25166 more free (non-local) variables. The presence of the import* or
25173 exec...in... (a good idea anyway -- there's a possibility that
25176 - Use of a global variable in a nested scope with the same name as a
25183 - An optional object allocator has been included. This allocator is
25187 protected by the Python interpreter lock and it is possible that some
25189 allocator can be enabled by providing the "--with-pymalloc" option to
25194 - pyexpat now detects the expat version if expat.h defines it. A
25202 - xml.dom offers the new functions registerDOMImplementation and
25205 - xml.dom.minidom offers a toprettyxml method. A number of DOM
25210 - Ka-Ping Yee contributed two new modules: inspect.py, a module for
25215 "pydoc -h" for instructions. "pydoc -g" pops up a small GUI that
25218 - New library module difflib.py, primarily packaging the SequenceMatcher
25219 class at the heart of the popular ndiff.py file-comparison tool.
25221 - doctest.py (a framework for verifying Python code examples in docstrings)
25226 - A new entry in the Start menu, "Module Docs", runs "pydoc -g" -- a
25230 - Import is now case-sensitive. PEP 235 (Import on Case-Insensitive
25233 http://python.sourceforge.net/peps/pep-0235.html
25235 for full details, especially the "Current Lower-Left Semantics" section.
25239 before: silently accept the first case-insensitive match of any
25242 B. Else search sys.path for the first case-sensitive match; raise
25245 The same rules have been implemented on other platforms with case-
25246 insensitive but case-preserving filesystems too (including Cygwin, and
25249 - winsound module: Under Win9x, winsound.Beep() now attempts to simulate
25255 - Build: Subproject _test (effectively) renamed to _testcapi.
25259 - 2.1 should compile and run out of the box under MacOS X, even using HFS+.
25262 - 2.1 should compile and run out of the box on Cygwin. Thanks to Jason
25265 - 2.1 contains new files and patches for RISCOS, thanks to Dietmar
25266 Schwertberger! See RISCOS/README for more information -- it seems
25276 - Scopes nest. If a name is used in a function or class, but is not
25283 three namespaces -- the local namespace, the global namespace, and
25305 built-in function str(). Under the new rules, it will be bound to
25309 - The compiler will report a SyntaxError if "from ... import *" occurs
25316 - repr(string) is easier to read, now using hex escapes instead of octal,
25323 - Functions are now compared and hashed by identity, not by value, since
25326 - Weak references (PEP 205) have been added. This involves a few
25332 - A 'continue' statement can now appear in a try block within the body
25338 - mailbox.py now has a new class, PortableUnixMailbox which is
25345 - random.py is now self-contained, and offers all the functionality of
25346 the now-deprecated whrandom.py. See the docs for details. random.py
25350 random() had been made. The latter is particularly useful for multi-
25353 non-overlapping segment of the full period.
25355 - random.py's seed() function is new. For bit-for-bit compatibility with
25359 that can be done in the Wichmann-Hill generator). (2) The old function
25365 - The socket module now supports raw packets on Linux. The socket
25368 - test_capi.py is a start at running tests of the Python C API. The tests
25371 - A new extension module, _symtable, provides provisional access to the
25372 internal symbol table used by the Python compiler. A higher-level
25375 - Removed the obsolete soundex module.
25377 - xml.dom.minidom now uses the standard DOM exceptions. Node supports
25380 - xml.sax.expatreader supports the lexical handler property; it
25385 - Build procedure: the zlib project is built in a different way that
25388 zlib-related directories can be deleted; you'll need to download fresh
25391 - Build: New subproject _test for the benefit of test_capi.py (see above).
25393 - Build: New subproject _symtable, for new DLL _symtable.pyd (a nascent
25396 - Build: Subproject ucnhash is gone, since the code was folded into the
25404 - There is a new Unicode companion to the PyObject_Str() API
25409 - The comparison operators support "rich comparison overloading" (PEP
25413 comparison operators before trying the old 3-way comparison. There
25415 the old 3-way comparison, but does not constrain the outcome of the
25446 - Complex numbers use rich comparisons to define == and != but raise
25453 - The outcome of comparing non-numeric objects of different types is
25460 - Functions and methods now support getting and setting arbitrarily
25466 - The xrange() object implementation has been improved so that
25467 xrange(sys.maxint) can be used on 64-bit platforms. There's still a
25474 - Two changes to from...import:
25485 - File objects have a new method, xreadlines(). This is the fastest
25492 other file-like objects.
25494 - Even if you don't use file.xreadlines(), you may expect a speedup on
25495 line-by-line input. The file.readline() method has been optimized
25496 quite a bit in platform-specific ways: on systems (like Linux) that
25499 a complicated (but still thread-safe) method using fgets() is used by
25508 test_bufio.py fails -- and let us know if it does!).
25510 - In addition, the fileinput module, while still slower than the other
25514 - Support for run-time warnings has been added, including a new
25515 command line option (-W) to specify the disposition of warnings.
25518 - Extensive changes have been made to the coercion code. This mostly
25519 affects extension modules (which can now implement mixed-type
25524 supported -- instead of calling __rcmp__, __cmp__ is called with
25527 - In connection with the coercion changes, a new built-in singleton
25533 - The interpreter accepts now bytecode files on the command line even
25544 - %[xXo] formats of negative Python longs now produce a sign
25552 >>> "%x" % -0x42L
25553 '-42' # in 2.1
25554 'ffffffbe' # in 2.0 and before, on 32-bit machines
25555 >>> hex(-0x42L)
25556 '-0x42L' # in all versions of Python
25568 - Dictionary objects have an odd new method, popitem(). This removes
25577 - In the time module, the time argument to the functions strftime,
25581 - The ftplib module now defaults to passive mode, which is deemed a
25583 these days. Note that this could break if ftplib is used to connect
25588 - The module site now treats .pth files not only for path configuration,
25592 - There's a new module, warnings, which implements a mechanism for
25593 issuing and filtering warnings. There are some new built-in
25595 option, -W, to control warnings (e.g. -Wi ignores all warnings, -We
25600 - A new module xreadlines was added. This exports a single factory
25603 file(-like) object:
25611 (as opposed to a file-like object), this is equivalent:
25616 - The bisect module has new functions bisect_left, insort_left,
25625 - The new curses.panel module wraps the panel library that forms part
25628 - The SocketServer module now sets the allow_reuse_address flag by
25631 - A new function, sys._getframe(), returns the stack frame pointer of
25633 higher-level mechanisms such as string interpolation.
25635 - The pyexpat module supports a number of new handlers, which are
25640 for single-byte charsets. The parser type objects is exposed as
25643 - xml.dom now offers standard definitions for symbolic node type and
25647 - The conformance of xml.dom.minidom to the DOM specification was
25657 - For Unix (and Unix-compatible) builds, configuration and building of
25661 distutils-based setup.py script now takes care of building most
25667 - Python should now build out of the box on Cygwin. If it doesn't,
25670 - Python now always uses its own (renamed) implementation of getopt()
25671 -- there's too much variation among C library getopt()
25674 - C++ compilers are better supported; the CXX macro is always set to a
25679 - select module: By default under Windows, a select() call
25685 - Support for Windows 3.1, DOS and OS/2 is gone. The Lib/dos-8x3
25701 --Guido van Rossum (home page: http://www.pythonlabs.com/~guido/)
25710 - The copy_reg module was modified to clarify its intended use: to
25714 - Fixed a bug in gettext's "normalize and expand" code that prevented
25717 - Restored support for HTTP/0.9 servers in httplib.
25719 - The math module was changed to stop raising OverflowError in case of
25721 used to raise OverflowError in case of underflow was platform-
25725 - Fixed a bug in StringIO that occurred when the file position was not
25729 - Fixed a bug that caused Tkinter error messages to get lost on
25731 interp->result with Tcl_GetStringResult(interp).
25733 - Fixed bug in urllib2 that caused it to fail when it received an HTTP
25736 - Several changes were made to distutils: Some debugging code was
25744 - Several minor bugs were fixed in the xml package (the minidom,
25747 - The regression test driver (regrtest.py) behavior when invoked with
25748 -l changed: It now reports a count of objects that are recognized as
25751 - The regression test for the math module was changed to test
25759 - PyOS_CheckStack() has been disabled on Win64, where it caused
25764 - Changed compiler flags, so that gcc is always invoked with -Wall and
25765 -Wstrict-prototypes. Users compiling Python with GCC should see
25767 --with-pydebug flag. The expected warning is for getopt() in
25770 - Fixed configure to add -threads argument during linking on OSF1.
25774 - The compiler in Tools/compiler was updated to support the new
25791 any show-stopping (or brown bag) bugs are found by testers of the
25799 - A bug that caused crashes when __coerce__ was used with augmented
25802 - Raise ZeroDivisionError when raising zero to a negative number,
25803 e.g. 0.0 ** -2.0. Note that math.pow is unrelated to the built-in
25804 power operator and the result of math.pow(0.0, -2.0) will vary by
25807 - A bug in Unicode string interpolation was fixed that occasionally
25811 - Compilation of deeply nested expressions raises MemoryError instead
25814 - In 2.0b2 on Windows, the interpreter wrote .pyc files in text mode,
25819 - Keyword arguments are now accepted for most pattern and match object
25822 - In SRE, fixed error with negative lookahead and lookbehind that
25825 - Several bugs in the Unicode handling and error handling in _tkinter
25828 - Fix memory management errors in Merge() and Tkapp_Call() routines.
25830 - Several changes were made to cStringIO to make it compatible with
25831 the file-like object interface and with StringIO. If operations are
25836 - There were many changes made to the linuxaudiodev module and its
25845 crashing. It also defines the AFMT_A_LAW format (logarithmic A-law
25849 - The library_version attribute, introduced in an earlier beta, was
25852 compile-time.
25854 - The binascii module is now enabled on Win64.
25856 - tokenize.py no longer suffers "recursion depth" errors when parsing
25861 - Fixed several buffer overflow vulnerabilities in calculate_path(),
25867 Misc/setuid-prog.c will eliminate the vulnerability.
25869 - Fixed garbage collection bugs in instance creation that were
25875 - pyexpat adds definitions of PyModule_AddStringConstant and
25879 - If the platform has a bogus definition for LONG_BIT (the number of
25882 - Fix bugs in _PyTuple_Resize() which caused hard-to-interpret garbage
25885 - Fixed a memory leak in _PyUnicode_Fini().
25889 - configure now accepts a --with-suffix option that specifies the
25893 - The mmap.PAGESIZE constant is now initialized using sysconf when
25894 possible, which eliminates a dependency on -lucb for Reliant UNIX.
25896 - The md5 file should now compile on all platforms.
25898 - The select module now compiles on platforms that do not define
25901 - Darwin (Mac OS X): Initial support for static builds on this
25904 - BeOS: A number of changes were made to the build and installation
25905 process. ar-fake now operates on a directory of object files.
25909 - Platform directory in lib/python2.0 is "plat-beos5" (or
25910 "plat-beos4", if building on BeOS 4.5), rather than "plat-beos".
25912 - Cygwin: Support for shared libraries, Tkinter, and sockets.
25914 - SunOS 4.1.4_JL: Fix test for directory existence in configure.
25918 - Removed debugging prints from main used with freeze.
25920 - IDLE auto-indent no longer crashes when it encounters Unicode
25928 - Add support for unbounded ints in %d,i,u,x,X,o formats; for example
25931 - Add -h and -V command line options to print the usage message and
25934 - eval() and exec accept Unicode objects as code parameters.
25936 - getattr() and setattr() now also accept Unicode objects for the
25940 - Multiplication on string and Unicode now does proper bounds
25944 - Better error message when continue is found in try statement in a
25950 - socket module: the OpenSSL code now adds support for RAND_status()
25953 - array: reverse() method of array now works. buffer_info() now does
25956 - asyncore/asynchat: Included most recent version from Sam Rushing.
25958 - cgi: Accept '&' or ';' as separator characters when parsing form data.
25960 - CGIHTTPServer: Now works on Windows (and perhaps even Mac).
25962 - ConfigParser: When reading the file, options spelled in upper case
25965 - copy: Copy Unicode objects atomically.
25967 - cPickle: Fail gracefully when copy_reg can't be imported.
25969 - cStringIO: Implemented readlines() method.
25971 - dbm: Add get() and setdefault() methods to dbm object. Add constant
25977 - distutils: Update to version 0.9.3.
25979 - dl: Add several dl.RTLD_ constants.
25981 - fpectl: Now supported on FreeBSD.
25983 - gc: Add DEBUG_SAVEALL option. When enabled all garbage objects
25987 - httplib: Three changes: Restore support for set_debuglevel feature
25988 of HTTP class. Do not close socket on zero-length response. Do not
25989 crash when server sends invalid content-length header.
25991 - mailbox: Mailbox class conforms better to qmail specifications.
25993 - marshal: When reading a short, sign-extend on platforms where shorts
25995 sign extension that was being done for 64-bit machines. (It assumed
25996 that signed right shift sign-extends.)
25998 - operator: Add contains(), invert(), __invert__() as aliases for
26001 - os: Add support for popen2() and popen3() on all platforms where
26004 - os: (Windows only:) Add startfile() function that acts like double-
26008 - os.path: (Windows, DOS:) Treat trailing colon correctly in
26011 - pickle: Now raises ValueError when an invalid pickle that contains
26012 a non-string repr where a string repr was expected. This behavior
26015 - posixfile: Remove broken __del__() method.
26017 - py_compile: support CR+LF line terminators in source file.
26019 - readline: Does not immediately exit when ^C is hit when readline and
26023 - rfc822: Domain literals returned by AddrlistClass method
26026 - site: sys.setdefaultencoding() should only be called in case the
26032 - socket: Support for size hint in readlines() method of object returned
26035 - sre: Added experimental expand() method to match objects. Does not
26039 - StringIO: Size hint in readlines() is now supported as documented.
26041 - struct: Check ranges for bytes and shorts.
26043 - urllib: Improved handling of win32 proxy settings. Fixed quote and
26046 - Tkinter: Image objects are now guaranteed to have unique ids. Set
26050 - UserList: now implements __contains__().
26052 - webbrowser: On Windows, use os.startfile() instead of os.popen(),
26056 - xml: New version detection code allows PyXML to override standard
26059 - xml.dom: DOM level 1 support for basic XML. Includes xml.dom.minidom
26062 application. Does not provide the HTML-specific extensions. Still
26065 - xml.sax: SAX 2 support for Python, including all the handler
26069 - pyexpat: Renamed to xml.parsers.expat since this is part of the new,
26075 - Add three new convenience functions for module initialization --
26079 - Cleaned up definition of NULL in C source code; all definitions were
26083 - Py_PROTO() macros that were removed in 2.0b1 have been restored for
26086 - A wrapper API was added for signal() and sigaction(). Instead of
26091 - Add PyString_AsStringAndSize() function that provides access to the
26092 internal data buffer and size of a string object -- or the default
26095 - PyString_Size() and PyString_AsString() accept Unicode objects.
26097 - The standard header <limits.h> is now included by Python.h (if it
26101 - PyFloat_FromString takes a second argument, pend, that was
26106 - PyObject_GetAttr() and PyObject_SetAttr() now accept Unicode objects
26109 - A few bug fixes to argument processing for Unicode.
26113 UTF-16.
26115 - Py_BuildValue accepts B format (for bgen-generated code).
26120 - On Unix, fix code for finding Python installation directory so that
26123 - Added a true unicode_internal_encode() function and fixed the
26127 - Several of the internal Unicode tables are much smaller now, and
26130 - In the garbage collector: Fixed bug in collection of tuples. Fixed
26135 - Fixed refcount problem in instance deallocation that only occurred
26138 - On Windows, getpythonregpath is now protected against null data in
26141 - On Unix, create .pyc/.pyo files with O_EXCL flag to avoid a race
26145 Build and platform-specific issues
26147 - Better support of GNU Pth via --with-pth configure option.
26149 - Python/C API now properly exposed to dynamically-loaded extension
26152 - Changes for the benefit of SunOS 4.1.4 (really!). mmapmodule.c:
26156 - Improved support for HP-UX build. Threads should now be correctly
26157 configured (on HP-UX 10.20 and 11.00).
26159 - Fix largefile support on older NetBSD systems and OpenBSD by adding
26165 - ftpmirror: Call to main() is wrapped in if __name__ == "__main__".
26167 - freeze: The modulefinder now works with 2.0 opcodes.
26169 - IDLE:
26171 created, which allows the application-specific Tkinter
26180 ------------------------
26183 such as single-argument append(), connect() and bind(), and changes to
26188 ------------------------
26190 - Third party extensions built for Python 1.5.x or 1.6 cannot be used
26194 - On Windows, attempting to import a third party extension built for
26198 - Python bytecode files (*.pyc and *.pyo) are not compatible between
26203 -----------------------------
26216 - Augmented assignment, e.g. x += 1
26218 - List comprehensions, e.g. [x**2 for x in range(10)]
26220 - Extended import statement, e.g. import Module as Name
26222 - Extended print statement, e.g. print >> file, "Hello"
26226 - Optional collection of cyclical garbage
26229 ---------------------------------
26245 --------------------
26247 This must have been the most-requested feature of the past years!
26250 += -= *= /= %= **= <<= >>= &= ^= |=
26268 Classes and built-in object types can override the new operators in
26269 order to implement the in-place behavior; the not-in-place behavior is
26271 in-place behavior. For classes, the method name is derived from the
26272 method name for the corresponding not-in-place operator by inserting
26273 an 'i' in front of the name, e.g. __iadd__ implements in-place
26280 -------------------
26315 -------------------------
26337 Note that 'as' is not a new keyword -- it is recognized only in this
26345 ------------------------
26369 ---------------------------------------
26389 ---------------
26412 indentation-related errors: IndentationError and TabError.
26435 ------------------------
26437 atexit - for registering functions to be called when Python exits.
26439 imputil - Greg Stein's alternative API for writing custom import
26442 pyexpat - an interface to the Expat XML parser, contributed by Paul
26445 xml - a new package with XML support code organized (so far) in three
26448 user-installed package named _xmlplus overrides the standard
26450 backwards-compatible updates to the standard xml package.
26452 webbrowser - a platform-independent API to launch a web browser.
26456 ---------------
26458 array -- new methods for array objects: count, extend, index, pop, and
26461 binascii -- new functions b2a_hex and a2b_hex that convert between
26464 calendar -- Many new functions that support features including control
26466 of printing them. Also new symbolic constants for days of week,
26469 cgi -- FieldStorage objects have a getvalue method that works like a
26472 ConfigParser -- The parser object has new methods has_option,
26476 ftplib -- ntransfercmd(), transfercmd(), and retrbinary() all now
26479 gzip -- readline and readlines now accept optional size arguments
26481 httplib -- New interfaces and support for HTTP/1.1 by Greg Stein. See
26484 locale -- implement getdefaultlocale for Win32 and Macintosh
26486 marshal -- no longer dumps core when marshaling deeply nested or
26489 os -- new functions isatty, seteuid, setegid, setreuid, setregid
26491 os/popen2 -- popen2/popen3/popen4 support under Windows. popen2/popen3
26494 os/pty -- support for openpty and forkpty
26496 os.path -- fix semantics of os.path.commonprefix
26498 smtplib -- support for sending very long messages
26500 socket -- new function getfqdn()
26502 readline -- new functions to read, write and truncate history files.
26506 select -- add interface to poll system call
26508 shutil -- new copyfileobj function
26510 SimpleHTTPServer, CGIHTTPServer -- Fix problems with buffering in the
26513 Tkinter -- optimization of function flatten
26515 urllib -- scans environment variables for proxy configuration,
26518 whichdb -- recognizes dumbdbm format
26522 ----------------
26530 ----------------------------
26535 C-level Changes
26536 ---------------
26549 Trent Mick ensured portability to 64-bit platforms, under both Linux
26566 the creation of a new slot for each in-place operator.
26577 PyRun_AnyFileEx, PyRun_SimpleFileEx, PyRun_FileEx -- New functions
26578 that are the same as their non-Ex counterparts except they take an
26585 ---------------
26612 \Python20\ on the default volume, instead of \Program Files\Python-2.0\.
26616 --------------------------------------------
26619 is some late-breaking news:
26627 strings: the string.encode() (which is also present on 8-bit strings
26628 !) allows using them for 8-bit strings too, e.g. to convert files from
26629 cp1252 (Windows) to latin-1 or vice-versa.
26632 http://pseudo.grad.sccs.chukyo-u.ac.jp/~kajiyama/python/
26649 ------------------------
26653 - The append() method for lists can no longer be invoked with more
26658 - The connect(), connect_ex() and bind() methods for sockets require
26663 - The str() and repr() functions are now different more often. For
26669 - The -X option is gone. Built-in exceptions are now always
26671 class-based exceptions.
26675 ------------------------
26677 - Third party extensions built for Python 1.5.x cannot be used with
26680 - On Windows, attempting to import a third party extension built for
26686 -------------------------------
26697 built-in function unicode(), and numerous C APIs to deal with Unicode
26699 http://starship.python.net/crew/lemburg/unicode-proposal.txt.
26705 - String methods mean that you can now say s.lower() etc. instead of
26711 split() and replace() have changed from 0 to -1.
26713 - The new regular expression engine, SRE by Fredrik Lundh, is fully
26719 engine -- this is at least the fourth!).
26723 -------------
26745 The built-ins int() and long() take an optional second argument to
26746 indicate the conversion base -- of course only if the first argument
26761 x :-).
26774 ------------------
26776 UserString - base class for deriving from the string type.
26778 distutils - tools for distributing Python modules.
26780 robotparser - parse a robots.txt file, for writing web spiders.
26783 linuxaudiodev - audio for Linux.
26785 mmap - treat a file as a memory buffer. (Windows and Unix.)
26787 sre - regular expressions (fast, supports unicode). Currently, this
26791 filecmp - supersedes the old cmp.py and dircmp.py modules.
26793 tabnanny - check Python sources for tab-width dependence. (Moved from
26796 urllib2 - new and improved but incompatible version of urllib (still
26799 zipfile - read and write zip archives.
26801 codecs - support for Unicode encoders/decoders.
26803 unicodedata - provides access to the Unicode 3.0 database.
26805 _winreg - Windows registry access.
26807 encodings - package which provides a large set of standard codecs --
26808 currently only for the new Unicode support. It has a drop-in extension
26816 ---------------
26819 chunk, wave, random, shelve, nntplib - minor enhancements.
26821 socket, httplib, urllib - optional OpenSSL support (Unix only).
26823 _tkinter - support for 8.0 up to 8.3. Support for versions older than
26826 string - most of this module is deprecated now that strings have
26827 methods. This no longer uses the built-in strop module, but takes
26833 ------------------
26844 default volume, instead of \Program Files\Python-1.6\.
26848 -------------
26850 IDLE - complete overhaul. See the <a href="../idle/">IDLE home
26854 Tools/i18n/pygettext.py - Python equivalent of xgettext(1). A message
26860 ----------------
26863 it. :-)
26888 ----------------------------------
26890 - Slight changes to the CNRI license. A copyright notice has been
26896 - Added the Tools/compiler package. This is a project led by Jeremy
26899 - The function math.rint() is removed.
26901 - In Python.h, "#define _GNU_SOURCE 1" was added.
26903 - Version 0.9.1 of Greg Ward's distutils is included (instead of
26906 - A new version of SRE is included. It is more stable, and more
26907 compatible with the old RE module. Non-matching ranges are indicated
26908 by -1, not None. (The documentation said None, but the PRE
26909 implementation used -1; changing to None would break existing code.)
26911 - The winreg module has been renamed to _winreg. (There are plans for
26912 a higher-level API called winreg, but this has not yet materialized in
26915 - The _locale module is enabled by default.
26917 - Fixed the configuration line for the _curses module.
26919 - A few crashes have been fixed, notably <file>.writelines() with a
26920 list containing non-string objects would crash, and there were
26923 - The <list>.extend() method now accepts an arbitrary sequence
26926 - If __str__() or __repr__() returns a Unicode object, this is
26927 converted to an 8-bit string.
26929 - Unicode string comparisons is no longer aware of UTF-16
26930 encoding peculiarities; it's a straight 16-bit compare.
26932 - The Windows installer now installs the LICENSE file and no longer
26936 - A few portability problems have been fixed, in particular a
26939 - The PC configuration is slightly friendlier to non-Microsoft
26990 all-platform problem so now we only use the _r variant when we are
27003 * README: Add note about -D_REENTRANT for HP-UX 10.20.
27015 * Lib/plat-sunos5/CDIO.py, Lib/plat-linux2/CDROM.py:
27024 2. On 64-bit platforms the CRC comparison fails; I've fixed this by
27039 Quote a bunch of shell variables used in test, related to long-long.
27045 3-arg gethostbyname_r doesn't really work on OSF/1.
27078 …-8x3/userdict.py, Lib/dos-8x3/userlist.py, Lib/dos-8x3/test_zli.py, Lib/dos-8x3/test_use.py, Lib/d…
27094 * Demo/tkinter/matt/window-creation-w-location.py:
27097 * Lib/lib-tk/Tkinter.py:
27098 Delete an accidentally checked-in feature that actually broke more
27103 (Demo/tkinter/matt/rubber-band-box-demo-1.py).
27127 (Not much has changed :-( )
27129 * Lib/lib-tk/Tkinter.py:
27182 The code no longer accepts a -1 reply from the ehlo() method in
27185 [Text about removing SMTPRecipientsRefused deleted --GvR]
27199 Mostly I just re-added the SMTPRecipientsRefused exception
27201 removed this in his patch --GvR] and tweaked the behavior of the
27237 philosophical problem -- to me, the split*() functions are purely
27243 when the path doesn't actually exist -- if GetFullPathName() fails,
27266 Made the default mode 'rb' instead of 'r', for better cross-platform
27303 - It needlessly used the makefile() method for each response that is
27306 - If the remote SMTP server closes the connection unexpectedly the
27310 - The code now checks that all lines in a multiline response actually
27321 distutils-sig.
27351 time calculations on Linux actually work right (like the tz-aware
27373 sent, but I couldn't resist going on to add new -r1 / -r2 cmdline options
27382 Attached is a cleaned-up version of ndiff (added useful module
27383 docstring, now echo'ed in case of cmd line mistake); added -q option
27399 Reformatted with 4-space indent.
27471 to fix. I expect that this is a temporary situation --
27473 (The changes add a -t option to specify exceptions to the -x
27492 * configure.in, configure, BeOS/linkmodule, BeOS/ar-fake:
27508 Vladimir Marangozov implements the AIX 3-arg gethostbyname_r code.
27517 * Lib/gzip.py: use struct instead of bit-manipulate in Python
27531 Adding thread.h -- unused but for b/w compatibility.
27543 - Use HAVE_GETHOSTBYNAME_R_6_ARG instead of testing for Linux and
27546 - If gethostbyname takes 3 args, undefine HAVE_GETHOSTBYNAME_R --
27549 - New symbol USE_GETHOSTBYNAME_LOCK defined iff the lock should be used.
27551 - Modify the gethostbyaddr() code to also hold on to the lock until
27552 after it is safe to release, overlapping with the Python lock.
27556 the lock -- e.g. in a signal handler or destructor. I will simply say
27562 patch. It holds the gethostbyname lock until the results are copied out,
27563 which means that this lock and the Python global lock are held at the same
27564 time. This shouldn't be a problem as long as the gethostbyname lock is
27565 always acquired when the global lock is not held.
27606 New builtin buffer() creates a derived read-only buffer from any
27636 Delete non-standard-conforming code in urljoin() that would use the
27647 when joining an http: URL with a file: URL -- the resulting file: URL
27651 There are two reasons to get rid of the old, once-valuable hack,
27662 * Lib/lib-tk/Tkinter.py: Bug reported by Jim Robinson:
27668 rather just whether is evaluates to non-false. A value of 0 fails
27685 Patch by Rob Riggs for Linux -- glibc2 has a different argument
27726 resist it. Any takers? --Guido]
27730 Under Windows, python freeze.py -o hello hello.py
27742 Also added code so that with -vv it is very chatty about what it does.
27767 - Don't crash in the case where a superclass is a string instead of a
27771 - Show a watch cursor when calling pyclbr (since it may take a while
27804 "Path browser" - 4 scrolled lists displaying:
27817 Smalltalk or NeXT style multi-column hierarchical browser.
27822 * Tools/idle/ScrolledList.py: - White background.
27823 - Display "(None)" (or text of your choosing) when empty.
27824 - Don't set the focus.
27837 Always test for an error return (usually NULL or -1) without setting
27843 I had an off-by-1000 error in floatsleep(),
27885 re-start the connection.
27895 empty content-transfer-encoding header, the code used to
27903 own routines ;-)
27908 Make sure that the exception tuples ("base-classes" when
27909 string-based exceptions are used) reflect the real class hierarchy,
27929 -- someone tried to pass in sys.maxint and got bitten by the bogus
27934 LIBM (from --with-libm=...); this actually broke the customizability
27946 length of a list, but the largest C int is -- sys.maxint is the
27956 According to Jeffrey Honig, bsd/os 2.0 - 4.0 should be added to the
27957 list (of bsd variants that have a different lock structure).
27976 * Modules/Setup.in: Document *static* -- in two places!
27979 We don't support leap seconds, so the seconds field of a time 9-tuple
27980 should be in the range [0-59]. Noted by Tadayoshi Funaba.
27984 converted was a "digit" -- use isalnum(). This test is there only to
27985 guard against "+" or "-" being interpreted as a valid int literal.
27995 Typo: "apparentlt" --> "apparently"
28005 * Lib/lib-old/poly.py:
28012 Bow to font-lock at the end of the docstring, since it throws stuff
28026 -------
28028 - Many memory leaks fixed.
28030 - Many small bugs fixed.
28032 - Command line option -OO (or -O -O) suppresses inclusion of doc
28035 Windows-specific changes
28036 ------------------------
28038 - New built-in module winsound provides an interface to the Win32
28041 - Re-enable the audioop module in the config.c file.
28043 - On Windows, support spawnv() and associated P_* symbols.
28045 - Fixed the conversion of times() return values on Windows.
28047 - Removed freeze from the installer -- it doesn't work without the
28050 - On Windows 95/98, the Tkinter module now is smart enough to find
28051 Tcl/Tk even when the PATH environment variable hasn't been set -- when
28057 - The -i option doesn't make any calls to set[v]buf() for stdin --
28060 - The ntpath module (and hence, os.path on Windows) now parses out UNC
28065 - Added a hack to the exit code so that if (1) the exit status is
28070 - Updated the installer to WISE 5.0g. Added a dialog warning about
28076 ---------------------
28078 - The repr() or str() of a module object now shows the __file__
28080 "(built-in)" if there is no __file__ attribute.
28082 - The range() function now avoids overflow during its calculations (if
28085 - New info string sys.hexversion, which is an integer encoding the
28090 ---------------------
28092 - Support for Nextstep descendants (future Mac systems).
28094 - Improved BeOS support.
28096 - Support dynamic loading of shared libraries on NetBSD platforms that
28100 ---------------------------
28102 - The Lib/test directory is no longer included in the default module
28103 search path (sys.path) -- "test" has been a package ever since 1.5.
28105 - Now using autoconf 2.13.
28108 -------------------
28110 - New library modules asyncore and asynchat: these form Sam Rushing's
28114 - New module statvfs contains indexing constants for [f]statvfs()
28118 ----------------------
28120 - The wave module (platform-independent support for Windows sound
28123 - The sunau module (platform-independent support for Sun/NeXT sound
28128 - Fix a bug in the urllib module that occasionally tripped up
28131 - ConfigParser's get() method now accepts an optional keyword argument
28136 - Some improvements to the Queue module, including a put_nowait()
28140 - The updated xmllib module is once again compatible with the version
28143 - The bdb module (base class for the debugger) now supports
28149 - In sgmllib (and hence htmllib), recognize attributes even if they
28153 - In the debugger (pdb), change clear syntax to support three
28156 - The os.path module now pretends to be a submodule within the os
28159 - The standard exceptions now have doc strings.
28161 - In the smtplib module, exceptions are now classes. Also avoid
28162 inserting a non-standard space after "TO" in rcpt() command.
28164 - The rfc822 module's getaddrlist() method now uses all occurrences of
28170 - Fixed bug in urlparse in the common-case code for HTTP URLs; it
28173 - The sndhdr module no longer supports whatraw() -- it depended on a
28176 - The UserList module/class now supports the extend() method, like
28179 - The uu module now deals better with trailing garbage generated by
28182 - The telnet module now has a my_interact() method which uses threads
28184 Windows (where the single-threaded version doesn't work).
28186 - Add a class to mailbox.py for dealing with qmail directory
28191 ----------------------------
28193 - Support for the [f]statvfs() system call, where it exists.
28195 - Fixed some bugs in cPickle where bad input could cause it to dump
28198 - Fixed cStringIO to make the writelines() function actually work.
28200 - Added strop.expandtabs() so string.expandtabs() is now much faster.
28202 - Added fsync() and fdatasync(), if they appear to exist.
28204 - Support for "long files" (64-bit seek pointers).
28206 - Fixed a bug in the zlib module's flush() function.
28208 - Added access() system call. It returns 1 if access granted, 0 if
28211 - The curses module implements an optional nlines argument to
28215 ----------------
28217 - Some changes to IDLE; see Tools/idle/NEWS.txt.
28219 - Latest version of Misc/python-mode.el included.
28222 ------------------
28224 - Avoid tracebacks when an image is deleted after its root has been
28228 ---------------------------
28230 - When parentheses are used in a PyArg_Parse[Tuple]() call, any
28234 - Added PyModule_GetFilename().
28236 - In PyNumber_Power(), remove unneeded and even harmful test for float
28240 - New version identification symbols; read patchlevel.h for info. The
28243 - Rolled back the API version change -- it's back to 1007!
28245 - The frozenmain.c function calls PyInitFrozenExtensions().
28247 - Added 'N' format character to Py_BuildValue -- like 'O' but doesn't
28258 ---------------------
28260 - New extension NotImplementedError, derived from RuntimeError. Not
28263 - The parser will now spit out a warning or error when -t or -tt is
28266 - The code generator now inserts extra SET_LINENO opcodes when
28267 compiling multi-line argument lists.
28269 - When comparing bound methods, use identity test on the objects, not
28273 ---------------------
28275 - Chris Herborth has redone his BeOS port; it now works on PowerPC
28279 --------
28281 - Thanks to Chris Herborth, the thread primitives now have proper Py*
28283 through some smart macros; but the source still had the old, un-Py
28287 ---------------------------
28289 - Improved support for FreeBSD/3.
28291 - Check for pthread_detach instead of pthread_create in libc.
28293 - The makesetup script now searches EXECINCLUDEPY before INCLUDEPY.
28295 - Misc/Makefile.pre.in now also looks at Setup.thread and Setup.local.
28299 -------------------
28301 - shlex.py by Eric Raymond provides a lexical analyzer class for
28302 simple shell-like syntaxes.
28304 - netrc.py by Eric Raymond provides a parser for .netrc files. (The
28307 - codeop.py is a new module that contains the compile_command()
28310 higher-level classes in code.py.
28312 - turtle.py is a new module for simple turtle graphics. I'm still
28317 -------------------------
28319 - poly.py and zmod.py have been moved to Lib/lib-old to emphasize
28324 ---------
28326 - I've added IDLE: my Integrated DeveLopment Environment for Python.
28334 - New tools by Barry Warsaw:
28341 ---------
28343 - Demo/scripts/beer.py prints the lyrics to an arithmetic drinking
28346 - Demo/tkinter/guido/optionmenu.py shows how to do an option menu in
28347 Tkinter. (By Fredrik Lundh -- not by me!)
28350 ----------------------
28352 - compileall.py now avoids recompiling .py files that haven't changed;
28353 it adds a -f option to force recompilation.
28355 - New version of xmllib.py by Sjoerd Mullender (0.2 with latest
28358 - nntplib.py: statparse() no longer lowercases the message-id.
28360 - types.py: use type(__stdin__) for FileType.
28362 - urllib.py: fix translations for filenames with "funny" characters.
28365 your subclass may stop working. A long-term solution is to provide
28368 - cgi.py: In read_multi, allow a subclass to override the class we
28375 - UserList.py: In __getslice__, use self.__class__ instead of
28378 - In SimpleHTTPServer.py, the server specified in test() should be
28384 - In CGIHTTPServer.py, the list of acceptable formats is -split-
28385 on spaces but -joined- on commas, resulting in double commas
28388 - SocketServer.py, patch by Jeff Bauer: a minor change to declare two
28392 - bdb.py: fix bomb on deleting a temporary breakpoint: there's no
28395 - getopt.py: accept a non-list sequence for the long options (request
28401 - tempfile.py: improvements to avoid security leaks.
28403 - code.py: moved compile_command() to new module codeop.py.
28405 - pickle.py: support pickle format 1.3 (binary float added). By Jim
28409 - uu.py: Move 'import sys' to top of module, as noted by Tim Peters.
28411 - imaplib.py: fix problem with some versions of IMAP4 servers that
28414 - cmp.py: use (f1, f2) as cache key instead of f1 + ' ' + f2. Noted
28418 ----------------------------
28420 - More doc strings for several modules were contributed by Chris
28423 - Fixed a bug in zlibmodule.c that could cause core dumps on
28426 - cPickle.c: new version from Jim Fulton, with Open Source copyright
28427 notice. Also, initialize self->safe_constructors early on to prevent
28430 - cStringIO.c: new version from Jim Fulton, with Open Source copyright
28433 - mpzmodule.c: fix signed character usage in mpz.mpz(stringobjecty).
28435 - readline.c: Bernard Herzog pointed out that rl_parse_and_bind
28439 - sunaudiodev.c: Barry Warsaw added more smarts to get the device and
28440 control pseudo-device, per audio(7I).
28443 ----------------
28445 - New, improved version of Barry Warsaw's Misc/python-mode.el (editing
28448 - tabnanny.py: added a -q ('quiet') option to tabnanny, which causes
28451 - freeze: when printing missing modules, also print the module they
28454 - untabify.py: patch by Detlef Lannert to implement -t option
28458 ------------------
28460 - grid_bbox(): support new Tk API: grid bbox ?column row? ?column2
28463 - _tkinter.c: RajGopal Srinivasan noted that the latest code (1.5.2a2)
28464 doesn't work when running in a non-threaded environment. He added
28468 ---------------------------
28470 - Bumped API version number to 1008 -- enough things have changed!
28472 - There's a new macro, PyThreadState_GET(), which does the same work
28477 - All symbols intended for export from a DLL or shared library are now
28486 ------------------------------
28488 - Fixed a bug in new_buffersize() in fileobject.c which could
28491 - Use PySys_WriteStderr instead of fprintf in most places.
28493 - dictobject.c: remove dead code discovered by Vladimir Marangozov.
28495 - tupleobject.c: make tuples less hungry -- an extra item was
28498 - mymath.h: Metrowerks PRO4 finally fixes the hypot snafu. (Jack
28501 - import.c: Jim Fulton fixes a reference count bug in
28504 - glmodule.c: check in the changed version after running the stubber
28505 again -- this solves the conflict with curses over the 'clear' entry
28507 eons ago, but I never regenrated glmodule.c :-( )
28509 - frameobject.c: fix reference count bug in PyFrame_New. Vladimir
28512 - stropmodule.c: add a missing DECREF in an error exit. Submitted by
28523 -------
28525 - It is now a syntax error to have a function argument without a
28528 - __file__ is now set to the .py file if it was parsed (it used to
28531 - Don't exit with a fatal error during initialization when there's a
28534 - New environment variable PYTHONOPTIMIZE can be used to set -O.
28536 - New version of python-mode.el for Emacs.
28539 ------------------------
28541 - No longer print the (confusing) error message about stack underflow
28544 - Some threading and locking bugs fixed.
28546 - When errno is zero, report "Error", not "Success".
28549 -------------
28551 - Documentation will be released separately.
28553 - Doc strings added to array and md5 modules by Chris Petrilli.
28556 -------------------------
28558 - Stop installing when a move or copy fails.
28560 - New version of the OS/2 port code by Jeff Rush.
28562 - The makesetup script handles absolute filenames better.
28564 - The 'new' module is now enabled by default in the Setup file.
28566 - I *think* I've solved the problem with the Linux build blowing up
28570 Built-in functions
28571 ------------------
28573 - The second argument to apply() can now be any sequence, not just a
28576 Built-in types
28577 --------------
28579 - Lists have a new method: L1.extend(L2) is equivalent to the common
28582 - Better error messages when a sequence is indexed with a non-integer.
28584 - Bettter error message when calling a non-callable object (include
28588 ---------------
28590 - New version of cPickle.c fixes some bugs.
28592 - pickle.py: improved instantiation error handling.
28594 - code.py: reworked quite a bit. New base class
28598 - py_compile.py: print error message and continue on syntax errors.
28601 - pyclbr.py: support submodules of packages.
28604 ---------------
28606 - StringIO.py: raise the right exception (ValueError) for attempted
28609 - re.py: fixed a bug in subn(), which caused .groups() to fail inside
28612 - The struct module has a new format 'P': void * in native mode.
28615 -------------------
28617 - Module time: Y2K robustness. 2-digit year acceptance depends on
28619 default 0. Years 00-68 mean 2000-2068, while 69-99 mean 1969-1999
28622 - os.path: normpath(".//x") should return "x", not "/x".
28624 - getpass.py: fall back on default_getpass() when sys.stdin.fileno()
28627 - tempfile.py: regenerate the template after a fork() call.
28630 --------------------
28632 - In the signal module, disable restarting interrupted system calls
28636 --------
28638 - No longer set __args__; this feature is no longer supported and can
28641 - cmd.py, pdb.py and bdb.py have been overhauled by Richard Wolff, who
28648 --------
28650 - Changes so that JPython can use it. Also fix the calibration code
28654 ------------------------------
28656 - imaplib.py: new version from Piers Lauder.
28658 - smtplib.py: change sendmail() method to accept a single string or a
28661 - poplib.py: LIST with a msg argument fixed.
28663 - urlparse.py: some optimizations for common case (http).
28665 - urllib.py: support content-length in info() for ftp protocol;
28670 ----------------------
28672 - sgmllib.py: support tags with - or . in their name.
28674 - mimetypes.py: guess_type() understands 'data' URLs.
28677 --------------------
28679 - The classes rexec.RModuleLoader and rexec.RModuleImporter no
28683 -------
28685 - When reporting an exception, store its info in sys.last_*. Also,
28688 - Added NS, EW, and NSEW constants, for grid's sticky option.
28690 - Fixed last-minute bug in 1.5.2a1 release: need to include "mytime.h".
28692 - Make bind variants without a sequence return a tuple of sequences
28695 - Add image commands to the Text widget (these are new in Tk 8.0).
28697 - Added new listbox and canvas methods: {xview,yview}_{scroll,moveto}.)
28699 - Improved the thread code (but you still can't call update() from
28702 - Fixed unnecessary references to _default_root in the new dialog
28705 - Miscellaneous problems fixed.
28709 ---------------
28711 - Call LoadLibraryEx(..., ..., LOAD_WITH_ALTERED_SEARCH_PATH) to
28714 - In debugging mode, call DebugBreak() in Py_FatalError().
28717 -----------------
28719 - Install zlib.dll in the DLLs directory instead of in the win32
28724 ----------
28726 - test_long.py: new test for long integers, by Tim Peters.
28728 - regrtest.py: improved so it can be used for other test suites as
28731 - test_strftime.py: use re to compare test results, to support legal
28735 ---------------
28737 - Four new scripts in Tools/scripts: crlf.py and lfcr.py (to
28741 - Improvements to Tools/freeze/. Each Python module is now written to
28745 line options -x and -i.
28747 - Much improved (and smaller!) version of Tools/scripts/mailerdaemon.py.
28750 ------------
28752 - New mechanism to support extensions of the type object while
28757 - Addition to the buffer API to differentiate access to bytes and
28758 8-bit characters (in anticipation of Unicode characters).
28760 - New argument parsing format t# ("text") to indicate 8-bit
28761 characters; s# simply means 8-bit bytes, for backwards compatibility.
28763 - New object type, bufferobject.c is an example and can be used to
28766 - Some support for 64-bit longs, including some MS platforms.
28768 - Many calls to fprintf(stderr, ...) have been replaced with calls to
28771 - The calling context for PyOS_Readline() has changed: it must now be
28772 called with the interpreter lock held! It releases the lock around
28776 - New APIs PyLong_FromVoidPtr() and PyLong_AsVoidPtr().
28778 - Renamed header file "thread.h" to "pythread.h".
28780 - The code string of code objects may now be anything that supports the
28791 -------
28793 - When searching for the library, a landmark that is a compiled module
28796 - When following symbolic links to the python executable, use a loop
28799 - Added a hack so that when you type 'quit' or 'exit' at the
28800 interpreter, you get a friendly explanation of how to press Ctrl-D (or
28801 Ctrl-Z) to exit.
28803 - New and improved Misc/python-mode.el (Python mode for Emacs).
28805 - Revert a new feature in Unix dynamic loading: for one or two
28810 ------------------------
28812 - All patches on the patch page have been integrated. (But much more
28815 - Several memory leaks plugged (e.g. the one for classes with a
28818 - Removed the only use of calloc(). This triggered an obscure bug on
28821 - Fix a peculiar bug that would allow "import sys.time" to succeed
28822 (believing the built-in time module to be a part of the sys package).
28824 - Fix a bug in the overflow checking when converting a Python long to
28825 a C long (failed to convert -2147483648L, and some other cases).
28828 -------------
28830 - Doc strings have been added to many extension modules: __builtin__,
28836 - The documentation has been expanded and the formatting improved.
28840 - Added Misc/Porting -- a mini-FAQ on porting to a new platform.
28843 -------------------------
28845 - The BeOS port is now integrated. Courtesy Chris Herborth.
28847 - Symbol files for FreeBSD 2.x and 3.x have been contributed
28848 (Lib/plat-freebsd[23]/*).
28850 - Support HPUX 10.20 DCE threads.
28852 - Finally fixed the configure script so that (on SGI) if -OPT:Olimit=0
28853 works, it won't also use -Olimit 1500 (which gives a warning for every
28856 - The makesetup script now understands absolute pathnames ending in .o
28857 in the module -- it assumes it's a file for which we have no source.
28859 - Other miscellaneous improvements to the configure script and
28862 - The test suite now uses a different sound sample.
28864 Built-in functions
28865 ------------------
28867 - Better checks for invalid input to int(), long(), string.atoi(),
28871 - Changes to map() and filter() to use the length of a sequence only
28872 as a hint -- if an IndexError happens earlier, take that. (Formerly,
28875 - Experimental feature in getattr(): a third argument can specify a
28878 - Implement round() slightly different, so that for negative ndigits
28881 - The open() function now adds the filename to the exception when it
28884 Built-in exceptions
28885 -------------------
28887 - New standard exceptions EnvironmentError and PosixError.
28891 The built-in function open() and most os/posix functions that take a
28894 Built-in types
28895 --------------
28897 - List objects now have an experimental pop() method; l.pop() returns
28903 - Changes to comparisons: numbers are now smaller than any other type.
28910 - Instance methods may now have other callable objects than just
28915 - Assignment to __name__, __dict__ or __bases__ of a class object is
28918 recomputed after such assignments (but not for derived classes :-( ).
28920 - Allow assignment to some attributes of function objects: func_code,
28925 ---------------
28927 - New tests (in Lib/test): reperf.py (regular expression benchmark),
28931 - Generalized test/regrtest.py so that it is useful for testing other
28934 - The ihooks.py module now understands package imports.
28936 - In code.py, add a class that subsumes Fredrik Lundh's
28939 - In rlcompleter.py, in completer(), return None instead of raising an
28942 - Fixed the marshal module to test for certain common kinds of invalid
28945 - In the operator module, add an alias (now the preferred name)
28949 ---------------
28951 - In the string and strop modules, in the replace() function, treat an
28954 - Some speedups to re.py, especially the string substitution and split
28958 - In cStringIO, add better argument type checking and support the
28961 - In the struct module, unsigned 1-2 byte sized formats no longer
28965 ----------------------
28967 - In whrandom.py, added new method and function randrange(), same as
28973 - Add some semi-thread-safety to random.gauss() (it used to be able to
28977 - Some restructuring and generalization done to cmd.py.
28979 - Major upgrade to ConfigParser.py; converted to using 're', added new
28983 - In getpass.py, don't use raw_input() to ask for the password -- we
28985 interrupts (the try-finally already does all necessary cleanup).
28988 -------------------
28990 - New functions in os.py: makedirs(), removedirs(), renames(). New
28996 - Changes to the 'os.path' submodule of os.py: added getsize(),
28997 getmtime(), getatime() -- these fetch the most popular items from the
29000 - In the time module, add strptime(), if it exists. (This parses a
29001 time according to a format -- the inverse of strftime().) Also,
29002 remove the call to mktime() from strftime() -- it messed up the
29003 formatting of some non-local times.
29005 - In the socket module, added a new function gethostbyname_ex().
29010 --------------------
29012 - Some fixes to gzip.py. In particular, the readlines() method now
29017 - In whichdb.py, support byte-swapped dbhash (bsddb) files.
29019 - In anydbm.py, look at the type of an existing database to determine
29024 -------------
29026 - In the termios module, in tcsetattr(), initialize the structure vy
29029 - Added some of the "wait status inspection" macros as functions to
29033 - In the syslog module, make the default facility more intuitive
29037 --------
29039 - In pdb.py, support for setting breaks on files/modules that haven't
29043 ------------------------------
29045 - Changes in urllib.py; sped up unquote() and quote(). Fixed an
29046 obscure bug in quote_plus(). Added urlencode(dict) -- convenience
29050 Use -t to run the self-test. Made the proxy code work again.
29052 - In cgi.py, treat "HEAD" the same as "GET", so that CGI scripts don't
29054 default content-type to application/x-www-form-urlencoded. Also, in
29056 string from environ['QUERY_STRING'] or sys.argv[1] -- ignore an
29059 - The smtplib.py module now supports ESMTP and has improved standard
29062 - Improved imaplib.py.
29064 - Fixed UDP support in SocketServer.py (it never worked).
29066 - Fixed a small bug in CGIHTTPServer.py.
29069 ----------------------
29071 - In rfc822.py, add a new class AddressList. Also support a new
29077 - In sgmllib.py, restore the call to report_unbalanced() that was lost
29079 instructions >, allow . and - in entity names, and allow \r\n as line
29082 - Some restructuring and generalization done to multifile.py; support
29086 --------------------
29088 - Improvements to rexec.py: package support; support a (minimal)
29093 -------
29095 - On Unix, Tkinter can now safely be used from a multi-threaded
29098 interpreter lock.) Unfortunately, on Windows, threads other than the
29102 - An interactive interpreter that uses readline and Tkinter no longer
29105 - Even if readline is not used, Tk windows created in an interactive
29109 - New demos in Demo/tkinter/guido/: brownian.py, redemo.py, switch.py.
29111 - No longer register Tcl_finalize() as a low-level exit handler. It
29114 - Allow binding of Tcl commands (given as a string).
29116 - Some minor speedups; replace explicitly coded getint() with int() in
29119 - In FileDialog.py, remember the directory of the selected file, if
29122 - Change the names of all methods in the Wm class: they are now
29126 - Add a new method of interpreter objects, interpaddr(). This returns
29134 ---------------
29136 - Don't insist on proper case for module source files if the filename
29142 ---------------
29144 - os.environ is now all uppercase, but accesses are case insensitive,
29148 - Removed samefile(), sameopenfile(), samestat() from os.path (aka
29149 ntpath.py) -- these cannot be made to work reliably (at least I
29152 - Fixed os.pipe() so that it returns file descriptors acceptable to
29156 - Added a table of WSA error codes to socket.py.
29158 - In the select module, put the (huge) file descriptor arrays on the
29161 - The getpass module now raises KeyboardInterrupt when it sees ^C.
29163 - In mailbox.py, fix tell/seek when using files opened in text mode.
29165 - In rfc822.py, fix tell/seek when using files opened in text mode.
29167 - In the msvcrt extension module, release the interpreter lock for
29173 -----------------
29175 - The registry key used is now "1.5" instead of "1.5.x" -- so future
29180 -------------
29182 - Several improvements to freeze specifically for Windows.
29185 -----------------------
29187 - The VC++ project files and the WISE installer have been moved to the
29191 - New project files for Windows 3.1 port by Jim Ahlstrom.
29193 - Got rid of the obsolete subdirectory PC/setup_nt/.
29195 - The projects now use distinct filenames for the .exe, .dll, .lib and
29202 - The installer now installs more files (e.g. config.h). The idea is
29207 ---------------
29209 - New script nm2def.py by Marc-Andre Lemburg, to construct
29212 - New tool ndiff.py: Tim Peters' text diffing tool.
29214 - Various and sundry improvements to the freeze script.
29216 - The script texi2html.py (which was part of the Doc tree but is no
29219 - Some generalizations in the webchecker code. There's now a
29222 - The ftpmirror.py script now handles symbolic links properly, and
29225 - The 1.5.1 tabnanny.py suffers an assert error if fed a script whose
29229 ------------
29231 - Added missing prototypes for PyEval_CallFunction() and
29234 - New macro PyList_SET_ITEM().
29236 - New macros to access object members for PyFunction, PyCFunction
29239 - New APIs PyImport_AppendInittab() and PyImport_ExtendInittab() to
29240 dynamically add one or many entries to the table of built-in modules.
29242 - New macro Py_InitModule3(name, methods, doc) which calls
29243 Py_InitModule4() with appropriate arguments. (The -4 variant requires
29246 - New APIs PySys_WriteStdout() and PySys_WriteStderr() to write to
29247 sys.stdout or sys.stderr using a printf-like interface. (Used in
29250 - New APIs for conversion between Python longs and C 'long long' if
29253 - PySequence_In() is now called PySequence_Contains().
29257 - PyDict_GetItem() and PyDict_GetItemString() are changed so that they
29258 *never* raise an exception -- (even if the hash() fails, simply clear
29262 - Changes to PySequence_Tuple() and PySequence_List() to use the
29263 length of a sequence only as a hint -- if an IndexError happens
29266 - Reformatted abstract.c to give it a more familiar "look" and fixed
29269 - Add NULL pointer checks to all calls of a C function through a type
29272 - The code that initializes sys.path now calls Py_GetPythonHome()
29278 - Fixed a very old bug in the parsing of "O?" format specifiers.
29292 -------
29294 - The documentation is now unbundled. It has also been extensively
29299 course, the unbundled documentation sources still released -- just not
29302 - All bugs noted on the errors page (and many unnoted) are fixed. All
29305 - No longer a core dump when attempting to print (or repr(), or str())
29313 -------------
29315 - The raise statement can now be used without arguments, to re-raise
29321 --------------------------
29323 - The implementation of import has changed to use a mutex (when
29328 - Rewrote the finalization code almost completely, to be much more
29330 will now generally be able to reference built-in names such as None
29333 - Case-insensitive platforms such as Mac and Windows require the case
29337 - The code for figuring out the default path now distinguishes between
29342 ------------------------
29344 - The tokenizer can now warn you when your source code mixes tabs and
29346 worth in spaces. Use "python -t" or "python -v" to enable this
29347 option. Use "python -tt" to turn the warnings into errors. (See also
29350 - Return unsigned characters from tok_nextc(), so '\377' isn't
29353 - Fixed two pernicious bugs in the tokenizer that only affected AIX.
29359 ------------------------------------
29361 - There's a new version of Misc/python-mode.el (the Emacs mode for
29365 - There are two new tools in Tools/scripts: tabnanny.py and
29370 - Some new demo programs:
29372 Demo/tkinter/guido/paint.py -- Dave Mitchell
29373 Demo/sockets/unixserver.py -- Piet van Oostrum
29376 - Much better freeze support. The freeze script can now freeze
29381 - Version 1.0 of the faq wizard is included (only very small changes
29384 - New feature for the ftpmirror script: when removing local files
29385 (i.e., only when -r is used), do a recursive delete.
29388 -------------------------------
29390 - Get rid of the check for -linet -- recent Sequent Dynix systems don't
29393 - Some changes because gcc on SGI doesn't support '-all'.
29395 - Changed the build rules to use $(LIBRARY) instead of
29396 -L.. -lpython$(VERSION)
29399 - Fix the bug where the '# dgux is broken' comment in the Makefile
29402 - Changes for AIX: install the python.exp file; properly use
29406 - Deleted some Makefile targets only used by the (long obsolete)
29410 -----------------
29412 - Performance and threading improvements to the socket and bsddb
29415 - Added operator.__not__ and operator.not_.
29417 - In the thread module, when a thread exits due to an unhandled
29421 - Fixed a number of small bugs in the cPickle module.
29423 - Changed find() and rfind() in the strop module so that
29424 find("x","",2) returns -1, matching the implementation in string.py.
29426 - In the time module, be more careful with the result of ctime(), and
29429 - Doc strings contributed by Mitch Chapman to the termios, pwd, gdbm
29432 - Added the LOG_SYSLOG constant to the syslog module, if defined.
29435 ------------------------
29437 - All standard library modules have been converted to an indentation
29438 style using either only tabs or only spaces -- never a mixture -- if
29440 that the new -t option (see above) won't complain about standard
29443 - New standard library modules:
29445 threading -- GvR and the thread-sig
29446 Java style thread objects -- USE THIS!!!
29448 getpass -- Piers Lauder
29452 imaplib -- Piers Lauder
29455 poplib -- David Ascher, Piers Lauder
29458 smtplib -- Dragon De Monsyne
29461 - Some obsolete modules moved to a separate directory (Lib/lib-old)
29474 - New version of the PCRE code (Perl Compatible Regular Expressions --
29479 - Interface change in the copy module: a __deepcopy__ method is now
29482 - Feature change in the tokenize module: differentiate between NEWLINE
29486 - Several bugfixes to the urllib module. It is now truly thread-safe,
29492 - New version of the xmllib module (this time with a test suite!) by
29495 - Added debugging code to the telnetlib module, to be able to trace
29498 - In the rfc822 module, added support for deleting a header (still no
29504 - The normpath() function in the dospath and ntpath modules no longer
29505 does case normalization -- for that, use the separate function
29510 - New command supported by the ftplib module: rmd(); also fixed some
29513 - The profile module now uses a different timer function by default --
29517 - The tempfile module now recovers when os.getcwd() raises an
29520 - Fixed some bugs in the random module; gauss() was subtly wrong, and
29524 - Better default seed in the whrandom module, courtesy Andrew Kuchling.
29526 - Fix slow close() in shelve module.
29528 - The Unix mailbox class in the mailbox module is now more robust when
29533 - Added a rmtree() function to the copy module.
29535 - Fixed several typos in the pickle module. Also fixed problems when
29538 - Added docstrings and fixed a typo in the py_compile and compileall
29544 - Some performance tweaks by Jeremy Hylton to the gzip module.
29546 - Fixed a bug in the merge order of dictionaries in the ConfigParser
29549 - In the multifile module, support the optional second parameter to
29552 - Several fixes to the gopherlib module by Lars Marius Garshol. Also,
29555 - Fixed a tiny bug in format_exception() in the traceback module.
29559 - The httplib module is more robust when servers send a short response
29560 -- courtesy Tim O'Malley.
29563 -------------------
29565 - Various typos and bugs fixed.
29567 - New module Tkdnd implements a drag-and-drop protocol (within one
29570 - The event_*() widget methods have been restructured slightly -- they
29573 - The interfaces for the bind*() and unbind() widget methods have been
29580 - Variable objects now have trace methods to interface to Tcl's
29583 - Image objects now have an optional keyword argument, 'master', to
29587 - There's a new global call, Tkinter.NoDefaultRoot(), which disables
29593 - The 'exit' command is deleted from the Tcl interpreter, since it
29597 - Tcl_Finalize() is now registered as a Python low-level exit handle,
29601 ----------------
29603 - New function PyThreadState_GetDict() returns a per-thread dictionary
29604 intended for storing thread-local global variables.
29606 - New functions Py_ReprEnter() and Py_ReprLeave() use the per-thread
29610 - New function PyObject_Not(x) calculates (not x) according to Python's
29613 - New function _PyModule_Clear(), which clears a module's dictionary
29618 - New function PyImport_ExecCodeModuleEx(), which extends
29622 - New functions Py_GetPythonHome() and Py_SetPythonHome(), intended to
29625 - New global flag Py_FrozenFlag is set when this is a "frozen" Python
29629 - New global flag Py_TabcheckFlag is incremented by the -t option and
29634 -----------------------------------------
29636 - Improved the error message when an attribute of an attribute-less
29637 object is requested -- include the name of the attribute and the type
29640 - Sped up int(), long(), float() a bit.
29642 - Fixed a bug in list.sort() that would occasionally dump core.
29644 - Fixed a bug in PyNumber_Power() that caused numeric arrays to fail
29647 - Fixed a number of bugs in the file reading code, at least one of
29652 - Performance hack by Vladimir Marangozov for stack frame creation.
29654 - Make sure setvbuf() isn't used unless HAVE_SETVBUF is defined.
29657 -------------
29659 - The .lib files are now part of the distribution; they are collected
29662 - The extension modules (.pyd files) are now collected in a separate
29665 - The case of a module's filename must now match the case of the
29667 experimental feature -- if it turns out to break in too many
29669 It can be disabled on a per-case basis by setting the environment
29684 - Newly documentated module: BaseHTTPServer.py, thanks to Greg Stein.
29686 - Added doc strings to string.py, stropmodule.c, structmodule.c,
29689 - Many nits fixed in the manuals, thanks to Fred Drake and many others
29697 - New module: telnetlib.py (a simple telnet client library).
29699 - New tool: Tools/versioncheck/, by Jack Jansen.
29701 - Ported zlibmodule.c and bsddbmodule.c to NT; The project file for MS
29705 - Many small changes again to Tkinter.py -- mostly bugfixes and adding
29709 - The re module and its documentation are up to date with the latest
29710 version released to the string-sig (Dec. 22).
29712 - Stop test_grp.py from failing when the /etc/group file is empty
29715 - Fix bug in integer conversion (mystrtoul.c) that caused
29718 - The VC++ 4.2 project file should be complete again.
29720 - In tempfile.py, use a better template on NT, and add a new optional
29725 - Fixed some bugs in the FAQ wizard, and converted it to use re
29728 - Fixed a mysteriously undetected error in dlmodule.c (it was using a
29731 - Fixed bug in import.c which wasn't using the new "dos-8x3" name yet.
29733 - Hopefully harmless changes to the build process to support shared
29737 - Fixed a bug in the new format string error checking in getargs.c.
29739 - A simple fix for infinite recursion when printing __builtins__:
29743 - Fixed lib-tk/SimpleDialog.py to keep the dialog visible even if the
29746 - Fixed the two most annoying problems with ftp URLs in
29758 - Fixed a bug in cPickle.c that caused it to crash right away because
29761 - Changes in pickle.py and cPickle.c: when unpickling an instance of a
29771 - Locale support in he "re" (Perl regular expressions) module. Use
29772 the flag re.L (or re.LOCALE) to enable locale-specific matching
29773 rules for \w and \b. The in-line syntax for this flag is (?L).
29775 - The built-in function isinstance(x, y) now also succeeds when y is
29778 - repr() and str() of class and instance objects now reflect the
29781 - Module "ni" has been removed. (If you really need it, it's been
29787 - The thread module is now automatically included when threads are
29791 - New command line option "-x" to skip the first line of the script;
29792 handy to make executable scripts on non-Unix platforms.
29794 - In importdl.c, add the RTLD_GLOBAL to the dlopen() flags. I
29798 - The Windows installer now installs in the "Program Files" folder on
29801 - The Windows configuration adds a new main program, "pythonw", and
29809 - Lots of improvements to emacs-mode.el again. See Barry's web page:
29812 - Lots of improvements and additions to the library reference manual;
29815 - Doc strings for the following modules: rfc822.py, posixpath.py,
29818 - Some more regression testing.
29820 - An optional 4th (maxsplit) argument to strop.replace().
29822 - Fixed handling of maxsplit in string.splitfields().
29824 - Tweaked os.environ so it can be pickled and copied.
29826 - The portability problems caused by indented preprocessor commands
29829 - In random.py, added Pareto and Weibull distributions.
29831 - The crypt module is now disabled in Modules/Setup.in by default; it
29835 - Some improvements to the _tkinter build line suggested by Case Roole.
29837 - A full suite of platform specific files for NetBSD 1.x, submitted by
29840 - New Solaris specific header STROPTS.py.
29842 - Moved a confusing occurrence of *shared* from the comments in
29846 - Changed the default mode for directories to be group-writable when
29849 - Check for pthread support in "-l_r" for FreeBSD/NetBSD, and support
29852 - Support FreeBSD and NetBSD in posixfile.py.
29854 - Support for the "event" command, new in Tk 4.2. By Case Roole.
29856 - Add Tix_SafeInit() support to tkappinit.c.
29858 - Various bugs fixed in "re.py" and "pcre.c".
29860 - Fixed a bug (broken use of the syntax table) in the old "regexpr.c".
29862 - In frozenmain.c, stdin is made unbuffered too when PYTHONUNBUFFERED
29865 - Provide default blocksize for retrbinary in ftplib.py (Skip
29868 - In NT, pick the username up from different places in user.py (Jeff
29871 - Patch to urlparse.urljoin() for ".." and "..#1", Marc Lemburg.
29873 - Many small improvements to Jeff Rush' OS/2 support.
29875 - ospath.py is gone; it's been obsolete for so many years now...
29877 - The reference manual is now set up to prepare better HTML (still
29880 - Add special handling to /Tools/freeze for Python modules that are
29883 - Tools/faqwiz 0.8.3 -- add an option to suppress URL processing
29886 - Added ConfigParser.py, a generic parser for sectioned configuration
29889 - In _localemodule.c, LC_MESSAGES is not always defined; put it
29892 - Typo in resource.c: RUSAGE_CHILDERN -> RUSAGE_CHILDREN.
29894 - Demo/scripts/newslist.py: Fix the way the version number is gotten
29897 - PyArg_Parse[Tuple] now explicitly check for bad characters at the
29900 - Revamped PC/example_nt to support VC++ 5.x.
29902 - <listobject>.sort() now uses a modified quicksort by Raymund Galvin,
29906 - Added "uue" as an alias for "uuencode" to mimetools.py. (Hm, the
29908 :-( ).
29910 - pickle.py requires integers in text mode to be in decimal notation
29914 - In string.atof(), don't fail when the "re" module is unavailable.
29918 - A bunch of small fixes and improvements to Tkinter.py.
29920 - Fixed a buffer overrun in PC/getpathp.c.
29929 - The Windows NT/95 installer now includes full HTML of all manuals.
29936 - sys.ps1 and sys.ps2 can now arbitrary objects; their str() is
29939 - The reference manual is brought up to date (more or less -- it still
29942 - The icons used by latex2html are now included in the Doc
29947 - For all you would-be proselytizers out there: a new version of
29953 - A new version of the Python mode for Emacs is included as
29954 Misc/python-mode.el. There are too many new features to list here.
29957 - New module fileinput makes iterating over the lines of a list of
29961 - There's full OS/2 support, courtesy Jeff Rush. To build the OS/2
29966 - On Linux, the configure script now uses '-Xlinker -export-dynamic'
29967 instead of '-rdynamic' to link the main program so that it exports its
29972 - Some Tkinter resstructuring: the geometry methods that apply to a
29981 - New, RFC-822 conformant parsing of email addresses and address lists
29984 - New, revamped tkappinit.c with support for popular packages (PIL,
29988 using the cool line-breaking feature of most Bourne shells.
29990 - New socket method connect_ex() returns the error code from connect()
29994 - New "locale" module with (still experimental) interface to the
30002 "C") after locale-changing calls.) See the library manual. (Alas, the
30006 - Memory leak plugged in Py_BuildValue when building a dictionary.
30008 - Shared modules can now live inside packages (hierarchical module
30011 - Improved policy for __builtins__: this is a module in __main__ and a
30014 - Python no longer catches SIGHUP and SIGTERM by default. This was
30019 - New Python/C API PyNumber_CoerceEx() does not return an exception
30022 rather than return false as in Python 1.4 -- it once again will return
30025 - The errno module is changed again -- the table of error messages
30029 - New module xmllib, to parse XML files. By Sjoerd Mullender.
30031 - New C API PyOS_AfterFork() is called after fork() in posixmodule.c.
30036 - Fixed most occurrences of fatal errors due to missing thread state.
30038 - For vgrind (a flexible source pretty printer) fans, there's a simple
30041 - Fixed memory leak in exec statement.
30043 - The test.pystone module has a new function, pystones(loops=LOOPS),
30047 - Package directories now *require* the presence of an __init__.py (or
30052 - Fixed some strange exceptions in __del__ methods in library modules
30053 (e.g. urllib). This happens because the built-in names are already
30057 - The table of built-in module initializers is replaced by a pointer
30064 - The warning about a thread still having a frame now only happens in
30067 - Change the signal finalization so that it also resets the signal
30071 - New version of tokenize.py (by Ka-Ping Yee) recognizes raw string
30074 - The copy module now also uses __dict__.update(state) instead of
30078 - New module reconvert translates old-style (regex module) regular
30079 expressions to new-style (re module, Perl-style) regular expressions.
30081 - Most modules that used to use the regex module now use the re
30083 Perl-style regular expressions.
30085 - The (very old, backwards compatibility) regexp.py module has been
30088 - Restricted execution (rexec): added the pcre module (support for the
30091 - New version of Jim Fulton's CObject object type, adds
30094 - Some patches to Lee Busby's fpectl mods that accidentally didn't
30097 - In the string module, add an optional 4th argument to count(),
30100 - Patch for the nntplib module by Charles Waldman to add optional user
30104 - The str() function for class objects now returns
30107 - The parsing of \xXX escapes no longer relies on sscanf().
30109 - The "sharedmodules" subdirectory of the installation is renamed to
30110 "lib-dynload". (You may have to edit your Modules/Setup file to fix
30113 - Fixed Don Beaudry's mess-up with the OPT test in the configure
30118 - Fixed Barry's mess-up with {}.get(), and added test cases for it.
30120 - Shared libraries didn't quite work under AIX because of the change
30131 - faqwiz.py: version 0.8; Recognize https:// as URL; <html>...</html>
30135 - nntplib.py: Fixed some bugs reported by Lars Wirzenius (to Debian)
30139 - struct module: ignore most whitespace in format strings.
30141 - urllib.py: close the socket and temp file in URLopener.retrieve() so
30144 - All standard exceptions are now classes by default; use -X to make
30147 - There's a new standard exception hierarchy, defined in the standard
30153 - Three new C API functions:
30155 - int PyErr_GivenExceptionMatches(obj1, obj2)
30160 - int PyErr_ExceptionMatches(obj)
30166 - void PyErr_NormalizeException(typeptr, valptr, tbptr)
30179 - Another new C API function: PyErr_NewException() creates a new
30180 exception class derived from Exception; when -X is given, it creates a
30183 - core interpreter: remove the distinction between tuple and list
30188 - classes: Allow assignments to an instance's __dict__ or __class__,
30189 so you can change ivars (including shared ivars -- shock horror) and
30190 change classes dynamically. Also make the check on read-only
30191 attributes of classes less draconic -- only the specials names
30195 - Two new built-in functions: issubclass() and isinstance(). Both
30202 - configure: Added configuration tests for presence of alarm(),
30205 - Doc/Makefile: changed latex2html targets.
30207 - classes: Reverse the search order for the Don Beaudry hook so that
30210 - Changed the checks made in Py_Initialize() and Py_Finalize(). It is
30217 - Completely disable the declarations for malloc(), realloc() and
30222 - *Before* (instead of after) signalmodule.o is added, remove both
30226 - Added reop to PC/config.c
30228 - configure: Decided to use -Aa -D_HPUX_SOURCE on HP-UX platforms.
30229 Removed outdated HP-UX comments from README. Added Cray T3E comments.
30231 - Various renames of statically defined functions that had name
30235 - urllib.py: Interpret three slashes in file: URL as local file (for
30238 - copy.py: Make sure the objects returned by __getinitargs__() are
30244 - Added definition of AR to toplevel Makefile. Renamed @buildno temp
30247 - Moved Include/assert.h to Parser/assert.h, which seems to be the
30250 - Tweaked the dictionary lookup code again for some more speed
30253 - NT build: Changed the way python15.lib is included in the other
30257 - regrtest.py: Change default verbosity so that there are only three
30258 levels left: -q, default and -v. In default mode, the name of each
30259 test is now printed. -v is the same as the old -vv. -q is more quiet
30262 - Removed the old FAQ from the distribution. You now have to get it
30265 - Removed the PC/make_nt.in file from the distribution; it is no
30268 - Changed the build sequence so that shared modules are built last.
30271 - Improved test for GNU MP v1 in mpzmodule.c
30273 - fileobject.c: ftell() on Linux discards all buffered data; changed
30276 - configure.in, configure, importdl.c: NeXT sharedlib fixes
30278 - tupleobject.c: PyTuple_SetItem asserts refcnt==1
30280 - resource.c: Different strategy regarding whether to declare
30281 getrusage() and getpagesize() -- #ifdef doesn't work, Linux has
30285 - importdl.c, configure*: set sharedlib extensions properly for NeXT
30287 - configure*, Makefile.in, Modules/Makefile.pre.in: AIX shared libraries
30290 - reopmodule.c, regexmodule.c, regexpr.c, zlibmodule.c: needed casts
30293 - _tkinter.c: removed buggy mac #ifndef
30295 - Doc: various Mac documentation changes, added docs for 'ic' module
30297 - PC/make_nt.in: deleted
30299 - test_time.py, test_strftime.py: tweaks to catch %Z (which may return
30302 - test_rotor.py: print b -> print `b`
30304 - Tkinter.py: (tagOrId) -> (tagOrId,)
30306 - Tkinter.py: the Tk class now also has a configure() method and
30309 - dict.get(key[, default]) returns dict[key] if it exists, or default
30314 - Tools/webchecker/: some small changes to webchecker.py; added
30317 - Dictionary objects now have a get() method (also in UserDict.py).
30321 - Tools/scripts/logmerge.py: print the author, too.
30323 - Changes to import: support for "import a.b.c" is now built in. See
30328 changed to match this -- it is simply declared obsolete (while at the
30329 same time, it is documented...:-( ).
30334 - More changes to import: the site.py module is now imported by
30335 default when Python is initialized; use -S to disable it. The site.py
30336 module extends the path with several more directories: site-packages
30337 inside the lib/python1.5/ directory, site-python in the lib/
30343 - Changes to standard library subdirectory names: those subdirectories
30345 e.g. lib-tk, lib-stdwin, plat-win, plat-linux2, plat-sunos5, dos-8x3.
30346 The test suite is now a package -- to run a test, you must now use
30349 - A completely new re.py module is provided (thanks to Andrew
30353 module and underlying parser and engine are still present -- while
30357 - The posix module now has a strerror() function which translates an
30360 - The emacs.py module (which was long obsolete) has been removed.
30362 - The universal makefile Misc/Makefile.pre.in now features an
30364 $exec_prefix/lib/python$VERSION/site-packages/.
30366 - The install-sh script is installed with the other configuration
30369 - It turns out whatsound.py and sndhdr.py were identical modules.
30374 - Class objects have a new attribute, __module__, giving the name of
30378 - Many extension modules no longer issue a fatal error when their
30383 - Most extension modules now raise class-based exceptions (except when
30384 -X is used).
30386 - Subtle changes to PyEval_{Save,Restore}Thread(): always swap the
30387 thread state -- just don't manipulate the lock if it isn't there.
30389 - Fixed a bug in Python/getopt.c that made it do the wrong thing when
30390 an option was a single '-'. Thanks to Andrew Kuchling.
30392 - New module mimetypes.py will guess a MIME type from a filename's
30395 - Windows: the DLL version is now settable via a resource rather than
30399 - urllib.py is now threadsafe -- it now uses re instead of regex, and
30402 - Many other library modules that used to use
30403 sys.exc_{type,value,traceback} are now more thread-safe by virtue of
30406 - The functions in popen2 have an optional buffer size parameter.
30410 - Alas, the thread support for _tkinter released with 1.5a3 didn't
30413 must compile with a -I option pointing to the standard Tcl source
30416 - The errno extension module adds two tables: errorcode maps errno
30419 posix.strerror() now does the same, but alla...) (Marc-Andre Lemburg)
30421 - The readline extension module now provides some interfaces to
30426 built-ins and globals in __main__; when completing
30438 - The traceback.py module has a new function tb_lineno() by Marc-Andre
30441 right linenumber when -O is used. Rather than guessing whether -O is
30444 - Fixed Demo/tkinter/matt/canvas-moving-or-creating.py: change bind()
30447 - The pystone script is now a standard library module. Example use:
30450 - The import of the readline module in interactive mode is now also
30451 attempted when -i is specified. (Yes, I know, giving in to Marc-Andre
30452 Lemburg, who asked for this. :-)
30454 - rfc822.py: Entirely rewritten parseaddr() function by Sjoerd
30459 - pprint.py: correctly emit trailing "," in singleton tuples.
30461 - _tkinter.c: export names for its type objects, TkappType and
30464 - pickle.py: use __module__ when defined; fix a particularly hard to
30474 - config.h is now installed (at last) in
30480 - The imp module now supports parts of the functionality to implement
30483 added for those functions in the built-in imp module that are still
30488 - The % operator on string objects now allows arbitrary nested parens
30491 - Reverse the order in which Setup and Setup.local are passed to the
30495 modules need non-standard options.)
30497 - Added PyImport_ImportModuleEx(name, globals, locals, fromlist); this
30502 - The 'p' format in the struct extension module alloded to above is
30505 - The types.py module now uses try-except in a few places to make it
30511 - In urllib.py: added separate administration of temporary files
30514 the user had passed a non-temp file into it. Also, in basejoin(),
30518 - The Windows build procedure and project files are now based on
30523 - Added casts and changed some return types in regexpr.c to avoid
30526 - The AIX build tools for shared libraries now supports VPATH. (Donn
30529 - By default, disable the "portable" multimedia modules audioop,
30530 imageop, and rgbimg, since they don't work on 64-bit platforms.
30532 - Fixed a nasty bug in cStringIO.c when code was actually using the
30536 - For those who think they need it, there's a "user.py" module. This
30537 is *not* imported by default, but can be imported to run user-specific
30540 - Various speedups suggested by Fredrik Lundh, Marc-Andre Lemburg,
30543 - Added os.altsep; this is '/' on DOS/Windows, and None on systems
30546 - os.py: Write out the dynamic OS choice, to avoid exec statements.
30550 - The obsolete exception AccessError is now really gone.
30552 - Tools/faqwiz/: New installation instructions show how to maintain
30559 - Documentation for the relatively new modules "keyword" and "symbol"
30563 - In module bisect.py, but functions have two optional argument 'lo'
30567 - In ftplib.py, changed most methods to return their status (even when
30570 - main() now calls setlocale(LC_ALL, ""), if setlocale() and
30573 - Changes to configure.in, the configure script, and both
30585 --------
30587 - If you are using the setuid script C wrapper (Misc/setuid-prog.c),
30591 -------------
30593 - Because of various (small) incompatible changes in the Python
30597 - The default module search path is now much saner. Both on Unix and
30605 - A new version of python-mode.el for Emacs has been included. Also,
30606 a new file ccpy-style.el has been added to configure Emacs cc-mode for
30609 - On Unix, when using sys.argv[0] to insert the script directory in
30617 - It is now recommended to use ``#!/usr/bin/env python'' instead of
30620 is more portable than that of /usr/local/bin/python -- scripts almost
30622 non-standard place. Note that this doesn't work for CGI scripts since
30626 - The silly -s command line option and the corresponding
30630 - Most problems on 64-bit platforms should now be fixed. Andrew
30634 - Fixed a bug where multiple anonymous tuple arguments would be mixed up
30639 - The hacks that the dictionary implementation used to speed up
30644 - All traces of support for the long dead access statement have been
30647 - Plugged the two-byte memory leak in the tokenizer when reading an
30650 - There's a -O option to the interpreter that removes SET_LINENO
30656 (pdb) can't set breakpoints on lines in -O mode. The traceback module
30661 consider the -O option a "teaser". Without -O, the assert statement
30663 is false, the assertion is not checked. __debug__ is a built-in
30664 variable whose value is initialized to track the -O flag (it's true
30665 iff -O is not specified). With -O, no code is generated for assert
30671 -----------
30673 - It's much faster (almost twice for pystone.py -- see
30676 - Some speedup by using separate free lists for method objects (both
30679 - Big speedup by allocating frame objects with a single malloc() call.
30683 - Significant speedup by inlining some common opcodes for common operand
30684 types (e.g. i+i, i-i, and list[i]). Fredrik Lundh.
30686 - Small speedup by reordering the method tables of some common
30689 - Big optimization to the read() method of file objects. A read()
30697 -------------
30699 - Many new pieces of library documentation were contributed, mostly by
30705 pressure to document their own contributed modules :-). Note that
30706 printing the documentation now kills fewer trees -- the margins have
30709 - I have started documenting the Python/C API. Unfortunately this project
30714 - The posix module (and hence os.py) now has doc strings! Thanks to Neil
30720 ----------------
30722 - Private variables with leading double underscore are now a permanent
30727 - There's new string literal syntax for "raw strings". Prefixing a string
30729 string; for example, r'\n' is a two-character string consisting of a
30734 included in the string; for example, r'\'' is a two-character string
30739 - There's a simple assert statement, and a new exception
30746 - The raise statement has a new feature: when using "raise SomeClass,
30752 - Duplicate keyword arguments are now detected at compile time;
30756 Changes to built-in features
30757 ----------------------------
30759 - There's a new exception FloatingPointError (used only by Lee Busby's
30762 - The obsolete exception ConflictError (presumably used by the long
30765 - There's a new function sys.exc_info() which returns the tuple
30766 (sys.exc_type, sys.exc_value, sys.exc_traceback) in a thread-safe way.
30768 - There's a new variable sys.executable, pointing to the executable file
30771 - The sort() methods for lists no longer uses the C library qsort(); I
30777 - The semantics of comparing two dictionaries have changed, to make
30785 - The semantics of try-except have changed subtly so that calling a
30790 -- the sys.exc_* variables are restored to their previous value when
30793 - There's a new "buffer" interface. Certain objects (e.g. strings and
30801 - String interning: dictionary lookups are faster when the lookup
30805 automatically interned, and there's a new built-in function intern(s)
30811 - Dictionary objects have several new methods; clear() and copy() have
30817 - The intrinsic function dir() is much smarter; it looks in __dict__,
30820 - The intrinsic functions int(), long() and float() can now take a
30825 - When a module is deleted, its globals are now deleted in two phases.
30832 - It is no longer an error for a function to be called without a
30833 global variable __builtins__ -- an empty directory will be provided
30836 - Guido's corollary to the "Don Beaudry hook": it is now possible to
30840 class. Jim Fulton will love it -- it also works with instances of his
30846 - Another change is that the Don Beaudry hook is now invoked when
30851 - New optional parameter to the readlines() method of file objects.
30857 - Complex numbers no longer have the ".conj" pseudo attribute; use
30858 z.conjugate() instead, or complex(z.real, -z.imag). Complex numbers
30861 - The complex() function now looks for a __complex__() method on class
30864 - Long integers now support arbitrary shift counts, so you can now
30868 - The hex() and oct() functions have been changed so that for regular
30869 integers, they never emit a minus sign. For example, on a 32-bit
30870 machine, oct(-1) now returns '037777777777' and hex(-1) returns
30873 the result in memory :-)
30875 - The hash() function computes better hashes for several data types,
30880 ---------------------
30882 - New extension modules cStringIO.c and cPickle.c, written by Jim
30889 - New extension module zlibmodule.c, interfacing to the free zlib
30894 - New module readline; see the "miscellaneous" section above.
30896 - New Unix extension module resource.c, by Jeremy Hylton, provides
30900 - New extension puremodule.c, by Barry Warsaw, which interfaces to the
30907 ----------------------------
30909 - The struct extension module has several new features to control byte
30916 big-endian data and '<' forces little-endian data; these also select
30920 - The array module supports uppercase format codes for unsigned data
30923 - The fcntl extension module now exports the needed symbolic
30927 - The extension modules dbm, gdbm and bsddb now check that the
30930 - The dbhash module is no more. Use bsddb instead. (There's a third
30934 - The gdbm module now supports a sync() method.
30936 - The socket module now has some new functions: getprotobyname(), and
30939 - Various modules now export their type object: socket.SocketType,
30942 - The socket module's accept() method now returns unknown addresses as
30946 - The pthread support for the thread module now works on most platforms.
30948 - STDWIN is now officially obsolete. Support for it will eventually
30951 - The binascii extension module is now hopefully fully debugged.
30952 (XXX Oops -- Fredrik Lundh promised me a uuencode fix that I never
30955 - audioop.c: added a ratecv() function; better handling of overflow in
30958 - posixmodule.c: now exports the O_* flags (O_APPEND etc.). On
30960 exception is raises) is renamed -- its string value is now "os.error",
30965 - A new version of the al (audio library) module for SGI was
30968 - The regex module has a new function get_syntax() which retrieves the
30973 - The "new" module (which creates new objects of various types) once
30977 - A problem has been fixed in the rotor module: on systems with signed
30978 characters, rotor-encoded data was not portable when the key contained
30979 8-bit characters. Also, setkey() now requires its argument rather
30982 - The sys.builtin_module_names variable is now a tuple. Another new
30986 - The specs for time.strftime() have undergone some revisions. It
30994 - The nis module seems broken when used with NIS+; unfortunately
30999 -------------------
31001 - New (still experimental) Perl-style regular expression module,
31003 syntax; the new interface avoids the thread-unsafety of the regex
31010 - New module gzip.py; see zlib above.
31012 - New module keyword.py exports knowledge about Python's built-in
31013 keywords. (New version by Ka-Ping Yee.)
31015 - New module pprint.py (with documentation) which supports
31016 pretty-printing of lists, tuples, & dictionaries recursively. By Fred
31019 - New module code.py. The function code.compile_command() can
31026 - There is now a library module xdrlib.py which can read and write the
31032 --------------------------
31034 - Module codehack.py is now completely obsolete.
31036 - The pickle.py module has been updated to make it compatible with the
31038 old all-ASCII format compatible with the old pickle.py, still much
31042 - A new helper module, copy_reg.py, is provided to register extensions
31045 - Revamped module tokenize.py is much more accurate and has an
31047 source code. Contributed by Ka-Ping Yee.
31049 - In ihooks.py, ModuleLoader.load_module() now closes the file under
31052 - The tempfile.py module has a new class, TemporaryFile, which creates
31057 - Changes to the cgi.py module: Most imports are now done at the
31071 - httplib.py: the socket object is no longer closed; all HTTP/1.*
31072 responses are now accepted; and it is now thread-safe (by not using
31075 - BaseHTTPModule.py: treat all HTTP/1.* versions the same.
31077 - The popen2.py module is now rewritten using a class, which makes
31081 - Added timezone support to the rfc822.py module, in the form of a
31083 Also added recognition of some non-standard date formats, by Lars
31086 - mhlib.py: various enhancements, including almost compatible parsing
31090 - The StringIO.StringIO class now supports readline(nbytes). (Lars
31093 - UserDict.py supports the new dictionary methods as well.
31095 - Improvements for whrandom.py by Tim Peters: use 32-bit arithmetic to
31099 - Module ftplib.py: added support for parsing a .netrc file (Fred
31105 - urllib.py: the ftp cache is now limited to 10 entries. Added
31117 - In urlparse.py, there is a cache for results in urlparse.urlparse();
31121 - shelve.py: use cPickle and cStringIO when available. Also added
31125 - The mimetools.py module now uses the available Python modules for
31126 decoding quoted-printable, uuencode and base64 formats, rather than
31129 - The python debugger (pdb.py, and its base class bdb.py) now support
31132 - The modules base64.py, uu.py and quopri.py can now be used as simple
31135 - Various small fixes to the nntplib.py module that I can't bother to
31138 - Sjoerd Mullender's mimify.py module now supports base64 encoding and
31142 - mailbox.py: Added BabylMailbox. Improved the way the mailbox is
31145 - Many more modules now correctly open files in binary mode when this
31146 is necessary on non-Unix platforms.
31148 - The copying functions in the undocumented module shutil.py are
31151 - The Writer classes in the formatter.py module now have a flush()
31154 - The sgmllib.py module accepts hyphens and periods in the middle of
31158 - The interface for the Python bytecode disassembler module, dis.py,
31165 - The imghdr.py module recognizes new image types: BMP, PNG.
31167 - The string.py module has a new function replace(str, old, new,
31172 (Remember, never import strop -- import string uses strop when
31175 - The string.join() function now accepts any sequence argument, not
31178 - The string.maketrans() requires its first two arguments to be
31183 - The regsub.py module has a function clear_cache(), which clears its
31186 is now obsolete -- use the sub() or subn() functions or methods in the
31189 - The undocumented module Complex.py has been removed, now that Python
31190 has built-in complex numbers. A similar module remains as
31195 ----------------------------
31197 - The way GNU readline is configured is totally different. The
31198 --with-readline configure option is gone. It is now an extension
31208 - New build procedure: a single library, libpython1.5.a, is now built,
31209 which contains absolutely everything except for a one-line main()
31215 - As far as I can tell, neither gcc -Wall nor the Microsoft compiler
31218 - A number of new Makefile variables have been added for special
31223 - A set of patches from Lee Busby has been integrated that make it
31225 --with-fpectl to enable the patches; the extension modules fpectl and
31229 - The support for shared libraries under AIX is now simpler and more
31232 - The Modules/makesetup script now reads a file Setup.local as well as
31237 - The Modules/makesetup script now copies any "include" lines it
31241 - The configure script is smarter about C compiler options; e.g. with
31242 gcc it uses -O2 and -g when possible, and on some other platforms it
31243 uses -Olimit 1500 to avoid a warning from the optimizer about the main
31246 - The configure script now detects whether malloc(0) returns a NULL
31250 - The configure script has a new option, --with-dec-threads, to enable
31251 DEC threads on DEC Alpha platforms. Also, --with-threads is now an
31252 alias for --with-thread (this was the Most Common Typo in configure
31255 - Many changes in Doc/Makefile; amongst others, latex2html is now used
31260 --------------------------
31262 - Because some interfaces have changed, the PYTHON_API macro has been
31266 serious problem :-)
31268 - I've completed the Grand Renaming, with the help of Roger Masse and
31273 Tools/scripts/fixcid.py -s Misc/RENAME on your source, so you can omit
31276 - Various and sundry small bugs in the "abstract" interfaces have been
31281 - New API functions PyLong_FromUnsignedLong() and
31284 - The API functions in the file cgensupport.c are no longer
31288 - PyObject_Compare() can now raise an exception. Check with
31292 - The slice interface uses an upper bound of INT_MAX when no explicit
31296 - Support for multiple independent interpreters. See Doc/api.tex,
31302 - There is now a Py_Finalize() function which "de-initializes"
31307 The old, half-hearted Py_Cleanup() routine is gone. Use of Py_Exit()
31311 - There are no known memory leaks left. While Py_Finalize() doesn't
31316 - There is now explicit per-thread state. (Inspired by, but not the
31319 - There is now better support for threading C applications. There are
31320 now explicit APIs to manipulate the interpreter lock. Read the source
31322 PyEval_{Acquire,Release}{Lock,Thread}().
31324 - The test macro DEBUG has changed to Py_DEBUG, to avoid interference
31328 - New wrappers around malloc() and friends: Py_Malloc() etc. call
31334 - New C API PyImport_Import() which uses whatever __import__() hook
31338 - It is now possible for an extension module's init function to fail
31339 non-fatally, by calling one of the PyErr_* functions and returning.
31341 - The PyInt_AS_LONG() and PyFloat_AS_DOUBLE() macros now cast their
31343 did. (Suggestion by Marc-Andre Lemburg.) Similar for PyList_GET_SIZE
31346 - Some of the Py_Get* function, like Py_GetVersion() (but not yet
31350 - Changed the run-time library to check for exceptions after object
31354 - PyFile_WriteString() and Py_Flushline() now return error indicators
31358 - There's a new function, PyArg_ParseTupleAndKeywords(), which parses
31362 - PyArg_GetInt() is gone.
31364 - It's no longer necessary to include graminit.h when calling one of
31369 - The CObject interface has a new function,
31375 -------
31377 - On popular demand, _tkinter once again installs a hook for readline
31381 - A patch by Craig McPheeters plugs the most obnoxious memory leaks,
31385 - New standard dialog modules: tkColorChooser.py, tkCommonDialog.py,
31391 - Tkinter.py: when the first Tk object is destroyed, it sets the
31396 - The Image class now has a configure method.
31398 - Added a bunch of new winfo options to Tkinter.py; we should now be
31403 - The broken bind() method on Canvas objects defined in the Canvas.py
31407 - The problem with Tkinter.py falling back to trying to import
31408 "tkinter" when "_tkinter" is not found has been fixed -- it no longer
31413 - The ScrolledText module once again supports the 'cnf' parameter, to
31417 - The _tkinter.c extension module has been revamped. It now support
31420 platforms). It also supports threading -- it is safe for one
31421 (Python-created) thread to be blocked in _tkinter.mainloop() while
31425 which requires access to the Tcl sources to get it to work -- hence it
31428 - A bug in _tkinter.c has been fixed, where Split() with a string
31431 - Unfortunately, on Windows and Mac, Tk 8.0 no longer supports
31434 how to interface with Tcl's lower-level event mechanism, or with its
31435 channels (which are like Python's file-like objects). Jack Jansen has
31441 ---------------
31443 - A new regression test suite is provided, which tests most of the
31444 standard and built-in modules. The regression test is run by invoking
31448 - New tool: faqwiz -- the CGI script that is used to maintain the
31449 Python FAQ (http://grail.cnri.reston.va.us/cgi-bin/faqw.py). In
31452 - New tool: webchecker -- a simple extensible web robot that, when
31457 Languages (Vol 2, No 2); Scripting the Web with Python (pp 97-120).
31460 - New small tools: cvsfiles.py (prints a list of all files under CVS
31461 n a particular directory tree), treesync.py (a rather Guido-specific
31466 - The freeze script now also works under Windows (NT). Another
31467 feature allows the -p option to be pointed at the Python source tree
31471 - New examples (Demo/extend) that show how to use the generic
31474 - Tools/scripts/h2py.py now supports C++ comments.
31476 - Tools/scripts/pystone.py script is upgraded to version 1.1; there
31480 - Demo/classes/Rat.py completely rewritten by Sjoerd Mullender.
31484 -------------------
31486 - New project files for Developer Studio (Visual C++) 5.0 for Windows
31490 - See the note on the new module search path in the "Miscellaneous" section
31493 - Support for Win32s (the 32-bit Windows API under Windows 3.1) is
31496 - There's a new extension module, msvcrt.c, which provides various
31497 low-level operations defined in the Microsoft Visual C++ Runtime Library.
31501 - The -u option not only sets the standard I/O streams to unbuffered
31505 - The, sys.prefix and sys.exec_prefix variables point to the directory
31509 - The various os.path modules (posixpath, ntpath, macpath) now support
31514 - The ntpath module (normally used as os.path) supports ~ to $HOME
31517 - The freeze tool now works on Windows.
31519 - See also the Tkinter category for a sad note on
31522 - The truncate() method for file objects now works on Windows.
31524 - Py_Initialize() is no longer called when the DLL is loaded. You
31527 - The time module's clock() function now has good precision through
31530 - Mark Hammond will release Python 1.5 versions of PythonWin and his
31536 ---
31538 - As always, the Macintosh port will be done by Jack Jansen. He will
31552 - Changed disclaimer notice.
31554 - Added SHELL=/bin/sh to Misc/Makefile.pre.in -- some Make versions
31557 - In Lib/tkinter/Tkinter.py, removed bogus binding of <Delete> in Text
31560 - In Lib/cgi.py, bumped __version__ to 2.0 and restored a truncated
31563 - Fixed the NT Makefile (PC/vc40.mak) for VC 4.0 to set /MD for all
31567 - In Lib/py_compile.py, cast mtime to long() so it will work on Mac
31569 - Set self.rfile unbuffered (like self.wfile) in SocketServer.py, to
31572 - Version 2.83 of Misc/python-mode.el for Emacs is included.
31574 - In Modules/regexmodule.c, fixed symcomp() to correctly handle a new
31577 - In Lib/SocketServer.py, changed the mode for rfile to unbuffered.
31579 - In Objects/stringobject.c, fixed the compare function to do the
31583 - In Lib/tkinter/Tkinter.py, fixed Scale.get() to support floats.
31585 - In Lib/urllib.py, fix another case where openedurl wasn't set.
31589 - SyntaxError exceptions detected during code generation
31592 - Don't leave trailing / or \ in script directory inserted in front of
31595 - Added a note to Tools/scripts/classfix.py abouts its historical
31598 - Added Misc/Makefile.pre.in, a universal Makefile for extensions
31601 - Rewritten Misc/faq2html.py, by Ka-Ping Yee.
31603 - Install shared modules with mode 555 (needed for performance on some
31606 - Some changes to standard library modules to avoid calling append()
31607 with more than one argument -- while supported, this should be
31610 - bdb.py (and hence pdb.py) supports calling run() with a code object
31613 - Fixed an embarrassing bug cgi.py which prevented correct uploading
31618 - Added default writer to constructor of NullFormatter class.
31620 - Use binary mode for socket.makefile() calls in ftplib.py.
31622 - The ihooks module no longer "installs" itself upon import -- this
31628 - The test program for mailbox.py is now more useful.
31630 - Added getparamnames() to Message class in mimetools.py -- it returns
31631 the names of parameters to the content-type header.
31633 - Fixed a typo in ni that broke the loop stripping "__." from names.
31635 - Fix sys.path[0] for scripts run via pdb.py's new main program.
31637 - profile.py can now also run a script, like pdb.
31639 - Fix a small bug in pyclbr -- don't add names starting with _ when
31642 - Fixed a series of embarrassing typos in rexec's handling of standard
31643 I/O redirection. Added some more "safe" built-in modules: cmath,
31646 - Fixed embarrassing typo in shelve.py.
31648 - Added SliceType and EllipsisType to types.py.
31650 - In urllib.py, added handling for error 301 (same as 302); added
31653 - Fixed embarrassing typo in xdrlib.py. Also fixed typo in Setup.in
31656 - Fixed bsddbmodule.c to add binary mode indicator on platforms that
31659 - Changed last uses of #ifdef NT to #ifdef MS_WINDOWS or MS_WIN32,
31663 - Added the sources for the NT installer script used for Python
31666 - A compromise in pickle's defenses against Trojan horses: a
31667 user-defined function is now okay where a class is expected. A
31668 built-in function is not okay, to prevent pickling something that
31669 will execute os.system("rm -f *") when unpickling.
31671 - dis.py will print the name of local variables referenced by local
31674 - Improved portability of SimpleHTTPServer module to non-Unix
31677 - The thread.h interface adds an extra argument to down_sema(). This
31683 - Fixed some typos in abstract.h; corrected signature of
31687 - apply(classname, (), {}) now works even if the class has no
31690 - Implemented complex remainder and divmod() (these would dump core!).
31695 - Fixed bug in built-in complex() function which gave the wrong result
31698 - Change the hash algorithm for strings -- the multiplier is now
31701 - New default path for Windows NT, the registry structure now supports
31702 default paths for different install packages. (Mark Hammond -- the
31705 - Added more symbols to the python_nt.def file.
31707 - When using GNU readline, set rl_readline_name to "python".
31709 - The Ellipses built-in name has been renamed to Ellipsis -- this is
31710 the correct singular form. Thanks to Ka-Ping Yee, who saved us from
31713 - Bumped the PYTHON_API_VERSION to 1006, due to the Ellipses ->
31716 - Updated the library reference manual. Added documentation of
31721 - The reference manual is now maintained in FrameMaker.
31723 - Upgraded scripts Doc/partparse.py and Doc/texi2html.py.
31725 - Slight improvements to Doc/Makefile.
31727 - Added fcntl.lockf(). This should be used for Unix file locking
31730 - The getopt module now supports long option names, thanks to Lars
31733 - Plenty of changes to Tkinter and Canvas, mostly due to Fred Drake
31736 - Use more bits of time.time() in whrandom's default seed().
31738 - Performance hack for regex module's regs attribute.
31740 - Don't close already closed socket in socket module.
31742 - Correctly handle separators containing embedded nulls in
31746 - Moved fallback definition for hypot() to Python/hypot.c.
31748 - Added fallback definition for strdup, in Python/strdup.c.
31750 - Fixed some bugs where a function would return 0 to indicate an error
31751 where it should return -1.
31753 - Test for error returned by time.localtime(), and rationalized its MS
31756 - Added Modules/Setup.local file, which is processed after Setup.
31758 - Corrected bug in toplevel Makefile.in -- execution of regen script
31761 - Various and sundry NeXT configuration changes (sigh).
31763 - Support systems where libreadline needs neither termcap nor curses.
31765 - Improved ld_so_aix script and python.exp file (for AIX).
31767 - More stringent test for working <stdarg.h> in configure script.
31769 - Removed Demo/www subdirectory -- it was totally out of date.
31771 - Improved demos and docs for Fred Drake's parser module; fixed one
31785 -------------------------------------
31787 - Name mangling to implement a simple form of class-private variables.
31792 - In urllib.urlopen(): HTTP URLs containing user:passwd@host are now
31795 - In ntpath.normpath(): don't truncate to 8+3 format.
31797 - In mimetools.choose_boundary(): don't die when getuid() or getpid()
31800 - Module urllib: some optimizations to (un)quoting.
31802 - New module MimeWriter for writing MIME documents.
31804 - More changes to formatter module.
31806 - The freeze script works once again and is much more robust (using
31807 sys.prefix etc.). It also supports a -o option to specify an
31810 - New module whichdb recognizes dbm, gdbm and bsddb/dbhash files.
31812 - The Doc/Makefile targets have been reorganized somewhat to remove the
31815 - The texinfo to html filter (Doc/texi2html.py) has been improved somewhat.
31817 - "errors.h" has been renamed to "pyerrors.h" to resolve a long-standing
31820 - Linking a module compiled with a different setting for Py_TRACE_REFS now
31823 - The cgi module has a new convenience function print_exception(), which
31828 - A subtle change in the unpickling of class instances makes it possible
31832 - Documentation for os.path.splitext() (== posixpath.splitext()) has been
31835 - posixfile locking is now also correctly supported on AIX.
31837 - The tempfile module once again honors an initial setting of tmpdir. It
31840 - The traceback module has some new functions to extract, format and print
31843 - Some translation functions in the urllib module have been made a little
31846 - The addtag_* methods for Canvas widgets in Tkinter as well as in the
31850 - A tiny _test() function has been added to Tkinter.py.
31852 - A generic Makefile for dynamically loaded modules is provided in the Misc
31855 - A new version of python-mode.el for Emacs is provided. See
31858 into python-mode.el.
31860 - The configure script can finally correctly find the readline library in a
31861 non-standard location. The LDFLAGS variable is passed on the Makefiles
31864 - Shared libraries are now installed as programs (i.e. with executable
31865 permission). This is required on HP-UX and won't hurt on other systems.
31867 - The objc.c module is no longer part of the distribution. Objective-C
31870 - The sybase module is no longer part of the distribution. A much
31874 - _tkinter is now compatible with Tcl 7.5 / Tk 4.1 patch1 on Windows and
31878 - In Setup, you can now write "*shared*" instead of "*noconfig*", and you
31881 - Some more fidgeting for AIX shared libraries.
31883 - The mpz module is now compatible with GMP 2.x. (Not tested by me.)
31884 (Note -- a complete replacement by Niels Mo"ller, called gpmodule, is
31887 - A warning is written to sys.stderr when a __del__ method raises an
31890 - The configure script now defines HAVE_OLD_CPP if the C preprocessor is
31893 - All source files (except a few platform specific modules) are once again
31895 ANSI-isms have been removed or made conditional in complexobject.c,
31898 - The abstract object API has three new functions, PyObject_DelItem,
31901 - The operator module has new functions delitem and delslice, and the
31905 - The environment module is no longer supported; putenv() is now a function
31908 - Error in filter(<function>, "") has been fixed.
31910 - Unrecognized keyword arguments raise TypeError, not KeyError.
31912 - Better portability, fewer bugs and memory leaks, fewer compiler warnings,
31915 - Bug in float power boundary case (0.0 to the negative integer power)
31918 - The test of negative number to the float power has been moved from the
31919 built-in pow() function to floatobject.c (so complex numbers can yield the
31922 - The bug introduced in beta2 where shared libraries loaded (using
31925 - Modules imported as shared libraries now also have a __file__ attribute,
31927 a __file__ attribute now are built-in modules.
31929 - On the Mac, dynamically loaded modules can end in either ".slb" or
31933 - C API addition: marshal.c now supports
31936 - C API addition: getargs.c now supports
31940 - The PC versioning scheme (sys.winver) has changed once again. the
31943 "1.4.1" for Python 1.4.1 -- the beta level is not included) and
31944 <apiversion> is the four-digit PYTHON_API_VERSION (currently 1005).
31946 - h2py.py accepts whitespace before the # in CPP directives
31948 - On Solaris 2.5, it should now be possible to use either Posix threads or
31950 Python pthreads interface doesn't fully support semaphores yet -- anyone
31953 - Thread support should now work on AIX, using either DCE threads or
31956 - New file Demo/sockets/unicast.py
31958 - Working Mac port, with CFM68K support, with Tk 4.1 support (though not
31961 - New project setup for PC port, now compatible with PythonWin, with
31964 - New module site.py (XXX)
31966 - New module xdrlib.py and optional support module _xdrmodule.c (XXX)
31968 - parser module adapted to new grammar, complete w/ Doc & Demo (XXX)
31970 - regen script fixed (XXX)
31972 - new machdep subdirectories Lib/{aix3,aix4,next3_3,freebsd2,linux2} (XXX)
31974 - testall now also tests math module (XXX)
31976 - string.atoi c.s. now raise an exception for an empty input string.
31978 - At last, it is no longer necessary to define HAVE_CONFIG_H in order to
31981 - Unrecognized keyword arguments now raise TypeError rather than KeyError.
31983 - The makesetup script recognizes files with extension .so or .sl as
31986 - 'access' is no longer a reserved word, and all code related to its
31990 - Performance enhancements suggested by Sjoerd Mullender. This includes
31995 - New operations in string module: lstrip(s) and rstrip(s) strip whitespace
32003 - regsub.split() has the same addition as string.split(). regsub.splitx(s,
32007 - Final touch for AIX loading, rewritten Misc/AIX-NOTES.
32009 - In Modules/_tkinter.c, when using Tk 4.1 or higher, use className
32013 - Add #undef fabs to Modules/mathmodule.c for macintosh.
32015 - Added some macro renames for AIX in Modules/operator.c.
32017 - Removed spurious 'E' from Doc/liberrno.tex.
32019 - Got rid of some cruft in Misc/ (dlMakefile, pyimenu.el); added new
32020 Misc/gMakefile and new version of Misc/python-mode.el.
32022 - Fixed typo in Lib/ntpath.py (islink has "return false" which gives a
32025 - Added missing "from types import *" to Lib/tkinter/Canvas.py.
32027 - Added hint about using default args for __init__ to pickle docs.
32029 - Corrected typo in Inclide/abstract.h: PySequence_Lenth ->
32032 - Some improvements to Doc/texi2html.py.
32034 - In Python/import.c, Cast unsigned char * in struct _frozen to char *
32037 - In doc/ref4.tex, added note about scope of lambda bodies.
32040 -------------------------------------
32042 - Portability bug in the md5.h header solved.
32044 - The PC build procedure now really works, and sets sys.platform to a
32048 - More improvements to the installation procedure. Typing "make install"
32055 - New modules: errno, operator (XXX).
32057 - Changes for use with Numerical Python: built-in function slice() and
32063 - New documentation for errno and cgi modules.
32065 - The directory containing the script passed to the interpreter is
32069 - Optional third string argument to string.translate() specifies
32073 - Module posix (and hence module os under Unix) now supports putenv().
32079 - pdb.py can now be invoked from the command line to debug a script:
32082 - Much improved parseaddr() in rfc822.
32084 - In cgi.py, you can now pass an alternative value for environ to
32087 - You can now assign to instance variables whose name begins and ends
32090 - New version of Fred Drake's parser module and associates (token,
32093 - New PYTHON_API_VERSION value and .pyc file magic number (again!).
32095 - The "complex" internal structure type is now called "Py_complex" to
32098 - Numerous small bugs fixed.
32100 - Slight pickle speedups.
32102 - Some slight speedups suggested by Sjoerd (more coming in 1.4 final).
32104 - NeXT portability mods by Bill Bumgarner integrated.
32106 - Modules regexmodule.c, bsddbmodule.c and xxmodule.c have been
32111 -----------------------------------
32113 - Added sys.platform and sys.exec_platform for Bill Janssen.
32115 - Installation has been completely overhauled. "make install" now installs
32116 everything, not just the python binary. Installation uses the install-sh
32119 - New functions in the posix module: mkfifo, plock, remove (== unlink),
32122 - New function in the fcntl module: flock.
32124 - Shared library support for FreeBSD.
32126 - The --with-readline option can now be used without a DIRECTORY argument,
32130 - The extension tkinter has been renamed to _tkinter, to avoid confusion
32134 - Author's change of address from CWI in Amsterdam, The Netherlands, to
32137 - The math.hypot() function is now always available (if it isn't found in
32140 - The latex documentation is now compatible with latex2e, thanks to David
32143 - The expression x**y is now equivalent to pow(x, y).
32145 - The indexing expression x[a, b, c] is now equivalent to x[(a, b, c)].
32147 - Complex numbers are now supported. Imaginary constants are written with
32151 possible to create complex numbers with the new built-in function
32152 complex(re, [im]). For the footprint-conscious, complex number support can
32155 - New built-in function list() is the long-awaited counterpart of tuple().
32157 - There's a new "cmath" module which provides the same functions as the
32159 good reasons why math.sqrt(-1) still raises an exception -- you have to use
32160 cmath.sqrt(-1) to get 1j for an answer.)
32162 - The Python.h header file (which is really the same as allobjects.h except
32166 - The NDEBUG symbol is no longer used. Code that used to be dependent on
32172 - Several symbols that didn't follow the new naming scheme have been
32178 - There are now typedefs for the structures defined in config.c and
32181 - New PYTHON_API_VERSION value and .pyc file magic number.
32183 - New module Bastion. (XXX)
32185 - Improved performance of StringIO module.
32187 - UserList module now supports + and * operators.
32189 - The binhex and binascii modules now actually work.
32191 - The cgi module has been almost totally rewritten and documented.
32195 - The formatter module (for use with htmllib) has been overhauled (again).
32197 - The ftplib module now supports passive mode and has doc strings.
32199 - In (ideally) all places where binary files are read or written, the file
32203 - Dummy versions of os.path.expandvars() and expanduser() are now provided
32204 on non-Unix platforms.
32206 - Module urllib now has two new functions url2pathname and pathname2url
32212 - Micro improvements to urlparse. Added urlparse.urldefrag() which
32215 - The mailbox module now supports MH style message delimiters as well.
32217 - The mhlib module contains some new functionality: setcontext() to set the
32219 to MH commands (e.g. 1-10 or last:5).
32221 - New module mimify for conversion to and from MIME format of email
32224 - Module ni now automatically installs itself when first imported -- this
32229 - Some small performance enhancements in module pickle.
32231 - Small interface change to the profile.run*() family of functions -- more
32234 - The officially registered Mac creator for Python files is 'Pyth'. This
32237 - Added regsub.capwords(). (XXX)
32239 - Added string.capwords(), string.capitalize() and string.translate().
32242 - Fixed an interface bug in the rexec module: it was impossible to pass a
32247 - Module rfc822 now caches the headers in a dictionary for more efficient
32250 - The sgmllib module now understands a limited number of SGML "shorthands"
32253 - The tempfile module actually tries a number of different places to find a
32256 the implementation that would ignore a pre-existing tmpdir global has been
32259 - Much improved and enhanved FileDialog module for Tkinter.
32261 - Many small changes to Tkinter, to bring it more in line with Tk 4.0 (as
32264 - New socket interfaces include ntohs(), ntohl(), htons(), htonl(), and
32265 s.dup(). Sockets now work correctly on Windows. On Windows, the built-in
32270 - Bugs in bsddb module fixed (e.g. missing default argument values).
32272 - The curses extension now includes <ncurses.h> when available.
32274 - The gdbm module now supports opening databases in "fast" mode by
32277 - new variables sys.prefix and sys.exec_prefix pass corresponding
32280 - The ``new'' module now supports creating new user-defined classes as well
32283 - The soundex module now sports get_soundex() to get the soundex value for an
32284 arbitrary string (formerly it would only do soundex-based string
32287 - New object type "cobject" to safely wrap void pointers for passing them
32290 - More efficient computation of float**smallint.
32292 - The mysterious bug whereby "x.x" (two occurrences of the same
32293 one-character name) typed from the commandline would sometimes fail
32296 - The initialization of the readline function can now be invoked by a C
32299 - There's now an externally visible pointer PyImport_FrozenModules which
32302 - The argument parsing functions now support a new format character 'D' to
32305 - Various memory leaks plugged and bugs fixed.
32307 - Improved support for posix threads (now that real implementations are
32310 - Some various and sundry improvements and new entries in the Tools
32333 but including all ISO-8859-1 entity definitions), and easy to use.
32364 The tokenizer is now more tolerant of alien whitespace. Control-L in
32366 while Control-R just before the end of the line is ignored.
32368 Changes to Built-in Operations
32378 The built-in functions "input()" and "raw_input()" now use the GNU
32385 Two new built-in functions, "globals()" and "locals()", provide access
32392 The built-in function "compile()" now takes a third possible value for
32418 The optional built-in modules "dbm" and "gdbm" are more coordinated
32419 --- their "open()" functions now take the same values for their "flag"
32425 A new dbm-like module, "bsddb", has been added, which uses the BSD DB
32428 A portable (though slow) dbm-clone, implemented in Python, has been
32436 for conversion of text-encoded binary data.
32442 A module to handle the MIME encoding quoted-printable has also been
32460 the run-time API. For more detailes, read the files
32465 Numerous things I have forgotten or that are so obscure no-one will
32466 notice them anyway :-)
32473 - Changes to Misc/python-mode.el:
32474 - Wrapping and indentation within triple quote strings should work
32476 - `Standard' bug reporting mechanism (use C-c C-b)
32477 - py-mark-block was moved to C-c C-m
32478 - C-c C-v shows you the python-mode version
32479 - a basic python-font-lock-keywords has been added for Emacs 19
32480 font-lock colorizations.
32481 - proper interaction with pending-del and del-sel modes.
32482 - New py-electric-colon (:) command for improved outdenting. Also
32483 py-indent-line (TAB) should handle outdented lines better.
32484 - New commands py-outdent-left (C-c C-l) and py-indent-right (C-c C-r)
32486 - The Library Reference has been restructured, and many new and
32491 - All known bugs have been fixed. For example the pow(2,2,3L) bug on
32492 Linux has been fixed. Also the re-entrancy problems with __del__ have
32495 - All known memory leaks have been fixed.
32497 - Phase 2 of the Great Renaming has been executed. The header files
32505 - The hooks for implementing "safe-python" (better called "restricted
32507 implemented by calling the built-in function __import__, and the
32508 built-in names used in a particular scope are taken from the
32512 - The import statement now supports the syntax "import a.b.c" and
32514 exists, but one can be prototyped by replacing the built-in __import__
32517 - All machinery used by the import statement (or the built-in
32518 __import__ function) is now exposed through the new built-in module
32522 - Persistent storage is supported through the use of the modules
32527 - Documentation strings for many object types are accessible through
32532 None. Documentation strings are also supported for built-in
32539 - The __coerce__ and __cmp__ methods for user-defined classes once
32543 - The functions posix.popen() and posix.fdopen() now have an optional
32545 (mode) argument to 'r' -- in analogy to the built-in open() function.
32548 - The thread.exit_thread() function now raises SystemExit so that
32551 - Improved X11 and Motif support, by Sjoerd Mullender. This extension
32554 - Improved support for the Apple Macintosh, in part by Jack Jansen,
32560 - Improved version for Windows NT, by Mark Hammond. This is being
32563 - Used autoconf 2.0 to generate the configure script. Adapted
32566 - It now builds on the NeXT without intervention, even on the 3.3
32567 Sparc pre-release.
32569 - Characters passed to isspace() and friends are masked to nonnegative
32572 - Correctly compute pow(-3.0, 3).
32574 - Fix portability problems with getopt (configure now checks for a
32575 non-GNU getopt).
32577 - Don't add frozenmain.o to libPython.a.
32579 - Exceptions can now be classes. ALl built-in exceptions are still
32582 - The socket module exports a long list of socket related symbols.
32583 (More built-in modules will export their symbolic constants instead of
32586 - When a module object is deleted, it clears out its own dictionary.
32590 - Changed the error handling by [new]getargs() e.g. for "O&".
32592 - Dynamic loading of modules using shared libraries is supported for
32595 - Support "O&", "[...]" and "{...}" in mkvalue().
32597 - Extension to findmethod(): findmethodinchain() (where a chain is a
32600 methodlist structure rather than just to the function name -- this
32601 saves copying flags etc. into the (short-lived) method object.
32603 - The callable() function is now public.
32605 - Object types can define a few new operations by setting function
32628 ever -- including Windows NT. Makefiles or projects for a variety of
32629 non-UNIX platforms are provided.
32632 the choice -- postpone the new release indefinitely, or release it
32635 bugs, and send me patches based on the previous release -- which I
32640 documentation (if you're anxious enough :-). In this case it was not
32646 by Matt Conway, is available as tkinter-doc.tar.gz from the Python
32657 - More flexible operator overloading for user-defined classes
32660 - Classes can define methods named __getattr__, __setattr__ and
32663 - Classes can define method __call__ so instances can be called
32669 - The Makefiles (for the base interpreter as well as for extensions)
32673 - Passing the interpreter a .pyc file as script argument will execute
32674 the code in that file. (On the Mac such files can be double-clicked!)
32676 - New Freeze script, to create independently distributable "binaries"
32677 of Python programs -- look in Demo/freeze
32679 - Improved h2py script (in Demo/scripts) follows #includes and
32682 - New module compileall generates .pyc files for all modules in a
32685 - Threads should work on more platforms
32688 New built-in modules:
32690 - tkinter (support for Tcl's Tk widget set) is now part of the base
32693 - signal allows catching or ignoring UNIX signals (unfortunately still
32694 undocumented -- any taker?)
32696 - termios provides portable access to POSIX tty settings
32698 - curses provides an interface to the System V curses library
32700 - syslog provides an interface to the (BSD?) syslog daemon
32702 - 'new' provides interfaces to create new built-in object types
32705 - sybase provides an interface to SYBASE database
32708 New/obsolete built-in methods:
32710 - callable(x) tests whether x can be called
32712 - sockets now have a setblocking() method
32714 - sockets no longer have an allowbroadcast() method
32716 - socket methods send() and sendto() return byte count
32721 - types.py defines standard names for built-in types, e.g. StringType
32723 - urlparse.py parses URLs according to the latest Internet draft
32725 - uu.py does uuencode/uudecode (not the fastest in the world, but
32726 quicker than installing uuencode on a non-UNIX machine :-)
32728 - New, faster and more powerful profile module.py
32730 - mhlib.py provides interface to MH folders and messages
32736 - newgetargs() supports optional arguments and improved error messages
32738 - O!, O& O? formats for getargs allow more versatile type checking of
32739 non-standard types
32741 - can register pending asynchronous callback, to be called the next
32744 - can register cleanup routines to be called when Python exits
32747 - makesetup script understands C++ files in Setup file (use file.C
32750 - Make variable OPT is passed on to sub-Makefiles
32752 - An init<module>() routine may signal an error by not entering
32755 - For long module names, instead of foobarbletchmodule.c you can
32758 - getintvalue() and getfloatvalue() try to convert any object
32761 - All the [new]getargs() formats that retrieve an integer value
32764 - C function listtuple() converts list to tuple, fast
32766 - You should now call sigcheck() instead of intrcheck();
32777 - Sometimes the format operator (string%expr) would drop the last
32780 - Tokenizer looped when last line did not end in \n
32782 - Bug when triple-quoted string ended in quote plus newline
32784 - Typo in socketmodule (listen) (== instead of =)
32786 - typing vars() at the >>> prompt would cause recursive output
32797 ------
32807 ------
32813 * The try-except statement has an optional else clause, which is
32817 -----------
32819 * The result of a statement-level expression is no longer printed,
32820 except_ for expressions entered interactively. Consequently, the -k
32827 an always-failing dictionary lookup in the dictionary of local
32830 * There is a new command line option, -u, to force stdout and stderr
32836 * Fewer chances of dumping core when trying to reload or re-import
32837 static built-in, dynamically loaded built-in, or frozen modules.
32843 for loops, the (not) in operator, and the built-in functions filter(),
32846 Changed Built-in operations
32847 ---------------------------
32849 * The '%' operator on strings (printf-style formatting) supports a new
32861 New Built-in Functions
32862 ----------------------
32868 Changed Built-in Functions
32869 --------------------------
32879 New Built-in Modules
32880 --------------------
32882 Changed Built-in Modules
32883 ------------------------
32888 ------------------
32894 World-Wide-Web files specified by their URL.
32897 by World-Wide-Web servers.
32916 ----------------------
32930 -------------
32936 ---------
32941 * Demo/scripts/newslist.py, by Quentin Stafford-Fraser, generates a
32953 -------------
32965 ----------------
32972 ----------
32975 consequently the variable py-continuation-offset is gone.
32985 * Fixed test for <stdarg.h> -- this broke on some platforms.
32987 * Fixed test for shared library dynalic loading -- this broke on SunOS
32991 -lsocket -linet -lnsl, if these libraries exist).
33000 * The built-in module strop now defines fast versions of three more
33004 explicitly import strop to use the faster versions -- the string
33052 be complete in these release notes, but I'll try anyway :-)
33058 -------------------------------------
33068 distribution contains a placeholder Ext-dummy with a description of
33091 totally autoconf-unaware :-). One problem has been solved: typing
33092 Control-C to a readline prompt will now work. The distribution no
33093 longer contains a "super-level" directory (above the python toplevel
33094 directory), and dl, dl-dld and GNU dld are no longer part of the
33108 * All files needed to use the built-in module md5 are now contained in
33113 -------------
33125 * The entire documentation is now also available on-line for those who
33131 ------
33138 * There is a new keyword 'exec'. This replaces the exec() built-in
33160 Built-in functions
33161 ------------------
33163 * The built-in module containing the built-in functions is called
33166 * New built-in functions map(), filter() and reduce() perform standard
33169 - map(f, seq) returns a new sequence whose items are the items from
33172 - filter(f, seq) returns a subsequence of seq consisting of those
33175 - reduce(f, seq, initial) returns a value computed as follows:
33192 * Built-in function exec() has been replaced by the exec statement --
33197 ---------------
33214 module of the same name further down the path -- the new interpreter
33219 the names of a few hardwired built-in modules (sys, __main__ and
33243 Built-in objects
33244 ----------------
33251 Built-in modules
33252 ----------------
33265 * A new built-in module parser provides a rudimentary interface to the
33267 defines the numeric values of tokens and non-terminal symbols.
33272 * The array module is extended with 8-byte object swaps, the 'i'
33289 sub-expressions by name. Thanks to Tracy Tims for these changes!
33296 ------------------------
33328 * The (undocumented) module lambda has gone -- you couldn't import it
33333 ---------------------
33335 * The optional built-in modules audioop and imageop are now standard
33341 * There's a new built-in module called rgbimg which supports portable
33345 * The module aifc is gone -- you should now always use aifc, which has
33358 -------------
33360 * Most optimizations below can be configured by compile-time flags.
33363 * Small integers (default -1..99) are shared -- i.e. if two different
33374 * There is a compile-time option to cache a string's hash function,
33380 ----------------
33390 ---------------------------------------
33413 --------------
33415 * One problem with 64-bit machines remains -- since .pyc files are
33416 portable and use only 4 bytes to represent an integer object, 64-bit
33418 Work-around: use eval('123456789101112').
33431 I *believe* these are the main user-visible changes in this release,
33438 --------------------------------------------------
33456 ----------------
33483 it, which can contain a richer set of built-in modules. Don't even
33488 ---------------------
33507 clean-up possible in this case.
33511 -------------------------------------
33515 * New option -i enters interactive mode after executing a script --
33518 * New option -k raises an exception when an expression statement
33526 ------------------------------------
33534 ------------------
33543 ---------------------
33548 python-mode.el in the misc directory which knows about this as well.
33572 -----------------------------------------------
33581 -------------------------------------------------
33587 * If a class attribute is a user-defined function, a new kind of
33602 possible to implement clean-up of external resources attached to the
33610 to be used as dictionary keys. This must return a 32-bit integer.
33614 ------------------
33622 Additions to built-in operations
33623 --------------------------------
33635 * Built-in methods are now compared properly: when comparing x.meth1
33640 Additions to built-in functions
33641 -------------------------------
33656 * hash(x) returns a hash code (32-bit integer) of an arbitrary
33659 * id(x) returns a unique identifier (32-bit integer) of an arbitrary
33668 ----------------------------------------------------------------
33675 returns -1 instead of raising string.index_error.
33678 Changes to built-in modules
33679 ---------------------------
33702 * Module strop (the fast built-in version of standard module string)
33712 defined -- sys and builtin).
33728 ----------
33742 * Many portability bugs fixed (and undoubtedly new ones added :-).
33746 ------------------------------
33760 -----------------------
33763 stand-alone executable binary file. See the script
33764 demo/scripts/freeze.py. It will require some site-specific tailoring
33769 MS-DOS
33770 ------
33772 * A new MS-DOS port has been done, using MSC 6.0 (I believe). Thanks,
33781 -------------------------------------------
33787 --------------------
33803 --Guido
33807 ------------------------------
33810 argument lists (of user-defined functions only) is stricter. Earlier,
33827 Case (a) was needed to accommodate variable-length argument lists;
33848 should!) be done using the built-in function apply() instead, it isn't
33853 that if x is an instance of a user-defined class and has a method m,
33858 mentioned in the NEWS file: user-defined classes can now define types
33864 ----------------------------
33867 bullet-proof, after reports of (minor) trouble on certain platforms.
33870 optional built-in module: Addmodule.sh. Read the script before using!
33881 -----------------------------
33893 ------------------------------------
33900 There is a new clean-up mechanism, complementing try...finally: if you
33917 The limit on the size of the *run-time* stack has completely been
33918 removed -- this means that tuple or list displays can contain any
33923 Changes to existing built-in functions and methods
33924 --------------------------------------------------
33926 The built-in functions int(), long(), float(), oct() and hex() now
33931 New built-in functions
33932 ----------------------
33935 The function repr(x) is in all respects equivalent to `x` -- some
33937 except if x is already a string -- then it returns x unchanged
33940 The new function cmp(x, y) returns -1 if x<y, 0 if x==y, 1 if x>y.
33943 Changes to general built-in modules
33944 -----------------------------------
33970 Changes to SGI-specific built-in modules
33971 ----------------------------------------
33989 -----------------------------------
34014 New built-in modules
34015 --------------------
34023 Optional module fcntl defines interfaces to fcntl() and ioctl() --
34024 UNIX only. (Not yet properly documented -- see however src/fcntl.doc.)
34039 ----------------------------
34050 <-> YUV)
34062 test_types: test operations on the built-in types of Python
34072 New SGI-specific library modules
34073 --------------------------------
34075 CL: constants for use with the built-in compression library interface (cl)
34077 Queue: a multi-producer, multi-consumer queue class implemented for
34078 use with the built-in thread module
34080 SOCKET: constants for use with built-in module socket, e.g. to set/get
34081 socket options. This is SGI-specific because the constants to be
34082 passed are system-dependent. You can generate a version for your own
34092 ---------
34110 the RSA public-key cryptosystem!
34120 to run a diff and note the differences -- you can do this yourself if
34126 ----------------------------
34135 ----------------------------------------------------------
34152 ------------------------------
34154 User-defined classes can now implement operations invoked through
34160 ----------------------------
34163 compile-time options, you can now run a Configure.py script.
34171 on the Sun the provided strtod.c dumps core :-(
34178 -----------------------------
34183 Dynamic loading is now supported for Sun (and other non-COFF systems)
34184 through dld-3.2.3, as well as for SGI (a new version of Jack Jansen's
34187 The system-dependent code for the use of the select() system call is
34195 ------------------------------------
34201 Changes to existing built-in functions and methods
34202 --------------------------------------------------
34211 New built-in function
34212 ---------------------
34218 Changes to built-in modules
34219 ---------------------------
34238 ---------------------------
34247 New built-in modules
34248 --------------------
34263 audioop: operations useful for audio programs, e.g. u-LAW and ADPCM
34277 pc: a minimal set of MS-DOS interfaces (MS-DOS only)
34283 --------------------
34293 profile: print run-time statistics of Python code
34295 readcd, cdplayer: companion modules for built-in module cd (sgi only)
34297 emacs: interface to Emacs using py-connect.el (see below).
34309 ---------
34311 scripts/pp.py: execute Python as a filter with a Perl-like command
34322 ----------------------------
34324 The last-minute syntax changes of release 0.9.6 are now reflected
34332 Slightly restructured the system-dependent chapters of the library
34344 ---------------------
34346 Incorporated Tim Peters' changes to python-mode.el, it's now version
34352 misc/py-connect.el (it needs some external Emacs lisp code)
34356 ----------------------------------------------------------
34369 improve the parallellism of multi-threaded programs by letting other
34384 - Restructured the misc subdirectory
34385 - Reference manual completed, library manual much extended (with indexes!)
34386 - the GNU Readline library is now distributed standard with Python
34387 - the script "../demo/scripts/classfix.py" fixes Python modules using old
34389 - Emacs python-mode.el (was python.el) vastly improved (thanks, Tim!)
34390 - Because of the GNU copyleft business I am not using the GNU regular
34391 expression implementation but a free re-implementation by Tatu Ylonen
34395 - stricter try stmt syntax: cannot mix except and finally clauses on 1 try
34396 - New module 'os' supplants modules 'mac' and 'posix' for most cases;
34398 - os.path.split() return value differs from that of old path.split()
34399 - sys.exc_type, sys.exc_value, sys.exc_traceback are set to the exception
34401 - sys.last_type, sys.last_value, sys.last_traceback remember last unhandled
34403 - New function string.expandtabs() expands tabs in a string
34404 - Added times() interface to posix (user & sys time of process & children)
34405 - Added uname() interface to posix (returns OS type, hostname, etc.)
34406 - New built-in function execfile() is like exec() but from a file
34407 - Functions exec() and eval() are less picky about whitespace/newlines
34408 - New built-in functions getattr() and setattr() access arbitrary attributes
34409 - More generic argument handling in built-in functions (see "./EXTENDING")
34410 - Dynamic loading of modules written in C or C++ (see "./DYNLOAD")
34411 - Division and modulo for long and plain integers with negative operands
34413 as a-(a/b)*b. So now the outcome of divmod(a,b) is the same as
34416 - A function with explicit variable-length argument list can be declared
34418 - Code tracing and profiling features have been added, and two source
34419 code debuggers are provided in the library (pdb.py, tty-oriented,
34420 and wdb, window-oriented); you can now step through Python programs!
34422 - '==' is now the only equality operator; "../demo/scripts/eqfix.py" is
34424 - Plain integer right shift now uses sign extension
34425 - Long integer shift/mask operations now simulate 2's complement
34427 - Changed/added range checks for long/plain integer shifts
34428 - Options found after "-c command" are now passed to the command in sys.argv
34429 (note subtle incompatibility with "python -c command -- -options"!)
34430 - Module stdwin is better protected against touching objects after they've
34432 - Stdwin now uses its own exception (stdwin.error)
34435 - dictionary objects can now be compared properly; e.g., {}=={} is true
34436 - new exception SystemExit causes termination if not caught;
34439 - new module "regex" implements GNU Emacs style regular expressions;
34441 - formal parameter lists may contain trailing commas
34444 - assigning to or deleting a list item with a negative index dumped core
34445 - divmod(-10L,5L) returned (-3L, 5L) instead of (-2L, 0L)
34448 - masking operations involving negative long integers gave wrong results
34455 - new function argument handling (see below)
34456 - built-in apply(func, args) means func(args[0], args[1], ...)
34457 - new, more refined exceptions
34458 - new exception string values (NameError = 'NameError' etc.)
34459 - better checking for math exceptions
34460 - for sequences (string/tuple/list), x[-i] is now equivalent to x[len(x)-i]
34461 - fixed list assignment bug: "a[1:1] = a" now works correctly
34462 - new class syntax, without extraneous parentheses
34463 - new 'global' statement to assign global variables from within a function
34467 ----------------
34490 ----------------------
34493 want to change from within a function in that module -- say, a count
34524 --------------
34531 AttributeError reference to non-existing attribute NameError
34533 ImportError import of non-existing module or name NameError
34541 The string value of each exception is now its name -- this makes it
34551 ------------------------------
34553 Off-line discussions with Steve Majewski and Daniel LaLiberte have
34557 provisions, would only break a very small amount of existing code --
34566 always implemented as a tuple, and it is a (run-time) error if a
34570 you want to write variadic functions -- functions that may be called
34576 tuple, and check its length -- it will be of size 0 if there are no
34579 Another anomaly of the old system was the way multi-argument methods
34608 arguments go undetected at first -- when the function tries to use the
34613 Two other rules and a new built-in function handle conversion between
34626 A new built-in function, apply(), was added to support functions that
34633 function(tuple[0], tuple[1], ..., tuple[len(tuple)-1])
34638 values (as in C++ or Modula-3), or a "rest" argument to receive the
34639 remaining arguments of a variable-length argument list.
34646 - string sys.version shows current version (also printed on interactive entry)
34647 - more detailed exceptions, e.g., IOError, ZeroDivisionError, etc.
34648 - 'global' statement to declare module-global variables assigned in functions.
34649 - new class declaration syntax: class C(Base1, Base2, ...): suite
34650 (the old syntax is still accepted -- be sure to convert your classes now!)
34651 - C shifting and masking operators: << >> ~ & ^ | (for ints and longs).
34652 - C comparison operators: == != (the old = and <> remain valid).
34653 - floating point numbers may now start with a period (e.g., .14).
34654 - definition of integer division tightened (always truncates towards zero).
34655 - new builtins hex(x), oct(x) return hex/octal string from (long) integer.
34656 - new list method l.count(x) returns the number of occurrences of x in l.
34657 - new SGI module: al (Indigo and 4D/35 audio library).
34658 - the FORMS interface (modules fl and FL) now uses FORMS 2.0
34659 - module gl: added lrect{read,write}, rectzoom and pixmode;
34660 added (non-GL) functions (un)packrect.
34661 - new socket method: s.allowbroadcast(flag).
34662 - many objects support __dict__, __methods__ or __members__.
34663 - dir() lists anything that has __dict__.
34664 - class attributes are no longer read-only.
34665 - classes support __bases__, instances support __class__ (and __dict__).
34666 - divmod() now also works for floats.
34667 - fixed obscure bug in eval('1 ').
34675 ----------
34677 - tutorial now (almost) complete; library reference reorganized
34678 - new syntax: continue statement; semicolons; dictionary constructors;
34680 - dramatically improved module load time through precompiled modules
34681 - arbitrary precision integers: compute 2 to the power 1000 and more...
34682 - arithmetic operators now accept mixed type operands, e.g., 3.14/4
34683 - more operations on list: remove, index, reverse; repetition
34684 - improved/new file operations: readlines, seek, tell, flush, ...
34685 - process management added to the posix module: fork/exec/wait/kill etc.
34686 - BSD socket operations (with example servers and clients!)
34687 - many new STDWIN features (color, fonts, polygons, ...)
34688 - new SGI modules: font manager and FORMS library interface
34692 ---------------------------------
34694 Here is a summary of the most important user-visible changes in 0.9.2,
34701 - Simple statements can now be separated by semicolons.
34704 - The 'continue' statement was added, with semantics as in C.
34705 - Dictionary displays are now allowed on input: {key: value, ...}.
34706 - Blank lines and lines bearing only a comment no longer need to
34707 be indented properly. (A completely empty line still ends a multi-
34709 - Mixed arithmetic is supported, 1 compares equal to 1.0, etc.
34710 - Option "-c command" to execute statements from the command line
34711 - Compiled versions of modules are cached in ".pyc" files, giving a
34712 dramatic improvement of start-up time
34713 - Other, smaller speed improvements, e.g., extracting characters from
34714 strings, looking up single-character keys, and looking up global
34716 - Interrupting a print operation raises KeyboardInterrupt instead of
34718 - Fixed various portability problems (it now passes gcc with only
34719 warnings -- more Standard C compatibility will be provided in later
34721 - Source is prepared for porting to MS-DOS
34722 - Numeric constants are now checked for overflow (this requires
34723 standard-conforming strtol() and strtod() functions; a correct
34728 2. Changes to the built-in types, functions and modules
34730 - New module socket: interface to BSD socket primitives
34731 - New modules pwd and grp: access the UNIX password and group databases
34732 - (SGI only:) New module "fm" interfaces to the SGI IRIX Font Manager
34733 - (SGI only:) New module "fl" interfaces to Mark Overmars' FORMS library
34734 - New numeric type: long integer, for unlimited precision
34735 - integer constants suffixed with 'L' or 'l' are long integers
34736 - new built-in function long(x) converts int or float to long
34737 - int() and float() now also convert from long integers
34738 - New built-in function:
34739 - pow(x, y) returns x to the power y
34740 - New operation and methods for lists:
34741 - l*n returns a new list consisting of n concatenated copies of l
34742 - l.remove(x) removes the first occurrence of the value x from l
34743 - l.index(x) returns the index of the first occurrence of x in l
34744 - l.reverse() reverses l in place
34745 - New operation for tuples:
34746 - t*n returns a tuple consisting of n concatenated copies of t
34747 - Improved file handling:
34748 - f.readline() no longer restricts the line length, is faster,
34750 - f.read() without arguments reads the entire (rest of the) file
34751 - mixing of print and sys.stdout.write() has different effect
34752 - New methods for files:
34753 - f.readlines() returns a list containing the lines of the file,
34755 - f.flush(), f.tell(), f.seek() call their stdio counterparts
34756 - f.isatty() tests for "tty-ness"
34757 - New posix functions:
34758 - _exit(), exec(), fork(), getpid(), getppid(), kill(), wait()
34759 - popen() returns a file object connected to a pipe
34760 - utime() replaces utimes() (the latter is not a POSIX name)
34761 - New stdwin features, including:
34762 - font handling
34763 - color drawing
34764 - scroll bars made optional
34765 - polygons
34766 - filled and xor shapes
34767 - text editing objects now have a 'settext' method
34772 - Name change: the functions path.cat and macpath.cat are now called
34774 - Added new modules: formatter, mutex, persist, sched, mainloop
34775 - Added some modules and functionality to the "widget set" (which is
34778 - Fixed module testall to work non-interactively
34779 - Module string:
34780 - added functions join() and joinfields()
34781 - fixed center() to work correct and make it "transitive"
34782 - Obsolete modules were removed: util, minmax
34783 - Some modules were moved to the demo directory
34788 - Added new useful scipts: byteyears, eptags, fact, from, lfact,
34790 - Added a bunch of socket demos
34791 - Doubled the speed of ptags
34792 - Added new stdwin demos: microedit, miniedit
34793 - Added a windowing interface to the Python interpreter: python (most
34795 - Added a browser for Emacs info files: demo/stdwin/ibrowse
34802 - An Emacs Lisp file "python.el" is provided to facilitate editing
34805 - Some info on writing an extension in C is provided
34806 - Some info on building Python on non-UNIX platforms is provided
34813 - Micro changes only
34814 - Added file "patchlevel.h"