Softpedia
 

MAC CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • EarthDesk 5.8.5
  • GraphicConverter 8...
  • MacPorts 2.1.1
  • CCleaner 1.03.131
  • Quicksilver ß68 Bu...
  • TextWrangler 4.0.1...
  • Google Chrome 21.0...
  • Winclone 3.3
  • ScreenFlow 3.0.6
  • Apple Security Upd...
  • 7-DAY TOP DOWNLOAD
    #
    Program
    Minecraft 1.2.5
    6,736 downloads
    iPhone and iPod
    Firmware (iOS) 5.1.1

    5,230 downloads
    Java for Mac OS X
    10.7 Update 2012-003
    / 10.6 Update 8 /
    10.5 Update 10

    3,924 downloads
    Apple Xcode 4.3.2
    3,221 downloads
    SPSS Statistics
    20.0.0

    2,729 downloads
    Cheat Engine 5.6.1
    2,693 downloads
    Mac Boy Advance
    1.7.6

    2,423 downloads

    downloads
    Internet Explorer
    5.2.3

    2,100 downloads
    Canon PIXMA MP280
    Driver 10.51.2.0

    2,040 downloads
    Home > Mac > Developer Tools > Python > Changelog

    Python 3.3.0 Alpha 1 / 3.2.3 - Changelog


    What's new in Python 3.2.3:

    April 12th, 2012

    · Work around a problem building extension modules under Windows 14 by undefining ``small`` before use in the Python headers.



    What's new in Python 3.2.3 RC2:

    March 19th, 2012

    Library:
    · Issue #6884: Fix long-standing bugs with MANIFEST.in parsing in distutils on Windows.

    Extension Modules:
    · Issue #14234: CVE-2012-0876: Randomize hashes of xml attributes in the hash table internal to the pyexpat module's copy of the expat library to avoid a denial of service due to hash collisions. Patch by David Malcolm with some modifications by the expat project.



    What's new in Python 3.3.0 Alpha 1:

    March 5th, 2012

    · Syntax for Delegating to a Subgenerator (yield from)
    · Flexible String Representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    · Suppressing Exception Context
    · Reworking the OS and IO exception hierarchy
    · The new "packaging" module, building upon the "distribute" and "distutils2" projects and deprecating "distutils"
    · The new "lzma" module with LZMA/XZ support
    · Qualified name for classes and functions
    · Explicit Unicode literals to help with porting
    · The new "faulthandler" module that helps diagnosing crashes
    · Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"



    What's new in Python 3.2.2:

    September 5th, 2011

    · Fixes a regression in the urllib.request module that prevented opening many HTTP resources correctly with Python 3.2.1.



    What's new in Python 3.2.2 RC1:

    August 16th, 2011

    · numerous improvements to the unittest module
    · PEP 3147, support for .pyc repository directories
    · PEP 3149, support for version tagged dynamic libraries
    · PEP 3148, a new futures library for concurrent programming
    · PEP 384, a stable ABI for extension modules
    · PEP 391, dictionary-based logging configuration
    · an overhauled GIL implementation that reduces contention
    · an extended email package that handles bytes messages
    · a much improved ssl module with support for SSL contexts and certificate hostname matching
    · a sysconfig module to access configuration information
    · additions to the shutil module, among them archive file support
    · many enhancements to configparser, among them mapping protocol support
    · improvements to pdb, the Python debugger
    · countless fixes regarding bytes/string issues; among them full support for a bytes environment (filenames, environment variables)
    · many consistency and behavior fixes for numeric operations



    What's new in Python 3.2.1:

    July 11th, 2011

    · numerous improvements to the unittest module
    · PEP 3147, support for .pyc repository directories
    · PEP 3149, support for version tagged dynamic libraries
    · PEP 3148, a new futures library for concurrent programming
    · PEP 384, a stable ABI for extension modules
    · PEP 391, dictionary-based logging configuration
    · an overhauled GIL implementation that reduces contention
    · an extended email package that handles bytes messages
    · a much improved ssl module with support for SSL contexts and certificate hostname matching
    · a sysconfig module to access configuration information
    · additions to the shutil module, among them archive file support
    · many enhancements to configparser, among them mapping protocol support
    · improvements to pdb, the Python debugger
    · countless fixes regarding bytes/string issues; among them full support for a bytes environment (filenames, environment variables)
    · many consistency and behavior fixes for numeric operations



    What's new in Python 3.2.1 RC2:

    July 4th, 2011

    · numerous improvements to the unittest module
    · PEP 3147, support for .pyc repository directories
    · PEP 3149, support for version tagged dynamic libraries
    · PEP 3148, a new futures library for concurrent programming
    · PEP 384, a stable ABI for extension modules
    · PEP 391, dictionary-based logging configuration
    · an overhauled GIL implementation that reduces contention
    · an extended email package that handles bytes messages
    · a much improved ssl module with support for SSL contexts and certificate hostname matching
    · a sysconfig module to access configuration information
    · additions to the shutil module, among them archive file support
    · many enhancements to configparser, among them mapping protocol support
    · improvements to pdb, the Python debugger
    · countless fixes regarding bytes/string issues; among them full support for a bytes environment (filenames, environment variables)
    · many consistency and behavior fixes for numeric operations



    What's new in Python 3.2 Beta 1:

    December 8th, 2010

    · numerous improvements to the unittest module
    · PEP 3147, support for .pyc repository directories
    · PEP 3149, support for version tagged dynamic libraries
    · PEP 3148, a new futures library for concurrent programming
    · PEP 384, a stable ABI for extension modules
    · PEP 391, dictionary-based logging configuration
    · an overhauled GIL implementation that reduces contention
    · an extended email package that handles bytes messages
    · countless fixes regarding bytes/string issues; among them full support for a bytes environment (filenames, environment variables)
    · many consistency and behavior fixes for numeric operations
    · a sysconfig module to access configuration information
    · a pure-Python implementation of the datetime module
    · additions to the shutil module, among them archive file support
    · improvements to pdb, the Python debugger



    What's new in Python 3.1.3:

    November 29th, 2010

    Core and Builtins:
    · Issue #10391: Don't dereference invalid memory in error messages in the ast module.

    Library:
    · Issue #10459: Update CJK character names to Unicode 5.1.
    · Issue #10092: Properly reset locale in calendar.Locale*Calendar classes.
    · 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: urllib.request 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 two NameErrors 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 #1682942: configparser supports alternative option/value delimiters.

    Build:
    · Backport r83399 to allow test_distutils to pass on installed versions.
    · Issue #1303434: Generate ZIP file containing all PDBs (already done for rc1).
    · Stop packaging versioncheck tool (already done for rc1).
    · Accept Oracle Berkeley DB 4.8, 5.0 and 5.1 as backend for the dbm extension.

    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 3.1.2:

    March 22nd, 2010

    Core and Builtins:
    · Issue #7173: Generator finalization could invalidate sys.exc_info().

    Library:
    · Issue #2698: The --compiler ignored was ignored for distutils' build_ext.
    · Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox with Tcl/Tk-8.5.
    · Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the locale.



    What's new in Python 3.1.1:

    August 17th, 2009

    Core and Builtins:
    · Issue #6707: dir() on an uninitialized module caused a crash.
    · Issue #6540: Fixed crash for bytearray.translate() with invalid parameters.
    · Issue #6573: set.union() stopped processing inputs if an instance of self occurred in the argument chain.
    · Issue #6070: On posix platforms import no longer copies the execute bit from the .py file to the .pyc file if it is set.
    · Issue #6428: Since Python 3.0, the __bool__ method must return a bool object, and not an int. Fix the corresponding error message, and the documentation.
    · Issue #6347: Include inttypes.h as well as stdint.h in pyport.h. This fixes a build failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead of stdint.h on that platform.
    · Issue #6373: Fixed a SystemError when encoding with the latin-1 codec and the 'surrogateescape' error handler, a string which contains unpaired surrogates.

    C-API:
    · Issue #6624: yArg_ParseTuple with "s" format when parsing argument with NUL: Bogus TypeError detail string.
    · Issue #6405: Remove duplicate type declarations in descrobject.h.
    · The code flags for old __future__ features are now available again.


    Library:
    · Issue #6106: telnetlib.Telnet.process_rawq doesn't handle default WILL/WONT DO/DONT correctly.
    · Issue #6126: Fixed pdb command-line usage.
    · Issue #6629: Fix a data corruption issue in the new I/O library, which could occur when writing to a BufferedRandom object (e.g. a file opened in "rb+" or "wb+" mode) after having buffered a certain amount of data for reading. This bug was not present in the pure Python implementation.
    · Issue #6622: Fix "local variable 'secret' referenced before assignment" bug in POP3.apop.
    · Issue #6637: defaultdict.copy() did not work when the default factory was left unspecified. Also, the eval/repr round-trip would fail when the default_factory was None.
    · Issue #2715: Remove remnants of Carbon.File from binhex module.
    · Issue #6595: The Decimal constructor now allows arbitrary Unicode decimal digits in input, as recommended by the standard. Previously it was restricted to accepting [0-9].
    · Issues #5155, #5313, #5331: multiprocessing.Process._bootstrap was unconditionally calling "os.close(sys.stdin.fileno())" resulting in file descriptor errors
    · Issue #1424152: Fix for http.client, urllib.request to support SSL while working through proxy. Original patch by Christopher Li, changes made by Senthil Kumaran
    · importlib.abc.PyLoader did not inherit from importlib.abc.ResourceLoader like the documentation said it did even though the code in PyLoader relied on the abstract method required by ResourceLoader.
    · Issue #6431: Make Fraction type return NotImplemented when it doesn't know how to handle a comparison without loss of precision. Also add correct handling of infinities and nans for comparisons with float.
    · Issue #6415: Fixed warnings.warn segfault on bad formatted string.
    · Issue #6358: The exit status of a command started with os.popen() was reported differently than it did with python 2.x.
    · Issue #6323: The pdb debugger did not exit when running a script with a syntax error.
    · Issue #3392: The subprocess communicate() method no longer fails in select() when file descriptors are large; communicate() now uses poll() when possible.
    · Issue #6369: Fix an RLE decompression bug in the binhex module.
    · Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.
    · Issue #4005: Fixed a crash of pydoc when there was a zip file present in sys.path.


    Extension Modules:
    · Fix a segfault in expat.
    · Issue #4509: array.array objects are no longer modified after an operation failing due to the resize restriction in-place when the object has exported buffers.

    Build:
    · Issue 4601: 'make install' did not set the appropriate permissions on directories.
    · Issue 5390: Add uninstall icon independent of whether file extensions are installed.

    Test:
    · Fix a test in importlib.test.source.test_abc_loader that was incorrectly testing when a .pyc file lacked an code object bytecode.



    What's new in Python 3.1:

    June 29th, 2009

    Core and Builtins:
    · Issue #6334: Fix bug in range length calculation for ranges with large arguments.
    · Issue #6329: Fixed iteration for memoryview objects (it was being blocked because it wasn't recognized as a sequence).

    Library:
    · Issue #6314: logging.basicConfig() performs extra checks on the "level" argument.
    · Issue #6274: Fixed possible file descriptors leak in subprocess.py
    · Accessing io.StringIO.buffer now raises an AttributeError instead of io.UnsupportedOperation.
    · Issue #6271: mmap tried to close invalid file handle (-1) when anonymous. (On Unix)
    · Issue #1202: zipfile module would cause a struct.error when attempting to store files with a CRC32 > 2**31-1.

    · Extension Modules
    · Issue #5590: Remove unused global variable in pyexpat extension.



    What's new in Python 3.1 RC 2:

    June 15th, 2009

    Core and Builtins:
    · Fixed SystemError triggered by "range([], 1, -1)".
    · Issue #5924: On Windows, a large PYTHONPATH environment variable (more than 255 characters) would be completely ignored.
    · Issue #4547: When debugging a very large function, it was not always possible to update the lineno attribute of the current frame.
    · Issue #5330: C functions called with keyword arguments were not reported by the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau.

    Library:
    · Issue #6258: Support AMD64 in bdist_msi.
    · Issue #6195: fixed doctest to no longer try to read 'source' data from binary files.
    · Issue #5262: Fixed bug in next rollover time computation in TimedRotatingFileHandler.
    · Issue #6217: The C implementation of io.TextIOWrapper didn't include the errors property. Additionally, the errors and encoding properties of StringIO are always None now.
    · Issue #6137: The pickle module now translates module names when loading or dumping pickles with a 2.x-compatible protocol, in order to make data sharing and migration easier. This behaviour can be disabled using the new `fix_imports` optional argument.
    · Removed the ipaddr module.
    · Issue #3613: base64.{encode,decode}string are now called base64.{encode,decode}bytes which reflects what type they accept and return.
    · The old names are still there as deprecated aliases.
    · Issue #5767: Remove sgmlop support from xmlrpc.client.
    · Issue #6150: Fix test_unicode on wide-unicode builds.
    · Issue #6149: Fix initialization of WeakValueDictionary objects from non-empty parameters.

    C-API:
    · Issue #5735: Python compiled with --with-pydebug should throw an ImportError when trying to import modules compiled without--with-pydebug, and vice-versa.

    Build:
    · Issue #6154: Make sure the intl library is added to LIBS if needed. Also added LIBS to OS X framework builds.
    · Issue #5809: Specifying both --enable-framework and --enable-shared is an error. Configure now explicity tells you about this.



    What's new in Python 3.1 Alpha 2:

    April 16th, 2009

    Core and Builtins:
    · Implement PEP 378, Format Specifier for Thousands Separator, for integers.
    · Issue #5666: Py_BuildValue's 'c' code should create byte strings.
    · Issue #5499: The 'c' code for argument parsing functions now only accepts a byte, and the 'C' code only accepts a unicode character.
    · Issue #1665206: Remove the last eager import in _warnings.c and make it lazy.
    · Fix a segfault when running test_exceptions with coverage, caused by insufficient checks in accessors of Exception.__context__.
    · Issue #5604: non-ASCII characters in module name passed to imp.find_module() were converted to UTF-8 while the path is converted to the default filesystem encoding, causing nonsense.
    · Issue #5126: str.isprintable() returned False for space characters.
    · Issue #4865: On MacOSX /Library/Python/2.7/site-packages is added to the end sys.path, for compatibility with the system install of Python.
    · Issue #4688: Add a heuristic so that tuples and dicts containing only untrackable objects are not tracked by the garbage collector. This can reduce the size of collections and therefore the garbage collection overhead on long-running programs, depending on their particular use of datatypes.
    · Issue #5512: Rewrite PyLong long division algorithm (x_divrem) to improve its performance. Long divisions and remainder operations are now between 50% and 150% faster.
    · Issue #4258: Make it possible to use base 2**30 instead of base 2**15 for the internal representation of integers, for performance reasons. Base 2**30 is enabled by default on 64-bit machines. Add --enable-big-digits option to configure, which overrides the default. Add sys.int_info structseq to provide information about the internal format.
    · Issue #4474: PyUnicode_FromWideChar now converts characters outside the BMP to surrogate pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE) == 2.
    · Issue #5237: Allow auto-numbered fields in str.format(). For example: '{} {}'.format(1, 2) == '1 2'.
    · Issue #5392: when a very low recursion limit was set, the interpreter would abort with a fatal error after the recursion limit was hit twice.
    · Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short file names.
    · Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings.

    Library:
    · Issue 2625: added missing items() call to the for loop in mailbox.MH.get_message().
    · Issue #5640: Fix _multibytecodec so that CJK codecs don't repeat error substitutions from non-strict codec error callbacks in incrementalencoder and StreamWriter.
    · Issue #5656: Fix the coverage reporting when running the test suite with the -T argument.
    · Issue #5647: MutableSet.__iand__() no longer mutates self during iteration.
    · Issue #5624: Fix the _winreg module name still used in several modules.
    · Issue #5628: Fix io.TextIOWrapper.read() with a unreadable buffer.
    · Issue #5619: Multiprocessing children disobey the debug flag and causes popups on windows buildbots. Patch applied to work around this issue.
    · Issue #5400: Added patch for multiprocessing on netbsd compilation/support
    · Issue #5387: Fixed mmap.move crash by integer overflow.
    · Issue #5261: Patch multiprocessing's semaphore.c to support context manager use: "with multiprocessing.Lock()" works now.
    · Issue #5236: Change time.strptime() to only take strings. Didn't work with bytes already but the failure was non-obvious.
    · Issue #5177: Multiprocessing's SocketListener class now uses socket.SO_REUSEADDR on all connections so that the user no longer needs to wait 120 seconds for the socket to expire.
    · Issue #5595: Fix UnboundedLocalError in ntpath.ismount().
    · Issue #1174606: Calling read() without arguments of an unbounded file (typically /dev/zero under Unix) could crash the interpreter.
    · The max_buffer_size arguments of io.BufferedWriter, io.BufferedRWPair, and io.BufferedRandom have been deprecated for removal in Python 3.2.
    · Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop forever on incomplete input. That caused tarfile.open() to hang when used with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or partial bzip2 compressed data.
    · Issue #2110: Add support for thousands separator and 'n' type specifier to Decimal.__format__
    · Fix Decimal.__format__ bug that swapped the meanings of the '' alignment characters.
    · The error detection code in FileIO.close() could fail to reflect the `errno` value, and report it as -1 instead.
    · Issue #5016: FileIO.seekable() could return False if the file position was negative when truncated to a C int. Patch by Victor Stinner.

    Extension Modules:
    · Issue #5391: mmap now deals exclusively with bytes.
    · Issue #5463: In struct module, remove deprecated overflow wrapping when packing an integer: struct.pack('=L', -1) now raises struct.error instead of returning b'xffxffxffxff'. The _PY_STRUCT_RANGE_CHECKING and _PY_STRUCT_OVERFLOW_MASKING constants have been removed from the struct module.



    What's new in Python 2.6.1:

    December 6th, 2008

    Core and Builtins:
    · Issue #3996: On Windows, the PyOS_CheckStack function would cause the interpreter to abort ("Fatal Python error: Could not reset the stack!") instead of throwing a MemoryError.
    · Issue #4367: Python would segfault during compiling when the unicodedata module couldn't be imported and N escapes were present.
    · Issue #4348: Some bytearray methods returned that didn't cause any change to the bytearray, returned the same bytearray instead of a copy.
    · Issue #4317: Fixed a crash in the imageop.rgb2rgb8() function.
    · Issue #4230: If ``__getattr__`` is a descriptor, it now functions correctly.
    · Issue #4048: The parser module now correctly validates relative imports.
    · Issue #4225: ``from __future__ import unicode_literals`` didn't work in an exec statement.
    · Issue #4176: Fixed a crash when pickling an object which ``__reduce__`` method does not return iterators for the 4th and 5th items.
    · Issue #4209: Enabling unicode_literals and the print_function in the same __future__ import didn't work.
    · On windows, os.chdir given unicode was not working if GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's doubtful this code path is really executed because I cannot move to such directory on win2k)
    · Issue #4069: When set.remove(element) is used with a set element, the element is temporarily replaced with an equivalent frozenset. But the eventual KeyError would always report the empty frozenset([]) as the missing key. Now it correctly refers to the initial element.
    · Fixed C99 style comments in several files. Python is now C89 compatible again.

    Library:
    · Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an exception.
    · Issue #4363: The uuid.uuid1() and uuid.uuid4() functions now work even if the ctypes module is not present.
    · Issue #4116: Resolve member name conflict in ScrolledCanvas.__init__.
    · Issue #3774: Fixed an error when create a Tkinter menu item without command and then remove it.
    · Fixed a modulefinder crash on certain relative imports.
    · Issue #4150: Pdb's "up" command now works for generator frames in post-mortem debugging.
    · Issue #4092: Return ArgInfo as promised in the documentation from inspect.getargvalues.
    · Issue #3935: Properly support list subclasses in bisect's C implementation.
    · Issue #4014: Don't claim that Python has an Alpha release status, in addition to claiming it is Mature.

    Build:
    · Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs".
    · Issue #4289: Remove Cancel button from AdvancedDlg.
    · Issue #1656675: Register a drop handler for .py* files on Windows.
    · Issue #4120: Exclude manifest from extension modules in VS2008.
    · Issue #4091: Install pythonxy.dll in system32 again.
    · Issue #4018: Disable "for me" installations on Vista.
    · Issue #3758: Add ``patchcheck`` build target to .PHONY.
    · Issue #4204: Fixed module build errors on FreeBSD 4.

    C-API:
    · Issue #4122: On Windows, fix a compilation error when using the Py_UNICODE_ISSPACE macro in an extension module.

    Extension Modules:
    · Issue #4365: Add crtassem.h constants to the msvcrt module.
    · Issue #4396: The parser module now correctly validates the with statement.



    What's new in Python 3.0:

    December 4th, 2008

    Core and Builtins:
    · Issue #3996: On Windows, the PyOS_CheckStack function would cause the interpreter to abort ("Fatal Python error: Could not reset the stack!") instead of throwing a MemoryError.
    · Issue #3689: The list reversed iterator now supports __length_hint__ instead of __len__. Behavior now matches other reversed iterators.
    · Issue #4367: Python would segfault during compiling when the unicodedata module couldn't be imported and N escapes were present.
    · Fix build failure of _cursesmodule.c building with -D_FORTIFY_SOURCE=2.

    Library:
    · Issue #4387: binascii now refuses to accept str as binary input.
    · Issue #4073: Add 2to3 support to build_scripts, refactor that support in build_py.
    · IDLE would print a "Unhandled server exception!" message when internal debugging is enabled.
    · Issue #4455: IDLE failed to display the windows list when two windows have the same title.
    · Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an exception.
    · Issue #4433: Fixed an access violation when garbage collecting _ctypes.COMError instances.
    · Issue #4429: Fixed UnicodeDecodeError in ctypes.
    · Issue #4373: Corrected a potential reference leak in the pickle module and silenced a false positive ref leak in distutils.tests.test_build_ext.
    · Issue #4382: dbm.dumb did not specify the expected file encoding for opened files.
    · Issue #4383: When IDLE cannot make the connection to its subprocess, it would fail to properly display the error message.

    Build:
    · Issue #4407: Fix source file that caused the compileall step in Windows installer to fail.

    Docs:
    · Issue #4449: Fixed multiprocessing examples
    · Issue #3799: Document that dbm.gnu and dbm.ndbm will accept string arguments for keys and values which will be converted to bytes before committal.



    What's new in Python 2.6.0:

    October 2nd, 2008

    · Some significant new packages have been added to the standard library, such as the multiprocessing and json modules, but there aren’t many new features that aren’t related to Python 3.0 in some way.
    · Python 2.6 also sees a number of improvements and bugfixes throughout the source. A search through the change logs finds there were 259 patches applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are likely to be underestimates.



    What's new in Python 2.5.2:

    February 25th, 2008

    · Fix deallocation of array objects when allocation ran out of memory. Remove array test case that was incorrect on 64-bit systems.
    · Bug #2137: Remove test_struct.test_crasher, which was meaningful only on 32-bit systems.



    What's new in Python 2.5.2 RC1:

    February 19th, 2008

    · Added checks for integer overflows, contributed by Google. Some are only available if asserts are left in the code, in cases where they can't be triggered from Python code.
    · Issue #2045: Fix an infinite recursion triggered when printing a subclass of collections.defaultdict, if its default_factory is set to a bound method.
    · Issue #1920: "while 0" statements were completely removed by the compiler, even in the presence of an "else" clause, which is supposed to be run when the condition is false. Now the compiler correctly emits bytecode for the "else" suite.
    · A few crashers fixed: weakref_in_del.py (issue #1377858); loosing_dict_ref.py (issue #1303614, test67.py); borrowed_ref_[34].py (not in tracker).
    · Fix for #1303614 and #1174712 backported from the trunk: __dict__ descriptor abuse for subclasses of built-in types; subclassing from both ModuleType and another built-in types.
    · Bug #1915: Python compiles with --enable-unicode=no again. However several extension methods and modules do not work without unicode support.
    · Issue #1678380: distinction between 0.0 and -0.0 was lost during constant folding optimization. This was a regression from Python 2.4.
    · Issue #1882: when compiling code from a string, encoding cookies in the second line of code were not always recognized correctly.
    · Bug #1517: Possible segfault in lookup().
    · Issue #1638: %zd configure test fails on Linux.
    · Issue #1553: An erroneous __length_hint__ can make list() raise a SystemError.
    · Issue #1521: On 64bit platforms, using PyArgs_ParseTuple with the t# of w# format code incorrectly truncated the length to an int, even when PY_SSIZE_T_CLEAN is set. The str.decode method used to return incorrect results with huge strings.
    · Issue #1445: Fix a SystemError when accessing the ``cell_contents`` attribute of an empty cell object.
    · Issue #1265: Fix a problem with sys.settrace, if the tracing function uses a generator expression when at the same time the executed code is closing a paused generator.
    · Issue 1704621: Fix segfaults in list_repeat() and list_inplace_repeat().
    · Issue #1147: Generators were not raising a DeprecationWarning when a string was passed into throw().
    · Patch #1031213: Decode source line in SyntaxErrors back to its original source encoding.
    · Patch #1673759: add a missing overflow check when formatting floats with %G.
    · Patch #1733960: Allow T_LONGLONG to accept ints.
    · Prevent expandtabs() on string and unicode objects from causing a segfault when a large width is passed on 32-bit platforms.
    · Bug #1733488: Fix compilation of bufferobject.c on AIX.
    · Fix Issue #1703448: A joined thread could show up in the threading.enumerate() list after the join() for a brief period until it actually exited.
    · Patch #1966: Break infinite loop in httplib when the servers implements the chunked encoding incorrectly.
    · tarfile.py: Fix reading of xstar archives.
    · #2021: Allow tempfile.NamedTemporaryFile to be used in with statements by correctly supporting the context management protocol.
    · Fixed _ctypes.COMError so that it must be called with exactly three arguments, instances now have the hresult, text, and details instance variables.
    · #1507247, #2004: tarfile.py: Use mode 0700 for temporary directories and default permissions for missing directories.
    · #175006: The debugger used to skip the condition of a "while" statement after the first iteration. Now it correctly steps on the expression, and breakpoints on the "while" statement are honored on each loop.
    · The ctypes int types did not accept objects implementing __int__() in the constructor.
    · #1189216: Fix the zipfile module to work on archives with headers past the 2**31 byte boundary.
    · Issue #1336: fix a race condition in subprocess.Popen if the garbage collector kicked in at the wrong time that would cause the process to hang when the child wrote to stderr.
    · Bug #1687: Fixed plistlib.py restricts to Python int when writing.
    · Issue #1182: many arithmetic bugs in the decimal module have been fixed, and the decimal module has been updated to comply with the latest IBM Decimal Arithmetic specification (version 1.66) and testsuite (version 2.57). (Backported from Python 2.6a0.)
    · Patch #1637: fix urlparse for URLs like 'http://x.com?arg=/foo'.
    · Issue #1735: TarFile.extractall() now correctly sets directory permissions and times.
    · Bug #1713: posixpath.ismount() claims symlink to a mountpoint is a mountpoint.
    · Issue #1700: Regular expression inline flags incorrectly handle certain unicode characters.
    · Change ctypes version number to 1.0.3 (when Python 2.5.2 is released, ctypes 1.0.3 will be also be released).
    · Issue #1695: Fixed typo in the docstrings for time.localtime() and gmtime().
    · Issue #1642: Fix segfault in ctypes when trying to delete attributes.
    · os.access now returns True on Windows for any existing directory.
    · Issue #1531: tarfile.py: Read fileobj from the current offset, do not seek to the start.
    · Issue 1429818: patch for trace and doctest modules so they play nicely together.
    · doctest mis-used __loader__.get_data(), assuming universal newlines was used.
    · Issue #1705170: contextlib.contextmanager was still swallowing StopIteration in some cases. This should no longer happen.
    · Bug #1307: Fix smtpd so it doesn't raise an exception when there is no arg.
    · ctypes will now work correctly on 32-bit systems when Python is configured with --with-system-ffi.
    · Bug #1777530: ctypes.util.find_library uses dump(1) instead of objdump(1) on Solaris.
    · Bug #1153: repr.repr() now doesn't require set and dictionary items to be orderable to properly represent them.
    · Bug #1709599: Run test_1565150 only if the file system is NTFS.
    · When encountering a password-protected robots.txt file the RobotFileParser no longer prompts interactively for a username and password (bug 813986).
    · TarFile.__init__() no longer fails if no name argument is passed and the fileobj argument has no usable name attribute (e.g. StringIO).
    · Reverted the fix for bug #1548891 because it broke compatibility with arbitrary read buffers. Added a note in the documentation.
    · GB18030 codec now can encode additional two-byte characters that are missing in GBK.
    · Bug #1704793: Raise KeyError if unicodedata.lookup cannot represent the result in a single character.
    · Change location of the package index to pypi.python.org/pypi
    · Bug #1701409: Fix a segfault in printing ctypes.c_char_p and ctypes.c_wchar_p when they point to an invalid location. As a sideeffect the representation of these instances has changed.
    · Bug #1734723: Fix repr.Repr() so it doesn't ignore the maxtuple attribute.
    · Bug #1728403: Fix a bug that CJKCodecs StreamReader hangs when it reads a file that ends with incomplete sequence and sizehint argument for .read() is specified.
    · Bug #1730389: Have time.strptime() match spaces in a format argument with ``s `` instead of ``s*``.
    · SF 1668596/1720897: distutils now copies data files even if package_dir is empty.
    · Fix bug in marshal where bad data would cause a segfault due to lack of an infinite recursion check.
    · mailbox.py: Ignore stray directories found in Maildir's cur/new/tmp subdirectories.
    · HTML-escape the plain traceback in cgitb's HTML output, to prevent the traceback inadvertently or maliciously closing the comment and injecting HTML into the error page.
    · Bug #1290505: Properly clear time.strptime's locale cache when the locale changes between calls. Backport of r54646 and r54647.
    · Bug #1706381: Specifying the SWIG option "-c " in the setup.py file (as opposed to the command line) will now write file names ending in ".cpp" too.
    · Patch #1695229: Fix a regression with tarfile.open() and a missing name argument.
    · tarfile.py: Fix directory names to have only one trailing slash.
    · Fix test_pty.py to not hang on OS X (and theoretically other *nixes) when run in verbose mode.
    · Bug #1693258: IDLE would show two "Preferences" menu's with some versions of Tcl/Tk
    · Issue1385: The hmac module now computes the correct hmac when using hashes with a block size other than 64 bytes (such as sha384 and sha512).
    · Issue829951: In the smtplib module, SMTP.starttls() now complies with RFC 3207 and forgets any knowledge obtained from the server not obtained from the TLS negotiation itself. Patch contributed by Bill Fenner.
    · Patch #1736: Fix file name handling of _msi.FCICreate.
    · Backport r59862 (issue #712900): make long regexp matches interruptable.
    · #1940: make it possible to use curses.filter() before curses.initscr() as the documentation says.
    · Fix a potential 'SystemError: NULL result without error' in _ctypes.
    · Bug #1301: Bad assert in _tkinter fixed.
    · Patch #1114: fix curses module compilation on 64-bit AIX, & possibly other 64-bit LP64 platforms where attr_t is not the same size as a long. (Contributed by Luke Mewburn.)
    · Bug #1649098: Avoid declaration of zero-sized array declaration in structure.
    · Bug #1703286: ctypes no longer truncates 64-bit pointers.
    · Bug #1721309: prevent bsddb module from freeing random memory.
    · Bug #1233: fix bsddb.dbshelve.DBShelf append method to work as intended for RECNO databases.
    · Bug #1726026: Correct the field names of WIN32_FIND_DATAA and WIN32_FIND_DATAW structures in the ctypes.wintypes module.
    · Added support for linking the bsddb module against BerkeleyDB 4.6.x.
    · Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*.
    · Build using system ffi library on arm*-linux*.
    · Bug #1372: zlibmodule.c: int overflow in PyZlib_decompress
    · bsddb module: Fix memory leak when using database cursors on databases without a DBEnv.
    · Bug #1637365: add subsection about "__name__ == __main__" to the Python tutorial.
    · Bug #1569057: Document that calling file.next() on a file open for writing has undefined behaviour. Backport of r54712.
    · Have the search path for building extensions follow the declared order in $CPPFLAGS and $LDFLAGS.
    · Bug #1234: Fixed semaphore errors on AIX 5.2
    · Bug #1699: Define _BSD_SOURCE only on OpenBSD.
    · Bug #1608: use -fwrapv when GCC supports it. This is important, newer GCC versions may optimize away overflow buffer overflow checks without this option!
    · Allow simultaneous installation of 32-bit and 64-bit versions on 64-bit Windows systems.
    · Patch #786737: Allow building in a tree of symlinks pointing to a readonly source.
    · Bug #1737210: Change Manufacturer of Windows installer to PSF.
    · Bug #1746880: Correctly install DLLs into system32 folder on Win64.
    · Define _BSD_SOURCE, to get access to POSIX extensions on OpenBSD 4.1 .
    · Patch #1673122: Use an explicit path to libtool when building a framework. This avoids picking up GNU libtool from a users PATH.
    · Allow Emacs 22 for building the documentation in info format.
    · Makefile.pre.in(buildbottest): Run an optional script pybuildbot.identify to include some information about the build environment.




    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM