+++++++++++ Python News +++++++++++ What's New in Python 2.7.1?

=========================== *Release date: 2010-11-27* Library ------- Issue #10092: Properly reset locale in calendar.Locale*Calendar classes. - Issue #10459: Update CJK character names to Unicode 5.2. - Issue #6098: Don't claim DOM level 3 conformance in minidom. - Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty XML namespace attribute is encountered. - Issue #1710703: Write structures for an empty ZIP archive when a ZipFile is created in modes 'a' or 'w' and then closed without adding any files. Raise BadZipfile (rather than IOError) when opening small non-ZIP files. - Issue #4493: urllib2 adds '/' in front of path components which does not start with '/. Common behavior exhibited by browsers and other clients. - Issue #6378: idle.bat now runs with the appropriate Python version rather than the system default. Patch by Sridhar Ratnakumar. - Issue #10407: Fix one NameError in distutils. - Issue #10198: fix duplicate header written to wave files when writeframes() is called without data. - Issue #10467: Fix BytesIO.readinto() after seeking into a position after the end of the file. - Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru. Build ----- Backport r83399 to allow test_distutils to pass on installed versions. - Issue #1303434: Generate ZIP file containing all PDBs. Tests ----- Issue #9424: Replace deprecated assert* methods in the Python test suite. Documentation ------------- Issue #10299: List the built-in functions in a table in functions.rst. What's New in Python 2.7.1 release candidate 1?

=============================================== *Release date: 2010-11-13* Core and Builtins ----------------- Issue #10221: dict.pop(k) now has a key error message that includes the missing key (same message d[k] returns for missing keys). - Issue #10125: Don't segfault when the iterator passed to ``file.writelines()`` closes the file. - Issue #10186: Fix the SyntaxError caret when the offset is equal to the length of the offending line. - Issue #9997: Don't let the name "top" have special significance in scope resolution. - Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding its value as the default 512 when compiling on AIX. - Issue #9675: CObject use is marked as a Py3k warning, not a deprecation warning. - Issue #10068: Global objects which have reference cycles with their module's dict are now cleared again. This causes issue #7140 to appear again. - Issue #9869: Make long() and PyNumber_Long return something of type long for a class whose __long__ method returns a plain int. This fixes an interpreter crash when initializing an instance of a long subclass from an object whose __long__ method returns a plain int. - Issue #10006: type.__abstractmethods__ now raises an AttributeError. - Issue #9797: pystate.c wrongly assumed that zero couldn't be a valid thread-local storage key. - Issue #4947: The write() method of sys.stdout and sys.stderr uses their encoding and errors attributes instead of using utf-8 in strict mode, to get the same behaviour than the print statement. - Issue #9737: Fix a crash when trying to delete a slice or an item from a memoryview object. - Restore GIL in nis_cat in case of error. - Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t. - Issue #8530: Prevent stringlib fastsearch from reading beyond the front of an array. - Issue #83755: Implicit set-to-frozenset conversion was not thread-safe. - Issue #9416: Fix some issues with complex formatting where the output with no type specifier failed to match the str output: - format(complex(-0.0, 2.0), '-') omitted the real part from the output, - format(complex(0.0, 2.0), '-') included a sign and parentheses.

- Issue #7616: Fix copying of overlapping memoryview slices with the Intel compiler. Library ------- Issue 9926: Wrapped TestSuite subclass does not get __call__ executed - Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by Lorenzo M. Catucci. - Issue #10126: Fix distutils' test_build when Python was built with --enable-shared. - Fix typo in one sdist option (medata-check). - Issue #9199: Fix incorrect use of distutils.cmd.Command.announce. - Issue #1718574: Fix options that were supposed to accept arguments but did not in build_clib. - Issue #9281: Prevent race condition with mkdir in distutils. Patch by Arfrever. - Issue #10229: Fix caching error in gettext. - Issue #10252: Close file objects in a timely manner in distutils code and tests. Patch by Brian Brazil, completed by Éric Araujo. - Issue #10311: The signal module now restores errno before returning from its low-level signal handler. Patch by Hallvard B Furuseth. - Issue #10038: json.loads() on str should always return unicode (regression from Python 2.6). Patch by Walter Dörwald. - Issue #120176: Wrapped TestSuite subclass does not get __call__ executed. - Issue #6706: asyncore accept() method no longer raises EWOULDBLOCK/ECONNABORTED on incomplete connection attempt but returns None instead. - Issue #10266: uu.decode didn't close in_file explicitly when it was given as a filename. Patch by Brian Brazil. - Issue #10246: uu.encode didn't close file objects explicitly when filenames were given to it. Patch by Brian Brazil. - Issue #10253: FileIO leaks a file descriptor when trying to open a file for append that isn't seekable. Patch by Brian Brazil. - Issue #6105: json.dumps now respects OrderedDict's iteration order. - Issue #9295: Fix a crash under Windows when calling close() on a file object with custom buffering from two threads at once. - Issue #5027: The standard ``xml`` namespace is now understood by xml.sax.saxutils.XMLGenerator as being bound to http://www.w3.org/XML/1998/namespace. Patch by Troy J. Farrell. - Issue #10163: Skip unreadable registry keys during mimetypes

Issue #9729: Fix the signature of SSLSocket. . and retries sending if these returned successfully. .Issue #9065: tarfile no longer uses "root" as the default for the uname and gname field.Issue #9928: Properly initialize the types exported by the bz2 module.sendto() to match the corresponding socket methods. Also.Issue #9950: Fix socket. . . fix various SSLSocket methods to raise socket. Trevor King. .Issue #9854: The default read() implementation in io. .Issue #9042: Fix interaction of custom translation classes and caching in gettext. . .Issue 9409: Fix the regex to match all kind of filenames. .Issue #10004: quoprimime no longer generates a traceback when confronted with invalid characters after '=' in a Q-encoded word.Issue #9947: logging: Fixed locking bug in stopListening.relpath() and ntpath. eg.recvfrom() and SSLSocket.getcwd() error.Issue #767645: Set os.Issue #10045: Improved performance when writing after seeking past the end of the "file" in cStringIO. Now sendall() properly calls signal handlers if necessary. .Issue #9936: Fixed executable lines' search in the trace module. . including on sockets with a timeout. .Issue #9948: Fixed problem of losing filename case information.Issue #9826: OrderedDict.__repr__ can now handle self-referential values: d['x'] = d. . if the current directory was deleted.Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler.Issue #1050268: parseaddr now correctly quotes double quote and backslash characters that appear inside quoted strings in email addresses.error rather than an unhelpful TypeError when called on an unconnected socket. . for interactive debugging in doctests.relpath(). Patch written by W. . .RawIOBase now handles non-blocking readinto() returning None correctly.Issue #6612: Fix site and sysconfig to catch os.supports_unicode_filenames to True on Mac OS X.Issue #9759: GzipFile now raises ValueError when an operation is attempted after the file is closed.path.Issue #9437: Fix building C extensions with non-default LDFLAGS. . Patch by Jeffrey Finkelstein.Issue #5117: Fixed root directory related issue on posixpath. . . . .sendall() crash or misbehaviour when a signal is received. Original patch by Andrew Bennetts.initialization.

Issue #9792: In case of connection failure.Issue #1194222: email. . to avoid issues when socket.create_connection() would swallow the exception and raise a new one.Issue #8750: Fixed MutableSet's methods to correctly handle reflexive operations. making it impossible to fetch the original errno.Issue #658749: asyncore's connect() method now correctly interprets winsock errors. . autojunk. socket.Issue #9758: When fcntl.Issue #8797: urllib2 does a retry for Basic Authentication failure instead of falling into recursion.write. . .) . the buffer wouldn't be updated back after the system call. Patch by Terry Reedy and Eli Bendersky . .close is called from a __del__ method.Issue #9825: removed __del__ from the definition of collections.Issue #7005: Fixed output of None values for RawConfigParser. Patch by Michele Orrù and Björn Lindqvist.Issue #808164: Fixed socket.utils.OrderedDict. Now the original error is re-raised.jumpahead(n) did not produce a sufficiently different internal state for small values of n.Random.py is vulnerable to DoS attacks deriving from missing error handling when accepting a new connection.Issue #9129: smtpd. (Patch by Eli Bendersky. . .SequenceMatcher gets a new parameter. so that classes . This prevents user-created self-referencing ordered dictionaries from becoming permanently uncollectable GC garbage.Issue #9837: The read() method of ZipExtFile objects (as returned by ZipFile. Fixed by salting the value.ioctl() was called with mutable_flag set to True.Issue #1100562: Fix deep-copying of objects derived from the list and dict types.Issue #2521: Use weakrefs on for caching in the abc module.close to avoid references to globals.write and ConfigParser.Issue #9816: random. .Issue #9617: Signals received during a low-level write operation aren't ignored by the buffered IO layer anymore.Issue #2986: difflib. . . . .Issue #9501: Fixed logging regressions in cleanup code. . .parsedate now returns RFC2822 compliant four character years even if the message contains RFC822 two character years. The downside is that removing __del__ means that the internal doubly-linked list has to wait for GC collection rather than freeing memory immediately when the refcnt drops to zero. namely x -= x and x ^= x. or to filter timeout errors.Issue #9214: Set operations on KeysView or ItemsView in the collections module now correctly return a set. Original patch by Brian Brazil.. and the passed buffer was exactly 1024 bytes long.open()) could return more bytes than requested. which can be set to False to turn off the previously undocumented 'popularity' heuristic. .

Report and original patch by Jason V.are not held onto after they are deleted elsewhere. .Issue #9354: Provide getsockopt() in asyncore's file_wrapper. Previous behavior was wrong.Issue #3757: thread-local objects now support cyclic garbage collection. os. . .Issue #7467: when reading a file from a ZIP archive.Fix Issue8280 .Issue #6915: Under Windows. . even if the underlying thread is still running. instead of raising an error.ElementInclude to include the tail of the current node.ctypes should now work with systems where mmap can't be PROT_WRITE and PROT_EXEC.urllib2's Request method will remove fragements in the url.Issue #9428: Fix running scripts with the profile/cProfile modules from the command line. Thread-local objects involved in reference cycles will be deallocated timely by the cyclic GC. . . . . .Issue #6231: Fix xml. its CRC is checked and a BadZipfile error is raised if it doesn't match (as used to be the case in Python 2. Miller.Issue #9626: the view methods for collections. . a socket. .Issue #9550: a BufferedReader could issue an additional read when the original read request had been satisfied.Issue #6869: Fix a refcount problem in the _ctypes extension.Issue #3196: email header decoding is now forgiving if an RFC2047 encoded word encoded in base64 is lacking padding. .listdir() didn't release the Global Interpreter Lock around all system calls.Issue #7781: Fix restricting stats by entry counts in the pstats interactive browser. . . Those methods are now overridden to provide ordered views.etree.Issue #9551: Don't raise TypeError when setting the value to None for SafeConfigParser instances constructed with allow_no_value == True.5 and earlier).Issue5504 . This is how it is supposed to work.Issue #8688: MANIFEST files created by distutils now include a magic comment indicating they are generated. Original patch by Ryan Kelly. . . .OrderedDict() were returning the unordered versions inherited from dict. wget and curl do the same. .Issue #9444: Argparse now uses the first element of prefix_chars as the option character for the added 'h/help' option if prefix_chars does not contain a '-'.g.Issue #2944: asyncore doesn't handle connection refused correctly. which could block indefinitely when the underlying raw IO channel was e. .Issue #9209: Do not crash in the pstats interactive browser on invalid regular expressions. Manually maintained MANIFESTs without this marker will not be overwritten or removed.

. . .Issue #8198: In pydoc.Issue #8620: when a Cmd is fed input that reaches EOF without a final newline.Issue #6719: In pdb.cookiejar.Issue #4108: In urllib.Issue #7113: Speed up loading in ConfigParser. do not stop somewhere in the encodings machinery if the source file to be debugged is in a non-builtin encoding. . output all help text to the correct stream when sys. consider the first one. .Issue #7372: Fix pstats regression when stripping paths from profile data generated with the profile module.Issue #8826: Properly load old-style "expires" attribute in http.MozillaCookieJar. . . .Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and utf-16 incremental encoders.Issue #8471: In doctest.Issue #8397: Raise an error when attempting to mix iteration and regular reads on a BZ2File object.stdout is reassigned.Issue #8048: Prevent doctests from failing when sys.ismount().Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when re-initializing a buffered IO object by calling its ``__init__`` method. do not crash when an empty line is entered as a breakpoint command.displayhook has been reassigned. . which returned true for symbolic links across devices.Issue #5147: Fix the header generated for cookie files written by http.py. rather than returning incorrect results. . .Issue #7395: Fix tracebacks in pstats interactive browser.normpath().path.. .Issue #7909: Do not touch paths with the special prefixes ``\\.Issue #5727: Restore the ability to use readline when calling into pdb in doctests. properly reset the output stream to an empty string when Unicode was previously output.Issue #8230: Fix Lib/test/sortperf. .main(). . .Issue #5146: Handle UID THREAD command correctly in imaplib.Issue #1690103: Fix initial namespace for code run with trace.robotparser. .Issue #8015: In pdb. Patch by Łukasz Langa. . . . .Issue #1713: Fix os.\`` or ``\\?\`` in ntpath. it no longer truncates the last character of the last command line. if there are multiple 'User-agent: *' entries. .Issue #5294: Fix the behavior of pdb's "continue" command when called in the top-level debugged frame.cookies. .

.Issue #9315: Fix for the trace module to record correct class name for tracing methods. Now an IOError is raised instead. .Issue #8734: Avoid crash in msvcrt.Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX .Fix extreme speed issue in Decimal.__init__. .pow when the base is an exact power of 10 and the exponent is tiny (for example. .Issue #4629: getopt raises an error if an argument ends with = whereas getopt doesn't except a value (eg.Issue #9136: Fix 'dictionary changed size during iteration' RuntimeError produced when profiling the decimal module. ..Issue #7736: Release the GIL around calls to opendir() and closedir() in the posix module. Patch by Pascal Chambon. .1. .Issue #7895: platform.0.Issue #5395: array. Patch by chuck (Jan Hosang). Fixes a regression introduced by issue #9324.Issue #3704: cookielib was not properly handling URLs with a / in the parameters. the _weakref module is now compiled into the interpreter by default. .Issue #10003: Allow handling of SIGBREAK on Windows.mac_ver() no longer crashes after calling os.Issue #9161: Fix regression in optparse's acceptance of unicode strings in add_option calls.As a result of issue #2521.fromfile() would raise a spurious EOFError when an I/O error occurred. . . . . Decimal(10) ** Decimal('1e-999999999')). . Extension Modules ----------------.Issue #9128: Fix validation of class decorators in parser module. . .get_osfhandle() when an invalid file descriptor is provided.Issue #9130: Fix validation of relative imports in parser module. .Issue #9054: Fix a crash occurring when using the pyexpat module with expat version 2. Patch by Marcin Bachry.Issue #9032: XML-RPC client retries the request on EPIPE error.Issue #5542: Remove special logic that closes HTTPConnection socket on EPIPE. The EPIPE error occurs when the server closes the socket and the client sends a big XML-RPC request. This was due to a dangerous iteration over 'locals()' in Context.fork() .Issue #7646: The fnmatch pattern cache no longer grows without bound. --help= is rejected if getopt uses ['help='] long options).

Issue #9450: Fix memory leak in readline. . . ._test_decode_cert. Patch by Akira Kitada.Issue #8105: Validate file descriptor passed to mmap. .g.py was removed. .Issue #9277: Fix bug in struct.Issue #7567: Don't call `setupterm' twice. In particular.Issue #7287: Demo/imputil/knee.pack for bools in standard mode (e.setgroups() but basicly always returns the same information as the id command. Tools/Demos ----------. . Build ----. .Issue #1019882: Fix IndexError when loading certain hotshot stats.h.Issue #10055: Make json C89-compliant in UCS4 mode. .Issue #941346: Improve the build process under AIX and allow Python to .getgroups() can now return more than 16 groups on MacOSX. . .Issue #8852: Allow the socket module to build on OpenSolaris.Issue #9324: Add parameter validation to signal.pack('>?')): if conversion to bool raised an exception then that exception wasn't properly propagated on machines where char is unsigned. . .Issue #1633863: Don't ignore $CC under AIX. . .. os.Issue #9422: Fix memory leak when re-initializing a struct.Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly compared to other unix systems.signal on Windows in order to prevent crashes.Fix memory leak in ssl. It used to be built with bzip2's makefile.Struct object.Issue #10054: Some platforms provide uintptr_t in inttypes.0.Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well as wide (UCS4) unicode builds for both the host interpreter (embedded inside gdb) and the interpreter under test.replace_history_item and readline.remove_history_item for readline version >= 5..Issue #9526: Remove some outdated (int) casts that were preventing the array module from working correctly with arrays of more than 2**31 elements.Issue #8065: Fix memory leak in readline module (from failure to free the result of history_get_history_state()).mmap on Windows. os._ssl. .Issue #9810: Compile bzip2 source files in python's project file directly.getgroups() does not reflect any changes made using os. struct. .

Issue #9894: Do not hardcode ENOENT in test_subprocess. respectively. .Issue #9280: Make sharedinstall depend on sharedmods.Issue #9275: The OSX installer once again installs links to binaries in ``/usr/local/bin``.Issue #4026: Make the fcntl extension build under AIX. Patch by Eli Bendersky.Issue #8857: Provide a test case for socket.getaddrinfo. .Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6. that is you can use ``2to3-2.7`` to select the Python 2. .Issue #9568: Fix test_urllib2_localnet on OS X 10.Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.Issue #8433: Fix test_curses failure with newer versions of ncurses. libffi and expat licenses .regrtest.Issue #9978: Wait until subprocess completes initialization.Strengthen test_unicode with explicit type checking for assertEqual tests.x. Patch by Sébastien Sablé. .Issue #9392: A framework build on OSX will once again use a versioned name of the ``2to3`` tool. This feature now also supports the ZSH shell.Issue #9496: Provide a test suite for the rlcompleter module.7 edition of 2to3. . . Patch by Michele Orrù.3. .Issue #9817: Add expat COPYING file. .be built as a shared library.Issue #8605: Skip test_gdb if Python is compiled with optimizations. . this was not always the case when running profile or trace. Patch by Sébastien Sablé.Issue #9315: Added tests for the trace module.Issue #7473: avoid link errors when building a framework with a different set of architectures than the one that is currently installed. (Win32KillTests in test_os) .Issue #9701: The MacOSX installer can patch the shell profile to ensure that the "bin" directory inside the framework is on the shell's search path. . .Issue #9323: Make test. Tests ----. add expat. . for example. . . Documentation ------------.__file__ absolute. . Patch by Sébastien Sablé.Issue #3101: Helper functions _add_one_to_index_C() and _add_one_to_index_F() become _Py_add_one_to_index_C() and _Py_add_one_to_index_F(). . .

format(). Extension Modules ----------------.kill.' syntax to parser module.. ensure that the input string length is a multiple of the frame size. . .to Doc/license. What's New in Python 2. What's New in Python 2.argv[0]`` handling for -m command line option reverted due to unintended side effects on handling of ``sys.Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.In the unicode/str. remove the setting of a ``debug`` flag on an OpenSSL structure.Issue #9524: Document that two CTRL* signals are meant for use only with os.Issue #8202: Previous change to ``sys. .rst.7? ========================= *Release date: 2010-07-03* Core and Builtins ----------------..7 release candidate 2? ============================================= *Release date: 2010-06-20* Core and Builtins ----------------. .Issue #9075: In the ssl module..Issue #7829: Document in dis that bytecode is an implementation detail.Prevent assignment to set literals. See tracker issue for details. as .Issue #1868: Eliminate subtle timing issues in thread-local objects by getting rid of the cached copy of thread-local attribute dictionary.Issue #9255: Document that the 'test' package is for internal Python use only. . .. . Library ------.Issue #9125: Add recognition of 'except .path``. raise a ValueError when indexes to arguments are too large.Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash the interpreter with characters outside the Basic Multilingual Plane (higher than 0x10000). . .Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module.

Documentation ------------.Issues #8909: Added the size of the bitmap used in the installer created by distutils' bdist_wininst..3 and -30.Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of __hash__ in 3. 'replace') now returns u'\ufffdAB' and replaces with U+FFFD only the start byte ('\xf1') and the continuation byte ('\x80') even if '\xf1' is the start byte of a 4-bytes sequence.Issue #8986: math. E. Library ------. only the start byte and the continuation byte(s) are now considered invalid. Patch by Anatoly Techtonik. . Previous versions returned a single u'\ufffd'.Build ----.Issue #8854: Fix finding Visual Studio 2008 on Windows x64. Misc ---..Issue #8362: Add maintainers.Issue #8959: fix regression caused by using unmodified libffi library on Windows.rst: list of module maintainers What's New in Python 2. . ctypes does now again check the stack before and after calling foreign functions.: '\xf1\x80AB'.SMTPServer constructor raises an exception.decode('utf-8'.7 Release Candidate 1? ============================================= *Release date: 2010-06-05* Core and Builtins ----------------.Issue #8271: during the decoding of an invalid UTF-8 byte sequence. Also fix "XXX undetected error" that arises from the "Overriding __eq__ blocks inheritance .socket_map in case smtpd.Issue #6589: cleanup asyncore.Issue #8948: cleanup functions and class / module setups and teardowns are now honored in unittest debug methods. . .0 on some platforms. instead of the number of bytes specified by the start byte.Issue #8924: logging: Improved error handling for Unicode in exception text.erfc was incorrectly raising OverflowError for values between -27. .Issue #8720: fix regression caused by fix for #4050 by making getsourcefile smart enough to find source files in the linecache." warning when turned into an exception: in this case the exception simply gets ignored.x" warning. . .g.

Issue #5211: Implicit coercion for the complex type is now completely removed. .TestCase. C-API ----. :cfunc:`PySys_SetArgvEx`. . . .Issue #4487: email now accepts as charset aliases all codec aliases accepted by the codecs module.argv without also modifying sys.Issue #8868: Fix that ensures that python scripts have access to the Window Server again in a framework build on MacOSX 10.Issue #7079: Fix a possible crash when closing a file object while using it from another thread.setUpClass or setUpModule is now reported as a skip rather than an error. allows embedders of the interpreter to set sys.5 or earlier.Issue #8302: SkipTest in unittest. leading to unpredictable exceptions when combining integers and complex objects in sets or dicts.exit() message to sys. This helps fix `CVE-2008-5983 <http://cve. (1) The comparison could incorrectly return True in some cases (2**53+1 == complex(2**53) == 2**53).struct_time now has class and atribute docstrings.Issue #3798: Write sys. . . .Issue #8833: tarfile created hard link entries with a size field != 0 by mistake. don't try implicit relative import semantics.Issue #5610: feedparser no longer eats extra characters at the end of a body part if the body part ends with a \r\n.org/cgi-bin/cvename.Issue #8899: time. Patch by Daniel Stutzbach. .. .7 alpha 4. breaking transivity of equality.Issue #1368247: set_charset (and therefore MIMEText) now automatically encodes a unicode _payload to the output_charset. (Coercion for arithmetic operations was already removed in 2. but coercion for rich comparisons was accidentally left in.TestCase. .assertSequenceEqual are no longer included in failure reports.Issue #5753: A new C API function. . instead of writing to the C stderr file in utf-8 .Issue #6470: Drop UNC prefix in FixTk. Library ------.Issue #7150: Raise OverflowError if the result of adding or subtracting timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.stderr to use stderr encoding and error handler.Issue #8748: Fix two issues with comparisons between complex and integer objects. .cgi?name=CVE-2008-5983>`_.mitre.Issue #8351: Excessively large diffs due to unittest.Issue #7902: When using explicit relative import syntax.) . (2) The comparison raised an OverflowError for large integers.path.

.transient_internet() catches gaierror(EAI_NONAME) and gaierror(EAI_NODATA) .).open().Issue #1285086: Speed up ``urllib. patch written by Fredrik Håård .Issue #8782: Add a trailing newline in linecache.Issue #8688: Distutils now recalculates MANIFEST everytime.Issue #8889: test_support. . . .quote()`` and urllib. Build . Tests ----.Issue #3924: Ignore cookies with invalid "version" field in cookielib.Issue #8835: test_support.__eq__()`` when comparing to a non-mapping.Popen`` (and the methods it calls) referenced global objects. causing errors to pop up during interpreter shutdown. . ``test_site`` assumed that a framework build was being used. .Issue #8759: Fix user paths in sysconfig for posix and os2 schemes.Issue #5640: Fix Shift-JIS incremental encoder for error handlers different than 'strict'. Extension Modules ----------------.Issue #8729: Return NotImplemented from ``collections.Mapping.transient_internet rewritten so that the new checks also work on FreeBSD. Fix also reset() method of codecs. .Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing overflow checks in the ``audioop`` module.Issue #7384: If the system readline library is linked against ncurses. .Issue #6268: Fix seek() method of codecs. . .Issue #8016: Add the CP858 codec. UTF-16.Issue #2810: Fix cases where the Windows registry API returns ERROR_MORE_DATA. Otherwise it is not safe to load both the readline and curses modules in an application. . leading to a failure where four directories were expected for site-packages instead of two in a non-framework build.Issue #6662: Fix parsing of malformatted charref (&#bad. .unquote for simple cases. requiring a re-try in order to get the complete result.. the curses module must be linked against ncurses as well. don't read or write the BOM twice after seek(0). UTF-32 and StreamWriter classes.updatecache to the last line of files without one.Issue #7449: Skip test_socketserver if threading support is disabled .On darwin. which lacks EAI_NODATA.Issue #5099: The ``__del__()`` method of ``subprocess.

Issue #7072: ``isspace(0xa0)`` is true on Mac OS X. Patch by Charles-François Natali.Display installer warning that Windows 2000 won't be supported in future releases.Run Clang 2. Library ------. . .Issues #1759169.Issue #7332: Remove the 16KB stack-based buffer in ``PyMarshal_ReadLastObjectFromFile``. What's New in Python 2.7`` instead of ``~/. ``python setup. . larger arguments (those whose __int__ was outside the range of a C long) would produce a TypeError. .7's static analyzer for ``Objects/`` and ``Python/``.Issue #8681: Make the zlib module's error messages more informative when the zlib itself doesn't give any detailed explanation. .Issue #8404: Fix set operations on dictionary views. Tools/Demos ----------.py install --user`` will install into ``~/Library/Python/2. .py. . .7 beta 2? ================================ *Release date: 2010-05-08* Core and Builtins ----------------.Issue #8084: PEP 370 now conforms to system conventions for framework builds on MacOS X.Issue #8202: ``sys. only small arguments were treated this way. That is.maxsize is passed to bytearray. . define it for multiprocessing only.Issue #1533: Fix inconsistency in range function argument processing: any non-float non-integer argument is now converted to an integer (if possible) using its __int__ method. #8864: Drop _XOPEN_SOURCE on Solaris.Issue #5464: Implement plural forms in msgfmt. do not silence DeprecationWarning. . which doesn't bring any noticeable benefit compared to the dynamic memory allocation fallback.Issue #8571: Fix an internal error when compressing or decompressing a chunk larger than 1GB with the zlib module's compressor and decompressor objects.local``.----. Previously.argv[0]`` is now set to '-m' instead of '-c' when searching for the module file to be executed with the -m command line option.Issue #7319: When -Q is used. .Issue #8417: Raise an OverflowError when an integer larger than sys.

. .get_python_inc()`` now makes a difference between the build dir and the source dir when looking for "python. . the ``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the module location of the raised exception. .Issue #4687: Fix accuracy of garbage collection runtimes displayed with gc. . .Issue #7490: To facilitate sharing of doctests between 2.Issue #8573: asyncore ``_strerror()`` function might throw ValueError.copyfile()`` was leaking file descriptors when disk fills.Issue #8577: ``distutils.fork`` on Mac OS X 10. . .open()``. Patch by Kyle VanderBeek.Issue #8546: Reject None given as the buffering argument to ``_pyio. .format_exception_only()`` encodes unicode message to ASCII with backslashreplace error handler if ``str(value)`` failed. In many cases this order wasn't being followed.Issue #8576: logging updated to remove usage of find_unused_port(). . the specification determines the order in which the signals should be handled.x test suites.Issue #8354: The siginterrupt setting is now preserved for all signals. Based on initial patch by Lennart Regebro.Issue #8313: ``traceback.6.Issue #6312: Fix http HEAD request when the transfer encoding is chunked. .Issue #8464: tarfile no longer creates files with execute permissions set when mode="w " is used. .Issue #7192: ``webbrowser.x and 3.Issue #8621: ``uuid. . not just SIGCHLD. Patch by Tres Seaver.. . fix missing newline before the certificate footer.Issue #8086: In :func:`ssl. leading to the wrong Python exception being raised. .Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions of the Linux kernel. Patch by Pascal Chambon.sysconfig. .Issue #8483: asyncore. Patch by Yaniv Aknin. .dispatcher's __getattr__ method produced confusing error messages when accessing undefined class attributes because of the cheap inheritance with the underlying socket object. The cheap inheritance has been deprecated.Issue #8567: Fix precedence of signals in Decimal module: when a Decimal operation raises multiple signals and more than one of those signals is trapped.get("firefox")`` now works on Mac OS X. as does ``webbrowser.DEBUG_STATS. Also ensure that calling close() several times is supported.Issue #7865: The close() method of :mod:`io` objects should not swallow exceptions raised by the implicit flush().h" or "Include". . . It should correctly return an empty response now.DER_cert_to_PEM_cert()`.get("safari")``.Issue #7755: Use an unencumbered audio file for tests.uuid4()`` returned the same sequence of values in the parent and any children created using ``os.Issue #4265: ``shutil.

Issue #7507: Quote "!" in pipes. such that verification of some SSL certificates doesn't fail because of an "unknown algorithm". . by disabling OpenSSL's internal readahead. so as to change the available cipher list. Helps fix test_ssl with OpenSSL 1. Patch by Sridhar Ratnakumar. . Also make that method friendlier with applications wanting to continue using the socket in clear-text mode. Initial patch by Péter Szabó. Patch by Tony Locke and Hans Ulrich Niedermann..4. This also fixes the occasional freezes witnessed in test_httpservers.Issue #5238: Calling makefile() on an SSL object would prevent the underlying socket from being closed until all objects get truely destroyed. .FTP.Issue #8108: Fix the unwrap() method of SSL objects when the socket has a non-infinite timeout.Issue #2987: RFC 2732 support for urlparse (IPv6 addresses). .The do_handshake() method of SSL objects now adjusts the blocking mode of the SSL structure if necessary (as other methods already do). .Issue #8463: Add missing reference to bztar in shutil's documentation.Issue #8438: Remove reference to the missing "surrogateescape" encoding error handler from the new IO library.Issue #6656: Fix locale. . .Issue #3817: ftplib. .shutdown.Issue #4814: The timeout parameter is now applied also for connections resulting from PORT/EPRT commands. openlog() arguments are all optional and keywords. .0.argv[0]) instead of the string "python" as the *ident*. .format_string to handle escaped percents and mappings.Issue #8549: Fix compiling the _ssl extension under AIX. patch written by Dave Malcolm .Issue #2302: Fix a race condition in SocketServer. . .Issue #8451: Syslog module now uses basename(sys.Issue #8437: Fix test_gdb failures. .Issue #8484: Load all ciphers and digest algorithms when initializing the _ssl extension.Issue #8279: Fix test_gdb failures. . . . . Thanks to Darryl Miles for guidance. .abort() method now considers 225 a valid response code as stated in RFC-959 at chapter 5.Issue #8322: Add a *ciphers* argument to SSL sockets. where the method could block indefinitely if called just before the event loop started running.Issue #5103: SSL handshake would ignore the socket timeout and block indefinitely if the other end didn't respond.0. it is special to some shells.Issue #7943: Fix circular reference created when instantiating an SSL socket.quote().Issue #7585: difflib context and unified diffs now place a tab between .BaseServer.

. .Issue #8672: Add a zlib test ensuring that an incomplete stream can be handled by a decompressor object without errors (it returns incomplete uncompressed data).Issue #8509: Fix quoting in help strings and code snippets in configure. ctypes does no longer check the stack before and after calling a foreign function. see Mac/README for more information. This improves compatibility with patch tools. . Patches written by Jerry Seutter.Issue #3646: It is now easily possible to install a Python framework into your home directory on Mac OS X.filename and date. This allows to use the unmodified libffi library.Issue #8625: Turn off optimization in ``--with-pydebug`` builds with gcc. conforming to the 'standards' they were originally designed to follow.Issue #8510: Update to autoconf 2. .) .7 beta1 as a result of the issue #1628484 fix.encoders module.Issue #8490: asyncore now has a more solid test suite which actually tests its API. combined with autoconf's strange choice of default CFLAGS produced by AC_PROG_CC for gcc. . messages using ISO-2022 character sets will now consistently use a Content-Transfer-Encoding of 7bit rather than sometimes being marked as 8bit. .7's static analyzer to find places to clean up some code. Patch by Paul Moore. (Optimization was unintentionally turned on in gcc --with-pydebug builds in 2.Issue #7449: Fix many tests to support Python compiled without thread support.Build the ossaudio extension on GNU/kFreeBSD. Misc ---- .total_seconds()``. .Issue #8576: Remove use of find_unused_port() in test_smtplib and test_multiprocessing.Use Clang 2. Tests ----. .65. . . . Extension Modules ----------------. .Issue #8374: Update the internal alias table in the :mod:`locale` module to cover recent locale changes and additions.On Windows.Issue #8108: test_ftplib's non-blocking SSL server now has proper handling of SSL shutdowns.Issue #8330: Fix expected output in test_gdb. Build ----.Issue #7472: Fixed typo in email.Issue #8644: Improved accuracy of ``timedelta.in.

Issue #1222585: Added LDCXXSHARED for C++ support.Issue #8211: Save/restore CFLAGS around AC_PROG_CC in configure.in.Code objects now support weak references.Issue #8321: Give access to OpenSSL version numbers from the `ssl` module. .maxsize.__format__ is called with a non-empty format string.Ensure that tokenization of identifiers is not affected by locale..3 and it will be an error in Python 3. . This is an effort to future-proof user code.Issue #3137: Don't ignore errors at startup.7 beta 1? ================================ *Release date: 2010-04-10* Core and Builtins ----------------. it would most likely break user code that had supplied a format string.4.Issue #7994: Issue a PendingDeprecationWarning if object. in case it is set. The shift count for either left or right shift is permitted to be up to sys. If a derived class does not currently implement __format__ but later adds its own __format__. . .Issue #8268: Old-style classes (not just instances) now support weak references.Issue #8164: Don't allow lambda functions to have a docstring. . Patch by Arfrever.Issue #8329: Don't return the same lists from select. Library ------. If an error occurs while importing the site module. the error is printed and Python exits. .Issue #7301: Add environment variable $PYTHONWARNINGS. What's New in Python 2.Update the Vim syntax highlight file. . . . Initialize the GIL before importing the site module. . .select when no fds are changed.Issue #1583863: An unicode subclass can now override the __unicode__ method . . This will be changed to a DeprecationWaring in Python 3.Issue #6474: Make error message from passing an inadequate number of keyword arguments to a function correct. . .Raise a TypeError when trying to delete a T_STRING_INPLACE struct member. especially a keyboard interrupt (SIGINT).Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.Issue #8259: ``1L << (2**31)`` no longer produces an 'outrageous shift error' on 64-bit machines.

. .unicode.Issue #8294: The Fraction constructor now accepts Decimal and float instances directly. .Issue #7512: shutil. Each line is read on demand and the named file is compiled immediately.Issue #2531: Comparison operations between floats and Decimal instances now return a result based on the numeric values of the operands.Counter() now supports a subtract() method. >= between a complex instance and a Fractions instance now raise TypeError instead of returning True/False.) Also.The functools module now has a total_ordering() class decorator to simplify the specification of rich comparisons.The functools module also adds cmp_to_key() as a tool to transition old-style comparison functions to new-style key-functions.using the new attributes `ssl.Addition of ``WeakSet`` to the ``weakref`` module. (Original patch by Piotr OŜarowski).Issue #3135: Add ``inspect. previously they returned an arbitrary result based on the relative ordering of id(float) and id(Decimal).OPENSSL_VERSION_NUMBER`. which binds arguments to a function like a normal call.Comparisons using one of <. (Comparisons involving a quiet NaN are unchanged. >. .py optionally takes a single argument `-` which tells it to read files to compile from stdin. . . float <=> complex. Decimal signaling NaNs remain unhashable. . This makes Fraction <=> complex comparisons consistent with int <=> complex.getcallargs()``. .copystat() could raise an OSError when the filesystem didn't support chflags() (for example ZFS under FreeBSD).Issue #8205: Remove the "Modules" directory from sys. The error is now . http://www.1) Decimal('1. See issue #7643. <=. `ssl.Issue #7279: Comparisons involving a Decimal signaling NaN now signal InvalidOperation instead of returning False. . . . . as specified in Unicode Standard Annex #14.Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and form feed (0x0C) are now considered linebreaks.OPENSSL_VERSION_INFO` and `ssl. Decimal quiet NaNs are now hashable.logging: Added LOG_FTP to SysLogHandler and updated documentation.OPENSSL_VERSION`.100000000000000088817841970012523233890533447265625') .org/reports/tr14/ .path when Python is running from the build directory (POSIX only).collections. py_compile. . .Issue #8310: Allow dis to examine new style classes.Issue #8233: When run as a script. and complex <=> complex comparisons. . converting that float to a Decimal of equal value: >>> Decimal(1.Issue #8257: The Decimal construct now accepts a float instance directly.Issue #7667: Fix doctest failures with non-ASCII paths.

The cElementTree module is updated too.2.logging: Added getChild utility method to Logger and added isEnabledFor method to LoggerAdapter. the current time is used as the basis for the computation.0.Issue #8140: Extend compileall to compile single files.Issue #7143: email: ``get_payload()`` used to strip any trailing newline from a base64 transfer-encoded payload *after* decoding it. .Issue #7356: ctypes. to version 4. . This is a behavior change. .realpath() on a non-existing path.uname now reports the correct 'machine' type when Python is running in WOW64 mode on 64 bit Windows. collections.Callable)`` for old-style classes.Issue #7624: Fix ``isinstance(foo().Issue #8104: socket.recvfrom_into() now support writing into objects supporting the new buffer API. causing a Unicode error when configuration code attempted to sort the existing loggers. enable the SSL_MODE_AUTO_RETRY flag on SSL sockets.Issue #7860: platform. . The former is deprecated. for example bytearrays or memoryviews.Issue #8200: logging: Handle errors when multiprocessing is not fully loaded when logging occurs.Issue #3890. . Add -i option. . .silenced. . for the 2. .Issue #7880: Fix sysconfig when the python executable is a symbolic link.Issue #8201: logging: Handle situation of non-ASCII and Unicode logger names existing at the same time. so email's minor version number is now bumped.Issue #8024: Update the Unicode database to 5. #8222: Fix recv() and recv_into() on non-blocking SSL sockets. it no longer does. .2. .7 release. . .Issue #6472: The ``xml.executable to an empty string if ``argv[0]`` has been set to an non existent program name and Python is unable to retrieve the real program name.Issue #8179: Fix macpath. . . so that blocking reads and writes are always retried by OpenSSL itself. .5.Issue #8117: logging: Improved algorithm for computing initial rollover time for ``TimedRotatingFileHandler`` by using the modification time of an existing log file to compute the next rollover time.Issue #7703: ctypes supports both buffer() and memoryview(). . If the log file does not exist. . Also.util: Make parsing of ldconfig output independent of the locale. .recv_into() and socket.Issue #7774: Set sys.etree`` package is updated to ElementTree 1.Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox with Tcl/Tk-8.3.

jcea.) . Extension Modules ----------------.Issue #8235: _socket: Add the constant ``SO_SETFIB``.Issue #8156: bsddb module updated to version 4.4. . Build ----. the behaviour was inconsistent: __int__ was used for some integer codes but not for others. a python-gdb. This update drops support for Berkeley DB 4. SO_SETFIB is a socket option available on FreeBSD 7. .0.es/programacion/pybsddb.1 and newer. It also produces a DeprecationWarning in this case.Addition of -b command line option to unittest for buffering stdout / stderr during test runs.8. It also forwards the LDFLAGS settings to the linker when building a shared library.python-config now supports multiple options on the same command line. #8154: Fix os. . and adds support for 4. struct. as described below. .Issue #1039.Issue #1530559: When passing a non-integer argument to struct.pack with any integer format code.8. Tools/Demos ----------.pack attempts to use the argument's __int__ method to convert to an integer before packing. . and the set of integer codes for which it was used differed between native packing and standard packing.py file is added to the build.Issue #8300: When passing a non-integer argument to struct.execlp() crash with missing 2nd argument. http://www.Issue #8032: For gdb7.htm#bsddb3-4. .0. allowing to use advanced gdb features when debugging Python.Issue #3928: os. . also.Issue #7993: Add a test of IO packet processing bandwidth to ccbench.pack first attempts to convert the non-integer using its __index__ method.8.kill support for Windows. as well as fix a bug in the return value of QueryReflectionKey.Issue #8038: unittest.assertNotRegexpMatches .9 release.Issue #7347: _winreg: Add CreateKeyEx and DeleteKeyEx..4.mknod() now available in Solaris.Issue #1628484: The Makefile doesn't ignore the CFLAGS environment variable anymore. . (In Python 2. . .pack with *any* integer format code (one of 'bBhHiIlLqQ').Issue #1220212: Added os. It measures the number of UDP packets processed per second depending on the number of background CPU-bound Python threads. .Issue #8314: Fix unsigned long long bug in libffi on Sparc v8.Issue #8142: Update libffi to the 3. If that method is non-existent or raises TypeError it goes on to try the __int__ method.TestCase.6. struct. including support for sending CTRL+C and CTRL+BREAK events to console subprocesses.

- Issue #6716: Quote -x arguments of compileall in MSI installer. - Issue #7705: Fix linking on FreeBSD. - Make sure that the FreeBSD build of the included libffi uses the proper assembly file. C-API ----- Issue #8276: PyEval_CallObject() is now only available in macro form. The function declaration, which was kept for backwards compatibility reasons, is now removed (the macro was introduced in 1997!). - Issue #7992: A replacement PyCObject API, PyCapsule, has been backported from Python 3.1. All existing Python CObjects in the main distribution have been converted to capsules. To address backwards-compatibility concerns, PyCObject_AsVoidPtr() was changed to understand capsules. Tests ----- Issue #3864: Skip three test_signal tests on freebsd6 because they fail if any thread was previously started, most likely due to a platform bug. - Issue #8348: Fix test ftp url in test_urllib2net. - Issue #8204: Fix test_ttk notebook test by forcing focus. - Issue #8344: Fix test_ttk bug on FreeBSD. - Issue #8193: Fix test_zlib failure with zlib 1.2.4. - Issue #8248: Add some tests for the bool type. Patch by Gregory Nofi. - Issue #8263: Now regrtest.py will report a failure if it receives a KeyboardInterrupt (SIGINT). - Issue #8180 and #8207: Fix test_pep277 on OS X and add more tests for special Unicode normalization cases. - Issue #7783: test.test_support.open_urlresource invalidates the outdated files from the local cache. What's New in Python 2.7 alpha 4? ================================= *Release date: 2010-03-06* Core and Builtins ----------------- Issue #7544: Preallocate thread memory before creating the thread to avoid a fatal error in low memory condition. - Issue #7820: The parser tokenizer restores all bytes in the right if the BOM check fails.

- Issue #7309: Fix unchecked attribute access when converting UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to strings. - Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a UnicodeDecodeError if 'char' is a byte string that can't be decoded using the default encoding. - Issue #6902: Fix problem with built-in types format incorrectly with 0 padding. - Issue #2560: Remove an unnecessary 'for' loop from ``my_fgets()`` in Parser/myreadline.c. - Issue #7988: Fix default alignment to be right aligned for ``complex.__format__``. Now it matches other numeric types. - Issue #5211: The complex type no longer uses implicit coercion in mixed-type binary arithmetic operations. Library ------- Issue #1555570: email no longer inserts extra blank lines when a \r\n combo crosses an 8192 byte boundary. - Issue #6906: Tk should not set Unicode environment variables on Windows. - Issue #1054943: Fix ``unicodedata.normalize('NFC', text)`` for the Public Review Issue #29 (http://unicode.org/review/pr-29.html). - Issue #7494: Fix a crash in ``_lsprof`` (cProfile) after clearing the profiler , reset also the pointer to the current pointer context. - Issue #7232: Add support for the context manager protocol to the ``tarfile.TarFile`` class. - Issue #7250: Fix info leak of os.environ across multi-run uses of ``wsgiref.handlers.CGIHandler``. - Issue #1729305: Fix doctest to handle encode error with "backslashreplace". - Issue #691291: ``codecs.open()`` should not convert end of lines on reading and writing. - Issue #7975: Correct regression in dict methods supported by bsddb.dbshelve. - Issue #7959: ctypes callback functions are now registered correctly with the cycle garbage collector. - Issue #7970: ``email.Generator.flatten`` now correctly flattens message/rfc822 messages parsed by ``email.Parser.HeaderParser``. - Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode. - Issue #7633: In the decimal module, ``Context`` class methods (with the exception of canonical and is_canonical) now accept instances of int and long wherever a Decimal instance is accepted, and implicitly convert that argument to Decimal. Previously only some arguments were converted.

- Issue #6003: Add an argument to ``zipfile.Zipfile.writestr`` to specify the compression type. - Issue #7893: ``unittest.TextTestResult`` is made public and a ``resultclass`` argument added to the TextTestRunner constructor allowing a different result class to be used without having to subclass. - Issue #7588: ``unittest.TextTestResult.getDescription`` now includes the test name in failure reports even if the test has a docstring. - Issue #5801: Remove spurious empty lines in wsgiref. - Issue #1537721: Add a ``writeheader()`` method to ``csv.DictWriter``. - Issue #7427: Improve the representation of httplib.BadStatusLine exceptions. - Issue #7481: When a ``threading.Thread`` failed to start it would leave the instance stuck in initial state and present in ``threading.enumerate()``. - Issue #1068268: The subprocess module now handles EINTR in internal ``os.waitpid()`` and ``os.read()`` system calls where appropriate. - Issue #6729: Add ``ctypes.c_ssize_t`` to represent ssize_t. - Issue #6247: The argparse module has been added to the standard library. Extension Modules ----------------- The sqlite3 module was updated to pysqlite 2.6.0. This fixes several obscure bugs and allows loading SQLite extensions from shared libraries. - Issue #7808: Fix reference leaks in _bsddb and related tests. - Issue #6544: Fix a reference leak in the kqueue implementation's error handling. - Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as msvcr100.dll is not a platform assembly anymore. - Issue #7242: On Solaris 9 and earlier calling ``os.fork()`` from within a thread could raise an incorrect RuntimeError about not holding the import lock. The import lock is now reinitialized after fork. - Issue #7999: ``os.setreuid()`` and ``os.setregid()`` would refuse to accept a -1 parameter on some platforms such as OS X. Tests ----- Issue #7849: The utility ``test.test_support.check_warnings()`` verifies if warnings are effectively raised. A new utility ``check_py3k_warnings()`` is available. - The four path modules (genericpath, macpath, ntpath, posixpath) share a common TestCase for some tests: test_genericpath.CommonTest. - Print platform information when running the whole test suite, or using the ``--verbose`` flag.

Issue #7622: Improve the split().SAVEDCWD``. #7903: Define _BSD_SOURCE on OpenBSD 4. and read operations on write-only file objects. . The original CWD is saved in ``test.call_tracing()`` arguments types.Issue #5677: Explicitly forbid write operations on read-only file objects. Patch by Florent Xicluna. splitlines() and replace() methods of bytes.Issue #767675: Enable test_pep277 on POSIX platforms with Unicode-friendly filesystem encoding.Issue #3920.9.Issue #7788: Fix an interpreter crash produced by deleting a list slice with very large step value.Issue #7819: Check ``sys. .getwindowsversion()`` return value to a named tuple and add the additional members returned in an OSVERSIONINFOEX structure.test_support. on Solaris.Issue #6292: For the moment at least.Issue #7766: Change ``sys. . bytearray and unicode objects by using a common implementation based on stringlib's fast search.Issue #7712: test_support gained a new ``temp_cwd`` context manager which is now also used by regrtest to run all the tests in a temporary directory. rsplit(). . . On Windows.7 alpha 3? ================================= *Release date: 2010-02-06* Core and Builtins ----------------. .Issue #7853: Normalize exceptions before they are passed to a context manager's ``__exit__()`` method.4 through 4. Tests requiring docstrings are skipped. .Issue #7632: Fix various str -> float conversion bugs present in 2. Patch by Florent Xicluna. service_pack_minor.7 alpha 2. The macro now returns a statically allocated empty string instead. The new members are service_pack_major.Issue #7385: Fix a crash in ``PyMemoryView_FromObject()`` when ``PyObject_GetBuffer()`` fails. including: (1) a serious 'wrong output' bug that could occur for long (> 40 digit) input strings. . Thanks to Florent Xicluna who helped with the patch. Build ----. What's New in Python 2. .Issue #7561: Operations on empty bytearrays (such as ``int(bytearray())``) could crash in many places because of the ``PyByteArray_AS_STRING()`` macro returning NULL. the system C library would return a bogus result. . the test suite runs cleanly if python is run with the -OO flag. .. and product_type. suite_mask. it was possible to crash the interpreter. Patch by Stefan Krah.

logging: Implemented PEP 391.Issue #7792: Registering non-classes to ABCs raised an obscure error. . .Issue #7610: Reworked implementation of the internal ``zipfile.Issue #2335: Backport set literals syntax from Python 3.BufferedReader`` object for more speedups.Issue #9137: Fix issue in MutableMapping. .(2) a crash in dtoa. and are necessary when outputting e. and (4) a number of flaws that could lead to incorrectly rounded results. . rather than fall through to AF_PACKET (in the ``socket`` module). which incorrectly treated keyword arguments called 'self' or 'other' specially.Issue #7773: Fix an UnboundLocalError in ``platform.Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is specified.g.ZipExtFile`` class used to represent files stored inside an archive. #7770: Silence ``DeprecationWarning`` by default when the -3 option is not used.update.linux_distribution()`` when the release file is empty. Patch by Nir Aides. "<". raise ValueError rather than TypeError when an unknown TIPC address type is specified.py. (3) a memory leak for some values large enough to cause overflow.c that occurred in debug builds when parsing certain long numeric strings corresponding to subnormal values.Issue #7319. . Patch by Neil Muller. . It would previously change the file position to the given argument.Issue #7851: logging: Clarification on logging configuration files.x.Issue #2333: Backport set and dict comprehensions syntax from Python 3. It also solves an issue where interleaved calls to ``read()`` and ``readline()`` give wrong results.x. . . .Issue #6939: Fix file I/O objects in the `io` module to keep the original file position when calling `truncate()`. .Issue #1967: Backport dictionary views from Python 3. The new implementation is significantly faster and can be wrapped in a ``io. .x. . Patch by Pascal Chambon. Patch by Brian Curtin. which goes against the tradition of ftruncate() and other truncation APIs. .Issue #7868: logging: Added loggerClass attribute to Manager.Removed the deprecated functions ``verify()`` and ``vereq()`` from Lib/test/test_support. PHP code in a processing instruction.Issue #7869: logging: Improved diagnostic for format-time errors. .Issue #7835: shelve should no longer produce mysterious warnings during interpreter shutdown. Also. . ">") in XML processing instructions and comments. Library ------. .Issue #2746: Don't escape ampersands and angle brackets ("&". . These raw characters are allowed by the XML specification.

. Backported from py3k by Florent Xicluna.Issue #7661: Allow ctypes to be built from a non-ASCII directory path.Issue #3299: Fix possible crash in the _sre module when given bad argument values in debug mode. . Patch by Brian Curtin. Tests ----- .b2a_uu()`` in debug mode when given a 1-byte argument. Patch by Victor Stinner. ..Issue #5827: Make sure that normpath preserves unicode.Issue #7658: Ensure that the new pythonw executable works on OSX 10.c and use PyMem_Malloc and PyMem_Free instead. Initial patch by Collin Winter.Generator`` from re-wrapping headers in multipart/signed MIME parts. . Initial patch by Matt Giuca. the DistributionMetadata get_* methods will now return an utf-8 encoded string for them. Patch by Florent Xicluna.Issue #7748: Since unicode values are supported for some metadata options in Distutils.Issue #2846: Add support for gzip.Issue #7714: Use ``gcc -dumpversion`` to detect the version of GCC on MacOSX.iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were added to the ``Tools`` directory. Tools/Demos ----------.Issue #5372: Drop the reuse of . which fixes one of the sources of invalid modifications to such parts by Generator.o files in Distutils' ccompiler (since Extension extra options may change the output without changing the . Extension Modules ----------------. .Issue #7632: When Py_USING_MEMORY_DEBUGGER is defined. Also disable caching of powers of 5. They were previously living in the sandbox.4 .Issue #7703: Add support for the new buffer API to functions of the binascii module.generator.Expat: Fix DoS via XML document with malformed UTF-8 sequences (CVE_2009_3560).Issue #7701: Fix crash in ``binascii. Patch by Victor Stinner. . . .GzipFile reading zero-padded files. . disable the private memory allocation scheme in dtoa. This ensures that the upload and register commands send the correct values to PyPI without any error.c file). Build ----.Issue #1670765: Prevent ``email. with some additional tests.

. .Issue #6108: ``unicode(exception)`` and ``str(exception)`` should return the same message when only ``__str__()`` (and not ``__unicode__()``) is overridden in the subclass. The behaviour now conforms to that described in C99 Annex F.Issue #1811: Improve accuracy and cross-platform consistency for true division of integers: the result of a/b is now correctly rounded for ints a and b (at least on IEEE 754 platforms). .Issue #7462: Implement the stringlib fast search algorithm for the `rfind`.issue #7728: test_timeout was changed to use ``test_support. .isoformat() used to drop the time part of the result. . . but some core functions and methods are affected: notably the 'chr'. -s..Updated Python manual page (options -B. -U and -X options. . -O0. These functions and methods now raise TypeError instead.bind_port()`` instead of a hard coded port.Issue #5080: A number of functions and methods previously produced a DeprecationWarning when passed a float argument where an integer was expected. Documentation ------------. .Issue #7579: The msvcrt module now has docstrings for all its functions. 'range' and 'xrange' builtins.Issue #6834: Replace the implementation for the 'python' and 'pythonw' executables on OSX. These executables now work properly with the arch(1) command: ``arch -ppc python`` will start a universal binary version of python in PPC mode (unlike previous releases).Issue #7604: Deleting an unset slotted attribute did not raise an AttributeError. `rsplit` and `rpartition` methods. .7 alpha 2? ================================= *Release date: 2010-01-09* Core and Builtins ----------------. environment variables PYTHONDONTWRITEBYTECODE. `rindex`.Issue #7534: Fix handling of IEEE specials (infinities. negative zero) in ** operator.datetime. The majority of the effects of this change are in the extension modules.The ``__complex__()`` method is now looked up on the class of instances to make it consistent with other special methods.Updated "Using Python" documentation to include description of CPython's -J. . What's New in Python 2. nans. and many unicode/str methods. PYTHONNOUSERSITE).Issue #7413: Passing '\0' as the separator to datetime. Patch by Florent Xicluna. . and in particular does not depend on the internal representation of a long.

and a new one created to replace it. Patch by Florent Xicluna. .Issue #3972: ``httplib.Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by Nir Aides.Issue #5511: ``zipfile. and make it implement the ``io. Initial patch by Arfrever.Issue #7455: Fix possible crash in cPickle on invalid input. . .Issue #6963: Added "maxtasksperchild" argument to ``multiprocessing. Pierre. .6 without "-arch" flags.UnixCCompiler recognizes gcc when it has a fully qualified configuration prefix.``socket. . allowing for a maximum number of tasks within the pool to be completed by the worker before that worker is terminated.Issue #7092: Fix the DeprecationWarnings emitted by the standard library when using the -3 flag.unixccompiler.Issue #1680159: Unicode coercion during an 'in' operation no longer masks the underlying error when the coercion fails for the left hand operand.create_connection()`` now accepts an optional source_address parameter.Issue #7466: Segmentation fault when the garbage collector is called in the middle of populating a tuple. .BufferedIOBase`` ABC to allow for further speedups by wrapping it in an ``io. .Issue #7491: Metaclass's __cmp__ method was ignored. . . Patch by Florent Xicluna. Patch by Victor Stinner. . .Issue #7556: Distutils' msvc9compiler now opens the MSVC Manifest file in text mode..ZipFile`` can now be used as a context manager. Initial patch by Brian Curtin. Patch by Tatsuhiro Tsujikawa. Library ------.HTTPConnection`` now accepts an optional source_address parameter to allow specifying where your connections come from.Issue #7092: Remove py3k warning when importing cPickle. Initial patch by JP St. .Issue #7349: Make methods of file objects in the io module accept None as an argument where file-like objects (ie StringIO and BytesIO) accept them to mean . Patch by Florent Xicluna.Issue #7617: Make sure distutils.Issue #7471: Improve the performance of GzipFile's buffering mechanism.BufferedReader``. . This occurs on long passwords. 2to3 handles renaming of `cPickle` to `pickle`. . . The warning was annoying since there's no alternative to cPickle if you care about performance.Distutils now correctly identifies the build architecture as "x86_64" when building on OSX 10.Pool``.Issue #7552: Removed line feed in the base64 Authorization header in the Distutils upload command to avoid an error when PyPI reads it.

Issue #7357: tarfile no longer suppresses fatal extraction errors by default.Issue #3745: Undo the 2.Issue #7470: logging: Fix bug in Unicode encoding fallback. . .Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built.Issue #7767: New function ``PyLong_AsLongLongAndOverflow()`` added.the same as passing no argument. .Issue #7376: Instead of running a self-test (which was failing) when called with no arguments. . . doctest.7a1 change to have hashlib to reject unicode and non buffer API supporting objects as input. .Issue #7348: ``StringIO. .DistributionMetadata``.Issue #7457: Added a read_pkg_file method to ``distutils.Issue #7541: when using ``python-config`` with a framework install the compiler might use the wrong library.dist. . . .Switch to OpenSSL 0. analogous to ``PyLong_AsLongAndOverflow()``. ``PyArg_VaParse()``.py now gives a usage message. .Issue #7589: Only build the nis module when the correct header files are found. For the 'L' format code (which previously had no warning) there is now a DeprecationWarning. . . Build ----.6.StringIO.Issue #6943: Use pkg-config to find the libffi headers when the ``--with-system-ffi`` flag is used. That behavior is for 3. ``PyArg_ParseTupleAndKeywords()``.21 on Windows.Issue #7609: Add a ``--with-system-expat`` option that causes the system's expat library to be used for the pyexpat module instead of the one included with Python. now it gives a TypeError.readline(-1)`` now acts as if it got no argument like other file objects. ``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept float arguments for integer format codes (other than 'L'): previously an attempt to pass a float resulted in a DeprecationWarning.Issue #7033: Function ``PyErr_NewExceptionWithDoc()`` added.9.x only. .Issue #5080: The argument parsing functions ``PyArg_ParseTuple()``. C-API ----. Tests ----.8l and sqlite 3.Issue #5949: Fixed IMAP4_SSL hang when the IMAP server response is missing proper end-of-line termination.

the float and complex constructors. icc or suncc as the C compiler. repr(x) for a complex number behaves similarly. On these platforms conversions use the platform strtod and dtoa. Decimal-to-float conversion. E. This code is supported on Windows.Remove restrictions on precision when formatting floats. "%.Issue #7117: ``repr(x)`` for a float x returns a result based on the shortest decimal string that's guaranteed to round back to x under correct rounding (with round-half-to-even rounding mode). . repr is unchanged.. providing correctly-rounded strtod and dtoa C functions.Issue #7419: ``locale. this applies to platforms where the C double format is not IEEE 754 binary64.Issue #3382: 'F' formatting for float and complex now convert the result to upper case. pickle and json.Issue #7396: Fix regrtest -s. so the code is not used: notably. .7 alpha 1 ================================ *Release date: 2009-12-05* Core and Builtins ----------------. . This only affects 'inf' and 'nan'.Issue #7362: Give a proper error message for ``def f((x)=3): pass``.120g" % 1e-100 used to raise OverflowError. The conversions use a Python-adapted version of David Gay's well-known dtoa. Previously it gave a string based on rounding x to 17 decimal digits. since 'f' no longer converts to 'g' for large values.6. parsing of float and imaginary literals in Python code. but now gives the requested 120 significant digits instead. and to platforms on x86 hardware where the x87 FPU is set to 64-bit precision and Python's configure script is unable to determine how to change the FPU precision. . and on Unix-like platforms using gcc.setlocale()`` could crash the interpreter on Windows when called with invalid values.Remove switch from "%f" formatting to "%g" formatting for floats larger than 1e50 in absolute value.find_unused_port instead of a hardcoded port number in test_rapid_restart. . There may be a small number of platforms on which correct operation of this code cannot be guaranteed. as before.c. old-style and new-style numeric formatting. On platforms where the correctly-rounded strtod and dtoa code is not supported (see below). . Places these conversions occur include: str for floats and complex numbers. which was broken by the -j enhancement.g. .Issue #7085: Fix crash when importing some extensions in a thread on MacOSX 10.Issue #7498: test_multiprocessing now uses test_support.Issue #7117: On almost all platforms: float-to-string and string-to-float conversions within Python are now correctly rounded.Add Py3k warnings for parameter names in parentheses. . serialization and deserialization of floats and complex numbers using marshal. What's New in Python 2. . ..

``round()`` now uses the correctly-rounded string <-> float conversions described above (when available). . 10**100)``) no longer raises an exception.234. . . white spaces or line breaks are now generated from the official Unicode Character Database files. .5 with commands as a sequence running through the shell.Issue #5329: Fix ``os.Issue #6990: Fix ``threading. .Issue #7244: ``itertools. .g. ._shutdown()`` is now called in ``Py_Finalize()``.Issue #1087418: Boost performance of bitwise operations for longs. . ``round(1. The tables for code points representing numeric values.Issue #1722344: ``threading. . and so produces correctly rounded results that will display nicely under the float repr..Issue #7168: Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``.Issue #1757126: Fix the cyrillic-asian alias for the ptcp154 encoding. and note that they are unsafe and deprecated. and include information from the Unihan.Issue #7084: Fix a (very unlikely) crash when printing a list from one thread.Issue #7120: logging: Remove import of multiprocessing which is causing crash in GAE. Patch by Adam Olsen. which fixes the problem of some exceptions being thrown at shutdown when the interpreter is killed. and (2) an excessively large second integer argument (e.txt file.Issue #1754094: Improve the stack depth calculation in the compiler. .Issue #7019: Raise ValueError when unmarshalling bad long data. The input can now contain Windows and Mac newlines and is no longer required to end in a newline.Issue #7117: Backport round implementation from Python 3. instead of producing internally inconsistent Python longs. .Remove length limitation when constructing a complex number from a unicode string. Patch by Scott Dial. . Patch by Jean-Paul Calderone and Jani Hakala. . . .Issue #7140: The ``__dict__`` of a module should not be cleared unless the module is the only object holding a reference to it. There are two related small changes: (1) round now accepts any class with an ``__index__()`` method for its second argument (but no longer accepts floats for the second argument).popen*`` regression from 2. .Issue #7050: Fix a SystemError when trying to use unpacking and augmented assignment.Fix several issues with ``compile()``.Issue #1571184: The Unicode database contains properties for more characters.local`` subclasses leaving old state around after a reference cycle GC which could be recycled by new locals. and mutating it from another one.izip_longest()`` no longer ignores exceptions raised during the formation of an output tuple.x.. There should be no other effect than a small decrease in memory use. . Patch by Christopher Tur Lesniewski-Laas.

.h.pyc file if it is set. .Issue #6347: Include inttypes. . . .When no module is given in a relative import. .encode.Issue #6119: Fixed an incorrect Py3k warning about order comparisons of built-in functions and methods.Issue #6846: Fix bug where bytearray..h in pyport.Issue #4856: Remove checks for win NT.Removed the ipaddr module.Issue #1616979: Added the cp720 (Arabic DOS) encoding. the default separator and end should be unicode also. . .Issue #6704: Improve the col_offset in AST for "for" statements with a target of tuple unpacking.Issue #6750: A text file opened with ``io.pop() returns negative integers. .Issue #6329: Fixed iteration for memoryview objects (it was being blocked because it wasn't recognized as a sequence).Issue #4618: When unicode arguments are passed to ``print()``.Issue #6540: Fixed crash for ``bytearray. . str.``classmethod()`` no longer checks if its argument is callable.encode now take keyword arguments.translate()`` with invalid parameters .Issue #6573: ``set. unicode.h as well as stdint.decode. .Issue #6300: unicode. . and str.Issue #6707: ``dir()`` on an uninitialized module caused a crash. .Issue #1590864: Fix potential deadlock when mixing threads and fork().Issue #6289: Encoding errors from ``compile()`` were being masked.open()`` could duplicate its output when writing from multiple threads at the same time. . .Issue #2016: Fixed a crash in a corner case where the dictionary of keyword arguments could be modified during the function call setup.Issue #6713: Improve performance of base 10 int -> string and long -> string conversions.Issue #6070: On posix platforms import no longer copies the execute bit from the .union()`` stopped processing inputs if an instance of self occurred in the argument chain. This fixes a build failure on HP-UX: int32_t and uint32_t are defined in inttypes.h on that platform.Issue #6844: Do not emit DeprecationWarnings when accessing a "message" attribute on exceptions that was set explicitly. .decode. the module field of the .py file to the . . . .Issue #6922: Fix an infinite loop when trying to decode an invalid UTF-32 stream with a non-raising error handler like "replace" or "ignore". Patch by Marco N.h instead of stdint. . . .

Patch by Hagen Fürstenau.``__instancecheck__()`` and ``__subclasscheck__()`` are now completely ignored on classic classes and instances. .ImportFrom AST node is now None instead of an empty string. This makes it consistent with float("1e500") and interpretation of real and imaginary literals. . .Issue #5890: In subclasses of 'property' the __doc__ attribute was shadowed by classtype's.Issue #5994: The marshal module now has docstrings.5')`` now produces a sensible result. etc. even if it was None.Issue #5981: Fix three minor inf/nan issues in float.Issue #4547: When debugging a very large function. etc. not one of 'e'.nested()`` which is no longer needed. the behavior the same but with a default precision of 6.Issue #5864: Fix empty format code formatting for floats so that it never gives more than the requested number of significant digits. For example. Deprecated ``contextlib. 'f'. . change the behavior with the empty presentation type (that is. . 2. and reduces surprises when adding alignment flags to the empty presentation type. Previously. .Issue #5330: C functions called with keyword arguments were not reported by the various profiling modules (profile. . '. ``format(complex(1. 'g'. .Issue #5829: complex("1e500") no longer raises OverflowError.Added support for multiple context managers in the same with-statement. . Includes new Py_ISDIGIT / Py_ISALPHA / Py_TOLOWER.fromhex: (1) inf and nan strings with trailing whitespace were incorrectly rejected. and (3) the interpretation of fromhex('-nan') didn't match that of float('-nan'). . . .Issue #5793: Rationalize isdigit / isalpha / tolower. or 'n') to be like 'g' but with at least one decimal point and with a default precision of 12.Issue #1588: Add complex.Issue #6101: A new opcode. (2) parsing of strings representing infinities and nans was locale aware. it was not always possible to update the lineno attribute of the current frame. Patch by Nick Barnes and Victor Stinner./3). property now inserts the __doc__ into the subclass instance __dict__.Issue #5920: For ``float.Issue #3527: Removed Py_WIN_WIDE_FILENAMES which is not used any more. . . This also affects the new complex. in pctypes.__format__.h.__format__()``. SETUP_WITH. . . . This more closely matches ``str()``.Assignment to None using import statements now raises a SyntaxError. cProfile). has been added to speed up the with statement and correctly lookup the __enter__ and __exit__ special methods.Issue #5982: staticmethod and classmethod now expose the wrapped function with ``__func__``.Issue #4426: The UTF-7 decoder was too strict and didn't accept some legal sequences. .__format__ in the same way.

depending on their particular use of datatypes.minidom. longs. . for performance reasons. ``round(5e15+1)`` was giving 5e15+2. . This can reduce the size of collections and therefore the garbage collection overhead on long-running programs.Issue #2396: The memoryview object was backported from Python 3.Issue #4971: Fix titlecase for characters that are their own titlecase.__format__.Issue #2170: Refactored ``xml. . . . for compatibility with the system install of Python. Add --enable-big-digits option to configure. .Issue #5515: 'n' formatting for ints. "__bases__")`` segfaulted on some built-in types. which overrides the default.Issue #5512: Rewrite PyLong long division algorithm (x_divrem) to improve its performance. .Issue #4865: On MacOSX /Library/Python/2. .0)`` was losing the sign of the zero. for floats.7/site-packages is added to the end sys. even when z involves nans. .Issue #4258: Make it possible to use base 2**30 instead of base 2**15 for the internal representation of integers. don't add a trailing ". .0" if we're using no type code and we have an exponent. ints.Implement PEP 378. . .normalize``.1. and floats handles leading zero formatting poorly. .Issue #5759: float() didn't call __float__ on str subclasses.path. Base 2**30 is enabled by default on 64-bit machines. and longs. but not their own uppercase. ``round(-0.Issue #5787: ``object.Issue #4688: Add a heuristic so that tuples and dicts containing only untrackable objects are not tracked by the garbage collector. Long divisions and remainder operations are now between 50% and 150% faster.Issue #5816: ``complex(repr(z))`` now recovers z exactly. increasing both its clarity and its speed. . . .Issue #1869: Fix a couple of minor round() issues.long_info structseq to provide information about the internal format.__getattribute__(some_type.Issue #5835: Deprecate PyOS_ascii_formatd and replace it with _PyOS_double_to_string or PyOS_double_to_string.Issue #5772: For float. .Issue #1665206: Remove the last eager import in _warnings. . infs or negative zeros.c and make it lazy.Issue #5704: The "-3" command-line option now implies "-t"..Issue #5283: Setting __class__ in __del__ caused a segfault. Add sys.Issue #3166: Make long -> float (and int -> float) conversions correctly rounded. Format Specifier for Thousands Separator.Fix a problem in PyErr_NormalizeException that leads to "undetected errors" when hitting the recursion limit under certain circumstances. . .dom.

collecting the oldest generation) so that allocating lots of objects without destroying them does not show quadratic performance. .os. .format(). .Issue #3652: Make the 'line' argument for ``warnings.Issue #4915: Port sysmodule to Windows CE. zip(). long. .python. .ftruncate raises OSErrors instead of IOErrors for consistency with other os functions. .Issue #4034: Fix weird attribute error messages of the traceback object.Issue #4575: Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now forces its argument to double before testing for infinity. unicode.Issue #1242657: the __len__() and __length_hint__() calls in several tools were suppressing all exceptions. Based on a proposal by Martin von Löwis at http://mail.Issue #4935: The overflow checking code in the expandtabs() method common to str.Issue #5247: Improve error message when unknown format codes are used when using ``str.Issue #4978: Passing keyword arguments as unicode strings is now allowed. letting the interpreter segfault instead of raising an error. (As a result traceback.Issue #5237: Allow auto-numbered fields in str.Issue #4074: Change the criteria for doing a full garbage collection (i. . . on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE) == 2.6 can go away. 2) == '1 2'``.Issue #4807: Port the _winreg module to Windows CE.Running Python with the -3 option now also warns about classic division for ints and longs. filter().Issue #3720: Fix a crash when an iterator modifies its class and removes its __next__ method. . ..showwarning()`` a requirement.e. These include list(). and bytearray(). . . map(). .format(1. For example: ``'{} {}'. .org/pipermail/python-dev/2008-June/080579. int.format()`` with str.__members__ no longer exists.Issue #4474: PyUnicode_FromWideChar now converts characters outside the BMP to surrogate pairs.Issue #4893: Use NT threading on CE. Means the DeprecationWarning from Python 2. and float arguments. .FileIO now raises an OSError. .Issue #4991: Passing invalid file descriptors to io. .) . bytes and bytearray could be optimized away by the compiler.html.Issue #5186: Reduce hash collisions for objects with no __hash__ method by rotating the object pointer by 4 bits to the right.Issue #5260: Long integers now consume less memory: average saving is 2 bytes per long on a 32-bit system and 6 bytes per long on a 64-bit system. .

. . or if it is accessed through different paths).Issue #3439: Add a bit_length method to int and long.Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types where the tp_hash and tp_dict slots are both NULL.Issue #4367: Python would segfault during compiling when the unicodedata module couldn't be imported and \N escapes were present. Also.Issue #3689: The list reversed iterator now supports __length_hint__ instead of __len__. always print elapsed times. not only when some objects are uncollectable/unreachable.Issue #4445: Replace ``sizeof(PyStringObject)`` with ``offsetof(PyStringObject. . .open.Issue #3680: Reference cycles created through a dict.DEBUG_STATS reported invalid elapsed times. IOError. .pyo) file with an existing . . . . . override the co_filename attributes of all code objects if the original filename is obsolete (which can happen if the file has been renamed. .FileIO failed to open file with `str' filename on Windows. .filename was not set when _fileio.Issue #4597: Fixed exception handling when the __exit__ function of a context manager returns a value that cannot be converted to a bool.Added test case to ensure attempts to read from a file opened for writing fail. Original patch by Neal Norwitz.Issue #2183: Simplify and optimize bytecode for list comprehensions.py counterpart. Original patch by Neil Schemenauer. On a typical machine this saves 3 bytes of memory (on average) per string allocation.filename is set when trying to open a directory on POSIX systems.Issue #4797: IOError. the PyOS_CheckStack function would cause the interpreter to abort ("Fatal Python error: Could not reset the stack!") instead of throwing a MemoryError. . .Issue #1180193: When importing a module from a . . set or deque iterator did not get collected. Patch by Ziga Seilnacht and Jean-Paul Calderone.Issue #4759: None is now allowed as the first argument of ``bytearray.Issue #4764: With io. ob_sval) + 1`` when allocating memory for str instances.pyc (or .translate()``.Issue #4764: IOError. . Behavior now matches other reversed iterators. It was always allowed for ``bytes.Issue #2467: gc.filename is set when trying to open a directory on POSIX systems..Issue #3996: On Windows. . moved. . . .Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.Issue #4075: Use ``OutputDebugStringW()`` in Py_FatalError.translate()``.Issue #4597: Fixed several opcodes that weren't always propagating exceptions.

. .sub(). it now functions correctly.FileIO``'s ``close()`` method on file objects with closefd=False.. .On windows. .Issue #4048: The parser module now correctly validates relative imports.Issue #5108: Handle %s like %S and %R in PyUnicode_FromFormatV(): Call PyUnicode_DecodeUTF8() once. .Issue #4317: Fixed a crash in the ``imageop.Issue #4225: ``from __future__ import unicode_literals`` didn't work in an exec statement.Issue #4509: Various issues surrounding resize of bytearray objects to which there are buffer exports.getpwnam() returned them on 64bit platforms.Issue #4233: Changed semantic of ``_fileio. The ``FileIO`` object also got a new readonly attribute ``closefd``.Issue #4069: When ``set.split() functions now accept a flags parameter.Issue #4209: Enabling unicode_literals and the print_function in the same __future__ import didn't work. remember the result and output it in a second step. .Issue #3739: The unicode-internal encoder now reports the number of characters . .Issue #3582: Use native TLS functions on Windows .Issue #1113244: Py_XINCREF.remove(element)`` is used with a set element. . } while (0)' to avoid compiler warnings. .. .Issue #4748: Lambda generators no longer return a value. .subn() and re.Issue #4230: If ``__getattr__`` is a descriptor. re. . . the element is temporarily replaced with an equivalent frozenset. Py_DECREF. . This avoids problems with counting UTF-8 bytes that ignores the effect of using the replace error handler in PyUnicode_DecodeUTF8(). . returned the same bytearray instead of a copy. (But It's doubtful this code path is really executed because I cannot move to such directory on win2k) . ``os..Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning because it is a reserved word in 3. The file descriptor is still kept open but the file object behaves like a closed file.Issue #4348: Some bytearray methods returned that didn't cause any change to the bytearray. But the eventual KeyError would always report the empty ``frozenset()`` as the missing key.Issue #4176: Fixed a crash when pickling an object which ``__reduce__`` method does not return iterators for the 4th and 5th items.rgb2rgb8()`` function. . .setuid() would not accept values > 2**31-1 but pwd. Now it correctly refers to the initial element.Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short file names.x.chdir()`` given unicode was not working if GetCurrentDirectoryW returned a path longer than MAX_PATH.The re. Py_XDECREF: Add `do { .Issue #5705: os.

Add count() and reverse() methods to collections.tests. Patch by Robert Collins. .Issue #2422: When compiled with the ``--with-valgrind`` option.test_msvc9compiler . . . .consumed like any other encoder (instead of the number of bytes).tests.timedelta`` objects get a new ``total_seconds()`` method returning the total number of seconds in the duration.Issue #1488943: ``difflib.Issue #4120: Drop reference to CRT from manifest when building extensions with msvc9compiler. to enable use of TLS with authentication credentials. . .extendleft(d) d+=d . Library ------. . while taking advantage of pymalloc at other times. The ``storbinary()`` method of FTP and FTP_TLS objects gains an optional "rest" argument.Issue #7408: Fixed distutils.Issue #7403: logging: Fixed possible race condition in lock creation. Patch by Stephen Emslie.dragfullwindows can be 2. This gives improved memory leak detection when running under Valgrind.deque(). Patch by Jean-Paul Calderone.Issue #6986: Fix crash in the JSON C accelerator when called with the wrong parameter types.Differ`` doesn't always add hints for tab characters. .extend(d) d. .Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of __str__. .logging: Added optional "secure" parameter to SMTPHandler.Issue #6123: tarfile now opens empty archives correctly and consistently raises ReadError on empty files. because the group may be different from the user's group and inherit from its container when the test is run. . Patch by Brian Quinlan. .Issue #7354: distutils.Issue #5788: ``datetime. . Patch by Victor Stinner. the pymalloc allocator will be automatically disabled when running under Valgrind.sdist so it doesn't check for group ownership when the group is not forced. .Issue #6615: logging: Used weakrefs in internal handler list.Issue #7333: The ``posix`` module gains an ``initgroups()`` function providing access to the initgroups(3) C library call on Unix systems which implement it.Fix variations of extending deques: d.Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is generated in Distutils.Issue #1515: Enable use of deepcopy() with instance methods. Patch by Pablo Mouzo. .Issue #6845: Add restart support for binary upload in ftplib. . .

. . .Issue #2054: ftplib now provides an FTP_TLS class to do secure FTP using TLS or SSL. Patch by Giampaolo Rodola'. Also fix buggy handling of large arguments (those with coefficient longer than the current precision) in shift and rotate.Issue #6816: runpy now provides a run_path function that allows Python code to execute file paths that refer to source or compiled Python files as well as zipfiles. This fixes crashes under Windows when trying to run test_multiprocessing in verbose mode.path when run with the '-m' switch. .start_new_thread()``. .pydistutils. The default timeout is 20 seconds.Issue #7282: Fix a memory leak when an RLock was used in a thread other than those started through ``threading.Issue #7341: Close the internal file object in the TarFile constructor in case of an error. . . This allows applications that run other Python scripts to support the same flexibility as the CPython command line itself. using ``thread. Patch by Gabriel Genellina.. . It also properly flushes it afterwards to avoid the terminal echoing the input afterwards on OSes such as Solaris. Help provided by David Bolen.test_msvc9compiler`` is fixed to work on any fresh Windows box. .path entries that contain a __main__.Issue #7328: pydoc no longer corrupts sys.TextTestRunner objects to be pickled and unpickled. .Issue #7318: multiprocessing now uses a timeout when it fails to establish a connection with another process. .Issue #7264: Fix a possible deadlock when deallocating thread-local objects which are part of a reference cycle. .Issue #7233: Fix a number of two-argument Decimal methods to make sure that they accept an int or long as the second argument.Issue #4750: Store the basename of the original filename in the gzip FNAME header as required by RFC 1952.Thread`` (for example.Issue #7293: ``distutils.py file.Issue #7218: Fix test_site for win32.Issue #4969: The mimetypes module now reads the MIME database from the registry under Windows. . . .cfg in Distutils. which should be amply sufficient for local connections. This fixes inconsistencies and test failures on systems with slightly bogus mtime behaviour. the directory comparison was done with an uppercase. directories and other valid sys. Patch by Michael Broghton.Issue #6896: ``mailbox.Issue #7197: Allow unittest.Issue #7246 & Issue #7208: getpass now properly flushes input before reading from stdin so that existing input does not confuse it and lead to incorrect entry or an IOError. rather than looping endlessly. .Issue #1180: Added a new global option to ignore ~/.Issue #7211: Allow 64-bit values for the ``ident`` and ``data`` fields of kevent objects on 64-bit systems.Maildir`` now invalidates its internal cache each time a modification is done through it. .

.Issue #6851: Fix urllib. .Issue #7099: Decimal. .Issue #7086: Added TCP support to SysLogHandler.send``.Issue #6790: Make it possible again to pass an ``array. .Issue #7133: SSL objects now support the new buffer API.is_normal now returns True for numbers with exponent larger than emax.Issue #7205: Fix a possible deadlock when using a BZ2File object from several threads at once.. . . Initial patch by Ezio Melotti. . and tidied up some anachronisms in the code which were a relic of 1. .Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment.Issue #7149: urllib fails on OSX in the proxy detection code.Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(. Patch by egreen. Patch by Kirk McDonald.assert(Not)IsInstance()`` methods.Issue #7031: Add ``TestCase. .Add support to the ``ihooks`` module for relative imports.array`` to ``httplib.Issue #6516: Added owner/group support when creating tar archives in Distutils. #6348: Fix various failures in the `io` module under AIX and other platforms. when using a non-gcc compiler.dont_write_bytecode.Issue #7069: Make inspect. .. .5.Issue #7082: When falling back to the MIME 'name' parameter.isabstract() return a boolean.6 . the correct place to look for it is the Content-Type header.2 compatibility.urlopen crash on secondairy threads on OSX 10.HTTPConnection. . . . . .StringIO and io.Issue #5042: ctypes Structure sub-subclass does now initialize correctly with base class positional arguments.Issue #7048: Force Decimal.) does now always result in NULL.Issue #7066: archive_util. .0. .make_archive now restores the cwd if an error is raised.Issue #6236.. . .Issue #7077: logging: SysLogHandler now treats Unicode as per RFC 5424.Issue #7071: byte-compilation in Distutils is now done with respect to sys. . .Issue #5833: Fix extra space character in readline completion with the GNU readline library version 6.logb to round its result when that result is too large to fit in the current precision.Issue #6218: io.BytesIO instances are now picklable with protocol 2.Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.

Issue #6163: Fixed HP-UX runtime library dir options in distutils.Grid widget. .Issue #6635: Fix profiler printing usage message. . This . . which could occur when writing to a BufferedRandom object (e. .add()._parse_format_specifier for formats with no type specifier.Issue #6629: Fix a data corruption issue in the new `io` package.load(). . Initial patch by Sridhar Ratnakumar and Michael Haubenwallner. . properly handle non-string arguments as documented..Issue #6054: Do not normalize stored pathnames in tarfile.Issue #6794: Fix Decimal.plist. a file opened in "rb+" or "wb+" mode) after having buffered a certain amount of data for reading. .Issue #6795: int(Decimal('nan')) now raises ValueError instead of returning NaN or raising InvalidContext. .py to get user/global site packages paths.Issue #1135: Add the XView and YView mix-ins to avoid duplicating the xview* and yview* methods.Issue #6857: Default format() alignment should be '>' for Decimal instances. .Issue #6856: Add a filter keyword argument to TarFile.Issue #6693: New functions in site.lock type now supports weak references. ._read_chunked providing a significant speed increase when downloading large files servend with a Transfer-Encoding of 'chunked'.Issue #2666: Handle BROWSER environment variable properly for unknown browser names in the webbrowser module. .PanedWindow.Issue #6938: Fix a TypeError in string formatting of a multiprocessing debug message.Issue #1119673: Do not override Tkinter.Issue #1356969: Add missing info methods in Tix. .Issue #1522587: New constants and methods for the Tix. . . .unixcompiler. . .Text methods when creating a ScrolledText.Issue #6665: Fix fnmatch to properly match filenames with newlines in them. .HList. .Issue #5275: In Cookie's Cookie.compare_total and Decimal.Issue #4937: plat-mac/bundlebuilder refers to non-existing version. fix infinite recursion in long(Decimal('nan')).Issue #6850: Fix bug in Decimal. Also.Issue #6838: Use a list to accumulate the value instead of repeatedly concatenating strings in httplib's HTTPResponse.panes. .The thread. .compare_total_mag: NaN payloads are now ordered by integer value rather than lexicographically.g.Issue #1250469: Fix the return value of Tix.

Issue #6595: The Decimal constructor now allows arbitrary Unicode decimal digits in input.Extension. .socket. .Issue #2622: Fixed an ImportError when importing email. . .warn segfault on bad formatted string.Issue #4660: If a multiprocessing. Added deprecation warnings for the obsolete get_versions() functions. .stdin.Issue #6553: Fixed a crash in cPickle.Issue #6413: Fixed the log level in distutils.JoinableQueue.Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when opening an empty or very small file.Issue #6403: Fixed package path usage in build_ext.Process.emxccompiler uses the same refactored function to get gcc/ld/dllwrap versions numbers.Issues #5155. . . . readline.cygwinccompiler and distutils.dist for announce. it was possible to get a spurious 'task_done() called too many times' error. . The socket. #5313.unittest has been split up into a package.map hanging on empty list._bootstrap was unconditionally calling "os. .makefile() now properly handles EINTR within the read. . #5331: multiprocessing.sendall() method now properly handles interrupted system calls.close(sys.Issue #6377: Enabled the compiler option.bug was not present in the pure Python implementation. All old names should still work. . when given a file-like object containing incomplete data. .util.messsage from a standalone application built with py2exe or py2app. Previously it was restricted to accepting [0-9].get_compiler_versions()``.Issue #1628205: Socket file objects returned by socket. It's ``distutils. . communicate() now uses poll() when possible.Issue #6433: Fixed issues with multiprocessing. so the behavior is similar when used with -O.Issue #6455: Fixed test_build_ext under win32. and deprecate its usage as an attribute. .Issue #6431: Make Fraction type return NotImplemented when it doesn't know how to handle a comparison without loss of precision.Issue #6545: Removed assert statements in distutils. write & flush methods.put() was preempted.Issue #6365: Distutils build_ext inplace mode was copying the compiled extension in a subdirectory if the extension name had dots.load(). .Issue #6314: logging: Extra checks on the "level" argument in more places.fileno())" resulting in file descriptor errors.Issue #3392: The subprocess communicate() method no longer fails in select() when file descriptors are large. .pool.Issue #6466: Now distutils. . . . Also add correct handling of infinities and nans for comparisons with float. as recommended by the standard. .Issue #6415: Fixed warnings.

parse_makefile() now understands ``$$`` in Makefiles.Issue #6344: Fixed a crash of mmap.Issue #6189: Restored compatibility of subprocess.Issue #6286: Now Distutils upload command is based on urllib2 instead of httplib.Issue #6263: Fixed syntax error in distutils.Issue #5767: Removed sgmlop support from xmlrpclib.Issue #6271: mmap tried to close invalid file handle (-1) for anonymous maps on Unix. This prevents compile errors when using syntax like: ``LDFLAGS='-rpath=\$$LIB:/some/other/path'``. . . .Issue #5150: IDLE's format menu now has an option to strip trailing whitespace.py.sysconfig.read() when passed a negative argument.. Original patch by Sridhar Ratnakumar.Issue #6287: Added the license field in Distutils documentation. . Patch by Floris Bruynooghe. . . allowing the usage of http_proxy. .basicConfig()`` performs extra checks on the "level" argument. it now reports the import errors.Issue #6258: Support AMD64 in bdist_msi. .py with Python 2.Issue #5201: distutils. . .Issue #6274: Fixed possible file descriptors leak in subprocess.Issue #6314: ``logging.Issue #5311: bdist_msi can now build packages that do not depend on a specific . . . Patch by Hirokazu Yamamoto.Issue #6131: test_modulefinder leaked when run after test_distutils.Issue #6252: Fixed bug in next rollover time computation in TimedRotatingFileHandler.1 io library (including the fast C implementation) have been backported to the standard ``io`` module. .2. . .Issue #5230: pydoc would report no documentation found if a module generated a 'not found' import error when loaded. . .In unittest. . . Thanks to Lucas Prado Melo for initial fix and collaboration on the tests. The ClassTestSuite class has been removed.Issue #6050: Don't fail extracting a directory from a zipfile if the directory already exists.Issue #6048: Now Distutils uses the tarfile module in archive_util. .Issue #6164: Added an AIX specific linker argument in Distutils unixcompiler.cygwincompiler. using a skipping decorator on a class is now equivalent to skipping every test on the class. .Issue #6121: pydoc now ignores leading and trailing spaces in the argument to the 'help' function.Issue #6215: All bug fixes and enhancements from the Python 3.

Python version.Issue #5900: Ensure RUNPATH is added to extension modules with RPATH if GNU ld is used. Original patch by Christopher Li.Issue #6062: In distutils. . .get_outputs was not taking into account the inplace option.Issue #1309352: fcntl now converts its third arguments to a C `long` rather than an int.Issue #5941: Distutils build_clib command was not working anymore because of an incomplete costumization of the archiver command. . . .Issue #6041: Now distutils `sdist` and `register` commands use `check` as a subcommand. . Patch by Hirokazu Yamamoto. .Issue #5918: Fix a crash in the parser module.Issue #1664: Make nntplib IPv6-capable. Initial patch by Roumen Petrov.g. . .build_ext. . which makes some operations possible under 64-bit Linux (e. Added ARFLAGS in the Makefile besides AR and make Distutils use it. tests by Daniel Diniz.Issue #5971: StreamHandler.Issue #6022: A test file was created in the current working directory by test_get_outputs in Distutils.Issue #5984: distutils. Initial patch by kxroberto. . Original patch by David Cournapeau. . .Issue #1983: Fix functions taking or returning a process identifier to use the dedicated C type ``pid_t`` instead of a C ``int``.Issue #5977: distutils build_ext.check_extensions_list checks were broken for old-style extensions. . ._get_socket now correctly returns the socket. urllib2 to support SSL while working through proxy. DN_MULTISHOT with F_NOTIFY).Issue #4066: smtplib.Issue #6046: Fixed the library extension when distutils build_ext is used in place. Feedback and tests on pywin32 by Tim Golden. .command. fixed the package option of build_ext. . . Patch by Farhan Ahmad. changes made by Senthil Kumaran. Patch by Brodie Rao. . .Issue #4050: inspect. Patch by Derek Morr.Issue #2116: Weak references and weak dictionaries now support copy()ing and deepcopy()ing.SMTP_SSL.Issue #1655: Make imaplib IPv6-capable. Some platforms have a process identifier type wider than the standard C integer type.Issue #1424152: Fix for httplib. Original patch by Floris Bruynooghe. Patch by Derek Morr.Issue #5976: Fixed Distutils test_check_environ.Issue #6053: Fixed distutils tests on win32. test by Marcin Bachry. .handleError now swallows IOErrors which occur when trying to print a traceback.findsource/getsource now raise an IOError if the 'source' file is a binary.

.Issue #3002: ``shutil. This also means getfp method now returns the real fp.Issue #5874: distutils. Proposal and original patch by Jake McGuire. . now it does.Issue #4951: Fixed failure in test_httpservers.test_config_cmd is not locale-sensitive anymore.Issue #5853: Calling a function of the mimetypes module from several threads at once could hit the recursion limit if the mimetypes database hadn't been initialized before.Issue #1309567: Fix linecache behavior of stripping subdirectories when looking for files given by a relative filename.Issue #5854: Updated __all__ to include some missing names and remove some names which should not be exported. rather than blocking infinitely. any string that's valid for float() is now valid for Fraction().Issue #5084: Unpickling now interns the attribute names of pickled objects.copytree()`` now raise an error when a named pipe is encountered.Issue #4875: On win32. . fix wrong path calculation when extracting a file to the root directory.util.Issue #5142: Add the ability to skip modules while stepping to pdb.Issue #5812: For the two-argument form of the Fraction constructor.Issue #4305: ctypes should now build again on mipsel-linux-gnu . . .Issue #5692: In ``zipfile.Issue #2245: aifc now skips chunk types it doesn't recognize.tests. by performing a quick check beforehand.Zipfile``. .find_library does no longer return directories. per spec.Issue #5812: Fraction('1e6') is valid: more generally. . . ctypes.Issue #1734234: Massively speedup ``unicodedata. .normalize()`` when the string is already in normalized form. . . . ``Fraction(m. with the exception of strings representing NaNs and infinities.copyfile()`` and ``shutil. m and n are permitted to be arbitrary Rational instances.Issue #3959: The ipaddr module has been added to the standard library. . .Issue #3102: All global symbols that the _ctypes extension defines are now prefixed with 'Py' or '_ctypes'.listdir()`` should fail for empty path on windows.Issue #5913: ``os. . Contributed by Google. n)``. . . saving memory and avoiding growth in size of subsequent pickles.Issue #5955: aifc's close method did not close the file it wrapped. Original patch by Rauli Ruohonen.. . . .Issue #5041: ctypes does now allow pickling wide character.Issue #5810: Fixed Distutils test_build_scripts so it uses ``sysconfig.get_config_vars()``.

. .Issue #6001: Test discovery for unittest. and POLLERR and POLLNVAL now call handle_close.Issue #1326077: Fix the formatting of SyntaxErrors by the traceback module.Issue #5679: The methods unittest. dispatcher now has an 'ignore_log_types' attribute for suppressing log messages. .unittest.discover and from the command line.Issue #5741: Don't disallow "%%" (which is an escape for "%") when setting a value in SafeConfigParser. Also. .Issue #1726172: Fix IndexError in the case of and empty response in ftplib.Issue #3551: Patch multiprocessing to raise a proper exception if the size of the object when writefile is called causes a ERROR_NO_SYSTEM_RESOURCES.addCleanup and doCleanups were added. . . . Initial fix by Wayne Davison. which is set to 'warning' by default. . Implemented in unittest. . . This .Issue #5471: Fix os.path.glob_to_re for edge cases. Relative paths are now collapsed within the url properly before looking in cgi_directories.Issue #5731: Distutils bdist_wininst no longer worked on non-Windows platforms. .Issue #5607: Fixed Distutils test_get_platform for Mac OS X fat binaries. Added docs to note the limitation.Issue #5693: TestSuite.Issue #5585: Add the ability to call an initializer to mulitiprocessing.Issue #1491431: Fixed distutils.MH.Issue #5768: Fixed bug in Unicode output logic and test case for same. Initial patch by Paul Moore.Issue #5795: Fixed test_distutils failure on Debian ppc. .Issue #5732: Added a new command in Distutils: check.Issue #1161031: Fix readwrite select flag handling: POLLPRI now results in a handle_expt_event call.Issue #5694: Removed spurious test output in Distutils (test_clean).__iter__ can now be consistently overridden in subclasses. not handle_expt_event. otherwise after tearDown).manager so that users can install custom handlers/etc.filelist.Issue #5095: Added bdist_msi to the list of bdist supported formats.. . . . addCleanup allows you to add cleanup functions that will be called unconditionally (after setUp if setUp fails. not handle_read_event.get_message(). .Issue #2254: Fix CGIHTTPServer information disclosure.Issue #2625: Added missing iteritems() call to the for loop in mailbox. .TestLoader. . .assertNotEqual() now uses the inequality operator (!=) instead of the equality operator.TestCase. . Initial fix by Steven Bethard.expanduser() for $HOME set to '/'.

allows for much simpler resource allocation and deallocation during tests.Issue #1665206 (partially): Move imports in cgitb to the top of the module instead of performing them in functions.Issue #5632: Thread. . Patch applied to work around this issue.format() now checks its first argument to ensure it has been passed only one pattern.Issue #5995: unittest. .exit allowing it to be used from the interactive interpreter.Issue #5728: unittest. .displayhook on printing out values.move crash by integer overflow. prevent the reassignment of __builtin__.__iand__() no longer mutates self during iteration.Adjusted _tkinter to compile without warnings when WITH_THREAD is not defined (part of issue #5035).Issue #5619: Multiprocessing children disobey the debug flag and causes popups on windows buildbots.main now takes an optional exit argument.Issue #5995: A fix to allow you to run "python -m unittest test_module" or "python -m unittest test_module. .Issue #3379: unittest. called immediately before and after a test run. but if set to True useful error messages are shown in addition to explicit messages passed to assert methods. .Lock()" works now.ident was None for the main thread and threads not created with the threading module.TestResult has new startTestRun and stopTestRun methods. .Issue #5663: Better failure messages for unittest asserts.Issue #3110: Add additional protect around SEM_VALUE_MAX for multiprocessing.Issue #5647: MutableSet. .Issue #5261: Patch multiprocessing's semaphore.Issue #4572: Added SEEK_* symbolic constants to io module.main now takes an optional verbosity argument allowing test modules to be run with a higher than default verbosity. . . . TestCase has a longMessage attribute.Issue #5177: Multiprocessing's SocketListener class now uses socket. Initial patch by Georg Brandl. . . . Default assertTrue and assertFalse messages are now useful. . . . . This defaults to False. If False main doesn't call sys. .SO_REUSEADDR on all connections so that the user no longer needs to wait 120 seconds for the socket to expire.Issue #2522: locale.Issue #5400: Added patch for multiprocessing on netbsd compilation/support.TestClass" from the command line. .Issue #5583: Added optional extensions in Distutils.Actually make the SimpleXMLRPCServer CGI handler work. avoiding mysterious errors where it appeared that it was failing to do localization.Issue #5387: Fixed mmap. . Helps prevent import deadlocking in threads.In Pdb._ by sys.c to support context manager use: "with multiprocessing. .

PEP 372: Added collections.open() to hang when used with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or partial bzip2 compressed data.__format__ bug that swapped the meanings of the '<' and '>' alignment characters. dicts and sets on failure._BZ2Proxy.Issue #2638: Show a window constructed with tkSimpleDialog. Many new handy type and comparison specific assert* methods have been added that fail with error messages actually useful for debugging. .urlretrieve makes sure to close the file it's writing to even if an exception occurs.version_info shortcuts from platform's python_version() and python_version_tuple() since they produced different output compared to previous Python versions. .TestCase. Original patch by Akira Kitada.read() method that would loop forever on incomplete input.Issue #5381: Added object_pairs_hook to the json module. . . .Issue #2110: Add support for thousands separator and 'n' type specifier to ``Decimal. . .Issue #5561: Removed the sys. Contributed in part by Google.Issue #5394: Removed > 2.Text.test_util tear down.collections.assertRaises() method now returns a context manager when not given a callable so that code to be tested can be written inline using a with statement.Issue #1034053: unittest now supports skipping tests and expected failures. That caused tarfile.Issue #4792: Prevent a segfault in _tkinter by using the guaranteed to be safe interp argument given to the PythonCmd in place of the Tcl interpreter taken from a PythonCmd_ClientData..TestCase.Fix Decimal.Issue #5472: Fixed distutils.3 syntax from distutils. .search returns a string.__format__()``.Issue #5385: Fixed mmap crash after resize failure on windows.Issue #5193: Guarantee that Tkinter. .assertEqual() now displays the differences in lists.Issue #2578: The unittest. .Issue #5179: Fixed subprocess handle leak on failure on windows. .Issue #5068: Fixed the tarfile.format()`` bug when the thousands separator is a space character.Issue #5536: urllib. .Dialog only after it is has been populated and properly configured in order to prevent window flashing. .msvc9compiler.Issue #1222: ``locale. . . This allows OrderedDicts to be built by the decoder.deque objects now have a read-only attribute called maxlen. . Original patch by Tim Golden.The unittest.OrderedDict(). . . . tuples.

Issue #5203: Fixed ctypes segfaults when passing a unicode string to a function without argtypes (only occurs if HAVE_USABLE_WCHAR_T is false).Issue #5052: Make Distutils compatible with 2.Issue #4308: httplib. . . to avoid writing in the tests directory. . is_vararg(). . and is_in_tuple().Issue #5401: Fixed a performance problem in mimetypes when ``from mimetypes import guess_extension`` was used.TempdirManager.Issue #5282: Fixed mmap resize on 32bit Windows and Unix. . unix systems). Patch by Philip Jenvey.pyo was breaking Distutils bdist_rpm command.add_defaults now add files from the package_data and the data_files metadata. so they use support. . .Issue #4524: distutils build_script command failed with --with-suffix=3.IncompleteRead's repr doesn't include all of the data all ready received.sysconfig.Issue #1008086: Fixed socket. bsd.write_byte didn't check map size. . . the file was resized to wrong size.Issue #5378: Added --quiet option to Distutils bdist_rpm command.util.Issue #5287: Add exception handling around findCaller() call to help out IronPython.inet_aton() to always return 4 bytes even on LP64 platforms (most 64-bit Linux. Initial patch by Amaury Forgeot d'Arc. .sdist.Deprecated methods of symtable. .The _asdict() for method for namedtuples now returns an OrderedDict()..3 again.Issue #1533164: Installed but not listed *.get_python_lib prefix argument was ignored under NT and OS2.Issue #2461: Added tests for distutils. . . .The configparser module now defaults to using an ordered dictionary.Issue #5316: Fixed buildbot failures introduced by multiple inheritance in Distutils tests. . This avoids a timing hole thanks to the old reliance on the ctime of the files involved.Issue #2279: distutils.Issue #5386: mmap. . .Issue #1733986: Fixed mmap crash on Windows in accessing elements of second map object with same tagname but larger size than first map.Symbol have been removed: is_keywordarg(). . When ``offset > 0``. . . . . so it could cause buffer overrun.Issue #5257: Refactored all tests in distutils.Issue #5128: Make compileall properly inspect bytecode to determine if needs to be recreated.Issue #3386: distutils.Issue #5292: Fixed mmap crash on its boundary access m[len(m)].

See issue #2983: Ttk support for Tkinter.Issue #4863: distutils.Issue #1276768: The verbose option was not used in the code of distutils.version_info to be a named tuple.__next__() issues in the ABCs for Iterator and MutableSet.3. Only the import_module() function has been backported to help facilitate transitions from 2.g. .Added new itertools functions: combinations_with_replacement() and compress().Issue #1581476: Always use the Tcl global namespace when calling into Tcl.move() could believe that its destination path was inside its source path if it began with the same letters (e.Issue #5021: doctest.new").dir_util.Issue #4285: Change sys.namedtuple() relied on __name__ being defined.Issue #4890: Handle empty text search pattern in Tkinter. .Issue #1885: distutils: When running sdist with --formats=tar. Patch by Douglas Greiman.Issue #2047: shutil.. . "src" vs. . This is a regression which did not occur in 2.gztar the tar file was overriden by the gztar one. . .file_util and distutils. . "src.5.Issue #4512 (part 2): Promote ``ZipImporter._get_filename()`` to be a public documented method ``ZipImporter. .1.Issue #5170: Fixed Unicode output bug in logging and added test case. . .Issue #4920: Fixed .1). Initial patch by Dave Peterson.testfile() did not create __name__ and collections. _1. .Issue #1520877: Now distutils.search. Initial patch by Andi Vajda.get_filename()``.. .. . . Patch by Robert Hancock. also fix a memory leak in Tkapp_Call when calling from a thread different than the one that created the Tcl interpreter. _2. . . .next() vs .Issue #4195: The ``runpy`` module (and the ``-m`` switch) now support the execution of packages by looking for and executing a ``__main__`` submodule when a package name is supplied.sysconfig reads $AR from the environment/Makefile. . .7 to 3.mwerkscompiler has been removed.Issue #1818: collections.1.Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will not be used again (this requires Tcl/Tk 8.Added the ttk module.Backport importlib from Python 3. Patch by Ross Light.Issue #5132: Fixed trouble building extensions under Solaris with --enabled-shared activated.Issue #5122: Synchronize tk load failure check to prevent a potential deadlock. .namedtuple() now supports a keyword argument 'rename' which lets invalid fieldnames be automatically converted to positional names in the form.Text. .

. . . Without this check it is possible to segfault the interpreter. caused by an underlying issue in sharedctypes. added checks for *nix machines for negative handles and large int handles.Issue #5008: When a file is opened in append mode with the new IO library.Issue #1696199: Add collections. .g..Issue #5032: Added a step argument to itertools.Issue #1225107: inspect. .x file object. .Issue #4272: Add an optional argument to the GzipFile constructor to override the timestamp in the gzip stream. .Connection() doesn't check handle. tell() returns the file size rather than 0). .Issue #4998: The memory saving effect of __slots__ had been lost on Fractions which inherited from numbers.Restore Python 2.Issue #1162154: ``inspect. gunzip when decompressing.Issue #4449: AssertionError in mp_benchmarks. which was producing a ValueError on some platforms.Issue #4710: Extract directories properly in the zipfile module.getmembers()`` now skips attributes that raise AttributeError. _multiprocessing will be disabled. a __slots__ attribute which has not been set. .Issue #3997: Zipfiles generated with more than 65536 files could not be opened with other applications. . The numbers hierarchy now has its own __slots__ declarations.py. The default value remains the current time. . When this occurs.Issue #3807: _multiprocessing build fails when configure is passed --without-threads argument.Issue #3321: _multiprocessing.py which did not have __slots__ defined. . e. The information can be used by e.g.Counter() for rapid and convenient counting.Fix and properly document the multiprocessing module's logging support.Issue #1672332: Fix unpickling of subnormal floats. and not compiled. expose the internal levels and provide proper usage examples. . do an explicit seek to the end of file (so that e.Issue #1702551: distutils sdist was not excluding VCS directories under Windows. Patch by Jacques Frechet. Inital solution by Guy Dalberto.count() and allowed non-integer arguments.py. . . .isclass() returned True for instances with a custom __getattr__.g.py.Issue #5013: Fixed a bug in FileHandler which occurred when the delay parameter was set.Issue #3881: Help Tcl to load even when started through the unreadable local symlink to "Program Files" on Vista.Issue #3860: GzipFile and BZ2File now support the context manager protocol. allow adding directories to a zipfile. This is consistent with the behaviour of the traditional 2. . . .3 compatibility for decimal.

. "createtimerhandler". .from_float() no longer loses precision for integers too big to cast as floats.create_decimal_from_float() to the decimal module. .The _tkinter module functions "createfilehandler".logreader error handling.Issue #4197: Doctests in modules loaded via zipimport (or any other PEP 302 conformant loader) will now work correctly in most cases (they are still subject to the constraints that exist for all code running from inside a .BufferedRWPair's closed property now functions properly.is_zipfile() now supports file-like objects.Issue #4756: zipfile. so that e. Patch by Gabriel Genellina. . "deletefilehandler". .Issue #4796: Added Decimal.Issue #3248: Allow placing ScrolledText in a PanedWindow.Issue #4400: .Issue #4201: pdb can now access and display source code loaded via zipimport (or any other conformant PEP 302 loader).) . .Issue #4812: Add missing underscore prefix to some internal-use-only constants in the decimal module. . (Dec_0 becomes _Dec_0. help('@') works as expected in the interactive environment.Issue #3767: Convert Tk object to string in tkColorChooser.Issue #4646: distutils was choking on empty options arg in the setup function. so that the code under test can be written inline if more practical. etc. . Original patch by Alexander Belopolsky.g.pypirc default generated file was broken in distutils.Issue #4736: io. . .x . "mainloop". .Issue #3954: Fix a potential SystemError in _hotshot.isgeneratorfunction() returns False instead of None when the function is not a generator.Fractions.Issue #4223: inspect. Original patch by Philip Jenvey.. UTF-16) and gets split on a chunk boundary.Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case no MSVC compiler is found under Windows. . . .Issue #4444: Allow assertRaises() to be used as a context handler.Issue #4574: Fix a crash in io.Issue #4795: inspect. . Original patch by Thomas Heller.getsource() will now correctly display source code for packages loaded via zipimport (or any other conformant PEP 302 loader). "dooneevent" and "quit" have been deprecated for removal in 3.g.IncrementalNewlineDecoder when a carriage return encodes to more than one byte in the source encoding (e. .Issue #4790: The nsmallest() and nlargest() functions in the heapq module did unnecessary work in the common case where no key function was specified.from_float() and Context. Original patch by Alexander Belopolsky. .Issue #4739: Add pydoc help topics for symbols.

.Issue #4529: Fix the parser module's validation of try-except-finally statements.putheader() now accepts an arbitrary number of values for any header.Issue #4150: Pdb's "up" command now works for generator frames in post-mortem debugging.Added the subprocess. .Issue #4163: Use unicode-friendly word splitting in the textwrap functions when given an unicode string. it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging. . . . . not a malformed option.FileIO's mode attribute now always includes ``"b"``.uuid1() and uuid. . . .httplib.Issue #1055234: cgi.module loaded via a PEP 302 loader and attempting to perform IO operations based on __file__).utime(): Restore directory times on Windows. matching what the documentation has claimed for a while.HTTPConnection.Issue #4458: getopt. .Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat libs.Issue #4384: Added logging integration with warnings module using captureWarnings(). . .gnu_getopt() now recognizes a single "-" as an argument. . .Issue #3774: Fixed an error when create a Tkinter menu item without command and then remove it. Original patch by Alexander Belopolsky. This change includes a NullHandler which does nothing.Issue #4616: TarFile.Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler. Original patch by Alexander Belopolsky. max_mag and min_mag Decimal methods to give correct results in the case where one argument is a quiet NaN and the other is a finite number that requires rounding.check_output() convenience function to get output from a subprocess on success or raise an exception on error.uuid4() functions now work even if the ctypes module is not present.__init__. . . .parse_header(): Fixed parsing of header parameters to support unusual filenames (such as those containing semi-colons) in Content-Disposition headers.Issue #4084: Fix max. . . min.Issues #4082 and #4512: Add runpy support to zipimport in a manner that allows backporting to maintenance branches.Issue #4363: The uuid.Issue #1030250: Distutils created directories even when run with the --dry-run option.Fixed a modulefinder crash on certain relative imports. .Issue #4116: Resolve member name conflict in ScrolledCanvas.py to raise an exception.

Issue #4730: Fixed the cPickle module to handle correctly astral characters when protocol 0 is used. . . .Issue #3935: Properly support list subclasses in bisect's C implementation. .Issue #6603: Change READ_TIMESTAMP macro in ceval.Issue #900949: plat-mac/videoreader. Fix library detection on biarch systems. Build ----.Ttk demos added in Demo/tkinter/ttk/.Issue #1149804: macostools.Issue #2703: SimpleXMLRPCDispatcher. . .py no longer relies on a non-existing module. in addition to claiming it is Mature.Issue #1737832: plat-mac/EasyDialog.Issue #999042: The Python compiler now handles explict global statements correctly (should be assigned using STORE_GLOBAL opcode).find_library(): Robustify. Tools/Demos ----------.Issue #4014: Don't claim that Python has an Alpha release status.Issue #841800: bundlebuilder now works with 'python -O'. without using objdump and gcc.Issue #4677: Add two list comprehension tests to pybench.Issue #1594: MacOS.Issue #5828 (Invalid behavior of unicode. This fixes a reported problem with the . .lower() == '\x00').Issue #4861: ctypes.py no longer uses the broken aepack module. .Issue #16278952: plat-mac/videoreader.c so that it compiles correctly under gcc on x86-64.Issue #4092: Return ArgInfo as promised in the documentation from inspect.mkdirs now even works when another process creates one of the needed subdirectories. .Windows locale mapping updated to Vista. .5.__init__: Provide default values for new arguments introduced in 2.GetCreatorAndType now always returns a big-endian result.Issue #900506: added --no-zipimport flag to the bundlebuilder script.lower): Fixed bogus logic in makeunicodedata. . . .py and regenerated the Unicode database (This fixes u'\u1d79'. .Issue #5104: The socket module now raises OverflowError when 16-bit port and protocol numbers are supplied outside the allowed 0-65536 range on bind() and getservbyport(). to be consistent with Apple tools.. Try to rely on ldconfig only.getargvalues. .util. .py now correctly imports MediaDescr .

. Patch by Clinton Roy.Issue #5847: Remove -n switch on "Edit with IDLE" menu item.Issue #4472: ``configure --enable-shared`` now works on OSX.Add 2 new options to ``--with-universal-archs`` on MacOSX: ``intel`` builds a distribution with ``i386`` and ``x86_64`` architectures.Issue #3585: Add pkg-config support.Issue #4120: Exclude manifest from extension modules in VS2008.Issues #4728 and #4060: WORDS_BIGEDIAN is now correct in Universal builds.pc file and a python. .. .Issue #4091: Install pythonxy. . . . . . rather than always exit successfully.Issue #5726: Make Modules/ld_so_aix return the actual exit code of the linker.Issue #4587: Add configure option --with-dbmliborder=db1:db2:. It creates a python-2.Link the shared python library with $(MODLIBS).PHONY``. . .6. .pc symlink in the $(LIBDIR)/pkgconfig directory. . Patch by Floris Bruynooghe.Issue #4895: Use _strdup on Windows CE. . .Issue #4289: Remove Cancel button from AdvancedDlg. Documentation ------------- .Issue #6802: Fix build issues on MacOSX 10. . Configure now explicity tells you about this.Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows.py* files on Windows.6.Issue #6244: Allow detect_tkinter to look for Tcl/Tk 8.Issue #6094: Build correctly with Subversion 1. .Issue #5809: Specifying both --enable-framework and --enable-shared is an error.7.Issue #5134: Silence compiler warnings when compiling sqlite with VC++. to specify the order that backends for the dbm extension are checked. . . ``i386`` and ``x86_64`` architectures.Issue #1656675: Register a drop handler for .7. . .--with-tsc build on x86-64.Issue #4204: Fixed module build errors on FreeBSD 4.Issue #5390: Add uninstall icon independent of whether file extensions are installed.Issue #3758: Add ``patchcheck`` build target to ``.. .Issue #4018: Disable "for me" installations on Vista. .dll in system32 again. .Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs". while ``3-way`` builds a distribution with the ``ppc``. .

. .Issue #1419652: Change the first argument to PyImport_AppendInittab() to ``const char *`` as the string is stored beyond the call.Issue #4122: On Windows. . . .Issue #6801: symmetric_difference_update also accepts `` ``.Issue #6823: Allow time. Documentation added.Issue #3366: Add erf. Thanks to Carl Chenet.setresuid. gamma.Removed _PyOS_double_to_string. . . .Issue #4720: The format for PyArg_ParseTupleAndKeywords can begin with ' '. C-API ----.Some PyBytes_* aliases have been removed because they don't exist in 3.Issue #6624: PyArg_ParseTuple with "s" format when parsing argument with NULL: Bogus TypeError detail string.strftime() to accept a tuple with a isdst field outside of the range of [-1. and deprecated PyOS_ascii_atof and PyOS_ascii_strtod. . function. Use PyOS_double_to_string instead.Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError for negative arguments.Issue #7528: Add PyLong_AsLongAndOverflow (backported from py3k). 1] by normalizing the value to within that range.Issue #7228: Add '%lld' and '%llu' support to PyString_FromFormat(V) and PyErr_Format. Extension Modules ----------------. .Issue #5959: Add a PyCode_NewEmpty() function to create a new empty code object at a specified file. . .x.getresgid.{getresuid. . .Issue #7078: Set struct. expm1. . it raised TypeError. on machines with HAVE_LONG_LONG defined. Previously.Issue #5954: Add a PyFrame_GetLineNumber() function to replace most uses of PyCode_Addr2Line(). This is in preparation for (but not strictly related to) issue #7117..Issue #6556: Fixed the Distutils configuration files location explanation for Windows. the 'pyo' macro can now be called when the GIL is released. . .Issue #6508: Add posix. erfc.Issue #4293: Py_AddPendingCall() is now thread safe and can be used for asynchronous notifications to python from any thread. short float repr. and line number. fix a compilation error when using the Py_UNICODE_ISSPACE macro in an extension module.__doc__ from _struct.__doc__.setresgid}. lgamma functions to math module.Issue #3632: From the gdb debugger.Add new C-API function PyOS_string_to_double. or owned by another thread. .

'*B'. . 'B'. '*L'. '*l'. but use of this feature triggers a DeprecationWarning. Note: as of Python 2.Issue #4751: For hashlib algorithms provided by OpenSSL. .Issue #6561: '\d' in a regex now matches only characters with Unicode category 'Nd' (Number. Previously an x with an __int__ method could be packed by 'b'.7 beta 1.Issues #1530559. Previously it also matched characters with category 'No'. any argument with an __int__ method can be packed. .Issue #1040026: Fix os. .4 in struct's L format.Issue #3745: Fix hashlib to always reject unicode and non buffer-api supporting objects as input no matter how it was compiled (built in implementations or external openssl library).times result on systems where HZ is incorrect.Issue #6944: Fix a SystemError when socket.Issue #6877: Make it possible to link the readline extension to libedit on OSX. '*b'.error in other cases. 'Q'.getnameinfo() was called with something other than a tuple as first argument. '>'. Decimal Digit). . '*H'. '<'. . and struct. In 2. . . .Issue #4397: Fix occasional test_socket failure on OS X.Issue #4228: Pack negative values the same way as 2. '*L'. . '*h' . Packing an out-of-range integer now consistently raises struct.If x is not an int. #1741130: Fix various struct.pack with an integer format code ('bBhHiIlLqQ'). '*Q'. and an x with a __long__ method could be packed by 'q'. long or float. .Issue #4051: Prevent conflict of UNICODE macros in cPickle.6. . . 'H'. '*I'.Packing a float now always gives a Deprecation Warning. the above is out of date. for x with neither __int__ nor __long__. . '*B'. '*H'. then packing x will always result in struct.'*i'. CVE-2009-3720.Issue #6848: Fix curses module build failure on OS X 10. .pack inconsistencies for the integer formats ('bBhHiIlLqQ'). 'i'.error. '*I'. 'h'. 'L'.Fix a segfault in expat when given a specially crafted input lead to the tokenizer not stopping. TypeError used to be raised (with a confusing error message) for 'I'.error. .7 beta 1. Previously it only warned for 'I'.Issue #6865: Fix reference counting issue in the initialization of the pwd module.Issue #4873: Fix resource leaks in error cases of pwd and grp..Issue #1523: Remove deprecated overflow wrapping for struct. .Issue #4279: Fix build of parsermodule under Cygwin. the Python GIL is now released during computation on data lengths >= 2048 bytes. 'L'. 'l'. '*q'.7a2. NOTE: Undone in 2. In the following. . '*' represents any of '='.

partial objects can now be pickled. . #3682: Fix test_math failures for log.Issue #7431: Use TESTFN in test_linecache instead of trying to create a file in the Lib/test directory. .Issue #7058: Added save/restore for things like sys.Issue #7151: Fixed regrtest -j so that output to stderr from a test no longer runs the risk of causing the worker thread to fail. .Issue #7055: test___all__ now greedily detects all modules which have an __all__ attribute. . and a new section in the summary report at the end. . . with warnings if the called test modifies them. .Issue #4396: The parser module now correctly validates the with statement.Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to Lib/lib-tk/test/test_tkinter/test_loadtk.6.Issue #7295: Do not use a hardcoded file name in test_tarfile.0 because ``sw_ver`` leaves off the trailing 0 in the version number._count()``. . OpenBSD. With this.argv and cwd to runtest_inner in regrtest. these tests demonstrate the same behaviour as test_ttkguionly (and now also test_tk) which is to skip the tests if DISPLAY is defined but can't be used.. rather than using a hardcoded and incomplete list. tests for other modules with both C and Python implementations in the stdlib can be adjusted to use it over time.Issue #5228: Make functools. Condition. . . This also introduces a new private function: ``thread. . Event and Semaphore.Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.Issue #7222: Make thread "reaping" more reliable so that reference leak-chasing test runs give sensible results. shortening the total runtime. log10 on Solaris.Issue #4365: Add crtassem. which might be read-only for the user running the tests. Can be combined with -j. . . The previous method of reaping threads could return successfully while some Thread objects were still referenced.Issue #6806: test_platform failed under OS X 10. .Issue #7324: Add a sanity check to regrtest argument parsing to catch the case of an option with no handler. .Issues #3167.6. .h constants to the msvcrt module.Issue #7312: Add a -F flag to run the selected tests in a loop until a test fails.Issue #7270: Add some dedicated unit tests for multi-thread synchronization primitives such as Lock. Tests ----. RLock.Issue #5354: New test support function import_fresh_module() makes it easy to import both normal and optimised versions of modules. . test_heapq and test_warnings have been adjusted to use it.Issue #6152: New option '-j'/'--multiprocess' for regrtest allows running regression tests in parallel.

. and the filename is a unicode string.regrtest no longer treats ImportError as equivalent to SkipTest. .Issue #2389: Array objects are now pickled in a portable manner.Issue #3965: Allow repeated calls to turtle.Issue #5083: New 'gui' resource for regrtest. .Issue #3879: A regression in urllib..Issue #3547: Fixed ctypes structures bitfields of varying integer sizes.Issue #3967: Fixed a crash in the count() and find() methods of string-like objects.EnvironmentVarGuard objects restored the environment variables incorrectly on __exit__. which does the conversion.Issue #3950: Made turtle respect scale factors. Imports that should cause a test to be skipped are now done using import_module from test support.Fix test_logging to no longer reset the warnings filter. .Issue #5611: Auto-detect whether a C file uses tabs or spaces in Vim. Library ------. .Screen. . when the "start" parameter is a huge value. . . .Issue #3863: Disabled a unit test of fork being called from a thread when running on platforms known to exhibit OS bugs when attempting that.Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default. .Issue #3965: Fixed a crash on Windows when open() is given an invalid filename or mode.getproxies_enviroment was fixed. .6 final ============================== *Release date: 01-Oct-2008* Core and Builtins ----------------. . .Issue #3895: It was possible to crash the interpreter when an external timer was used with cProfile that returned an object that could not be converted into a float. What's New in Python 2. . Misc ---.Fix test_warnings to no longer reset the warnings filter.Issue #5837: Certain sequences of calls to set() and unset() for support.Issue #5635: Fix running test_sys with tracing enabled. by making it a true singleton object.

PY_FORMAT_SIZE_T was incorrectly used with PyString_FromFormat or PyErr_Format to display size_t values.Issue #3642: Suppress warning in obmalloc when size_t is larger than uint.Bug #3989: Package the 2to3 script (as 2to3. where ``printf`` needs "%Id" to display 64bit values. What's New in Python 2. Tools/Demos ----------.6 release candidate 2? ============================================= *Release date: 17-Sep-2008* Core and Builtins ----------------Extension Modules ----------------.Issue #3886: Possible integer overflows in the _hashopenssl module were closed.Issue #3743: In a few places.6 release candidate 1? ============================================= *Release date: 12-Sep-2008* Core and Builtins ----------------.Security Issue #2: imageop did not validate arguments correctly and could segfault as a result. The macro PY_FORMAT_SIZE_T is designed to select the correct format for the OS ``printf`` function. .Bug #3887: Package x64 version of CRT for AMD64 Windows binaries. . both exception types are caught and silenced. . Build ----.Issue #3850: recursion tests in Tools/scripts/find_recursion_limit.py) in the Windows installer.Issue #3617: Include a licensing statement regarding the Microsoft C runtime in the Windows installer.py can rais e AttributeError instead of RuntimeError. . What's New in Python 2.Build ----. whereas PyString_FromFormat has an independent implementation and uses "%zd" on all platforms for size_t values. Consequently. depending in which C API call exactly the recursion limit is exceeded. This makes a difference on win64.

. . . C-API ----. This fixes issues with x86_64 builds on some platforms (a few Linux flavors and OpenBSD).Issue #3668: Fix a memory leak with the "s*" argument parser in PyArg_ParseTuple and friends. In the process. . . the __long__ method is allowed to return either an int or a long.Issue #3777: long() applied to a float object now always return a long object.__init__() gave invalid return value on error. .Aliased PyObject_Bytes to PyObject_Str.Issue #3640: Pickling a list or a dict uses less local variables. . which occurred when the argument for "s*" was correctly parsed but parsing of subsequent arguments failed. when given a tuple of classes as second argument.Issue #3751: str. .Issue #3629: Fix sre "bytecode" validator for an end case. ``__setslice__``. . Library ------. .rpartition would perform a left-partition when called with a unicode argument.Issue #3678: Correctly pass LDFLAGS and LDLAST to the linker on shared library targets in the Makefile. . or ``__delslice__``.Issue #3811: The Unicode database was updated to 5.. . so as to match Python 2.Fix compiler warnings in opt mode which would lead to invalid memory reads. .Added warnings on the use of ``__getslice__``.Issue #3683: Fix compilation when --without-threads is given.1. fix a bug where isinstance() and issubclass().Silenced another compiler warning about a used but not defined function 'stringlib_contains_obj'.Issue #1204: The configure script now tests for additional libraries that may be required when linking against readline.5 speed despite the __instancecheck__ / __subclasscheck__ mechanism. but the behaviour of float objects should not change to respect backward compatibility. .ref(Exception). were looking up __instancecheck__ / __subclasscheck__ on the tuple rather than on each type object.Fix problem using wrong name in decimal module reported by pychecker. to reduce stack usage in the case of deeply nested objects. .Issue #2534: speed up isinstance() and issubclass() by 50-70%.Fix memory leaks found with valgrind and update suppressions file. .Fix crashes on memory allocation failure found with failmalloc.Issue #3634: _weakref. previously an int would be returned for small values.

remove _check_logger_class from multiprocessing. or when the methods are invoked in the wrong order.Issue #3781: Further warnings. . .Issue #3809: Fixed spurious 'test. Expanding the tests for catch_warnings() also led to an improvement in the raising of a DeprecationWarning related to warnings.urandom no longer goes into an infinite loop when passed a non-integer floating point number. from the cgi module to the urlparse one. . Extension Modules ----------------.Issue #3776: Deprecate the bsddb package for removal in 3.Issue #3762: platform. .warn_explicit().Issue #2562: Fix distutils PKG-INFO writing logic to allow having non-ascii characters and Unicode in setup.Issue #3772: Fixed regression problem in StreamHandler. Added a PendingDeprecationWarning in the old module.Issue #3719: platform.Issue #3726: Allow spaces in separators in logging configuration files. .Morsel gained the httponly attribute. .blah' file left behind by test_logging.Issue #3781: Clean up the API for warnings. .catch_warnings() cleanup to prevent silent misbehaviour when a single instance is nested in multiple with statements.test_support. .architecture() fails if there are spaces in the path to the Python binary.The deprecation warnings for the old camelCase threading API were removed. .logging: fixed lack of use of encoding attribute specified on a stream.catch_warnings() along with some API cleanup.Issue #600362: Relocated parse_qs() and parse_qsl(). . it will be deprecated in the future. .Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing SEM_VALUE_MAX.Silenced a trivial compiler warning in the sqlite module.Issue #4301: Patch the logging module to add processName support. . .Issue #3602: Moved test.py meta-data. .FileIO gave unhelpful error message when trying to open a directory.emit().Issue #1638033: Cookie.catch_warning() to warnings. . . .Issue #3535: zipfile couldn't read some zip files larger than 2GB.0.Issue #3703: _fileio.architecture() fails if python is lanched via its symbolic link. . ..Issue #3708: os.catch_warnings() by having it return a list or None rather than a custom object. .Fixed two format strings in the _collections module.

What's New in Python 2. .Issue #3768: Move test_py3kwarn over to the new API for catch_warnings(). This means 3rd party extensions do not automatically benefit from the class attribute cache.test_support. .catch_warnings() that makes it easier to check that expected warning messages are being reported.Issue #3758: Rename the 'check' target to 'patchcheck' so as to not clash with GNU build target guidelines.py.Issue #3781: Add test. . .Issue #3833: Use a different upgrade code for Win64 installers. keyword=23)`` is now valid syntax. Build ----.Issue #3796: Some tests functions were not enabled in test_float.check_warnings() as a convenience wrapper for warnings. .Issue #3103: Reduced globals symbols used by sqlite3 module and made sure all remaining ones have "pysqlite_" prefix. .sqlite3: Changed docstring of iterdump() to mark method as "Non-standard". (``f(a.0.. *args.Keyword arguments can now follow starred arguments. Tests ----. . This is a backwards compatibility feature. some environment variables would grow without limit. . This improves concurrent access to the same SQLite database from multiple threads/processes.) .Allow passing the MSI file name to merge.Issue #3643: Added a few more checks to _testcapi to prevent segfaults by exploitation of poor argument checking.Issue #2271: Set SecureCustomProperties so that installation will properly use the TARGETDIR even for unprivileged users.Issue #1878: Remove Py_TPFLAGS_HAVE_VERSION_TAG from Py_TPFLAGS_DEFAULT when not building the core.Issue #3846: Release the GIL during sqlite3_prepare calls.Issue #2975: When compiling several extension modules with Visual Studio 2008 from the same python interpreter.6 beta 3? ================================ *Release date: 20-Aug-2008* Core and Builtins ----------------. in 3. all types will use the cache by default. . . they will have to explicitly add Py_TPFLAGS_HAVE_VERSION_TAG to their tp_flags field if they care.

6 as well (collections.Issue #2542: Now that issubclass() may call arbitrary code. . ensure that PyErr_ExceptionMatches returns 0 when an exception occurs there.Issue #2620: Overflow checking when allocating or reallocating memory was not always being done properly in some python types and extension modules.Number. Now it properly raises an OverflowError.Issue #3139: Make buffer-interface thread-safe wrt.Apply security patches from Apple. for example).Symbol have been deprecated for removal in 3. unichr() would truncate its argument and return u'\x00' for unichr(2**32). The version reported by these tools does not necessarily follow the python version numbering scheme.Issue #3537: Fix an assertion failure when an empty but presized dict object was stored in the freelist. . . xml. . so the module is less strict when parsing it. .wintypes.ABCMeta from 'inspect'.Issue #2378: An unexpected UnboundLocalError or NameError could appear when the python debugger steps into a class statement: the free variables (local variables defined in an outer scope) would be deleted from the outer scope.Issue #1481296: Make long(float('nan')) and int(float('nan')) raise ValueError consistently across platforms.Set. . unittest. .TestSuite.UserList) . numbers. collections. PyMem_MALLOC. PyMem_REALLOC. ``is_vararg()``.Issue #2234: distutils failed for some versions of the cygwin compiler. Several types which did not meet the rules for hash invariants and were already unhashable in 3.Remove an unneeded import of abc. PyMem_NEW and PyMem_RESIZE have all been updated to perform better checks and places in the code that would previously leak memory on the error path when such an allocation failed have been fixed. Library ------.Issue #3479: On platforms where sizeof(int) is smaller than sizeof(long) (64bit Unix. .minidom.Issue #3612: Added some missing basic types in ctypes.0 have now been explicitly flagged as unhashable in 2.NamedNodeMap. and introducing s*. os. . csv.The methods ``is_in_tuple()``. . .dom.Issue #1819: function calls with several named parameters are now on average 35% faster (as measured by pybench).0 and the next release. . . urllib2.Issue #2235: Added Py3k warnings for types which will become unhashable under the stricter __hash__ inheritance rules in 3. and ``is_keywordarg()`` of symtable. and weakref to include things imported into the module but exposed as part of the module's API. .Mapping.Update __all__ for cookielib. PyArg_ParseTuple.0. by denying s# to parse objects that have a releasebuffer procedure.ctypes function pointers that are COM methods have a boolean True value again.. UserList.

Changed code in the following modules/packages to remove warnings raised while running under the ``-3`` flag: aifc.Copied the implementation of reduce() to _functools. ConfigParser. email.Silence the DeprecationWarning of rfc822 when it is imported by mimetools since mimetools itself is deprecated. (windows only) .DictReader's fieldnames attribute a property so that upon first access it can be automatically initialized from the csv file if it wasn't initialized during instantiation. bdb.Silence the DeprecationWarning raised when importing mimetools in BaseHTTPServer. traceback. DocXMLRPCServer. subprocess.reload() to help with transitioning to Python 3. .Issue #2222: Fixed reference leak when occurred os. pstats. threading. difflib. and dummy_thread. pydoc. .Issue #3476: binary buffered reading through the new "io" library is now thread-safe. rlcompleter. Because modules are cached. . asynchat.Issue #3575: Incremental decoder's decode function now takes bytearray by using 's*' instead of 't#'. filecmp. distutils.rename() fails unicode conversion on 2nd parameter. xml. socket. fileinput. test.Issue #3205: When iterating over a BZ2File fails allocating memory. pickle. cookielib.Remove unneeded imports of 'warnings' from shelve. .. modulefinder. . shelve. profile.compile() function never generates invalid re-bytecode. sqlite3. inspect. Commands associated to menu entries were not deleted. . .Issue #3436: Make csv.Issue #2776: fixed small issue when handling an URL with double slash after a 302 response in the case of not going through a proxy. . xmlrpclib. . re. all subsequent imports of rfc822 will not raise a visible DeprecationWarning.compile() will now be rejected.Issue #2676: in the email package. Passing invalid "re-bytecode" to _sre. logging. pdb. . asyncore. wsgiref. filecmp. Tkinter. .test_support. . content-type parsing was hanging on pathological input because of quadratic or exponential behaviour of a regular expression. .Issue #3487: sre "bytecode" validator. urlparse.Issue #3134: shutil referenced undefined WindowsError symbol. textwrap.Issue #2464: urllib2 now supports a malformation in the URL received in a redirect. cgi (and rfc822). tarfile. tokenize.Issue #1342811: Fix leak in Tkinter. . bsddb. . csv.0 as the reload() built-in has been removed. . This should not affect anybody since the re.Issue #2338: Create imp. .reduce() to have a version that did not raise a DeprecationWarning under -3. raise a MemoryError rather than silently stop the iteration. httplib. SimpleXMLRPCServer.Menu.delete.Remove unneeded imports of 'sys' and 'warnings' from 'io'.

Issue #2235: the C API function PyObject_HashNotImplemented and its interaction with the tp_hash slot (added in 2.writestr() which always raised an AttributeError.0.Issue #3120: On 64-bit Windows the subprocess module was truncating handles. . Fixed my moving _deadstate to an _internal_poll method.Deprecate the sunaudio module for removal in Python 3. .Issue #3302: Fix several crashes when calling locale's gettext functions with None arguments.Issue #1857: subprocess.Issue #3437: Bug fix in robotparser parsing of Allow: lines. . since the coverage is now fairly reasonable.Issue #3449: Update decimal module to use most recent specification (v. . so files are extracted with mode 0600 rather than 000 under Unix.Issue #3039: Fix tarfile. not the built-in open() function.Issue #643841: The language reference now provides more detailed coverage of the lookup process for special methods.Issue #3303: Fix a crash in locale.5. .Issue #1592: Improve error reporting when operations are attempted on a closed shelf.6 beta 2? ================================ *Release date: 17-Jul-2008* . 2.Issue #2523: Fix quadratic behaviour when read()ing a binary file without asking for a specific length.68) and tests (v.Generate the PatternGrammar pickle during "make install". . .Deprecate the "ast" parser function aliases.writestr sets external attributes when passed a file name rather than a ZipInfo instance.Issue #3389: Allow resolving dotted names for handlers in logging configuration files. .poll gained an additional _deadstate keyword argument in python 2.6b2) are now documented .Popen. What's New in Python 2.TarFileCompat. The disclaimers regarding lack of coverage of new-style classes have also been removed.. 1. Build ----. Documentation ------------. .Issue #3394: zipfile. This problem only affected files opened using the new "io" module. this broke code that subclassed Popen to include its own poll method. . .58) from IBM.strcoll() when calling it with invalid arguments. .

format().0'.index(). . 10.Issue #3004: Minor change to slice. a=23).indices(9) now returns (0. . -1. For example.Issue #3156: Fix inconsistent behavior of the bytearray type: all its methods now allow for items objects that can be converted to an integer using operator. would not cause a syntax error.Issue #2862: Make int and float freelist management consistent with other freelists. .indices(10) returns (9. 9.Issue #3219: Calling a function with repeated keyword arguments.collect(). Library ------- . or tp_hash=PyObject_HashNotImplemented at the C level.Issue #3221: Issue a RuntimeWarning instead of raising SystemError if the parent module cannot be found while performing an absolute import.Issue #3088: Corrected a race condition in classes derived from threading.__hash__). 1) instead of (0. -1) instead of (9. 10. slice(None. -1).fromhex' to convert floating-point numbers to and from hexadecimal strings. 1).Hashable to remain meaningful in the presence of the default hash implementation (object. respectively. . 0o.Issue #3008: the float type has a new instance method 'float. oct. . which produced a ValueError instead of giving the correct float.Issue #3083: Add alternate (#) formatting for bin. . Changes their CompactFreeList apis into ClearFreeList apis and calls them via gc.Core and Builtins ----------------. it is now possible to explicit block inheritance of hash by setting __hash__=None at the Python level.Issue #3360: Fix incorrect parsing of '020000000000. f(a=2. This was a regression from 2. To allow collections.stdout is set to a custom object whose write() method happens to install another file in sys. respectively. . This means that an incorrectly defined __package__ attribute will now only prevent relative imports in that module rather than causing all imports from that module to fail.local: the first member set by a thread could be saved in another thread's dictionary. -10. if sys.4 caused by the switch to the new compiler.Issue #3242: Fix a crash inside the print statement. hex output for str. making the behaviour easier to describe and understand.indices(): the start and stop arguments are now treated identically. 0. -1).Issue #2517: Allow unicode messages in Exceptions again by correctly bypassing the instance dictionary when looking up __unicode__ on new-style classes.stdout. .Issue #2235: __hash__ is once again inherited by default. . . This adds the prefix 0b. . or 0x.hex' and a new class method 'float. and slice(None. 1).

BZFile iterator to release its internal lock .urlopen() function has been deprecated for removal in Python 3.string_at and ctypes.Issue #1746: Correct handling of zipfile archive comments (previously archives with comments over 4k were flagged as invalid).copytree().wstring_at did call Python api functions without holding the GIL. . Allow writing Zip files with archives by setting the 'comment' attribute of a ZipFile. .Issue #839496: SimpleHTTPServer used to open text files in text mode.Issue #1622: Correct interpretation of various ZIP header fields.Issue #2113: Fix error in subprocess.Issue #1608818: Fix misbehavior in os. .Issue #3190: Pydoc now hides the automatic module attribute __package__ (the handling is now the same as that of other special attributes like __name__).Issue #3125: Remove copy_reg in multiprocessing and replace it with ForkingPickler. . .Issue #3285: Fractions from_float() and from_decimal() accept Integral argumen ts._nametowidget to unwrap Tcl command objects.. . .Issue #3554: ctypes. . but never merged into trunk.Issue #2663: add filtering capability to shutil.Issue #799428: Fix Tkinter.Issue #2885 (partial): The urllib. . . .Issue #3339: dummy_thread. .Popen if the select system call is interrupted by a signal. . . .Misc.Issue #3309: Fix bz2.4 branch.Issue #1526: Allow more than 64k files to be added to Zip64 file.acquire() should not return None. . which could lead to a fatal error when they failed. . The problem had been corrected in the 2.listdir() if readdir() fails.urlopen().Issue #3301: Bisect module behaved badly when lo was negative. .register() to resolve conflict with ctypes. .Issue #3258: Fixed a crash when a ctypes POINTER type to an incomplete structure was created.0 in favor of urllib2.Issue #449227: The rlcompleter module now adds "(" to callable objects when completed.Issue #3090: Fixed ARCHFLAGS parsing on OS/X .Issue #3313: Fixed a crash when a failed dlopen() call does not set a valid dlerror() message.Issue #3312: Fix two crashes in sqlite3. This is both unnecessary (HTTP allows text content to be sent in several forms) and wrong because the actual transmitted size could differ from the content-length.Issue #3395: fix reference in test_multiprocessing to old debugInfo method .

0.catch_warning now keeps track of all warnings it sees and is now better documented.pyd.Add future_builtins.0. intersection().0.HTTPSConnection Host: headers no longer include the redundant ":443" port number designation when the connection is using the default https port (443). What's New in Python 2. . .fork() call the threading module state is cleaned up in the child process to prevent deadlock and report proper thread counts if the new process uses the threading module. union().Issue #3100: Corrected a crash on deallocation of a subclassed weakref which holds the last (strong) reference to its referent. Build ----. and difference_update(). Also fixed a bug in error handling when 'message' and 'category' were both set to None. triggering a bus error.Document that robotparser has been renamed to urllib.properly when raising an exception due to the bz2file being closed.0.dll.parse in Python 3. .Document that urllib2 is split across multiple modules and renamed in Python 3.Document that urllib is split across multiple modules and renamed in Python 3. intersection_update(). .Issue #3094: httplib.test_support.Issue #3215: Build sqlite3 as sqlite3.Issue #3211: warnings. . Tests ----. Prevents a deadlock.warn_explicit() did not guard against its 'registry' argument being anything other than a dict or None.robotparser in Python 3.Issue #874900: after an os. . .ascii(). Explicit unit tests for this context manager have been added to test_warnings. Documentation ------------.test.Document that urlparse has been renamed to urllib. not sqlite3. difference(). .Several set methods now accept multiple arguments: update(). .6 beta 1? ================================ *Release date: 18-June-2008* Core and Builtins ----------------.

.xreadlines() now emits a Py3k warning.Issue #2898: Added sys.Support for Windows 9x has been removed from the winsound module.bsddb module updated to version 4.Issue #2831: enumerate() now has a ``start`` argument.maxsize.dumps() had quadratic behavior for strings > 32Mb.co_name``.7. Extension Modules ----------------.func_code..Issue #2819: add full-precision summation function to math module. This makes its implementation match that used by list.getsizeof() to retrieve size of objects in bytes.0. .DBEnv. and SystemExit) propagate instead of ignoring them.gi_code.Patch #2488: Add sys.db object constructors raised an exception. .is_integer method where a ValueError was sometimes incorrectly raised. . . contributed by Google. . The repr() of a generator now also contains this name. http://www.Issue #2138: Add factorial() to the math module.7.es/programacion/pybsddb.FASYNC if the constants exist on the platform.Support os. This code should be compatible with Python 3. in cases where they can't be triggered from Python code. .htm#bsddb3-4.3.lock_get and other bsddb. .__name___`` that equals ``func.Issue #2790: sys. .__name__`` attribute that equals ``gen. .O_ASYNC and fcntl.jcea.3.Issue #2592: delegate nb_index and the floor/truediv slots in weakref.Issue #2863: generators now have a ``gen. . . .proxy. .db.Added checks for integer overflows. .Issue #3116: marshal. like ``func.flags was not properly exposing its bytes_warning attribute. .Issue #2353: file.Issue #2858: Fix potential memory corruption when bsddb.sort().Issue #1179: [CVE-2007-4965] Integer overflow in imageop module.The heapq module does comparisons using LT instead of LE. . .New environment variable PYTHONIOENCODING. based on Hettinger's ASPN Python Cookbook recipe. Some are only available if asserts are left in the code. .Issue #2801: fix bug in the float.Issue #2196: hasattr() now lets exceptions which do not inherit Exception (KeyboardInterrupt.co_name``.

Thanks to Leandro Lucarella for the patch.Issue #1817: cgi now correctly handles the querystring on POST requests . . . . .uname exists..Issue #2870: cmathmodule.Issue #2722: Now the os.py iteration no longer silently fails when the database has changed size during iteration. .config: Removed out-of-date comment in _install_handlers and used issubclass in place of equality comparison of classes.Patch #2125: Add GetInteger and GetString methods for msilib.Issue #2404: ctypes objects support the new pep3118 buffer interface.Added the multiprocessing module.byref function now takes an optional second parameter which allows to specify an offset in bytes for the constructed pointer-like object.Issue #3126: StreamHandler and FileHandler check before calling "flush" and "close" that the stream object has these. . .c compile error.0 (now follows the common sense). to match the behaviour of 2.getdoc() into inspect.The mimetools module has been deprecated for removal in 3. . . . It now raises a RuntimeError in the same manner as a dictionary. . .Issue #2888: Fixed the behaviour of pprint when working with nested structures.Issue #1798: Add ctypes calling convention that allows safe access to errno. Library ------. . .Issue #2669: bsddb/__init__.logging.Issue #3136: fileConfig()'s disabling of old loggers is now conditional via an optional disable_existing_loggers parameter.cleandoc() to ease standalone use.Record objects.Factored out the indentation cleaning from inspect.0.Issue #2912: platform. .ident property.Added a threading.The ctypes.Issue #2782: The datetime module's strftime methods now accept unicode format strings just as time.Thread.5 and 3. .Added the ast module.uname now tries to determine unknown information even if os. PEP 371. using hasattr (thanks to bobf for the patch). but the default value is such that the old behaviour is preserved.0.The rfc822 module has been deprecated for removal in 3. .getcwd() supports very long path names.strftime always has. .

open(mode='w:bz2') when the TarFile is closed. . ctypes.0.The SV module from IRIX has been deprecated for removal in Python 3.Issue #961805: Fix Text.The panelparser module from IRIX has been deprecated for removal in . .0.Issue #1797 (partial fix): ctypes NULL function pointers have a False boolean value now.0. .Issue #2914: TimedRotatingFileHandler now takes an optional keyword argument "utc" to use UTC time rather than local time. . This allows handling duplicate filenames in zipfiles. . .The statvfs module has been deprecated for removal in Python 3.0.Issue #2929: TimedRotatingFileHandler was using the wrong path when deleting old log files (filename only instead of full path).Issue #1390: Raise ValueError in toxml when an invalid comment would otherwise be produced.util.The torgb module from IRIX has been deprecated for removal in Python 3. read() or extract() via a ZipInfo instance.Issue #2959: For consistency with other file-like objects. .0.Issue #1775025: You can now specify zipfile members to open().org locale.Issue #3011: locale module alias table was updated to the latest version from the X. . .edit_modified() in Tkinter. . . .The sgmllib and htmllib modules have been deprecated for removal in Python 3.Issue #2877: The UserString.Issue #1793: Function ctypes. . . .close() can now be called multiple times without raising an exception.find_library(name) now call this function when name is 'm' or 'c'.0.MutableString class has been removed in Python 3. .Issue #2985: Allow 64-bit integer responses (``<i8>``) in XMLRPC transfers. . .The sunaudiodev and SUNAUDIODEV modules have been deprecated for removal in Python 3.. gzip's GzipFile.util. .0.The WAIT module from IRIX has been deprecated for removal in Python 3.alias file.find_msvcrt() added that returns the name of the C runtime library that Python uses.0.Do not close external file objects passed to tarfile.The readcd module from IRIX has been deprecated for removal in Python 3.

0.0.0.The IN module from IRIX has been deprecated for removal in Python 3. GL.The imgfile module from IRIX has been deprecated for removal in Python 3.0.0. .0.The IOCTL module from IRIX has been deprecated for removal in Python 3. flp. .0. . and cl modules for IRIX have been deprecated for removal in Python 3. .The cddb module for IRIX has been deprecated for removal in Python 3.The panel module from IRIX has been deprecated for removal in Python 3.The GLWS module from IRIX has been deprecated for removal in Python 3.The cd and CD modules for IRIX have been deprecated for removal in Python 3. and cgen modules (which indirectly includes cgensupport) have been deprecated for removal in Python 3. .The CL. .The FILE module on IRIX has been deprecated for removal in Python 3.The timing module has been deprecated for removal in Python 3.The al and AL modules for IRIX have been deprecated for removal in Python 3.The sv module has been deprecated for removal in Python 3.The cdplayer module for IRIX has been deprecated for removal in Python 3.0. . .0. .The FL.The fm module from IRIX has been deprecated for removal in Python 3.The DEVICE.0. .0.0.0. .0. and fl modules from IRIX have been deprecated for removal in Python 3. . .Python 3. .The GET module from IRIX has been deprecated for removal in Python 3. .Issue #1713041: fix pprint's handling of maximum depth.The ERRNO module on IRIX has been deprecated for removal in Python .The jpeg module from IRIX has been deprecated for removal in Python 3.The multifile module has been deprecated as per PEP 4.0. . gl. . CL_old.0. . . . .

The stringold module has been deprecated for removal in Python 3.The ihooks module has been deprecated for removal in Python 3.walk. .The pure module has been deprecated for removal in Python 3.pdb gained the "until" command.The imageop module has been deprecated for removal in Python 3. ldexp(x.The bsddb185 module has been deprecated for removal in Python 3.The Bastion and rexec modules have been deprecated for removal in Python 3.The dl module has been deprecated for removal in Python .0. .The mutex module has been deprecated for removal in Python 3.0. .0. .The Canvas module has been deprecated for removal in Python 3.The linuxaudiodev module has been deprecated for removal in Python 3.The fpformat module has been deprecated for removal in Python 3.path.The imputil module has been deprecated for removal in Python 3. . . previously.0.test. . . . it raised OverflowError. . .catch_warning() gained a 'record' argument. . n) now returns a zero (with suitable sign) if n is large and negative.0.complete()`` method are now caught and ignored.Issue #2487: change the semantics of math.ldexp(x. .The Mac Modules (including Carbon) have been deprecated for removal in Python 3. . . .The mhlib module has been deprecated for removal in Python 3. . .os.0.0.test_support.The test.0. . .0.The new module has been deprecated for removal in Python 3.Issue #2250: Exceptions raised during evaluation of names in rlcompleter's ``Completer. n) when n is too large to fit in a C long.0.The toaiff module has been deprecated for removal in Python 3.The user module has been deprecated for removal in Python 3.walk is deprecated in favor of os. .The compiler package has been deprecated for removal in Python 3. .0.Issue #2659: Added ``break_on_hyphens`` option to textwrap TextWrapper class. . .0.0.testall module has been deprecated for removal in Python 3.0.0.

``--with-universal-archs=64-bit``: install 2-way universal. NOTE: 64-bit and 4-way builds are only suppported on Mac OS X 10. This was added for compatibility with Apple's build of Python. . .``--with-universal-archs=all``: install 4-way universal .0. What's New in Python 2. 64-bit This option should be used in combination with ``--enable-universalsdk=``.5.5.The PyString functions have been renamed to PyBytes. A batch of defines were added so that the linker still sees the original PyString names. .Library: on MacOS X you can now set ``ARCHFLAGS`` in the shell environment to control the '-arch' flags that are used to build an extension.5.9. PPC64 and x86_64 support in one binary). 32-bit (the defa ult) . . . .The bundled OSX-specific copy of libbffi is now in sync with the version shipped with PyObjC 2..Issue #2719: backported the ``next()`` builtin from Python 3. .The Windows installer now includes Tk 8. C API ----.path. Build ----.The PyBytes functions have been renamed to PyByteArray. . This is controlled by the configure argument ``--with-universal-archs``: .The threading module gained aliases for names that will be removed in the 3.6 alpha 3? ================================= *Release date: 08-May-2008* Core and builtins ----------------.``Lib/lib-old`` is now added to sys. i386. bzip2 1.0 and includes support for x86_64 and ppc64 platforms.5 (or later).Add ``PyType_Modified()`` as a public API to clear the type cache.``--with-universal-archs=32-bit``: install 2-way universal.On MacOS X it is now possible to install the framework in 64-bit mode or even as a 4-way universal binary (that is. and SQLite 3. PPC.Patch #1722225: Support QNX 6.x series.

- Issue #2681: The octal literal ``0o8`` was incorrecly acctepted. Now it properly raises a SyntaxError. - Issue #2617: Reserved -J and -X arguments for Jython, IronPython and other implementations of Python. - Implemented PEP 370: Per user site-packages directory. Extension Modules ----------------- Issue #2670: Fix a failure in urllib2.build_opener(), when passed two handlers that derive the same default base class. - Added kill, terminate and send_signal(sig) to subprocess.Popen. - Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to the cmath module. - Four new methods were added to the math and cmath modules: acosh, asinh, atanh and log1p. - zlib.decompressobj().flush(value) no longer crashes the interpreter when passed a value less than or equal to zero. - Issue #1631171: Re-implement the 'warnings' module in C (the original Python code has been kept as backup). This will allow for using the 'warning's machinery in such places as the parser where use of pure Python code is not possible. Both the ``showarning()`` and ``formatwarning()`` gain an optional 'line' argument which is not called by default for backwards-compatibility reasons. Setting ``warnings.showwarning()`` to an implementation that lacks support for the ``line`` argument will raise a DeprecationWarning. Library ------- The audiodev module has been deprecated for removal in Python 3.0. - Issue #2750: Add the 'json' package. Based on simplejson 1.9 and contributed by Bob Ippolito. - Issue #1734346: Support Unicode file names for zipfiles. - Issue #2581: distutils: Vista UAC/elevation support for bdist_wininst. - Issue #2635: Fix bug in 'fix_sentence_endings' textwrap.fill option, where an extra space was added after a word containing (but not ending in) '.', '!' or '?'. - Add from_buffer() and from_buffer_copy() class methods to ctypes data types. - Issue #2682: ctypes callback functions no longer contain a cyclic reference to themselves. - The getpass module has been improved on Unix. It now uses /dev/tty by default and uses stderr instead of stdout. A GetPassWarning is

issued when input echo cannot be controlled. - Issue #2014: Allow XML-RPC datetime objects to have dates before 1900-01-01. - Issue #2439: Added new function pkgutil.get_data(), which is a convenience wrapper for the PEP 302 get_data() API. - Issue #2616: The ctypes.pointer() and ctypes.POINTER() functions are now implemented in C for better performance. - Issue #2408: The ``_types`` module, which was used as in implementation detail of the public ``types`` module, has been removed and replaced by pure python code. - Issue #2513: distutils on Windows is now capable of cross-compiling extension modules between 32 and 64 bit platforms. See the distutls build documentation for more information. - Issue #815646: Individual file objects may now be used from multiple threads at once without fear of crashing the Python interpreter. If file.close() is called while an object is in use by another thread an IOError exception will be raised and the file will not be closed. - The bundled libffi copy is now in sync with the recently released libffi3.0.5 version, apart from some small changes to Modules/_ctypes/libffi/configure.ac. - Issue #2385: distutils.core.run_script() makes __file__ available, so the controlled environment will more closely mirror the typical script environment. This supports setup.py scripts that refer to data files. Tests ----- Issue #2550: The approach used by client/server code for obtaining ports to listen on in network-oriented tests has been refined in an effort to facilitate running multiple instances of the entire regression test suite in parallel without issue. test_support.bind_port() has been fixed such that it will always return a unique port -- which wasn't always the case with the previous implementation, especially if socket options had been set that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT). The new implementation of bind_port() will actually raise an exception if it is passed an AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or SO_REUSEPORT socket option set. Furthermore, if available, bind_port() will set the SO_EXCLUSIVEADDRUSE option on the socket it's been passed. This currently only applies to Windows. This option prevents any other sockets from binding to the host/port we've bound to, thus removing the possibility of the 'non-deterministic' behaviour, as Microsoft puts it, that occurs when a second SOCK_STREAM socket binds and accepts to a host/port that's already been bound by another socket. The optional preferred port parameter to bind_port() has been removed. Under no circumstances should tests be hard coding ports! test_support.find_unused_port() has also been introduced, which will pass a temporary socket object to bind_port() in order to obtain an unused port. The temporary socket object is then closed and

deleted, and the port is returned. This method should only be used for obtaining an unused port in order to pass to an external program (i.e. the -accept [port] argument to openssl's s_server mode) or as a parameter to a server-oriented class that doesn't give you direct access to the underlying socket used. Finally, test_support.HOST has been introduced, which should be used for the host argument of any relevant socket calls (i.e. bind and connect). The following tests were updated to following the new conventions: test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib, test_poplib, test_ftplib, test_telnetlib, test_socketserver, test_asynchat and test_socket_ssl. It is now possible for multiple instances of the regression test suite to run in parallel without issue. Build ----- Issue #1496032: On alpha, use -mieee when gcc is the compiler. - Issue #2544: On HP-UX systems, use 'gcc -shared' for linking when gcc is used as compiler. - Issue #2573: On MacOS X it is now possible to install the framework with a different name using --with-framework-name=NAME. C API ----- Added implementation of copysign, acosh, asinh, atanh and log1p to the new files Include/pymath.h and Python/pymath.h for platforms which provide the functions through their libm. The files also contains several helpers and constants for math. - Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings. What's New in Python 2.6 alpha 2? ================================= *Release date: 02-Apr-2008* Core and builtins ----------------- Issue #1733757: The interpreter would hang on shutdown if the tracing function set by sys.settrace is still active and happens to call threading.currentThread(). - Patch #1442: properly report exceptions when the PYTHONSTARTUP file cannot be executed. - The compilation of a class nested in another class used to leak one reference on the outer class name. - Patch #1810: compile() can now compile _ast trees as returned by ``compile(..., PyCF_ONLY_AST)``.

Issue #2321: use pymalloc for unicode object string data to reduce memory usage in some circumstances. -no-cpp-precomp.Patch #2477: Added from __future__ import unicode_literals. The two changes are: im_self -> __self__ and im_func -> __func__ .Issue #1477: With narrow Unicode builds. like normal unicode literals and the 'unicode-escape' codec.Added backport of bytearray type. .Connection.softspace.Issue #2346/#2347: add Py3k warnings for __methods__ and __members__. .Issue #2332: add new attribute names for instance method objects.Issue #2379: Raise a Py3K warning for __getitem__ or __getslice__ on exception instances.Issue #1745: Backport print function with ``from __future__ import print_function``. There are binary literals with a prefix of "0b". . 0).Issue #2371: Add a Py3k warning when catching an exception that doesn't derive from BaseException. the unicode escape sequence \Uxxxxxxxx did not accept values outside the Basic Multilingual Plane. .Issue #2358: Add a Py3k warning on sys. . .Add a warning when asserting a non-empty tuple which is always true. .Issue #2179: speed up with statement execution by storing the exit method on the stack instead of in a temporary variable (patch by Jeffrey Yaskin) .Issue #1779871: GNU gcc can now build Python on OS X because the flags -Wno-long-double.Issue #2355: add Py3k warning for buffer().Issue #2341: Add a Py3k warning when raising an exception that doesn't derive from BaseException.Issue #2348: add Py3k warning for file.Issue #2359: Adding deprecation warnings for array. . This also affects int(x. Contributed by Paul Kippes at PyCon 2008.write}.Patch #2426: Added sqlite3.Issue #2400: Allow relative imports to "import *".exc_clear() usage. . Now UTF-16 surrogates are generated in this case. . . . .{read. . . and -mno-fused-madd are no longer passed. Old-style octal literals are still valid.iterdump method to allow easy dumping of databases. . . . This affected raw unicode literals and the 'raw-unicode-escape' codec..PEP 3127: octal literals now start with "0o".

.win32_ver() to also work on Python installation which do not have the win32all package installed. . .Issue #2432: give DictReader the dialect and line_num attributes advertised in the docs.Backport of Python 3.setitimer and signal. . Extension Modules ----------------.Issue #1681432: Add triangular distribution to the random module .Added support to platform.Issue #2238: Some syntax errors in *args and **kwargs expressions could give bogus error messages. .Issue #1747858: Fix chown to work with large uid's and gid's on . . ["" ""] was rendered as [""""]. .untokenize now inserts a space between two consecutive string literals. was added to the standard distribution.Issue #2316: logging.Patch #2240: Implement signal. from SMTP. . .uname() to also report the machine and processor information on Windows XP and later. previously.Issue #2434: Enhanced platform. platform. .Issue #2317: logging.Issue #2136: urllib2's auth handler now allows single-quoted realms in the WWW-Authenticate header.quit().machine() and platform.handlers: TimedRotatingFileHandler now accounts for daylight savings time in calculating the next rollover.0's io module.Issue #2460: Make Ellipsis object copyable.Issue #2315: logging. Library ------. .Issue #2143: Fix embedded readline() hang on SSL socket EOF.Issue #2248: return the result of the QUIT command.Decimal(0). As a result.Issue #2482: Make sure that the coefficient of a Decimal is always stored as a str instance.handlers: TimedRotatingFileHandler now uses improved logic for removing old files.. This ensures that str(Decimal) is always an instance of str. .Issue #2495: tokenize. lib2to3. .getitimer.processor() will report this information as well.handlers: TimedRotatingFileHandler now calculates rollovers correctly even when nothing is logged for a while. not as a unicode instance.sqrt() . .The library implementing the 2to3 conversion.Issue #2478: fix failure of decimal. which is incorrect python code.

serve_forever() loop.Issue #1158: add %f format (fractions of a second represented as microseconds) to datetime objects. .4 version.Issue #1577: shutil.pack(">f". apart from some small changes to Modules/_ctypes/libffi/configure. "traceback". .bzr.The bundled libffi copy is now in sync with the recently released libffi3. .test_support. 64-bit python interpreters.Patch #1858: distutils: added multiple server support in . when executed as a script.ac. and _darcs.Issue #705836: struct. Both were correct.git. preconfigured libffi files are used. and also exclude .post_mortem()'s parameter.rename() if the destination is a directory instead of copying-then-remove-source. CVS etc. . . .shutdown() method has been added to SocketServers which terminates the . .verbose is true and NIS is not set up on the testing machine. .Rewrite test_errno to use unittest and no longer be a no-op.Issue #1106316: pdb. On OS X. .hg. . On all linux systems the --with-system-ffi configure option defaults to "yes". exclude RCS.adler32 no longer return different values on 32-bit vs. is now optional: it defaults to the traceback of the exception that is currently being handled (is mandatory to be in the middle of an exception. x) now raises OverflowError on all platforms when x is too large to fit into an IEEE 754 float.Bug #1725737: In distutils' sdist. . . otherwise it raises ValueError). .Issue #2220: handle rlcompleter attribute match failure more gracefully. . . Tests ----. also in the root directory.Issue #2225: py_compile.pypirc .0.move() now calls os.crc32 and zlib.test_nis no longer fails when test. #1741 and #1531505: now distutils deals with HOME correctly under win32 . previously it only raised OverflowError on non IEEE 754 platforms. Understood by both strptime and strftime.Issue #1202: zlib.Issues #2166.Issue #1872: The struct module typecode for _Bool has been changed from 't' to '?'.zero status code if not all files could be compiled successfully.Issue #1193577: A . now returns a non.GHOP 234: Convert test_extcall to doctest.64-bit platforms.Output comparison tests are no longer supported. . . but they now both return a signed integer object for consistency.

C API ----. The mode is now inherited from the py file.6 builtins.Patch #2477: Added PyParser_ParseFileFlagsEx() and PyParser_ParseStringFlagsFilenameEx(). unchanged Python 2.GHOP 294: Convert test_contains. and test_select to unittest. .Issue #1960: Convert test_gdbm to unittest.Patch #2284: Add -x64 option to rt.GHOP 237: Rewrite test_thread using unittest. .c have been removed.Issue #2067: file.Issue #2055: Convert test_fcntl to unittest. .Issue #2051: pyc and pyo files are no longer created with permission 644. both functions are in the C89 standard library.tmpfile might fail on Windows if the user has no permission to create files in the root directory.GHOP 293: Convert test_strftime. .0. . . test_getargs.A new script 2to3 is now installed.. . to run the 2. which contains hex() and oct().x converter. .x to 3.Added the future_builtins module.Issue #1881: An internal parser limit has been increased.bat. designed to be compatible with the hex() and oct() builtins from Python 3. and test_pep247 to unittest.Patch #2232: os. What's New in Python 2. Also see issue #215555 for a discussion. .6 alpha 1? ================================= *Release date: 29-Feb-2008* Core and builtins ----------------. The expected usage of the future_builtins . These are the PEP 3127 version of these functions. . .GHOP 290: Convert test_dbm and test_dummy_threading to unittest.Patch #1759: Backport of PEP 3129 class decorators. They differ slightly in their output formats from the existing.__exit__() now calls subclasses' close() method. . test_crypt.Python/memmove.GHOP 238: Convert test_tokenize to use doctest. .c and Python/strerror. Build ----.

_compact_freelists()`` and the C API functions ``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList`` to compact the internal free lists of pre-allocted ints and floats.Issue #2045: Fix an infinite recursion triggered when printing a subclass of collections.Sequence API.Formatter. .c.Limit free list of method and built-in function objects to 256 entries each. This is a change on Windows. This adds a new builtin format().index() methods to comply with the collections.Implemented PEP 3101. .Clear all free lists during a gc.Issue #2025: Add tuple. unicode.count() and tuple.collect() of the highest generation in order to allow pymalloc to free more arenas. Python may give back memory to the OS earlier. oct .Issue #1678380: Fix a bug that identifies 0j and -0j when they appear in the same code unit.Added ``PyType_ClearCache()`` and ``sys.Patch #1970 by Antoine Pitrou: Speedup unicode whitespace and linebreak detection . Python expected the return type int but the fork familie returns pi_t. . and the C API PyObject_Format().Issue #1983: Fixed return type of fork(). The content of the free list was not freed on interpreter shutdown. . if its default_factory is set to a bound method.Fixed a minor memory leak in dictobject. . . a __format__() method to object. and datetime.Issue #2115: Important speedup in setting __slot__ attributes. added 'n' to the formats that PyOS_ascii_formatd understands. the class string. .Issue #1600: Modifed PyOS_ascii_formatd to use at most 2 digit exponents for exponents with absolute value < 100. .defaultdict.Fixed repr() and str() of complex numbers with infinity or nan as real or imaginary part._clear_type_cache`` to clear the internal lookup cache for ref leak tests. Follows C99 standard. so that any alterations it does to the resulting string will be available in stringlib/formatter. str. a format() method for str and unicode. which would use 3 digits. long. fork1() and forkpty() calls.module is: from future_builtins import hex. int.__format__). . . . . all caused by specially crafted __del__ methods exploiting objects in temporarily inconsistent state.Patch #1953: Added ``sys. . . float. Also prevent a possible crash: an Abstract Base Class would try to access a slot on a registered virtual subclass.Fixed several potential crashes. Advanced String Formatting. Also.h (for float.

math.py (not in tracker).py (issue #1303614.c. the return value of os. However several extension methods and modules do not work without unicode support. . The patch makes structseqs (e. . test67. .Bug #1481296: Fixed long(float('nan')) != 0L.py (issue #1377858).A few crashers fixed: weakref_in_del.Issue #1640: Added math. . .Improve some exception messages when Windows fails to load an extension module. The first parameter to __import__() must be a valid module name. . Now we get for example '%1 is not a valid Win32 application' instead of 'error code 193'. Now the compiler correctly emits bytecode for the "else" suite.. .flags structseq. .Issue #1920: "while 0" statements were completely removed by the compiler. loosing_dict_ref.Issue #1915: Python compiles with --enable-unicode=no again. encoding cookies in the second line of code were not always recognized correctly. y) functions.c: Implemented new structseq representation.stat) more readable.Issue #1882: when compiling code from a string. It exposes the status of most command line arguments and PYTHON* environment variables. . .sys. PYTHONDONTWRITEBYTECODE envvar and sys.Patch #1473257: generator objects gain a gi_code attribute. borrowed_ref_[34]. .Issue #1679: "0x" was taken as a valid integer literal. . resulting in speedups in heavily object-oriented code. This is the same object as the func_code attribute of the function that produced the generator. which is supposed to be run when the condition is false.py). . .Patch #1816: Added sys. .isnan(x) and math.copysign(x.Bug #1776: __import__() no longer accepts filenames on any platform.Patch #1700288: added a type attribute cache that caches method accesses.Patch #1668: renamed THREADDEBUG envvar to PYTHONTHREADDEBUG. . . All these can be set to forbid Python to attempt to write compiled bytecode files.dont_write_bytecode attribute. .Issue #1865: ``bytes`` as an alias for ``str`` and b"" as an alias "" were added.Patch #602345: Add -B command line option. even in the presence of an "else" clause.float_info / PyFloat_GetInfo: The floating point information object was converted from a dict to a specialized structseq object. The error is still reported properly.Issue #1069410: The "can't load dll" message box on Windows is suppressed while an extension is loaded by calling SetErrorMode in dynload_win.g.Objects/structseq.isinf(x).

PEP 366: Allow explicit relative imports when executing modules inside packages with the -m switch via a new module level __package__ attribute. it raised an OverflowError.Fix warnings found by the new version of the Coverity checker.Issue #1445: Fix a SystemError when accessing the ``cell_contents`` attribute of an empty cell object.The enumerate() built-in function is no longer bounded to sequences smaller than LONG_MAX. which is possible from C code.settrace. .. and if the deallocation of its frames somehow calls the PyGILState_Ensure() / PyGILState_Release() functions. . for adding entries to the dictionary.sum(). . The oparg for BUILD_MAP now indicates an estimated dictionary size.Issue #1553: An erroneous __length_hint__ can make list() raise a SystemError. The directory/zipfile is automatically inserted as the first entry in sys. It now correctly saves its state between chunks of data.Issue #1265: Fix a problem with sys.Issue #1620: New property decorator syntax was modifying the decorator in place instead of creating a new decorator object.Issue #1635: Platform independent creation and representation of NaN and INF.Expose the Py_Py3kWarningFlag as sys. .sets and frozensets now have an isdisjoint() method. . Nor did object's tp_str consider that a type's tp_str could do something that could lead to an inifinite recursion. when another thread is still running.path. . .py3kwarning.Issue #1686386: Tuple's tp_repr did not take into account the possibility of having a self-referential tuple. float("inf") and float("-inf") now work on every platform with IEEE 754 semantics. .py file can now be directly executed by passing their name to the interpreter. STORE_MAP. float("nan"). . . Formerly.Issue #1460: The utf-7 incremental decoder did not accept truncated input.optimize the performance of builtin. . .Patch #1739468: Directories and zipfiles containing a __main__. Now.Compiler now generates simpler and faster code for dictionary literals.Issue #1538: Avoid copying string in split/rsplit if the split char is not found.Issue #1638: %zd configure test fails on Linux. . . There is a new opcode. . automatically shifts from ints to longs. . if the tracing function uses a generator expression when at the same time the executed code is closing a paused generator. . .Issue #1402: Fix a crash on exit.

.Deprecate BaseException. . . __doc__ and __name__. target:" or "except E as target:". All the func_* become __*__ attributes.0. respectively. .0.except clauses may now be spelled either "except E.Issue #1164: It was possible to trigger deadlock when using the 'print' statement to write to a file since the GIL was not released as needed.Patch #1031213: Decode source line in SyntaxErrors back to its original source encoding.Issue #1303614: don't expose object's __dict__ when the dict is inherited from a built-in base. .Issue #1733488: Fix compilation of bufferobject.py.) . . . fixed the issues.Patch #1686487: you can now pass any mapping after '**' in function calls..Patch #1673759: add a missing overflow check when formatting floats with %G.Add -3 option to the interpreter to warn about features that are deprecated and will be changed/removed in Python 3.Add new attribute names for function objects.c on AIX.Request #1191699: Slices can now be pickled. e.Py_ReprEnter() and Py_EnterRecursiveCall().Issue #1096: Prevent a segfault from getting the repr of a very deeply nested list by using the recursion counter.Prevent expandtabs() on string and unicode objects from causing a segfault when a large width is passed on 32-bit platforms. Now PyObject_Print() does the right thing along with various tp_print implementations of the built-in types and those in the collections module.Issue #1147: Exceptions were directly allowing string exceptions in their throw() method even though string exceptions no longer allowed. . ie don't expand to single letter identifiers. . make it work the same as setting a plain string. This is to provide forwards compatibility with Python 3. . Required the creation of a static RuntimeError instance in case normalizing an exception put the recursion check value past its limit.g. . (Some already existed. .Issue #1202533: Fix infinite recursion calls triggered by calls to PyObject_Call() never calling back out to Python code to trigger recursion depth updates/checks. . .When __slots__ are set to a unicode string.Issue #1722485: remove docstrings again when running with -OO. . .message as per PEP 352. Fixes crashers infinite_rec_(1 2 4 5). .

. The old and the new class are still required to have the same slot names. Therefore.Patch #703779: unset __file__ in __main__ after running a file. . . .Bug #1678647: write a newline after printing an exception in any case. .Patch #1491866: change the complex() constructor to allow parthensized forms.__new__() methods are now stricter in rejecting excess arguments.Patch #1462488: Python no longer segfaults when ``object.Request #1193128: str. For backwards compatibility. This allows customizing the output of dir() in the presence of a __getattr__(). . it will work like before. . maybe a Py3k warning later). even when converting the value to a string failed.Bug #1683368: The object. when both are overridden. Also.Patch #1444529: the builtin compile() now accepts keyword arguments. . .Remove unused file Python/fmod. it is a deprecation warning (for now.__init__() insists on the same signature as supported by type.translate() now allows a None argument for translations that only remove characters without re-mapping the remaining characters..Patch #1682205: a TypeError while unpacking an iterable is no longer masked by a generic one with the message "unpack non-sequence". . type.Patch #1642547: Fix an error/crash when encountering syntax errors in complex if statements. the functions in the cmath module now can operate on objects that define a __complex__() method. This makes the filenames the warning module prints much more sensible when a PYTHONSTARTUP file is used.__reduce_ex__()`` is called with an object that is faking its type.c.Patch #1675423: PyComplex_AsCComplex() now tries to convert an object to complex using its __complex__() method before falling back to the __float__() method.Patch #1680015: Don't modify __slots__ tuple if it contains an unicode name. .Patch #1675981: remove unreachable code from ``type.Patch #922167: Python no longer segfaults when faced with infinitely self-recursive reload() calls (as reported by bug #742342).__init__() and object. This means complex(repr(x)) now works instead of raising a ValueError. . The only time when either allows excess arguments is when it is not overridden and the other one is.Patch #1623563: allow __class__ assignment for classes with __slots__. . . . If not.__new__().The dir() function has been extended to call the __dir__() method on its argument. . if it exists.__new__()`` method.

Bug #1591996: Correctly forward exception in instance_contains().py. .Bug #1566280: Explicitly invoke threading. no longer the posix error code.. but break into the interactive interpreter just like on other exceptions or normal program exit.When printing an unraisable error.seek. before the name. .Bug #1653736: Properly discard third argument to slot_nb_inplace_power. don't print exceptions.Bug #1576174: WindowsError now displays the windows error code again. not the frame's thread state.Patch #1586791: Better exception messages for some operations on strings. tuples and lists.patch #1630975: Fix crash when replacing sys.Bug #1579370: Make PyTraceBack_Here use the current thread. . make sure that the tuple isn't used as the "exception arguments tuple". .Patch #1638879: don't accept strings with embedded NUL bytes in long().Bug #1576657: when setting a KeyError for a tuple key.randrange don't return correct value for big number.2` in debug builds.Bug #1590891: random.Bug #1588287: fix invalid assertion for `1.Bug #1674503: close the file opened by execfile() in an error condition.Bug #1067760: Deprecate passing floats to file.Bug #1565514: SystemError not raised on too many nested blocks. .Patch #1674228: when assigning a slice (old-style). to avoid relying on atexit. . Attempting to catch a string exception raises DeprecationWarning. . . . . . .stdout in sitecustomize.Prevent seg fault on shutdown which could occur if an object raised a warning. . . . . .Variant of patch #697613: don't exit the interpreter on a SystemExit exception if the -i command line option or PYTHONINSPECT environment variable is given.PEP 352: Raising a string exception now triggers a TypeError._shutdown from Py_Main. This duplicates the behavior whening normally printing exceptions.Bug #1377858: Fix the segfaulting of the interpreter when an object created a weakref on itself during a __del__ call for new-style classes (classic classes still have the bug). . . check for the sq_ass_slice instead of the sq_slice slot. .

Patch #1546288: fix seg fault in dict_equal due to ref counting bug. . . .Bug #1566800: make sure that EnvironmentError can be called with any number of arguments.Overflow checking code in integer division ran afoul of new gcc optimizations.Update the peephole optimizer to remove more dead code (jumps after returns) and inline unconditional jumps to returns. . .pyc magic number. .instancemethod() now don't accept keyword arguments any more (previously they accepted them.. were fixed to not rely on undefined behaviour of the C compiler anymore.Fix %zd string formatting on Mac OS X so it prints negative numbers. head) where head is the original string if sep was not found. in .pop(x) accepts any object x following the __index__ protocol. This allows calling unicode() on exceptions classes directly to succeed. . sep.Patch #1567691: super() and new. . int() did ignore NULs embedded in the string to convert.)).Patch #1549049: Support long values in structmember. but didn't use them). . including integer negation and absolute value.Allow exception instances to be directly sliced again. . ) works again. issue warnings if the assigned value for structmember fields gets truncated. .Fix a bug in the parser's future statement handling that led to "with" not being recognized as a keyword after.Bug #1520864: unpacking singleton tuples in list comprehensions and generator expressions (x for x.The return tuple from str.list. e..Bug #1557232: fix seg fault with def f((((x)))) and def f(((x). with_statement . Fixing this problem required changing the ..A number of places. This means that .Bug #1569998: break inside a try statement (outside a loop) is now recognized and rejected.rpartition(sep) is (tail. Also make sure that every exception class has __module__ set to 'exceptions'. . . as was the case in Python 2. Changed to be more standard-conforming.Bug #1551432: Exceptions do not define an explicit __unicode__ method.Bug #1545497: when given an explicit base.Bug #1550983: emit better error messages for erroneous relative imports (if not in package and if beyond toplevel package).4..g. . . .Patch #1542451: disallow continue anywhere under a finally.Bug #1542051: Exceptions now correctly call PyObject_GC_UnTrack. this statement: from __future__ import division. . .

. ..Patch #1966: Break infinite loop in httplib when the servers implements the chunked encoding incorrectly. so the interpreter now starts up without warnings when '-3' is given. . . .Issue #1492: The content type of BaseHTTPServer error messages can now be overridden. .has_key() from distutils. . to avoid the name clash with the abstract base class numbers.Rational class to fractions.Add a __format__ method to Decimal.``with`` and ``as`` are now keywords.py and the rational. .Issue #1781: ConfigParser now does not let you add the "default" section (ignore-case) .py.isabstract(object) to fix bug #2223 .5c2 will be regenerated.heappushpop().Issue #1537: Changed GeneratorExit's base class from Exception to BaseException.py.Issue #1627: httplib now ignores negative Content-Length headers.ctypes instances that are not or do not contain pointers can now be pickled.Rename rational. .Fraction. .py to fractions. . .Removed uses of dict.Issue #1224: Fixed bad url parsing when path begins with double slash.Add a timing parameter when using trace.Issue #1703448: A joined thread could show up in the threading. .Bug #1664966: Fix crash in exec if Unicode filename can't be decoded. to support PEP 3101. See discussion in issue #1682.Issue #900744: If an invalid chunked-encoding header is sent by a server. . and uses of callable() from copy_reg. . httplib will now raise IncompleteRead and close the connection instead of raising ValueError.pyc files generated before 2.Rational.Add inspect.Patch #2274: Add heapq. More work like this needs to be done in the rest of the stdlib. .enumerate() list after the join() for a brief period until it actually exited. Library ------.Issue #1916: added isgenerator() and isgeneratorfunction() to inspect.Trace to print out timestamps.

.Issue #1765140: add an optional delay argument to FileHandler and its subclasses. and make Decimal comparisons involving a NaN follow the IEEE 754 standard. . .py: Use mode 0700 for temporary directories and default permissions for missing directories.Issue #1021: fix a bug to allow basicConfig to accept NOTSET as a level. (Contributed by Phil Schwartz) . . .rmtree() to be called on a symlink to a directory. returning a 0-byte file -.FTP's storbinary() and storlines() methods. . and breakpoints on the "while" statement are honored on each loop. . but if true.Issue #1269: fix a bug in pstats.Issue #2004: tarfile. Defaults to false (existing behaviour). .The pickletools module now provides an optimize() function that eliminates unused PUT opcodes from a pickle string.Issue #1555501: move plistlib from plat-mac directory to general library. defers opening the file until the first call to emit().Issue #1715: include sub-extension modules in pydoc's text output.The pprint module now supports sets and frozensets. .Issue #1664522: in urllib.Issue #1669: don't allow shutil. .Patch #1979: Add rich comparisons to Decimal.Issue #932563: add LoggerAdapter convenience class to make it easier to add contextual information in logging output.add_callers() and add a unit test file for pstats. environment variables in urllib.. . .Issue #1760556: fix a bug to avoid FileHandler throwing an exception in flush(). .NamedTemporaryFile and SpooledTemporaryFile to be used in with statements by correctly supporting the context management protocol. don't read non-existing directories in ftp mode.Issue #1221598: add optional callbacks to ftplib.Issue #1836: fix an off-by-one bug in TimedRotatingHandler's rollover time calculation.Issue #175006: The debugger used to skip the condition of a "while" statement after the first iteration. . .raise an IOError instead. . . Now it correctly steps on the expression.Issue #856047: respect the ``no_proxy`` environment variable when using the ``http_proxy`` etc.Patch #2021: Allow tempfile.Bug #1530959: distutils' build command now uses different build directory when building extension modules against versions of Python compiled with ``--with-pydebug``. .

gather().Doctest now returns results as a named tuple for readability: (0. . attempted=7) .Issue #1831: ctypes now raises a TypeError if conflicting positional and named arguments are passed to a Structure or Union initializer. . .Issue #1178141: add a getcode() method to the addinfourls that urllib. .py --ignore-module . .Issue #1189216: Fix the zipfile module to work on archives with headers past the 2**31 byte boundary. . .is_multipart() behaves correctly for a just-created (and empty) instance. .Issue #1693149: trace.Issue #1698398: ZipFile. .Issue #1837: The queue module now also supports a LIFO queue and a priority queue. .Issue #1780: The Decimal constructor now accepts arbitrary leading and trailing whitespace when constructing from a string.Issue #1336: fix a race condition in subprocess.Decimal. it would fail zip files with extended local headers. .Issue #1822: MIMEMultipart.create_decimal no longer accepts trailing newlines. . also a TypeError is raised instead of a ValueError.match is interruptible now.struct_time object. . .as_tuple(). which is particularly good for long regular expression matches.Popen if the garbage collector kicked in at the wrong time that would cause the process to hang when the child wrote to stderr.printdir() crashed because the format string expected a tuple type of length six instead of time.Issue #846388:q re. Context.accept multiple comma-separated modules to be given. .find_longest_match() and inspect functions that returned a tuple now return a named tuple.Issue #1146: fix how textwrap breaks a long word that would start in the last column of a line.open() returns so that you can retrieve the HTTP status code. difflib. .Issue #1003: Fix zipfile decryption check.Textbox (patch by Stefan Wehr).Issue #1861: Added an attribute to the sched module which returns an ordered list of upcoming events (displayed as named tuples). Thanks Jonathan Share..textpad. fix an off-by-one bug in Textbox. When too many positional arguments are passed. Also.Issue #1786: pdb should use its own stdin/stdout around an exec call and when creating a recursive instance. . 7) --> TestResults(failed=0.Convert the internal ctypes array type cache to a WeakValueDict so that array types do not live longer than needed.Patch #1048820: Add insert-mode editing to curses.

.Issue #1689: PEP 3141.path.Bug #1687: Fxed plistlib. do not seek to the start.Tk issue #1851526: Return results from Python callbacks to Tcl as Tcl objects..Issue #1429818: patch for trace and doctest modules so they play nicely together.Issue #1531: tarfile.relpath() if both arguments are equal instead of raising an exception.ismount() claims symlink to a mountpoint is a mountpoint. .Random objects created on 32-bit systems on 64-bit systems.Issue #1646: Make socket support the TIPC protocol.6 cannot be loaded in Python 2.Issue #1727780: Support loading pickles of random.get_data() method used universal newlines.com?arg=/foo'. This should no longer happen.Issue #1642: Fix segfault in ctypes when trying to delete attributes. ppc.Issue #1757: The hash of a Decimal instance is no longer affected by the current context.float_info with information about the internal floating point type to the sys module. .curdir from os.Bug #1742: return os.Issue #1534: Added a dictionary sys. . and vice versa.contextmanager was still swallowing StopIteration in some cases.Issue #1292: On alpha.py restricts <integer> to Python int when writing . . .Issue #1700: Regular expression inline flags incorrectly handle certain unicode characters. .extract() and ZipFile.Patch #1137: allow setting buffer_size attribute on pyexpat Parser objects to set the character data buffer size. . arm. .py: Read fileobj from the current offset. . . .Issue #1705170: contextlib. Random pickles created by Python 2. numeric abstract base classes. .Issue #1455: The distutils package now supports VS 2005 and VS 2008 for both the msvccompiler and cygwincompiler.extractall() now correctly sets directory permissions and times.Patch #1698: allow '@' in username parsed by urlparse. . . .Patch #467924: add ZipFile.Bug #1713: posixpath.Patch #1637: fix urlparse for URLs like 'http://x.doctest made a bad assumption that a package's __loader__. . . .5.Issue #1735: TarFile. . and s390 linux systems the .extractall() in the zipfile module. As a consequence of the change.py.

product() which forms the Cartesian product of the input iterables.combinations() and itertools.--with-system-ffi configure option defaults to "yes". .txt file the RobotFileParser no longer prompts interactively for a username and password (bug 813986). Formerly. .environ. .count() is no longer bounded to LONG_MAX. .Added itertools.g.A 'c_longdouble' type was added to the ctypes module. .clear() methods are used. .Added itertools. for forward compatibility with Python 3000.When encountering a password-protected robots.__init__() no longer fails if no name argument is passed and the fileobj argument has no usable name attribute (e. by Bill Janssen.Bug #1153: repr. .collections.pop() and os. use new ssl module instead.repr() now doesn't require set and dictionary items to be orderable to properly represent them. .ctypes will now work correctly on 32-bit systems when Python is configured with --with-system-ffi.IN module for FreeBSD 8 is added and preexisting FreeBSD 6 and 7 files are updated.Server-side SSL support and cert verification added.Patch #1203: ctypes now does work on OS X when Python is built with --disable-toolbox-glue. .EUC-KR codec now handles the cheot-ga-keut composed make-up hangul syllables. .Decimal is fully updated to the latest Decimal Specification (v1. StringIO).GB18030 codec now can encode additional two-byte characters that are missing in GBK.Issues #1181. automatically shifts from ints to longs.uuid creation is now threadsafe. . .Bug #1709599: Run test_1565150 only if the file system is NTFS.itertools. #1287: unsetenv() is now called when the os.The functools module now provides 'reduce'. . . . . . it raised an OverflowError. .permutations(). . .Patch #1541463: optimize performance of cgi. .ssl deprecated.TarFile. .socket.environ.FieldStorage operations.66). Now.deque() now supports a "maxlen" argument.

lookup cannot represent the result in a single character.urllib. now uses the socket. . . when in passive mode.Bug #1734723: Fix repr.mimify now raises a DeprecationWarning upon import.The urlopen function of urllib2 now has an optional timeout parameter (note that it actually works with HTTP. .Bug #1728403: Fix a bug that CJKCodecs StreamReader hangs when it reads a file that ends with incomplete sequence and sizehint argument for .Change location of the package index to pypi.shlex.Bug #1701409: Fix a segfault in printing ctypes.org/pypi .py: Improved unicode support. As a sideeffect the representation of these instances has changed.In ftplib. using the timeout specified at connection time.c_char_p and ctypes.Bug #1704793: Return UTF-16 pair if unicodedata.py: Added "exclude" keyword argument to TarFile. . .Add new codecs for UTF-32. .ntransfercmd method. . UTF-32-LE and UTF-32-BE.python. . . Unicode input names are now officially supported.md5 now raises a DeprecationWarning upon import.ftpwrapper class now accepts an optional timeout. .MimeWriter now raises a DeprecationWarning upon import.Issue #1385: The hmac module now computes the correct hmac when using hashes with a block size other than 64 bytes (such as sha384 and sha512). .create_connection function.Bugs #1668596/#1720897: distutils now copies data files even if package_dir is empty. . .split() now has an optional "posix" parameter. .sha now raises a DeprecationWarning upon import. .Repr() so it doesn't ignore the maxtuple attribute.Bug #1730389: Change time.c_wchar_p when they point to an invalid location. .read() is specified. . the FTP. . HTTPS. Added "errors" argument to the TarFile class. .Bug #978833: Close https sockets by releasing the _ssl object. FTP and FTPS connections).The posixfile module now raises a DeprecationWarning. .tarfile.tarfile.add(). This also leads to the removal of gopher support in urllib/urllib2.Remove the gopherlib module.strptime() to use ``\s+`` instead of ``\s*`` when matching spaces in the specified format argument.. .

Bug #978833: Revert r50844. . and closes patch #723312.py.py file (as opposed to the command line) will now write file names ending in ".Added a timeout parameter to the constructor of other protocols (telnetlib.py. . it visits symlinks pointing to directories. as it broke _socketobject. . .py in the directories). .. This is second part of the work started with create_connection() and timeout in httplib. .Added an optional credentials argument to SMTPHandler.Patch #1598415: Added WatchedFileHandler to better support external log file rotation using e. This handler is only useful in Unix/Linux environments. . . smtplib and poplib). .strptime's internal cache of locale information is now properly recreated when the locale is changed.dup.cpp" too. which may be called with a timeout.Patch #1676823: Added create_connection() to socket.Patch #1685563: remove (don't add) duplicate paths in distutils.g. .Bug #1675967: re patterns pickled with Python 2. and use it from httplib (whose HTTPConnection and HTTPSConnection now accept an optional timeout). understood.Patch #1695948: Added optional timeout parameter to SocketHandler.Fix bug in marshal where bad data would cause a segfault due to lack of an infinite recursion check. .Bug #1706381: Specifying the SWIG option "-c++" in the setup. . and accepted. . to prevent the traceback inadvertently or maliciously closing the comment and injecting HTML into the error page. Use the subprocess module. an HTTP response like 2xx indicates that the client's request was successfully received.Bug #1681228: the webbrowser module now correctly uses the default .Removed plat-freebsd2 and plat-freebsd3 directories (and IN.Patch #1273829: os.5 and newer. . If set to True (which is not the default). ftplib. . for use with SMTP servers which require authentication. . .Bug #1652788: Minor fix for currentframe. newsyslog or logrotate.popen* are deprecated.walk() now has a "followlinks" parameter. .Patch #1630118: add a SpooledTemporaryFile class to tempfile.HTML-escape the plain traceback in cgitb's HTML output.The popen2 module and os.4 and earlier can now be unpickled with Python 2.MSVCCompiler. Now in these cases no error is raised in urllib (issue #1177) and urllib2.Bug #1290505: time.As specified in RFC 2616.

Patch #1339796: add a relpath() function to os.The nonobvious commands. .GNOME or KDE browser.Added support for the POSIX.Patch #1537850: tempfile. . . .Patch #1542681: add entries for "with".{set_charset.Patch #1429539: pdb now correctly initializes the __main__ module for the debugged script. Extended and cleaned up the test suite.SafeConfigParser now checks values that are set for invalid interpolation sequences that would lead to errors on reading back those values.Patch #1555098: use str.Patch #1393667: pdb now has a "run" command which restarts the debugged Python program. . .Patch #1581073: add a flag to textwrap that prevents the dropping of whitespace while wrapping. also "~user" home directory references are recognized and handled on Windows. .Patch #957650: "%var%" environment variable references are now properly expanded in ntpath. optionally with different arguments. . .message.NamedTemporaryFile now has a "delete" parameter which can be set to False to prevent the default delete-on-close behavior. it tries the Windows default browser before trying Mozilla variants. "as" and "CONTEXTMANAGERS" to pydoc's help keywords. . Added a new testtar.render_doc() which returns the documentation for a thing instead of paging it to stdout. depending on whether there is a session of one of those present.Patch #1603688: ConfigParser.path.py. which means that imports from __main__ work correctly now.Bug #767111: fix long-standing bug in urllib which caused an AttributeError instead of an IOError when the server's response didn't contain a valid HTTP status line. . . .Patch #1449244: Support Unicode strings in email.1-2001 (pax) format to tarfile.Patch #1530482: add pydoc.Patch #1681153: the wave module now closes a file object it opened if initialization failed.expandvars().Patch #1533909: the timeit module now accepts callables in addition to strings for the code to time and the setup code. . .getstatus() function is now deprecated.doc() does.get_content_charset}.Patch #1649190: Adding support for _Bool to ctypes as c_bool. which pydoc. Also added two convenience functions for instantiating a Timer and calling its methods.Message. . .tar. .join() instead of repeated string concatenation in robotparser. Also.

.Patch #1481079: add support for HTTP_REFERER to CGIHTTPServer. . .Patch #1001604: glob. .Patch #1668100: urllib2 now correctly raises URLError instead of OSError if accessing a local file via the file:// protocol fails. 0) and ctypes.cshrc') gives now ('.LMTP.getinfo for nonexistent names now has a descriptive message. TestCase and TestSuite subclasses (not instances) are no longer accepted in TestSuite. This should cause no incompatibility since it never made sense with ordinary subclasses -.addTest(). .Patch #1599845: Add an option to disable the implicit calls to server_bind() and server_activate() in the constructors for TCPServer.TCPServer's server_address always be equal to calling getsockname() on the server's socket. Fixed by patch #1545011. with a more cumbersome exception. . . .DictWriter class now includes the offending field names in its exception message if you try to write a record with a dictionary containing fields not in the CSV field names list.the failure just occurred later.wstring_at(buf.glob() now returns unicode filenames if it was given a unicode argument and os.Patch #787789: allow to pass custom TestRunner instances to unittest's main() function.string_at(buf.Patch #1675424: Added tests for uncovered code in the zipfile module. 0) returned string up to the first NUL character.Bug #1651235: When a tuple was passed to a ctypes function call. #1550272: fix a few bugs in unittest and add a comprehensive test suite for the module.cshrc'. . The KeyError raised by Zipfile.Patch #957003: Implement smtplib.Bug #1115886: os.handle_timeout() when no requests are received. .Patch #1192590: Fix pdb's "ignore" and "condition" commands so they trap the IndexError caused by passing in an invalid breakpoint number. Python would crash instead of raising an error. ''). . .Patch #1673619: setup.splitext('. .. .listdir() returns unicode filenames.Bug #1531963: Make SocketServer.Patch #1635454: the csv. . SimpleXMLRPCServer and DocXMLRPCServer. In particular.Patch #742598: Add .timeout attribute to SocketServer that calls .path.py identifies extension modules it doesn't know how to build and those it knows how to build but that fail to build.Patch #1677862: Require a space or tab after import in .unittest now verifies more of its assumptions. .Bug #1646630: ctypes.Patches #1550273. . .pth files.

.Bug #494589: make ntpath.izip_longest(). ..Bug #1124861: Automatically create pipes if GetStdHandle fails in subprocess. ..py: create nonexistent files in append mode and allow appending to empty files.. . . .Patch #912410: Replace HTML entity references for attribute values in HTMLParser.Taught setup. .Bug #1643943: Fix time.Patch #1634778: add missing encoding aliases for iso8859_15 and iso8859_16. executing code containing a with statement compiled by the compiler package crashed the interpreter.Have the encoding package's search function dynamically import using absolute import semantics.Patch #1638243: the compiler package is now able to correctly compile a with statement.". .Patch #1647484: Renamed GzipFile's filename attribute to name.Patch #1507247: tarfile.namedtuple() for assigning field names to tuples. .Patch #1463026: Support default namespace in XMLGenerator. . . not lib/python/config.Added heapq.Patch #1571379: Make trace's --ignore-dir facility work in the face of relative directory names. .Patch #1627441: close sockets properly in urllib2.Patch #1517891: Mode 'a' for ZipFile now creates the file if it doesn't exist. .py how to locate Berkeley DB on Macs using MacPorts.Added itertools.strptime's support for the %U directive.py: use current umask for intermediate directories. .Patch #1663234: you can now run doctest on test files and modules using "python -m doctest [-v] filename . .Patch #1121142: Implement ZipFile.Patch #685268: Consider a package's __path__ in imputil. . .open.Patch #698833: Support file decryption in zipfile. . .merge() for merging sorted input streams. on "linux" and "gnu" systems. .Patch #1652681: tarfile.expandvars behave according to its docstring.Added collections.Bug #1600860: Search for shared python library in LIBDIR. . previously. . .

handlers caused at logging shutdown when syslog handlers fail to initialize because of syslogd problems. Now. . . correct the definitions of HANDLE.open() for mode "r" with a fileobj argument. . .emit.Patch #1182394 from Shane Holloway: speed up HMAC. . Now.Added support for IronPython and Jython to the platform module. .Fixes for 64-bit Windows: In ctypes.. Make parameterless foreign function calls work. python_implementation() and linux_distribution().Bug #411881: logging: bare except clause removed from LogRecord.createSocket.hexdigest. The FileHandler instance now saves the encoding (which can be None) in an attribute called "encoding". .Added new platform module APIs python_branch(). . . .The sets module has been deprecated.Patch #1604907: Fix problems in logging. . .__init__.handlers: bare except clause removed from SMTPHandler.handlers: bare except clause removed from SocketHandler.Changed platform module API python_version_tuple() to actually return a tuple (it used to return a list).Patch #1608267: fix a race condition in os. .0". .makedirs() if the directory to be created is already there.The version number of the ctypes package changed to "1. . python_revision().Bug #1610795: make ctypes.Bug #411881: logging. only ImportError is trapped.Bug #411881: logging. Now.py: fix ExFileObject so that read() and tell() work correctly together with readline().config with spaces in commaseparated lists read from logging config files.find_library work on BSD systems. . only socket.Patch #1504073: Fix tarfile.wintypes. . . LPARAM data types.1.Bug #1503765: Fix a problem in logging.Patch #1610437: fix a tarfile bug with long filename headers. Use the built-in set/frozenset types instead. .Patch #1262036: Prevent TarFiles from being added to themselves under certain conditions. TypeError and AttributeError are trapped.Bug #1627575: logging: Added _open() method to FileHandler which can be used to reopen files. only ValueError.error is trapped.util.Patch #1230446: tarfile. . WPARAM.Patch #1484695: The tarfile module now raises a HeaderError exception if a buffer given to frombuf() is invalid.

register() to facilitate usage as a decorator.search.Patch #1060577: Extract list of RPM files from spec file in bdist_rpm.Patch #1592250: Add elide argument to Tkinter.Patch #1514544: Try to ensure that messages/indexes have been physically written to disk after calling . .) .cStringIO. . even if an exception occurs.Patch #838546: Make terminal become controlling in pty.Bug #1563807: _ctypes built on AIX fails with ld ffi error.fork(). .flush() or . sorting. report errors if there's a filename clash instead of possibly losing a message.truncate(-1) now raises an IOError. . .Patch #1371075: Make ConfigParser accept optional dict type for ordering.Patch #1583880: fix tarfile's problems with long names and posix/ GNU modes.Patch #1065257: Support passing open files as body in HTTPConnection. .py: In the Maildir class.Bug #1586613: fix zlib and bz2 codecs' incremental en/decoders. .Patch #1355023: support whence argument for GzipFile.request().Patch #1538878: Don't make tkSimpleDialog dialogs transient if the parent window is withdrawn.get_folder() weren't passing the message factory on to newly created Maildir/MH objects.py: Maildir. . (Patch by David Watson. like StringIO and regular files. (Patch by David Watson.Bug #1569790: mailbox. .Bug #1597824: return the registered function from atexit.Text.Patch #1360200: Use unmangled_version RPM spec field to deal with file name mangling. etc.Bug #1598620: A ctypes Structure cannot contain itself. .Patch #1070046: Marshal new-style objects like InstanceType in xmlrpclib. .) . . .seek. . .get_folder() and MH.Patch #1472877: Fix Tix subwidget name resolution. .close().Patch #1351744: Add askyesnocancel helper for tkMessageBox. . .Patch #1359217: Process 2xx response in an ftplib transfer that precedes an 1xx response.Patch #1594554: Always close a tkSimpleDialog on ok(). .Patch #1514543: mailbox. ..

In version 2.utime on Windows.ctypes callback functions only support 'fundamental' data types as result type.Bug #1457823: cgi.5.Patch #1560695: Add .Bug #1560617: in pyclbr.Make webbrowser. This is a partial fix for Bug #1574584. . . .Bug #813342: Start the IDLE subprocess with -Qnew if the parent is started with that option.format_exception_only() that led to an error being raised when print_exc() was called without an exception set.Fix turtle so that time. .sleep is imported for the entire library. . .Patch #1567274: Support SMTP over TLS.4.Fix codecs. . .Popen is not supported). split() the command for the default GNOME browser in case it is a command with args.Lib/modulefinder. .Reverted patch #1504333 to sgmllib because it introduced an infinite loop. restored that behavior. . . Raise an error when something else is used. .py now handles absolute and relative imports correctly.strptime when the data and format do match be more clear. .Bug #1586448: the compiler module now emits the same bytecode for list comprehensions as the built-in compiler.BackgroundBrowser usable in Windows (it wasn't because the close_fds arg to subprocess.EncodedFile which did not use file_encoding in 2.Bug #1565661: in webbrowser.note.Support for MSVC 8 was added to bdist_wininst. .(Sv)FormContentDict's constructor now takes keep_blank_values and strict_parsing keyword arguments.Bug #1566602: correct failure of posixpath unittest when $HOME ends with a slash. . .0.GNU-stack to ctypes' sysv. and fix all codecs file wrappers to work correctly with the "with" statement (bug #1586513). using the LIST_APPEND opcode.Fix a bug in traceback. return full module name not only for classes. but also for functions.Bug #1565150: Fix subsecond processing for os.search_function() contains a dot. this printed "None"..S so that ctypes isn't considered as requiring executable stacks. .Bug #1446043: correctly raise a LookupError if an encoding name given to encodings. . Allows the demo2 function to be executed on its own instead of only when the module is run as a script.Made the error message for time. .

getmodule() . . SMTP.starttls() caller no longer needs to call ehlo() beforehand.Patch #1957: syslogmodule: Release GIL when calling syslog(3). .methodcaller().ehlo_or_helo_if_needed() method. .Issue #829951: In the smtplib module.Fix missing import of the types module in logging.Bug #2112: mmap.Patch #1657: added select.Patch #1553314: Fix the inspect.Bug #1531862: Do not close standard file descriptors in subprocess.Fix utf-8-sig incremental decoder.epoll and select. . . SMTP. . . which didn't recognise a BOM when the first chunk fed to the decoder started with a BOM. Patch contributed by Bill Fenner.SMTP class has been refactored a bit such that the SMTP.Patch #1826: operator.Issue #1339: The smtplib. .uuid1 failed to generate unique identifiers on systems with low clock resolution. .Patch #1550886: Fix decimal module context management implementation to match the localcontext() example from PEP 343. . Adds the SMTP.starttls() now raises an exception of the server does not claim to support starttls.Bug #1541863: uuid.config.idle: Honor the "Cancel" action in the save dialog (Debian bug #299092).. . . Patch contributed by Bill Fenner.kqueue.Bug #1545341: The 'classifier' keyword argument to the Distutils setup() function now accepts tuples as well as lists.py slowdown that was hurting IPython & SAGE by adding smarter caching in inspect.siginterrupt.attrgetter() now supports dotted attribute paths. .Bug #2063: correct order of utime and stime in os. but was longer than 3 bytes. .Patch #1506171: added operator.Patch #1089358: Add signal.Bug #2111: mmap segfaults when trying to write a block opened with PROT_READ. a wrapper around siginterrupt(3). . .times() result on .error is now a subclass of EnvironmentError and not a direct EnvironmentError.starttls() now complies with RFC 3207 and forgets any knowledge obtained from the server not obtained from the TLS negotiation itself.The implementation of UnicodeError objects has been simplified (start and end attributes are now stored directly as Py_ssize_t members). Extension Modules ----------------.

os.Bug #1301: Bad assert in _tkinter fixed.Patch #1663329: added ``os._winreg's HKEY object has gained __enter__ and __exit__ methods to support the context manager protocol.closerange()`` function to quickly close a range of file descriptors without considering errors. long.access now returns True on Windows for any existing directory. list. . .initscr() as the documentation says.from_iterable(). .Backport of _fileio module from Python 3.filter() before curses.mmap is now a class.itertools. putwch and ungetwch.__init__(iterable) now clears any prior contents before adding elements from the iterable.Added warnpy3k function to the warnings module.Issue #1940: make it possible to use curses. . . .Bug #1604: collections. set.chain() now has an alternate constructor. . . It is also subclassable now. not a factory function. it required the function inputs to be tuples.FCICreate.0.Marshal.Added wide char functions to msvcrt module: getwch. . The _winreg module also gained a new function ``ExpandEnvironmentStrings`` to expand REG_EXPAND_SZ keys. The functions accept or return unicode.Added interface for Windows' WSAIoctl to socket object and added an example for a simple network sniffer. and frozenset.dumps() now expects exact type matches for int. . Formerly.find`` also takes an optional ``end`` parameter. it raises a ValueError instead. .Windows. . .gettrace()``. tuple.sf. ``mmap.Updated ``big5hkscs`` codec to the HKSCS revision of 2004. it would silently miscode subclasses of those types. .Patch #976880: ``mmap`` objects now have an ``rfind`` method that works as expected. .Issue #1646: Make socket support TIPC. . . . complex. see http://tipc.Added bdist_wininst executable for VS 2008.__init__().Patch #1087741: mmap.net/ for more information. . Previously. .deque.getprofile()`` and ``sys. chain. Now. .Patch #1736: Fix file name handling of _msi.Patch #1648: added ``sys. getwche. This fix brings the behavior into line with that for list.itertools. The socket module now has support for TIPC under Linux.starmap() now accepts any iterable input. float. dict.

{get.Bug #1649098: Avoid declaration of zero-sized array declaration in structure. . Specifically: dictionary assignment to a DB object will replace all values for a given key when the database allows duplicate values.isoformat. . Also.Patch #1610575: The struct module now supports the 't' code.chflags() and os. not DB[k] = v.Bug #1721309: prevent bsddb module from freeing random memory.Patch #1490190: posixmodule now includes os. for C99 _Bool.Patch #1654417: make operator. .del}slice use the full range of Py_ssize_t.sf.Bug #1233: fix bsddb. .put(k. been deprecated since Python 2. .Patch #1646728: datetime.DBShelf append method to work as intended for RECNO databases.Add the bsddb.Bug #1653736: Complain about keyword arguments to time.pybsddb.net Bug #477182: Load the database flags at database open time so that opening a database previously created with the DB_DUP or DB_DUPSORT flag set will keep the proper behavior on subsequent opens. .Patch #1388440: Add set_completion_display_matches_hook and get_completion_type to readline. DB users should use DB. .Bug #1486663: don't reject keyword arguments for subclasses of built-in types. as opposed to the previous behavior of quoting dots if they are the second character of any line.5.Struct object.Bug #1686475: Support stat'ing open files on Windows again. it correctly quotes dots only if they occur on a single line. v) when they want to store duplicates. . .Bug #1622896: fix a rare corner case where the bz2 module raised an error in spite of a succesful compression.dbshelve. . With unittest.Patch #1432399: Support the HCI protocol for bluetooth sockets . . . .Removed the rgbimg module.Patch #1635058: ensure that htonl and friends never accept or return . . .set.DBEnv. .fromtimestamp fails with negative fractional times.b2a_qp() now correctly quotes binary characters with ASCII value less than 32.Patch #1185447: binascii.Patch #1657276: Make NETLINK_DNRTMSG conditional.lchflags() functions on platforms where the underlying system calls are available.db. . .Patch #1494140: Add documentation for the new struct..lock_id_free method.

Speed up function calls into the math module.utime for directories on Windows NT+.Fixed a few bugs on cjkcodecs: . . . avoid repeatedly polling in interactive mode by only placing a timeout on the select() if an input hook has been defined.Bug #1567666: Emulate GetFileAttributesExA for Win95.tparm seg fault on invalid input.Patch #1114: fix curses module compilation on 64-bit AIX.gbk and gb18030 codec now handle U+30FB KATAKANA MIDDLE DOT correctly.c.stat: the flags and txn keyword arguments were transposed. . Patch by Richard Boulton.urandom().Bug #1572832: fix a bug in ISO-2022 codecs which may cause segfault when encoding non-BMP unicode characters.tee on negative value for n. This prevents an interactive Python from waking up 10 times per second. . . .Patch #1576166: Support os.decode() does.Bug #1556784: allow format strings longer than 127 characters in datetime's strftime function.DB.Bug #1550714: fix SystemError from itertools. .Bug #1551427: fix a wrong NULL pointer check in the win32 version of os. . . .Patch #1572724: fix typo ('=' instead of '==') in _msi. . instead leave it in the string as quopri. . . . & possibly other 64-bit LP64 platforms where attr_t is not the same size as a long.Bug #1588217: don't parse "= " as a soft line break in binascii's a2b_qp() function.iso2022_jp_2 codec now encodes into G0 for KS X 1001. .negative numbers. .RLIMIT_SBSIZE was added to the resource module where available. . .DB(). (Contributed by Luke Mewburn.Fix itertools.c.Bug #1599782: Fix segfault on bsddb.Patch #1544279: Improve thread-safety of the socket module by moving the sock_addr_t storage out of the socket object.Patch #1019808: fix bug that causes an incorrect error to be returned when a socket timeout is set and a connection attempt fails.fixed a bug with bsddb.count(n) to work with negative numbers again. GB2312 codepoints to conform the standard.db.Bug #1548092: fix curses.Bug #1552726: in readline. .iso2022_jp_3 and iso2022_jp_2004 codec can encode JIS X 0213:2 codepoints now. . per the underlying C implementation. .) .type().

COLS.executable contains a space.Added test. Was causing an error by __import__ doing a reload on the second run and thus suppressing bytecode recreation. .The sqlite3 module was updated to pysqlite 2.LINES. . .Refactor test_profile and test_cprofile to use the same code to profile. .Fix libffi configure for hppa*-*-linux* parisc*-*-linux*. It's a class that provides a context manager so that one can temporarily set or unset environment variables.ResourceDenied.COLS.5.test_support.test.Bug #1633621: if curses. update _curses.Added test.resizeterm() or curses. .x. .Patch #1559413: Fix test_cmd_line if sys. curses.4.Added some tests for modulefinder.Added support for linking the bsddb module against BerkeleyDB 4.. .c: int overflow in PyZlib_decompress . Tools .Refactor test_logging to use unittest. .EnvironmentVarGuard.Added a test for slicing of an exception.Make test_runpy reentrant by fixing _check_module to clear out any module being tested. . .Converted test_imp to use unittest. . .catch_warning is a new context manager that can be used to catch the warnings issued by the warning framework.LINES and curses.test_support.test_support.1.Fix an off-by-one bug in locale.x.Fix bsddb test_basics. . .test06_Transactions to check the version number properly.TransientResource which is a context manager to surround calls to resources that are not guaranteed to work even if test. .requires says that the resource should exist. . .bsddb module: Fix memory leak when using database cursors on databases without a DBEnv.x and 4.Build using system ffi library on arm*-linux*.resize_term() is called. _curses.test_support.7.Bug #1372: zlibmodule.strxfrm(). Tests ----. 4.6.Capture socket connection resets and timeouts in test_socket_ssl and test_urllib2net and raise test.test_support.

Patch #1698768: updated the "using Python on the Mac" intro.RFE #1765140: Updated documentation on FileHandler and subclasses to include new optional delay argument.Patch #1679379: add documentation for fnmatch. .Patch #1686451: Fix return type for PySequence_{Count.Bug #1569057: Document that calling file. . . . .py was added to the list of scripts installed by Tools/scripts/setup.utils and rfc822.Tools/scripts/reindent. .Patch #1489771: the syntax rules in Python Reference Manual were updated to reflect the current Python syntax. this will now be saved in the benchmark pickle. .----. Check issue #1050828 for more details.Added support for the new platform module feature platform.Made some minor changes to pybench output to allow the user to see which Python version is running pybench.Tools/scripts/win_add2path. .python_implementation(). .format(). .translate(). . . .py now creates the backup file using shutil. The simple script modifes the PATH environment var of the HKCU tree and adds the python bin and script directory.Bug #932563: Added section on getting contextual information into logging output.next() when the file is open for writing is undefined.Tools/18n/pygettext. and added documentation for the new LoggerAdapter class.Fast_GET_SIZE}. .Bug #1295: Added information about caching of formatted exception information in the LogRecord by Formatter.Patch #1671450: add a section about subclassing built-in types to the "extending and embedding" tutorial. . Added also a --nobackup option to not create the backup if the user is concerned regarding this.Index. Documentation ------------. .py was added.copy to preserve user/group and permissions.py (tracker item 642309).Bug #1637365: add subsection about "__name__ == __main__" to the Python tutorial.Added IronPython and Jython support to pybench (part of which was patch #1563844).Bug #1629566: clarify the docs on the return values of parsedate() and parsedate_tz() in email.

Makes output more deterministic and easier to tell if the file is stale or not.Removed PCbuild8/ directory and added a new build directory for VS 2005 based on the VS 2008 build directory to PC/VS8. . This is important.Bug #1546052: clarify that PyString_FromString(AndSize) copies the string pointed to by its parameter. newer GCC versions may optimize away overflow buffer overflow checks without this option! . . Tools/Demos ----------.c from PCBuild/pythoncore.Bug #1566663: remove obsolete example from datetime docs. .Bug #1699: Define _BSD_SOURCE only on OpenBSD.Moved PCbuild/ directory for VS 2003 to PC/VS7.Make auto-generated python. .Have the search path for building extensions follow the declared order in $CPPFLAGS and $LDFLAGS when adding directories from those environment variables.0. .Add a FAST_LOOPS build option that speeds-up looping by trading away .0.1 and renamed PCBuild9/ directory to PCBuild/.Bug #1546372: Fixed small bugglet in pybench that caused a missing file not to get reported properly.vim file list built-ins and exceptions in alphatbetical order. . Additionally.Issue #1726: Remove Python/atof. .Bug #1541682: Fix example in the "Refcount details" API docs. .Bug #1983: Added a check to pyport to verify that sizeof(pid_t) is smaller or equal sizeof(long).Bug #1234: Fixed semaphore errors on AIX 5. . . .vcproj.Patch #1552024: add decorator support to unparse. .Bug #1608: use -fwrapv when GCC supports it.py was added to sync changes from PCbuild to PC/VS8.Bug #1565919: document set types in the Language Reference. . Build ----.py demo script. remove a faulty example showing PySequence_SetItem applied to a newly created list object and add notes that this isn't a good idea.2 . The script PCbuild/vs8to9.Bug #1629125: fix wrong data type (int -> Py_ssize_t) in PyDict_Next docs..Patch #1418: Make the AC_REPLACE_FUNCS object files actually work.

Bug #1675511: Use -Kpic instead of -xcode=pic32 on Solaris/x86. Repair so that it's back to how it was in 2. the counter ``numfree`` and the upper limit is a macro ``PyName_MAXFREELIST`` inside an #ifndef block.x. performance critical applications. It should only be enabled in debugged.exec_prefix. .Disable _XOPEN_SOURCE on NetBSD 1. All free lists in Object/ are named ``free_list``.Patch #786737: Allow building in a tree of symlinks pointing to a readonly source.Unified naming convention for free lists and their limits.Bug #1746880: Correctly install DLLs into system32 folder on Win64.Bug #1568842: Fix test for uintptr_t. . .Makefile.Patch #1569798: fix a bug in distutils when building Python from a directory within sys. .Bug #1737210: Change Manufacturer of Windows installer to PSF. .4.Y/config to the LDFLAGS returned by python-config if Python was built with --enable-shared because that prevented the shared library from being used.1+.Bug #1655392: don't add -L/usr/lib/pythonX. this option is turned-off.Bug #1578513: Cross compilation was broken by a change to configure. . remove redundant files in VC7.configure now checks whether gcc supports the PyArg_ParseTuple format attribute. . By default. . .Fix the build of the library reference in info format.identify to include some information about the build environment. .Fix build failure on kfreebsd and on the hurd. .0.Patch #1576954: Update VC6 build directory. .pre.Allow Emacs 22 for building the documentation in info format.Define _BSD_SOURCE.3. . C API ----. .periodic threadstate and signal checking in tight loops.Patch #1540470: for OpenBSD 4. . . . to get access to POSIX extensions on OpenBSD 4.Stop supporting AtheOS and cause a build error in configure for the platform. .in(buildbottest): Run an optional script pybuildbot. .

Windows ------.Patch #1733960: Allow T_LONGLONG to accept ints. Add Py_Refcnt.c and should not be necessary. char*)`` and ``PyOS_strnicmp(char*.Py_ssize_t fields work in structmember when HAVE_LONG_LONG is not defined.Backport of PyUnicode_FromString(). it can be used to populate a brand new frozenset. Py_Type. . WinME and NT4. . . Py_Type and Py_Refcnt to Py_SIZE. _FromStringAndSize(). but it does not steal a reference to the added item.Fix some leftovers from the conversion from int to Py_ssize_t (relevant to strings and sequences of more than 2**31 items).0. Made PyLong_AsSsize_t and PyLong_FromSsize_t public functions.Issue #1534: Added ``PyFloat_GetMax()``.PEP 3123: Provide forward compatibility with Python 3. using PyArgs_ParseTuple with the t# of w# format code incorrectly truncated the length to an int. Similarly to ``PyTuple_SetItem``. ``PyFloat_GetMin()`` and ``PyFloat_GetInfo()`` to the float API. while keeping backwards compatibility.. _Format and _FormatV from Python 3. it was not used anywhere outside of pystate.Bug #1542693: remove semi-colon at end of PyImport_ImportModuleEx macro so it can be used as an expression.Added a new API function ``PyImport_ImportModuleNoBlock``.Patch #1706: Drop support for Win9x. . . .Bug #1637022: Prefix AST symbols with _Py_. The str. .T_PYSSIZET can now be used in PyMemberDef lists for Py_ssize_t members.Issue #1521: On 64bit platforms. and PyVarObject_HEAD_INIT.``PySet_Add()`` can now modify a newly created frozenset. .Issue #1629: Renamed Py_Size. . Python now requires Windows 2000 or greater. . Py_ssize_t)``. .0. .Make _PyGILState_NoteThreadState() static.Added case insensitive comparison methods ``PyOS_stricmp(char*. .Added ``PySet_Check()`` and ``PyFrozenSet_Check()`` to the set API. . In earlier versions they might have used relative imports under some conditions. . .Patch #1720595: add T_BOOL to the range of structmember types.``PyImport_Import`` and ``PyImport_ImportModule`` now always do absolute imports. The _WINVER and NTDDI_VERSION . .decode method used to return incorrect results with huge strings. char*. Py_TYPE and Py_REFCNT. Py_Size. even when PY_SSIZE_T_CLEAN is set.

Mac --. . .)** .touched() as it relied solely on macfs and was a no-op under OS X.buildtools now raises a DeprecationWarning.cfmfile now raises a DeprecationWarning. . .Conditionalize definition of _CRT_SECURE_NO_DEPRECATE and _CRT_NONSTDC_NO_DEPRECATE.Bug #1216: Restore support for Visual Studio 2002.macros are set to Win2k for x86/32bit builds and WinXP for AMD64 builds.5. consult the HISTORY file. ---**(For information about older versions.Removed the macfs module. It had been deprecated since Python 2. This lead to the deprecation of macostools.

Sign up to vote on this title
UsefulNot useful