summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-05-25 09:43:03 (GMT)
committerGeorg Brandl <georg@python.org>2008-05-25 09:43:03 (GMT)
commit52b92cc16b3126c79fa1196954015f7dc4543f54 (patch)
tree39aca628b48e2f6e42cd2d666e7458a78628db6a /Misc
parent1bcf35ae39a7db66666b001252886d82c755110b (diff)
downloadcpython-52b92cc16b3126c79fa1196954015f7dc4543f54.zip
cpython-52b92cc16b3126c79fa1196954015f7dc4543f54.tar.gz
cpython-52b92cc16b3126c79fa1196954015f7dc4543f54.tar.bz2
Refer consistently to issues, rewrap to 70 chars.
Diffstat (limited to 'Misc')
-rw-r--r--Misc/NEWS475
1 files changed, 240 insertions, 235 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index a8da635..f8b7ee0 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,73 +12,78 @@ What's new in Python 3.0b1?
Core and Builtins
-----------------
-- Issue #2963: fix merging oversight that disabled method cache for all types.
+- Issue #2963: fix merging oversight that disabled method cache for
+ all types.
- Issue #2964: fix a missing INCREF in instancemethod_descr_get.
-- Issue 2895: Don't crash when given bytes objects as keyword names.
+- Issue #2895: Don't crash when given bytes objects as keyword names.
-- Issue 2798: When parsing arguments with PyArg_ParseTuple, the "s" code now
- allows any unicode string and returns a utf-8 encoded buffer, just like the
- "s#" code already does. The "z" code was corrected as well.
+- Issue #2798: When parsing arguments with PyArg_ParseTuple, the "s"
+ code now allows any unicode string and returns a utf-8 encoded
+ buffer, just like the "s#" code already does. The "z" code was
+ corrected as well.
-- Issue 2801: fix bug in the float.is_integer method where a ValueError
-
-- Issue #2863: generators now have a ``gen.__name__`` attribute that equals
- ``gen.gi_code.co_name``, like ``func.__name___`` that equals
- ``func.func_code.co_name``. The repr() of a generator now also contains
- this name.
+- Issue #2863: generators now have a ``gen.__name__`` attribute that
+ equals ``gen.gi_code.co_name``, like ``func.__name___`` that equals
+ ``func.func_code.co_name``. The repr() of a generator now also
+ contains this name.
- Issue #2831: enumerate() now has a ``start`` argument.
-- Issue #2801: fix bug in the float.is_integer method where a ValueError
- was sometimes incorrectly raised.
+- Issue #2801: fix bug in the float.is_integer method where a
+ ValueError was sometimes incorrectly raised.
-- The --with-toolbox-glue option (and the associated pymactoolbox.h) have been
- removed.
+- The ``--with-toolbox-glue`` option (and the associated
+ pymactoolbox.h) have been removed.
-- Issue #2196: hasattr now lets exceptions which do not inherit Exception
- (KeyboardInterrupt, and SystemExit) propagate instead of ignoring them
+- Issue #2196: hasattr() now lets exceptions which do not inherit
+ Exception (KeyboardInterrupt, and SystemExit) propagate instead of
+ ignoring them.
Extension Modules
-----------------
- Renamed ``_winreg`` module to ``winreg``.
-- Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the platform.
+- Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the
+ platform.
- Support for Windows 9x has been removed from the winsound module.
-- Fixed #2870: cmathmodule.c compile error.
+- Issue #2870: cmathmodule.c compile error.
Library
-------
-- The repr module has been renamed to reprlib.
+- The ``repr`` module has been renamed to ``reprlib``.
-- The statvfs module has been removed.
+- The ``statvfs`` module has been removed.
-- #1713041: fix pprint's handling of maximum depth.
+- Issue #1713041: fix pprint's handling of maximum depth.
-- #2250: Exceptions raised during evaluation of names in rlcompleter's
- ``Completer.complete()`` method are now caught and ignored.
+- Issue #2250: Exceptions raised during evaluation of names in
+ rlcompleter's ``Completer.complete()`` method are now caught and
+ ignored.
-- #2659: Added ``break_on_hyphens`` option to textwrap TextWrapper class.
+- Patch #2659: Added ``break_on_hyphens`` option to textwrap's
+ ``TextWrapper`` class.
- Issue #2487: change the semantics of math.ldexp(x, n) when n is too
large to fit in a C long. ldexp(x, n) now returns a zero (with
suitable sign) if n is large and negative; previously, it raised
OverflowError.
-- The ConfigParser module has been renamed to configparser.
+- The ``ConfigParser`` module has been renamed to ``configparser``.
-- Issue 2865: webbrowser.open() works again in a KDE environment.
+- Issue #2865: webbrowser.open() works again in a KDE environment.
-- The multifile module has been removed.
+- The ``multifile`` module has been removed.
-- The SocketServer module has been renamed to socketserver.
+- The ``SocketServer`` module has been renamed to ``socketserver``.
-- Fix the __all__ setting on 'collections' to include UserList and UserString.
+- Fixed the ``__all__`` setting on ``collections`` to include
+ ``UserList`` and ``UserString``.
- The sre module has been removed.
@@ -106,11 +111,11 @@ Library
- The imputil module has been removed.
-- os.path.walk has been removed in favor of os.walk
+- os.path.walk has been removed in favor of os.walk.
- pdb gained the "until" command.
-- test.test_support has been renamed test.support
+- The test.test_support module has been renamed to test.support.
Build
-----
@@ -124,22 +129,22 @@ What's New in Python 3.0a5?
Core and Builtins
-----------------
-- Fix misbehaviour of PyLong_FromSsize_t on systems where sizeof(size_t) >
- sizeof(long).
+- Fixed misbehaviour of PyLong_FromSsize_t on systems where
+ sizeof(size_t) > sizeof(long).
-- Issue #2221: Corrected a SystemError "error return without exception set",
- when the code executed by exec() raises an exception, and sys.stdout.flush()
- also raises an error.
+- Issue #2221: Corrected a SystemError "error return without exception
+ set", when the code executed by exec() raises an exception, and
+ sys.stdout.flush() also raises an error.
-- Bug #2565: The repr() of type objects now calls them 'class',
- not 'type' - whether they are builtin types or not.
+- Bug #2565: The repr() of type objects now calls them 'class', not
+ 'type' - whether they are builtin types or not.
- The command line processing was converted to pass Unicode strings
through as unmodified as possible; as a consequence, the C API
related to command line arguments was changed to use wchar_t.
-- All backslashes in raw strings are interpreted literally. This means that
- '\u' and '\U' escapes are not treated specially.
+- All backslashes in raw strings are interpreted literally. This
+ means that '\u' and '\U' escapes are not treated specially.
Extension Modules
-----------------
@@ -147,13 +152,13 @@ Extension Modules
Library
-------
-- ctypes objects now support the PEP3118 buffer interface
+- ctypes objects now support the PEP3118 buffer interface.
- Issue #2682: ctypes callback functions now longer contain a cyclic
reference to themselves.
-- Issue #2058: Remove the buf attribute and add __slots__ to the TarInfo
- class in order to reduce tarfile's memory usage.
+- Issue #2058: Remove the buf attribute and add __slots__ to the
+ TarInfo class in order to reduce tarfile's memory usage.
- Bug #2606: Avoid calling .sort() on a dict_keys object.
@@ -167,13 +172,13 @@ Build
- Issue #1496032: On alpha, use -mieee when gcc is the compiler.
- "make install" is now an alias for "make altinstall", to prevent
- accidentally overwriting a Python 2.x installation.
- Use "make fullinstall" to force Python 3.0 to be installed as
- "python".
+ accidentally overwriting a Python 2.x installation. Use "make
+ fullinstall" to force Python 3.0 to be installed as "python".
- Issue #2544: On HP-UX systems, use 'gcc -shared' for linking when
gcc is used as compiler.
+
What's New in Python 3.0a4?
===========================
@@ -195,9 +200,9 @@ Extension Modules
Library
-------
-- The class distutils.commands.build_py.build_py_2to3 can be used
- as a build_py replacement to automatically run 2to3 on modules
- that are going to be installed.
+- The class distutils.commands.build_py.build_py_2to3 can be used as a
+ build_py replacement to automatically run 2to3 on modules that are
+ going to be installed.
- A new pickle protocol (protocol 3) is added with explicit support
for bytes. This is the default protocol. It intentionally cannot
@@ -212,17 +217,20 @@ Library
more common than binary data anyway.
- Default to ASCII as the locale.getpreferredencoding, if the POSIX
- system doesn't support CODESET and LANG isn't set or doesn't
- allow deduction of an encoding.
+ system doesn't support CODESET and LANG isn't set or doesn't allow
+ deduction of an encoding.
+
+- Issue #1202: zlib.crc32 and zlib.adler32 now return an unsigned
+ value.
-- Issue #1202: zlib.crc32 and zlib.adler32 now return an unsigned value.
+- Issue #719888: Updated tokenize to use a bytes API. generate_tokens
+ has been renamed tokenize and now works with bytes rather than
+ strings. A new detect_encoding function has been added for
+ determining source file encoding according to PEP-0263. Token
+ sequences returned by tokenize always start with an ENCODING token
+ which specifies the encoding used to decode the file. This token is
+ used to encode the output of untokenize back to bytes.
-- Issue #719888: Updated tokenize to use a bytes API. generate_tokens has been
- renamed tokenize and now works with bytes rather than strings. A new
- detect_encoding function has been added for determining source file encoding
- according to PEP-0263. Token sequences returned by tokenize always start
- with an ENCODING token which specifies the encoding used to decode the file.
- This token is used to encode the output of untokenize back to bytes.
What's New in Python 3.0a3?
===========================
@@ -232,84 +240,90 @@ What's New in Python 3.0a3?
Core and Builtins
-----------------
-- Issue #2282: io.TextIOWrapper was not overriding seekable() from io.IOBase.
+- Issue #2282: io.TextIOWrapper was not overriding seekable() from
+ io.IOBase.
-- Issue #2115: Important speedup in setting __slot__ attributes. Also
- prevent a possible crash: an Abstract Base Class would try to access a slot
- on a registered virtual subclass.
+- Issue #2115: Important speedup in setting __slot__ attributes. Also
+ prevent a possible crash: an Abstract Base Class would try to access
+ a slot on a registered virtual subclass.
-- Fixed repr() and str() of complex numbers with infinity or nan as real or
- imaginary part.
+- Fixed repr() and str() of complex numbers with infinity or nan as
+ real or imaginary part.
-- Clear all free list during a gc.collect() of the highest generation in order
- to allow pymalloc to free more arenas. Python may give back memory to the
- OS earlier.
+- Clear all free list during a gc.collect() of the highest generation
+ in order to allow pymalloc to free more arenas. Python may give back
+ memory to the OS earlier.
-- 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 #2045: Fix an infinite recursion triggered when printing a
+ subclass of collections.defaultdict, if its default_factory is set
+ to a bound method.
- Fixed a minor memory leak in dictobject.c. The content of the free
list was not freed on interpreter shutdown.
-- Limit free list of method and builtin function objects to 256 entries
- each.
+- Limit free list of method and builtin function objects to 256
+ entries each.
-- Patch #1953: Added ``sys._compact_freelists()`` and the C API functions
- ``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList``
+- Patch #1953: Added ``sys._compact_freelists()`` and the C API
+ functions ``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList``
to compact the internal free lists of pre-allocted ints and floats.
- Bug #1983: Fixed return type of fork(), fork1() and forkpty() calls.
- Python expected the return type int but the fork familie returns pi_t.
+ Python expected the return type int but the fork familie returns
+ pi_t.
-- Issue #1678380: Fix a bug that identifies 0j and -0j when they appear
- in the same code unit.
+- Issue #1678380: Fix a bug that identifies 0j and -0j when they
+ appear in the same code unit.
-- Issue #2025 : Add tuple.count() and tuple.index() methods to comply with
- the collections.Sequence API.
+- Issue #2025: Added tuple.count() and tuple.index() methods to comply
+ with the collections.Sequence API.
-- Fixed multiple reinitialization of the Python interpreter. The small int
- list in longobject.c has caused a seg fault during the third finalization.
+- Fixed multiple reinitialization of the Python interpreter. The small
+ int list in longobject.c has caused a seg fault during the third
+ finalization.
-- Issue #1973: bytes.fromhex('') raises SystemError
+- Issue #1973: bytes.fromhex('') raised SystemError.
-- Issue #1771: remove cmp parameter from sorted() and list.sort()
+- Issue #1771: remove cmp parameter from sorted() and list.sort().
-- Issue #1969: split and rsplit in bytearray are inconsistent
+- Issue #1969: split and rsplit in bytearray are inconsistent.
-- map() and no longer accepts None for the first argument.
- Use zip() instead.
+- map() no longer accepts None for the first argument. Use zip()
+ instead.
- Issue #1769: Now int("- 1") is not allowed any more.
-- Object/longobject.c: long(float('nan')) raises an OverflowError instead
- of returning 0.
+- Object/longobject.c: long(float('nan')) raises an OverflowError
+ instead of returning 0.
-- Issue #1762972: __file__ points to the source file instead of the pyc/pyo
- file if the py file exists.
+- Issue #1762972: __file__ points to the source file instead of the
+ pyc/pyo file if the py file exists.
- Issue #1393: object_richcompare() returns NotImplemented instead of
False if the objects aren't equal, to give the other side a chance.
- Issue #1692: Interpreter was not displaying location of SyntaxError.
-- Improve some exception messages when Windows fails to load an extension
- module. Now we get for example '%1 is not a valid Win32 application' instead
- of 'error code 193'. Also use Unicode strings to deal with non-English
- locales.
+- Improve some exception messages when Windows fails to load an
+ extension module. Now we get for example '%1 is not a valid Win32
+ application' instead of 'error code 193'. Also use Unicode strings
+ to deal with non-English locales.
-- Issue #1587: Added instancemethod wrapper for PyCFunctions. The Python C API
- has gained a new type *PyInstanceMethod_Type* and the functions
- *PyInstanceMethod_Check(o)*, *PyInstanceMethod_New(func)* and
- *PyInstanceMethod_Function(im)*.
+- Issue #1587: Added instancemethod wrapper for PyCFunctions. The
+ Python C API has gained a new type *PyInstanceMethod_Type* and the
+ functions *PyInstanceMethod_Check(o)*, *PyInstanceMethod_New(func)*
+ and *PyInstanceMethod_Function(im)*.
-- Constants gc.DEBUG_OBJECT and gc.DEBUG_INSTANCE have been removed from the
- gc module; gc.DEBUG_COLLECTABLE or gc.DEBUG_UNCOLLECTABLE are now enough to
- print the corresponding list of objects considered by the garbage collector.
+- Constants gc.DEBUG_OBJECT and gc.DEBUG_INSTANCE have been removed
+ from the gc module; gc.DEBUG_COLLECTABLE or gc.DEBUG_UNCOLLECTABLE
+ are now enough to print the corresponding list of objects considered
+ by the garbage collector.
-- Issue #1573: Improper use of the keyword-only syntax makes the parser crash.
+- Issue #1573: Improper use of the keyword-only syntax makes the
+ parser crash.
-- Issue #1564: The set implementation should special-case PyUnicode instead
- of PyString.
+- Issue #1564: The set implementation should special-case PyUnicode
+ instead of PyString.
- Patch #1031213: Decode source line in SyntaxErrors back to its
original source encoding.
@@ -319,34 +333,34 @@ Core and Builtins
- Bug #1713: posixpath.ismount() claims symlink to a mountpoint is a
mountpoint.
-- Fix utf-8-sig incremental decoder, which didn't recognise a BOM when the
- first chunk fed to the decoder started with a BOM, but was longer than 3
- bytes.
-
+- Fix utf-8-sig incremental decoder, which didn't recognise a BOM when
+ the first chunk fed to the decoder started with a BOM, but was
+ longer than 3 bytes.
Extension Modules
-----------------
-- Code for itertools ifilter(), imap(), and izip() moved to bultins and
- renamed to filter(), map(), and zip(). Also, renamed izip_longest()
- to zip_longest() and ifilterfalse() to filterfalse().
-
-- Issue #1762972: Readded the reload() function as imp.reload()
+- Code for itertools ifilter(), imap(), and izip() moved to bultins
+ and renamed to filter(), map(), and zip(). Also, renamed
+ izip_longest() to zip_longest() and ifilterfalse() to filterfalse().
-- Bug #2111: mmap segfaults when trying to write a block opened with PROT_READ
+- Issue #1762972: Readded the reload() function as imp.reload().
-- #2063: correct order of utime and stime in os.times() result on Windows.
+- Bug #2111: mmap segfaults when trying to write a block opened with
+ PROT_READ.
+- Issue #2063: correct order of utime and stime in os.times() result
+ on Windows.
Library
-------
- Weakref dictionaries now inherit from MutableMapping.
- XXX their API still needs to be modernized (i.e. eliminate the iter methods).
-- Created new UserDict class in collections module. This one inherits from and
- complies with the MutableMapping ABC. Also, moved UserString and UserList
- to the collections module. The MutableUserString class was removed.
+- Created new UserDict class in collections module. This one inherits
+ from and complies with the MutableMapping ABC. Also, moved
+ UserString and UserList to the collections module. The
+ MutableUserString class was removed.
- Removed UserDict.DictMixin. Replaced all its uses with
collections.MutableMapping.
@@ -360,9 +374,8 @@ Library
Build
-----
-- Renamed --enable-unicode configure flag to --with-wide-unicode, since
- Unicode strings can't be disabled anymore.
-
+- Renamed --enable-unicode configure flag to --with-wide-unicode,
+ since Unicode strings can't be disabled anymore.
C API
-----
@@ -370,8 +383,9 @@ C API
- Issue #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE,
Py_TYPE and Py_REFCNT.
-- New API PyImport_ImportModuleNoBlock(), works like PyImport_ImportModule()
- but won't block on the import lock (returning an error instead).
+- New API PyImport_ImportModuleNoBlock(), works like
+ PyImport_ImportModule() but won't block on the import lock
+ (returning an error instead).
What's New in Python 3.0a2?
@@ -386,14 +400,14 @@ Core and Builtins
- str8 now has the same construction signature as bytes.
-- Comparisons between str and str8 now return False/True for ==/!=. sqlite3
- returns str8 when recreating on object from it's __conform__ value. The
- struct module returns str8 for all string-related formats. This was true
- before this change, but becomes more apparent thanks to string comparisons
- always being False.
+- Comparisons between str and str8 now return False/True for ==/!=.
+ sqlite3 returns str8 when recreating on object from it's __conform__
+ value. The struct module returns str8 for all string-related
+ formats. This was true before this change, but becomes more
+ apparent thanks to string comparisons always being False.
-- Replaced `PyFile_FromFile()` with `PyFile_FromFd(fd, name. mode, buffer,
- encoding, newline)`
+- Replaced `PyFile_FromFile()` with `PyFile_FromFd(fd, name. mode,
+ buffer, encoding, newline)`.
- Fixed `imp.find_module()` to obey the -*- coding: -*- header.
@@ -401,55 +415,55 @@ Core and Builtins
with `Py_FileSystemDefaultEncoding` and a new API method
`PyUnicode_DecodeFSDefault(char*)` was added.
-- io.open() and _fileio.FileIO have grown a new argument closefd. A false
- value disables the closing of the file descriptor.
+- io.open() and _fileio.FileIO have grown a new argument closefd. A
+ false value disables the closing of the file descriptor.
-- Added a new option -b to issues warnings (-bb for errors) about certain
- operations between bytes/buffer and str like str(b'') and comparsion.
+- Added a new option -b to issues warnings (-bb for errors) about
+ certain operations between bytes/buffer and str like str(b'') and
+ comparison.
-- The standards streams sys.stdin, stdout and stderr may be None when the
- when the C runtime library returns an invalid file descriptor for the
- streams (fileno(stdin) < 0). For now this happens only for Windows GUI
- apps and scripts started with `pythonw.exe`.
+- The standards streams sys.stdin, stdout and stderr may be None when
+ the when the C runtime library returns an invalid file descriptor
+ for the streams (fileno(stdin) < 0). For now this happens only for
+ Windows GUI apps and scripts started with `pythonw.exe`.
- Added PCbuild9 directory for VS 2008.
-- Renamed structmember.h WRITE_RESTRICTED to PY_WRITE_RESTRICTED to work
- around a name clash with VS 2008 on Windows.
+- Renamed structmember.h WRITE_RESTRICTED to PY_WRITE_RESTRICTED to
+ work around a name clash with VS 2008 on Windows.
-- Unbound methods are gone for good. ClassObject.method returns an ordinary
- function object, instance.method still returns a bound method object.
- The API of bound methods is cleaned up, too. The im_class attribute is
- removed and im_func + im_self are renamed to __func__ and __self__. The
- factory PyMethod_New takes only func and instance as argument.
+- Unbound methods are gone for good. ClassObject.method returns an
+ ordinary function object, instance.method still returns a bound
+ method object. The API of bound methods is cleaned up, too. The
+ im_class attribute is removed and im_func + im_self are renamed to
+ __func__ and __self__. The factory PyMethod_New takes only func and
+ instance as argument.
-- intobject.h is no longer included by Python.h. The remains were moved
- to longobject.h. It still exists to define several aliases from PyInt_
- to PyLong_ functions.
+- intobject.h is no longer included by Python.h. The remains were
+ moved to longobject.h. It still exists to define several aliases
+ from PyInt_ to PyLong_ functions.
- Removed sys.maxint, use sys.maxsize instead.
-
Extension Modules
-----------------
- The `hotshot` profiler has been removed; use `cProfile` instead.
-
Library
-------
-- When loading an external file using testfile(), the passed-in encoding
- argument was being ignored if __loader__ is defined and forcing the source to
- be UTF-8.
+- When loading an external file using testfile(), the passed-in
+ encoding argument was being ignored if __loader__ is defined and
+ forcing the source to be UTF-8.
-- The methods `os.tmpnam()`, `os.tempnam()` and `os.tmpfile()` have been
- removed in favor of the tempfile module.
+- The methods `os.tmpnam()`, `os.tempnam()` and `os.tmpfile()` have
+ been removed in favor of the tempfile module.
- Removed the 'new' module.
-- Removed all types from the 'types' module that are easily accessable through
- builtins.
+- Removed all types from the 'types' module that are easily accessable
+ through builtins.
What's New in Python 3.0a1?
@@ -469,9 +483,9 @@ Core and Builtins
- Removed the __oct__ and __hex__ special methods and added a bin()
builtin function.
-- PEP 3127: octal literals now start with "0o". Old-style octal literals
- are invalid. There are binary literals with a prefix of "0b".
- This also affects int(x, 0).
+- PEP 3127: octal literals now start with "0o". Old-style octal
+ literals are invalid. There are binary literals with a prefix of
+ "0b". This also affects int(x, 0).
- None, True, False are now keywords.
@@ -481,54 +495,57 @@ Core and Builtins
- Remove tuple parameter unpacking (PEP 3113).
-- Remove the f_restricted attribute from frames. This naturally leads to the
- removal of PyEval_GetRestricted() and PyFrame_IsRestricted().
+- Remove the f_restricted attribute from frames. This naturally leads
+ to the removal of PyEval_GetRestricted() and PyFrame_IsRestricted().
-- PEP 3132 was accepted. That means that you can do ``a, *b = range(5)``
- to assign 0 to a and [1, 2, 3, 4] to b.
+- PEP 3132 was accepted. That means that you can do ``a, *b =
+ range(5)`` to assign 0 to a and [1, 2, 3, 4] to b.
-- range() now returns an iterator rather than a list. Floats are not allowed.
- xrange() is no longer defined.
+- range() now returns an iterator rather than a list. Floats are not
+ allowed. xrange() is no longer defined.
- Patch #1660500: hide iteration variable in list comps, add set comps
- and use common code to handle compilation of iterative expressions
+ and use common code to handle compilation of iterative expressions.
- By default, != returns the opposite of ==, unless the latter returns
NotImplemented.
-- Patch #1680961: sys.exitfunc has been removed and replaced with a private
- C-level API.
+- Patch #1680961: sys.exitfunc has been removed and replaced with a
+ private C-level API.
- PEP 3115: new metaclasses: the metaclass is now specified as a
- keyword arg in the class statement, which can now use the full syntax of
- a parameter list. Also, the metaclass can implement a __prepare__ function
- which will be called to create the dictionary for the new class namespace.
+ keyword arg in the class statement, which can now use the full
+ syntax of a parameter list. Also, the metaclass can implement a
+ __prepare__ function which will be called to create the dictionary
+ for the new class namespace.
- The long-deprecated argument "pend" of PyFloat_FromString() has been
removed.
- The dir() function has been extended to call the __dir__() method on
- its argument, if it exists. If not, it will work like before. This allows
- customizing the output of dir() in the presence of a __getattr__().
+ its argument, if it exists. If not, it will work like before. This
+ allows customizing the output of dir() in the presence of a
+ __getattr__().
- Removed support for __members__ and __methods__.
- Removed indexing/slicing on BaseException.
- input() became raw_input(): the name input() now implements the
- functionality formerly known as raw_input(); the name raw_input()
- is no longer defined.
+ functionality formerly known as raw_input(); the name raw_input() is
+ no longer defined.
-- Classes listed in an 'except' clause must inherit from BaseException.
+- Classes listed in an 'except' clause must inherit from
+ BaseException.
- PEP 3106: dict.iterkeys(), .iteritems(), .itervalues() are now gone;
and .keys(), .items(), .values() return dict views, which behave
like sets.
- PEP 3105: print is now a function. Also (not in the PEP) the
- 'softspace' attribute of files is now gone (since print() doesn't use
- it). A side effect of this change is that you can get incomplete
- output lines in interactive sessions:
+ 'softspace' attribute of files is now gone (since print() doesn't
+ use it). A side effect of this change is that you can get
+ incomplete output lines in interactive sessions:
>>> print(42, end="")
42>>>
@@ -537,16 +554,16 @@ Core and Builtins
- PEP 3102: keyword-only arguments.
-- Int/Long unification is complete. The 'long' built-in type
- and literals with trailing 'L' or 'l' have been removed.
- Performance may be sub-optimal (haven't really benchmarked).
+- Int/Long unification is complete. The 'long' built-in type and
+ literals with trailing 'L' or 'l' have been removed. Performance
+ may be sub-optimal (haven't really benchmarked).
- 'except E, V' must now be spelled as 'except E as V' and deletes V
at the end of the except clause; V must be a simple name.
- Added function annotations per PEP 3107.
-- Added nonlocal declaration from PEP 3104
+- Added nonlocal declaration from PEP 3104:
>>> def f(x):
... def inc():
@@ -585,27 +602,23 @@ Core and Builtins
- Absolute import is the default behavior for 'import foo' etc.
-- Removed support for syntax:
- backticks (ie, `x`), <>
+- Removed support for syntax: backticks (ie, `x`), <>.
-- Removed these Python builtins:
- apply(), callable(), coerce(), execfile(), file(), reduce(), reload()
+- Removed these Python builtins: apply(), callable(), coerce(),
+ execfile(), file(), reduce(), reload().
-- Removed these Python methods:
- {}.has_key
+- Removed these Python methods: {}.has_key.
-- Removed these opcodes:
- BINARY_DIVIDE, INPLACE_DIVIDE, UNARY_CONVERT
+- Removed these opcodes: BINARY_DIVIDE, INPLACE_DIVIDE, UNARY_CONVERT.
- Remove C API support for restricted execution.
- zip(), map() and filter() now return iterators, behaving like their
- itertools counterparts. This also affect map()'s behavior on
+ itertools counterparts. This also affect map()'s behavior on
sequences of unequal length -- it now stops after the shortest one
is exhausted.
-- Additions:
- set literals, set comprehensions, ellipsis literal.
+- Additions: set literals, set comprehensions, ellipsis literal.
- Added class decorators per PEP 3129.
@@ -613,85 +626,77 @@ Core and Builtins
Extension Modules
-----------------
-- Remove the imageop module. Obsolete long with its unit tests becoming
- useless from the removal of rgbimg and imgfile.
+- Removed the imageop module. Obsolete long with its unit tests
+ becoming useless from the removal of rgbimg and imgfile.
+
+- Removed these attributes from the operator module: div, idiv,
+ __div__, __idiv__, isCallable, sequenceIncludes.
-- Removed these attributes from Python modules:
- * operator module: div, idiv, __div__, __idiv__, isCallable, sequenceIncludes
- * sys module: exc_clear(), exc_type, exc_value, exc_traceback
+- Removed these attributes from the sys module: exc_clear(), exc_type,
+ exc_value, exc_traceback.
Library
-------
-- Remove the compiler package. Use of the _ast module and (an eventual)
- AST -> bytecode mechanism.
+- Removed the compiler package. Use of the _ast module and (an
+ eventual) AST -> bytecode mechanism.
-- Removed these modules:
- * audiodev, Bastion, bsddb185, exceptions, linuxaudiodev,
- md5, MimeWriter, mimify, popen2,
- rexec, sets, sha, stringold, strop, sunaudiodev, timing, xmllib.
+- Removed these modules: audiodev, Bastion, bsddb185, exceptions,
+ linuxaudiodev, md5, MimeWriter, mimify, popen2, rexec, sets, sha,
+ stringold, strop, sunaudiodev, timing, xmllib.
-- Moved these modules to Tools/Demos:
- * toaiff
+- Moved the toaiff module to Tools/Demos.
-- Remove obsolete IRIX modules: al/AL, cd/CD, cddb, cdplayer, cl/CL, DEVICE,
- ERRNO, FILE, fl/FL, flp, fm, GET, gl/GL, GLWS, IN, imgfile, IOCTL, jpeg,
- panel, panelparser, readcd, sgi, sv/SV, torgb, WAIT.
+- Removed obsolete IRIX modules: al/AL, cd/CD, cddb, cdplayer, cl/CL,
+ DEVICE, ERRNO, FILE, fl/FL, flp, fm, GET, gl/GL, GLWS, IN, imgfile,
+ IOCTL, jpeg, panel, panelparser, readcd, sgi, sv/SV, torgb, WAIT.
-- Remove obsolete functions:
- * commands.getstatus(), os.popen*,
+- Removed obsolete functions: commands.getstatus(), os.popen*().
-- Remove functions in the string module that are also string methods;
+- Removed functions in the string module that are also string methods;
Remove string.{letters, lowercase, uppercase}.
-- Remove support for long obsolete platforms: plat-aix3, plat-irix5.
+- Removed support for long obsolete platforms: plat-aix3, plat-irix5.
-- Remove xmlrpclib.SlowParser. It was based on xmllib.
+- Removed xmlrpclib.SlowParser. It was based on xmllib.
- Patch #1680961: atexit has been reimplemented in C.
- Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE.
-
Build
-----
C API
-----
-- Removed these Python slots:
- __coerce__, __div__, __idiv__, __rdiv__
-
-- Removed these C APIs:
- PyNumber_Coerce(), PyNumber_CoerceEx(), PyMember_Get, PyMember_Set
+- Removed these Python slots: __coerce__, __div__, __idiv__, __rdiv__.
-- Removed these C slots/fields:
- nb_divide, nb_inplace_divide
+- Removed these C APIs: PyNumber_Coerce(), PyNumber_CoerceEx(),
+ PyMember_Get, PyMember_Set.
-- Removed these macros:
- staticforward, statichere, PyArg_GetInt, PyArg_NoArgs, _PyObject_Del
+- Removed these C slots/fields: nb_divide, nb_inplace_divide.
-- Removed these typedefs:
- intargfunc, intintargfunc, intobjargproc, intintobjargproc,
- getreadbufferproc, getwritebufferproc, getsegcountproc, getcharbufferproc,
- memberlist
+- Removed these macros: staticforward, statichere, PyArg_GetInt,
+ PyArg_NoArgs, _PyObject_Del.
+- Removed these typedefs: intargfunc, intintargfunc, intobjargproc,
+ intintobjargproc, getreadbufferproc, getwritebufferproc,
+ getsegcountproc, getcharbufferproc, memberlist.
Tests
-----
- Removed test.testall as test.regrtest replaces it.
-
Documentation
-------------
Mac
---
-- The cfmfile was removed.
-
+- The cfmfile module was removed.
Platforms
---------
@@ -700,8 +705,8 @@ Platforms
- Support for RiscOS, Irix, Tru64 was removed (alledgedly).
-
Tools/Demos
-----------
+
**(For information about older versions, consult the HISTORY file.)**