Release date: 2019-03-18
Release date: 2019-03-03
Release date: 2018-07-19
Release date: 2018-01-23
Release date: 2017-08-09
Release date: 2017-07-23
Release date: 2017-01-02
Release date: 2016-06-26
Release date: 2016-06-11
Release date: 2015/12/20
Release date: 2015/12/06
bpo-24903: Fix regression in number of arguments compileall accepts when‘-d’ is specified. The check on the number of arguments has been droppedcompletely as it never worked correctly anyway.
bpo-25764: In the subprocess module, preserve any exception caused byfork() failure when preexec_fn is used.
bpo-6478: _strptime’s regexp cache now is reset after changing timezonewith time.tzset().
bpo-25177: Fixed problem with the mean of very small and very largenumbers. As a side effect, statistics.mean and statistics.variance shouldbe significantly faster.
bpo-25718: Fixed copying object with state with boolean value is false.
bpo-10131: Fixed deep copying of minidom documents. Based on patch byMarian Ganisin.
bpo-25725: Fixed a reference leak in pickle.loads() when unpicklinginvalid data including tuple instructions.
bpo-25663: In the Readline completer, avoid listing duplicate globalnames, and search the global namespace before searching builtins.
bpo-25688: Fixed file leak in ElementTree.iterparse() raising an error.
bpo-23914: Fixed SystemError raised by unpickler on broken pickle data.
bpo-25691: Fixed crash on deleting ElementTree.Element attributes.
bpo-25624: ZipFile now always writes a ZIP_STORED header for directoryentries. Patch by Dingyuan Wang.
bpo-25583: Avoid incorrect errors raised by os.makedirs(exist_ok=True)when the OS gives priority to errors such as EACCES over EEXIST.
bpo-25593: Change semantics of EventLoop.stop() in asyncio.
bpo-6973: When we know a subprocess.Popen process has died, do not allowthe send_signal(), terminate(), or kill() methods to do anything as theycould potentially signal a different process.
bpo-25578: Fix (another) memory leak in SSLSocket.getpeercer().
bpo-25590: In the Readline completer, only call getattr() once perattribute.
bpo-25498: Fix a crash when garbage-collecting ctypes objects created bywrapping a memoryview. This was a regression made in 3.4.3. Based onpatch by Eryksun.
bpo-18010: Fix the pydoc web server’s module search function to handleexceptions from importing packages.
bpo-25510: fileinput.FileInput.readline() now returns b’’ instead of ‘’ atthe end if the FileInput was opened with binary mode. Patch by RyosukeIto.
bpo-25530: Disable the vulnerable SSLv3 protocol by default when creatingssl.SSLContext.
bpo-25569: Fix memory leak in SSLSocket.getpeercert().
bpo-21827: Fixed textwrap.dedent() for the case when largest commonwhitespace is a substring of smallest leading whitespace. Based on patchby Robert Li.
bpo-25471: Sockets returned from accept() shouldn’t appear to benonblocking.
bpo-25441: asyncio: Raise error from drain() when socket is closed.
bpo-25411: Improved Unicode support in SMTPHandler through better use ofthe email package. Thanks to user simon04 for the patch.
bpo-25380: Fixed protocol for the STACK_GLOBAL opcode inpickletools.opcodes.
bpo-23972: Updates asyncio datagram create method allowing reuseport andreuseaddr socket options to be set prior to binding the socket. Mirroringthe existing asyncio create_server method the reuseaddr option fordatagram sockets defaults to True if the O/S is ‘posix’ (except if theplatform is Cygwin). Patch by Chris Laws.
bpo-25304: Add asyncio.run_coroutine_threadsafe(). This lets you submit acoroutine to a loop from another thread, returning aconcurrent.futures.Future. By Vincent Michel.
bpo-25319: When threading.Event is reinitialized, the underlying conditionshould use a regular lock rather than a recursive lock.
bpo-25232: Fix CGIRequestHandler to split the query from the URL at thefirst question mark (?) rather than the last. Patch from Xiang Zhang.
bpo-24657: Prevent CGIRequestHandler from collapsing slashes in the querypart of the URL as if it were a path. Patch from Xiang Zhang.
bpo-22958: Constructor and update method of weakref.WeakValueDictionarynow accept the self and the dict keyword arguments.
bpo-22609: Constructor of collections.UserDict now accepts the selfkeyword argument.
bpo-25262: Added support for BINBYTES8 opcode in Python implementation ofunpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8opcodes no longer silently ignored on 32-bit platforms in Cimplementation.
bpo-25034: Fix string.Formatter problem with auto-numbering and nestedformat_specs. Patch by Anthon van der Neut.
bpo-25233: Rewrite the guts of asyncio.Queue and asyncio.Semaphore to bemore understandable and correct.
bpo-23600: Default implementation of tzinfo.fromutc() was returning wrongresults in some cases.
bpo-25203: Failed readline.set_completer_delims() no longer left themodule in inconsistent state.
Prevent overflow in _Unpickler_Read.
bpo-25047: The XML encoding declaration written by Element Tree nowrespects the letter case given by the user. This restores the ability towrite encoding names in uppercase like “UTF-8”, which worked in Python 2.
bpo-19143: platform module now reads Windows version from kernel32.dll toavoid compatibility shims.
bpo-23517: Fix rounding in fromtimestamp() and utcfromtimestamp() methodsof datetime.datetime: microseconds are now rounded to nearest with tiesgoing to nearest even integer (ROUND_HALF_EVEN), instead of being roundingtowards zero (ROUND_DOWN). It’s important that these methods use the samerounding mode than datetime.timedelta to keep the property:(datetime(1970,1,1) + timedelta(seconds=t)) ==datetime.utcfromtimestamp(t). It also the rounding mode used byround(float) for example.
bpo-24684: socket.socket.getaddrinfo() now callsPyUnicode_AsEncodedString() instead of calling the encode() method of thehost, to handle correctly custom string with an encode() method whichdoesn’t return a byte string. The encoder of the IDNA codec is now calleddirectly instead of calling the encode() method of the string.
bpo-24982: shutil.make_archive() with the “zip” format now adds entriesfor directories (including empty directories) in ZIP file.
bpo-24857: Comparing call_args to a long sequence now correctly returns aboolean result instead of raising an exception. Patch by A Kaptur.
bpo-25019: Fixed a crash caused by setting non-string key of expat parser.Based on patch by John Leitch.
bpo-24917: time_strftime() buffer over-read.
bpo-23144: Make sure that HTMLParser.feed() returns all the data, evenwhen convert_charrefs is True.
bpo-16180: Exit pdb if file has syntax error, instead of trapping user inan infinite loop. Patch by Xavier de Gaye.
bpo-21112: Fix regression in unittest.expectedFailure on subclasses. Patchfrom Berker Peksag.
bpo-24931: Instances of subclasses of namedtuples have their own __dict__which breaks the inherited __dict__ property and breaks the _asdict()method. Removed the __dict__ property to prevent the conflict and fixed_asdict().
bpo-24764: cgi.FieldStorage.read_multi() now ignores the Content-Lengthheader in part headers. Patch written by Peter Landry and reviewed byPierre Quentel.
bpo-24774: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.
bpo-21159: Improve message inconfigparser.InterpolationMissingOptionError. Patch from Łukasz Langa.
bpo-23888: Handle fractional time in cookie expiry. Patch by ssh.
bpo-23004: mock_open() now reads binary data correctly when the type ofread_data is bytes. Initial patch by Aaron Hill.
bpo-23652: Make it possible to compile the select module against the libcheaders from the Linux Standard Base, which do not include some EPOLLmacros. Patch by Matt Frank.
bpo-22932: Fix timezones in email.utils.formatdate. Patch from DmitryShachnev.
bpo-23779: imaplib raises TypeError if authenticator tries to abort. Patchfrom Craig Holmquist.
bpo-23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patchwritten by Matthieu Gautier.
bpo-23254: Document how to close the TCPServer listening socket. Patchfrom Martin Panter.
bpo-19450: Update Windows and OS X installer builds to use SQLite 3.8.11.
bpo-23441: rcompleter now prints a tab character instead of displayingpossible completions for an empty word. Initial patch by Martin Sekera.
bpo-24735: Fix invalid memory access initertools.combinations_with_replacement().
bpo-17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
bpo-24683: Fixed crashes in _json functions called with arguments ofinappropriate type.
bpo-21697: shutil.copytree() now correctly handles symbolic links thatpoint to directories. Patch by Eduardo Seabra and Thomas Kluyver.
bpo-24620: Random.setstate() now validates the value of state lastelement.
bpo-22153: Improve unittest docs. Patch from Martin Panter and evilzero.
bpo-24206: Fixed __eq__ and __ne__ methods of inspect classes.
bpo-21750: mock_open.read_data can now be read from each instance, as itcould in Python 3.3.
bpo-23247: Fix a crash in the StreamWriter.reset() of CJK codecs.
bpo-18622: unittest.mock.mock_open().reset_mock would recurse infinitely.Patch from Nicola Palumbo and Laurent De Buyst.
bpo-24608: chunk.Chunk.read() now always returns bytes, not str.
bpo-18684: Fixed reading out of the buffer in the re module.
bpo-24259: tarfile now raises a ReadError if an archive is truncatedinside a data segment.
bpo-24552: Fix use after free in an error case of the _pickle module.
bpo-24514: tarfile now tolerates number fields consisting of onlywhitespace.
bpo-19176: Fixed doctype() related bugs in C implementation ofElementTree. A deprecation warning no longer issued by XMLParser subclasswith default doctype() method. Direct call of doctype() now issues awarning. Parser’s doctype() now is not called if target’s doctype() iscalled. Based on patch by Martin Panter.
bpo-20387: Restore semantic round-trip correctness in tokenize/untokenizefor tab- indented blocks.
bpo-24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()functions of the audioop module.
bpo-24336: The contextmanager decorator now works with functions withkeyword arguments called “func” and “self”. Patch by Martin Panter.
bpo-24489: ensure a previously set C errno doesn’t disturb cmath.polar().
bpo-5633: Fixed timeit when the statement is a string and the setup isnot.
bpo-24326: Fixed audioop.ratecv() with non-default weightB argument.Original patch by David Moore.
bpo-23840: tokenize.open() now closes the temporary binary file on errorto fix a resource warning.
bpo-24257: Fixed segmentation fault in sqlite3.Row constructor with fakedcursor type.
bpo-22107: tempfile.gettempdir() and tempfile.mkdtemp() now try again whena directory with the chosen name already exists on Windows as well as onUnix. tempfile.mkstemp() now fails early if parent directory is not valid(not exists or is a file) on Windows.
bpo-6598: Increased time precision and random number range inemail.utils.make_msgid() to strengthen the uniqueness of the message ID.
bpo-24091: Fixed various crashes in corner cases in C implementation ofElementTree.
bpo-21931: msilib.FCICreate() now raises TypeError in the case of a badargument instead of a ValueError with a bogus FCI error number. Patch byJeffrey Armstrong.
bpo-23796: peek and read1 methods of BufferedReader now raise ValueErrorif they called on a closed object. Patch by John Hergenroeder.
bpo-24521: Fix possible integer overflows in the pickle module.
bpo-22931: Allow ‘[‘ and ‘]’ in cookie values.
bpo-20274: Remove ignored and erroneous “kwargs” parameters from threeMETH_VARARGS methods on _sqlite.Connection.
bpo-24094: Fix possible crash in json.encode with poorly behaved dictsubclasses.
Asyncio issue 222 / PR 231 (Victor Stinner) – fix @coroutine functionswithout __name__.
bpo-9246: On POSIX, os.getcwd() now supports paths longer than 1025 bytes.Patch written by William Orr.
The keywords attribute of functools.partial is now always a dictionary.
bpo-24099: Fix free-after-use bug in heapq’s siftup and siftdownfunctions. (See also: bpo-24100, bpo-24101)
Backport collections.deque fixes from Python 3.5. Prevents reentrantbadness during deletion by deferring the decref until the container hasbeen restored to a consistent state.
bpo-23008: Fixed resolving attributes with boolean value is False inpydoc.
Fix asyncio issue 235: LifoQueue and PriorityQueue’s put didn’t incrementunfinished tasks (this bug was introduced in 3.4.3 when JoinableQueue wasmerged with Queue).
bpo-23908: os functions now reject paths with embedded null character onWindows instead of silently truncate them.
bpo-23728: binascii.crc_hqx() could return an integer outside of the range0-0xffff for empty data.
bpo-23811: Add missing newline to the PyCompileError error message. Patchby Alex Shkop.
bpo-17898: Fix exception in gettext.py when parsing certain plural forms.
bpo-22982: Improve BOM handling when seeking to multiple positions of awritable text file.
bpo-23865: close() methods in multiple modules now are idempotent and morerobust at shutdown. If they need to release multiple resources, all arereleased even if errors occur.
bpo-23881: urllib.request.ftpwrapper constructor now closes the socket ifthe FTP connection failed to fix a ResourceWarning.
bpo-23400: Raise same exception on both Python 2 and 3 if sem_open is notavailable. Patch by Davin Potts.
bpo-15133: _tkinter.tkapp.getboolean() now supports Tcl_Obj and alwaysreturns bool. tkinter.BooleanVar now validates input values (acceptedbool, int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returnsbool.
bpo-23338: Fixed formatting ctypes error messages on Cygwin. Patch byMakoto Kato.
bpo-16840: Tkinter now supports 64-bit integers added in Tcl 8.4 andarbitrary precision integers added in Tcl 8.5.
bpo-23834: Fix socket.sendto(), use the C Py_ssize_t type to store theresult of sendto() instead of the C int type.
bpo-21526: Tkinter now supports new boolean type in Tcl 8.5.
bpo-23838: linecache now clears the cache and returns an empty result onMemoryError.
bpo-18473: Fixed 2to3 and 3to2 compatible pickle mappings. Fixedambigious reverse mappings. Added many new mappings. Import mapping isno longer applied to modules already mapped with full name mapping.
bpo-23745: The new email header parser now handles duplicate MIMEparameter names without error, similar to how get_param behaves.
bpo-23792: Ignore KeyboardInterrupt when the pydoc pager is active. Thismimics the behavior of the standard unix pagers, and prevents pipepagerfrom shutting down while the pager itself is still running.
bpo-23742: ntpath.expandvars() no longer loses unbalanced single quotes.
bpo-21802: The reader in BufferedRWPair now is closed even when closingwriter failed in BufferedRWPair.close().
bpo-23671: string.Template now allows to specify the “self” parameter askeyword argument. string.Formatter now allows to specify the “self” andthe “format_string” parameters as keyword arguments.
bpo-21560: An attempt to write a data of wrong type no longer causeGzipFile corruption. Original patch by Wolfgang Maier.
bpo-23647: Increase impalib’s MAXLINE to accommodate modern mailbox sizes.
bpo-23539: If body is None, http.client.HTTPConnection.request now setsContent-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errorsfrom some web servers.
bpo-22351: The nntplib.NNTP constructor no longer leaves the connectionand socket open until the garbage collector cleans them up. Patch byMartin Panter.
bpo-23136: _strptime now uniformly handles all days in week 0, includingDec 30 of previous year. Based on patch by Jim Carroll.
bpo-23700: Iterator of NamedTemporaryFile now keeps a reference toNamedTemporaryFile instance. Patch by Bohuslav Kabrda.
bpo-22903: The fake test case created by unittest.loader when it failsimporting a test module is now picklable.
bpo-23568: Add rdivmod support to MagicMock() objects. Patch by HåkanLövdahl.
bpo-23138: Fixed parsing cookies with absent keys or values in cookiejar.Patch by Demian Brecht.
bpo-23051: multiprocessing.Pool methods imap() and imap_unordered() nowhandle exceptions raised by an iterator. Patch by Alon Diamant and DavinPotts.
bpo-22928: Disabled HTTP header injections in http.client. Original patchby Demian Brecht.
bpo-23615: Modules bz2, tarfile and tokenize now can be reloaded withimp.reload(). Patch by Thomas Kluyver.
bpo-23476: In the ssl module, enable OpenSSL’s X509_V_FLAG_TRUSTED_FIRSTflag on certificate stores when it is available.
bpo-23576: Avoid stalling in SSL reads when EOF has been reached in theSSL layer but the underlying connection hasn’t been closed.
bpo-23504: Added an __all__ to the types module.
bpo-20204: Added the __module__ attribute to _tkinter classes.
bpo-23521: Corrected pure python implementation of timedelta division.
Eliminated OverflowError from timedelta * float for some floats; Correctedrounding in timedlta true division.
bpo-21619: Popen objects no longer leave a zombie after exit in the withstatement if the pipe was broken. Patch by Martin Panter.
bpo-6639: Module-level turtle functions no longer raise TclError afterclosing the window.
bpo-814253: Warnings now are raised when group references and conditionalgroup references are used in lookbehind assertions in regular expressions.(See also: bpo-9179)
bpo-23215: Multibyte codecs with custom error handlers that ignores errorsconsumed too much memory and raised SystemError or MemoryError. Originalpatch by Aleksi Torhamo.
bpo-5700: io.FileIO() called flush() after closing the file. flush() wasnot called in close() if closefd=False.
bpo-23374: Fixed pydoc failure with non-ASCII files when stdout encodingdiffers from file system encoding (e.g. on Mac OS).
bpo-23481: Remove RC4 from the SSL module’s default cipher list.
bpo-21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with emptydocstrings.
bpo-22885: Fixed arbitrary code execution vulnerability in the dbm.dumbmodule. Original patch by Claudiu Popa.
bpo-23146: Fix mishandling of absolute Windows paths with forward slashesin pathlib.
bpo-23421: Fixed compression in tarfile CLI. Patch by wdv4758h.
bpo-23367: Fix possible overflows in the unicodedata module.
bpo-23361: Fix possible overflow in Windows subprocess creation code.
bpo-23801: Fix issue where cgi.FieldStorage did not always ignore theentire preamble to a multipart body.
bpo-23310: Fix MagicMock’s initializer to work with __methods__, just likeconfigure_mock(). Patch by Kasia Jachim.
asyncio: New event loop APIs: set_task_factory() and get_task_factory().
asyncio: async() function is deprecated in favour of ensure_future().
bpo-23898: Fix inspect.classify_class_attrs() to support attributes withoverloaded __eq__ and __bool__. Patch by Mike Bayer.
bpo-24298: Fix inspect.signature() to correctly unwrap wrappers aroundbound methods.
bpo-23572: Fixed functools.singledispatch on classes with falsymetaclasses. Patch by Ethan Furman.
Release date: 2015-02-23
Release date: 2014-10-06
Release date: 2014-09-22
Release date: 2014-05-18
Release date: 2014-05-05
Release date: 2014-03-16
Release date: 2014-03-09
Release date: 2014-02-23
Release date: 2014-02-10
Release date: 2014-01-26
Release date: 2014-01-05
Release date: 2013-11-24
Release date: 2013-10-20
Release date: 2013-09-29
Release date: 2013-09-09
Release date: 2013-08-03
Release date: 29-Sep-2012
Release date: 23-Sep-2012
Release date: 09-Sep-2012
Release date: 25-Aug-2012
Release date: 12-Aug-2012
Release date: 27-Jun-2012
Release date: 31-May-2012
Release date: 01-May-2012
Release date: 01-Apr-2012
Release date: 05-Mar-2012
bpo-14172: Fix reference leak when marshalling a buffer-like object (otherthan a bytes object).
bpo-13521: dict.setdefault() now does only one lookup for the given key,making it “atomic” for many purposes. Patch by Filip Gruszczyński.
PEP 409,Issue #6210: “raise X from None” is now supported as a means ofsuppressing the display of the chained exception context. The chainedcontext still remains available as the __context__ attribute.
bpo-10181: New memoryview implementation fixes multiple ownership andlifetime issues of dynamically allocated Py_buffer members (#9990) as wellas crashes (#8305, #7433). Many new features have been added (Seewhatsnew/3.3), and the documentation has been updated extensively. Thendarray test object from _testbuffer.c implements all aspects of PEP-3118,so further development towards the complete implementation of the PEP canproceed in a test-driven manner.
Thanks to Nick Coghlan, Antoine Pitrou and Pauli Virtanen for review andmany ideas.
bpo-12834: Fix incorrect results of memoryview.tobytes() fornon-contiguous arrays.
bpo-5231: Introduce memoryview.cast() method that allows changing formatand shape without making a copy of the underlying memory.
bpo-14084: Fix a file descriptor leak when importing a module with a badencoding.
Upgrade Unicode data to Unicode 6.1.
bpo-14040: Remove rarely used file name suffixes for C extensions (underPOSIX mainly).
bpo-14051: Allow arbitrary attributes to be set of classmethod andstaticmethod.
bpo-13703: oCERT-2011-003: Randomize hashes of str and bytes to protectagainst denial of service attacks due to hash collisions within the dictand set types. Patch by David Malcolm, based on work by Victor Stinner.
bpo-13020: Fix a reference leak when allocating a structsequence objectfails. Patch by Suman Saha.
bpo-13908: Ready types returned from PyType_FromSpec.
bpo-11235: Fix OverflowError when trying to import a source file whosemodification time doesn’t fit in a 32-bit timestamp.
bpo-12705: A SyntaxError exception is now raised when attempting tocompile multiple statements as a single interactive statement.
Fix the builtin module initialization code to store the init function forfuture reinitialization.
bpo-8052: The posix subprocess module would take a long time closing allpossible file descriptors in the child process rather than just open filedescriptors. It now closes only the open fds if possible for the defaultclose_fds=True behavior.
bpo-13629: Renumber the tokens in token.h so that they match the indexesinto _PyParser_TokenNames.
bpo-13752: Add a casefold() method to str.
bpo-13761: Add a “flush” keyword argument to the print() function, used toensure flushing the output stream.
bpo-13645: pyc files now contain the size of the corresponding sourcecode, to avoid timestamp collisions (especially on filesystems with a lowtimestamp resolution) when checking for freshness of the bytecode.
PEP 380,Issue #11682: Add “yield from <x>” to support easy delegation tosubgenerators (initial patch by Greg Ewing, integration into 3.3 by RenaudBlanch, Ryan Kelly, Zbigniew Jędrzejewski-Szmek and Nick Coghlan)
bpo-13748: Raw bytes literals can now be written with therb prefix aswell asbr.
bpo-12736: Use full unicode case mappings for upper, lower, and titlecase.
bpo-12760: Add a create mode to open(). Patch by David Townshend.
bpo-13738: Simplify implementation of bytes.lower() and bytes.upper().
bpo-13577: Built-in methods and functions now have a __qualname__. Patchby sbt.
bpo-6695: Full garbage collection runs now clear the freelist of setobjects. Initial patch by Matthias Troffaes.
Fix OSError.__init__ and OSError.__new__ so that each of them can beoverriden and take additional arguments (followup toissue #12555).
Fix the fix forissue #12149: it was incorrect, although it had the sideeffect of appearing to resolve the issue. Thanks to Mark Shannon fornoticing.
bpo-13505: Pickle bytes objects in a way that is compatible with Python 2when using protocols <= 2.
bpo-11147: Fix an unused argument in _Py_ANNOTATE_MEMORY_ORDER. (Fixgiven by Campbell Barton).
bpo-13503: Use a more efficient reduction format for bytearrays withpickle protocol >= 3. The old reduction format is kept with olderprotocols in order to allow unpickling under Python 2. Patch by Irmen deJong.
bpo-7111: Python can now be run without a stdin, stdout or stderr stream.It was already the case with Python 2. However, the corresponding sysmodule entries are now set to None (instead of an unusable file object).
bpo-11849: Ensure that free()d memory arenas are really released on POSIXsystems supporting anonymous memory mappings. Patch by Charles-FrançoisNatali.
PEP 3155 /issue #13448: Qualified name for classes and functions.
bpo-13436: Fix a bogus error message when an AST object was passed aninvalid integer value.
bpo-13411: memoryview objects are now hashable when the underlying objectis hashable.
bpo-13338: Handle all enumerations in _Py_ANNOTATE_MEMORY_ORDER to allowcompiling extension modules with -Wswitch-enum on gcc. Initial patch byFloris Bruynooghe.
bpo-10227: Add an allocation cache for a single slice object. Patch byStefan Behnel.
bpo-13393: BufferedReader.read1() now asks the full requested size to theraw stream instead of limiting itself to the buffer size.
bpo-13392: Writing a pyc file should now be atomic under Windows as well.
bpo-13333: The UTF-7 decoder now accepts lone surrogates (the encoderalready accepts them).
bpo-13389: Full garbage collection passes now clear the freelists for listand dict objects. They already cleared other freelists in theinterpreter.
bpo-13327: Remove the need for an explicit None as the second argument toos.utime, os.lutimes, os.futimes, os.futimens, os.futimesat, in order toupdate to the current time. Also added keyword argument handling toos.utimensat in order to remove the need for explicit None.
bpo-13350: Simplify some C code by replacing most usages ofPyUnicode_Format by PyUnicode_FromFormat.
bpo-13342: input() used to ignore sys.stdin’s and sys.stdout’s unicodeerror handler in interactive mode (when calling into PyOS_Readline()).
bpo-9896: Add start, stop, and step attributes to range objects.
bpo-13343: Fix a SystemError when a lambda expression uses a globalvariable in the default value of a keyword-only argument:lambda*,arg=GLOBAL_NAME:None
bpo-12797: Added custom opener parameter to builtin open() andFileIO.open().
bpo-10519: Avoid unnecessary recursive function calls in setobject.c.
bpo-10363: Deallocate global locks in Py_Finalize().
bpo-13018: Fix reference leaks in error paths in dictobject.c. Patch bySuman Saha.
bpo-13201: Define ‘==’ and ‘!=’ to compare range objects based on thesequence of values they define (instead of comparing based on objectidentity).
bpo-1294232: In a few cases involving metaclass inheritance, theinterpreter would sometimes invoke the wrong metaclass when building a newclass object. These cases now behave correctly. Patch by Daniel Urban.
bpo-12753: Add support for Unicode name aliases and named sequences. Bothunicodedata.lookup() and ‘N{...}’ now resolve aliases, andunicodedata.lookup() resolves named sequences too.
bpo-12170: The count(), find(), rfind(), index() and rindex() methods ofbytes and bytearray objects now accept an integer between 0 and 255 astheir first argument. Patch by Petri Lehtinen.
bpo-12604: VTRACE macro expanded to no-op in _sre.c to avoid compilerwarnings. Patch by Josh Triplett and Petri Lehtinen.
bpo-12281: Rewrite the MBCS codec to handle correctly replace and ignoreerror handlers on all Windows versions. The MBCS codec is now supportingall error handlers, instead of only replace to encode and ignore todecode.
bpo-13188: When called without an explicit traceback argument,generator.throw() now gets the traceback from the passed exception’s__traceback__ attribute. Patch by Petri Lehtinen.
bpo-13146: Writing a pyc file is now atomic under POSIX.
bpo-7833: Extension modules built using distutils on Windows will nolonger include a “manifest” to prevent them failing at import time in someembedded situations.
PEP 3151 /issue #12555: reworking the OS and IO exception hierarchy.
Add internal API for static strings (_Py_identifier et al.).
bpo-13063: the Windows error ERROR_NO_DATA (numbered 232 and described as“The pipe is being closed”) is now mapped to POSIX errno EPIPE (previouslyEINVAL).
bpo-12911: Fix memory consumption when calculating the repr() of hugetuples or lists.
PEP 393: flexible string representation. Thanks to Torsten Becker for theinitial implementation, and Victor Stinner for various bug fixes.
bpo-14081: The ‘sep’ and ‘maxsplit’ parameter to str.split, bytes.split,and bytearray.split may now be passed as keyword arguments.
bpo-13012: The ‘keepends’ parameter to str.splitlines may now be passed asa keyword argument: “my_string.splitlines(keepends=True)”. The samechange also applies to bytes.splitlines and bytearray.splitlines.
bpo-7732: Don’t open a directory as a file anymore while importing amodule. Ignore the direcotry if its name matchs the module name (e.g.“__init__.py”) and raise a ImportError instead.
bpo-13021: Missing decref on an error path. Thanks to Suman Saha forfinding the bug and providing a patch.
bpo-12973: Fix overflow checks that relied on undefined behaviour inlist_repeat (listobject.c) and islice_next (itertoolsmodule.c). Thesebugs caused test failures with recent versions of Clang.
bpo-12904: os.utime, os.futimes, os.lutimes, and os.futimesat now writeatime and mtime with nanosecond precision on modern POSIX platforms.
bpo-12802: the Windows error ERROR_DIRECTORY (numbered 267) is now mappedto POSIX errno ENOTDIR (previously EINVAL).
bpo-9200: The str.is* methods now work with strings that contain non-BMPcharacters even in narrow Unicode builds.
bpo-12791: Break reference cycles early when a generator exits with anexception.
bpo-12773: Make __doc__ mutable on user-defined classes.
bpo-12766: Raise a ValueError when creating a class with a class variablethat conflicts with a name in __slots__.
bpo-12266: Fix str.capitalize() to correctly uppercase/lowercasetitlecased and cased non-letter characters.
bpo-12732: In narrow unicode builds, allow Unicode identifiers which falloutside the BMP.
bpo-12575: Validate user-generated AST before it is compiled.
Make type(None), type(Ellipsis), and type(NotImplemented) callable. Theyreturn the respective singleton instances.
Forbid summing bytes with sum().
Verify the types of AST strings and identifiers provided by the userbefore compiling them.
bpo-12647: The None object now has a __bool__() method that returns False.Formerly, bool(None) returned False only because of special case logic inPyObject_IsTrue().
bpo-12579: str.format_map() now raises a ValueError if used on a formatstring that contains positional fields. Initial patch by Julian Berman.
bpo-10271: Allow warnings.showwarning() be any callable.
bpo-11627: Fix segfault when __new__ on a exception returns anon-exception class.
bpo-12149: Update the method cache after a type’s dictionary gets clearedby the garbage collector. This fixes a segfault when an instance and itstype get caught in a reference cycle, and the instance’s deallocator callsone of the methods on the type (e.g. when subclassing IOBase). Diagnosisand patch by Davide Rizzo.
bpo-9611: FileIO.read() clamps the length to INT_MAX on Windows. (Seealso: bpo-9015)
bpo-9642: Uniformize the tests on the availability of the mbcs codec, adda new HAVE_MBCS define.
bpo-9642: Fix filesystem encoding initialization: use the ANSI code pageon Windows if the mbcs codec is not available, and fail with a fatal errorif we cannot get the locale encoding (if nl_langinfo(CODESET) is notavailable) instead of using UTF-8.
When a generator yields, do not retain the caller’s exception state on thegenerator.
bpo-12475: Prevent generators from leaking their exception state into thecaller’s frame as they return for the last time.
bpo-12291: You can now load multiple marshalled objects from a stream,with other data interleaved between marshalled objects.
bpo-12356: When required positional or keyword-only arguments are notgiven, produce a informative error message which includes the name(s) ofthe missing arguments.
bpo-12370: Fix super with no arguments when __class__ is overriden in theclass body.
bpo-12084: os.stat on Windows now works properly with relative symboliclinks when called from any directory.
Loosen type restrictions on the __dir__ method. __dir__ can now return anysequence, which will be converted to a list and sorted by dir().
bpo-12265: Make error messages produced by passing an invalid set ofarguments to a function more informative.
bpo-12225: Still allow Python to build if Python is not in its hg repo ormercurial is not installed.
bpo-1195: my_fgets() now always clears errors before calling fgets(). Fixthe following case: sys.stdin.read() stopped with CTRL+d (end of file),raw_input() interrupted by CTRL+c.
bpo-12216: Allow unexpected EOF errors to happen on any line of the file.
bpo-12199: The TryExcept and TryFinally and AST nodes have been unifiedinto a Try node.
bpo-9670: Increase the default stack size for secondary threads on Mac OSX and FreeBSD to reduce the chances of a crash instead of a “maximumrecursion depth” RuntimeError exception. (patch by Ronald Oussoren)
bpo-12106: The use of the multiple-with shorthand syntax is now reflectedin the AST.
bpo-12190: Try to use the same filename object when compilingunmarshalling a code objects in the same file.
bpo-12166: Move implementations of dir() specialized for various typesinto the __dir__() methods of those types.
bpo-5715: In socketserver, close the server socket in the child process.
Correct lookup of __dir__ on objects. Among other things, this causeserrors besides AttributeError found on lookup to be propagated.
bpo-12060: Use sig_atomic_t type and volatile keyword in the signalmodule. Patch written by Charles-François Natali.
bpo-1746656: Added the if_nameindex, if_indextoname, if_nametoindexmethods to the socket module.
bpo-12044: Fixed subprocess.Popen when used as a context manager to waitfor the process to end when exiting the context to avoid unintentionallyleaving zombie processes around.
bpo-1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c,clear the end- of-file indicator after CTRL+d.
bpo-1856: Avoid crashes and lockups when daemon threads run while theinterpreter is shutting down; instead, these threads are now killed whenthey try to take the GIL.
bpo-9756: When calling a method descriptor or a slot wrapper descriptor,the check of the object type doesn’t read the __class__ attribute anymore.Fix a crash if a class override its __class__ attribute (e.g. a proxy ofthe str type). Patch written by Andreas Stührk.
bpo-10517: After fork(), reinitialize the TLS used by the PyGILState_*APIs, to avoid a crash with the pthread implementation in RHEL 5. Patchby Charles-François Natali.
bpo-10914: Initialize correctly the filesystem codec when creating a newsubinterpreter to fix a bootstrap issue with codecs implemented in Python,as the ISO-8859-15 codec.
bpo-11918: OS/2 and VMS are no more supported because of the lack ofmaintainer.
bpo-6780: fix starts/endswith error message to mention that tuples areaccepted too.
bpo-5057: fix a bug in the peepholer that led to non-portable pyc filesbetween narrow and wide builds while optimizing BINARY_SUBSCR on non-BMPchars (e.g. “U00012345”[0]).
bpo-11845: Fix typo in rangeobject.c that caused a crash incompute_slice_indices. Patch by Daniel Urban.
bpo-5673: Added atimeout keyword argument to subprocess.Popen.wait,subprocess.Popen.communicated, subprocess.call, subprocess.check_call, andsubprocess.check_output. If the blocking operation takes more thantimeout seconds, thesubprocess.TimeoutExpired exception is raised.
bpo-11650: PyOS_StdioReadline() retries fgets() if it was interrupted(EINTR), for example if the program is stopped with CTRL+z on Mac OS X.Patch written by Charles-Francois Natali.
bpo-9319: Include the filename in “Non-UTF8 code ...” syntax error.
bpo-10785: Store the filename as Unicode in the Python parser.
bpo-11619: _PyImport_LoadDynamicModule() doesn’t encode the path to byteson Windows.
bpo-10998: Remove mentions of -Q, sys.flags.division_warning andPy_DivisionWarningFlag left over from Python 2.
bpo-11244: Remove an unnecessary peepholer check that was preventingnegative zeros from being constant-folded properly.
bpo-11395: io.FileIO().write() clamps the data length to 32,767 bytes onWindows if the file is a TTY to workaround a Windows bug. The Windowsconsole returns an error (12: not enough space error) on writing intostdout if stdout mode is binary and the length is greater than 66,000bytes (or less, depending on heap usage).
bpo-11320: fix bogus memory management in Modules/getpath.c, leading to apossible crash when calling Py_SetPath().
bpo-11432: A bug was introduced in subprocess.Popen on posix systems with3.2.0 where the stdout or stderr file descriptor being the same as thestdin file descriptor would raise an exception. webbrowser.open wouldfail. fixed.
bpo-9856: Change object.__format__ with a non-empty format string to be aDeprecationWarning. In 3.2 it was a PendingDeprecationWarning. In 3.4 itwill be a TypeError.
bpo-11244: The peephole optimizer is now able to constant-fold arbitrarilycomplex expressions. This also fixes a 3.2 regression where operationsinvolving negative numbers were not constant-folded.
bpo-11450: Don’t truncate hg version info in Py_GetBuildInfo() when thereare many tags (e.g. when using mq). Patch by Nadeem Vawda.
bpo-11335: Fixed a memory leak in list.sort when the key function throwsan exception.
bpo-8923: When a string is encoded to UTF-8 in strict mode, the result iscached into the object. Examples: str.encode(), str.encode(‘utf-8’),PyUnicode_AsUTF8String() and PyUnicode_AsEncodedString(unicode, “utf-8”,NULL).
bpo-10829: Refactor PyUnicode_FromFormat(), use the same function to parsethe format string in the 3 steps, fix crashs on invalid format strings.
bpo-13007: whichdb should recognize gdbm 1.9 magic numbers.
bpo-11286: Raise a ValueError from calling PyMemoryView_FromBuffer with abuffer struct having a NULL data pointer.
bpo-11272: On Windows, input() strips ‘r’ (and not only ‘n’), andsys.stdin uses universal newline (replace ‘rn’ by ‘n’).
bpo-11828: startswith and endswith now accept None as slice index. Patchby Torsten Becker.
bpo-11168: Remove filename debug variable from PyEval_EvalFrameEx(). Itencoded the Unicode filename to UTF-8, but the encoding fails onundecodable filename (on surrogate characters) which raises an unexpectedUnicodeEncodeError on recursion limit.
bpo-11187: Remove bootstrap code (use ASCII) ofPyUnicode_AsEncodedString(), it was replaced by a better fallback (use thelocale encoding) in PyUnicode_EncodeFSDefault().
Check for NULL result in PyType_FromSpec.
bpo-10516: New copy() and clear() methods for lists and bytearrays.
bpo-11386: bytearray.pop() now throws IndexError when the bytearray isempty, instead of OverflowError.
bpo-12380: The rjust, ljust and center methods of bytes and bytearray nowaccept a bytearray argument.
(For information about older versions, consult the HISTORY file.)
Enter search terms or a module, class or function name.