2002-02-27 18:02:11 -05:00
|
|
|
|
PEP: 283
|
|
|
|
|
Title: Python 2.3 Release Schedule
|
|
|
|
|
Version: $Revision$
|
2002-05-28 11:54:45 -04:00
|
|
|
|
Author: Guido van Rossum
|
2003-07-29 00:25:02 -04:00
|
|
|
|
Status: Final
|
2002-02-27 18:02:11 -05:00
|
|
|
|
Type: Informational
|
|
|
|
|
Created: 27-Feb-2002
|
|
|
|
|
Python-Version: 2.3
|
|
|
|
|
Post-History: 27-Feb-2002
|
|
|
|
|
|
|
|
|
|
Abstract
|
|
|
|
|
|
2002-05-28 11:54:45 -04:00
|
|
|
|
This document describes the development and release schedule for
|
|
|
|
|
Python 2.3. The schedule primarily concerns itself with PEP-sized
|
2003-02-19 14:36:27 -05:00
|
|
|
|
items. Small features may be added up to and including the first
|
|
|
|
|
beta release. Bugs may be fixed until the final release.
|
2002-02-27 18:02:11 -05:00
|
|
|
|
|
2002-05-28 11:54:45 -04:00
|
|
|
|
There will be at least two alpha releases, two beta releases, and
|
|
|
|
|
one release candidate. Alpha and beta releases will be spaced at
|
|
|
|
|
least 4 weeks apart (except if an emergency release must be made
|
|
|
|
|
to correct a blunder in the previous release; then the blunder
|
|
|
|
|
release does not count). Release candidates will be spaced at
|
|
|
|
|
least one week apart (excepting again blunder corrections).
|
2002-05-24 20:19:11 -04:00
|
|
|
|
|
2003-07-19 22:48:58 -04:00
|
|
|
|
alpha 1 -- 31 Dec 2002
|
|
|
|
|
alpha 2 -- 19 Feb 2003
|
2003-07-19 23:02:22 -04:00
|
|
|
|
beta 1 -- 25 Apr 2003
|
2003-07-19 22:48:58 -04:00
|
|
|
|
beta 2 -- 29 Jun 2003
|
|
|
|
|
candidate 1 -- 18 Jul 2003
|
2003-07-24 23:06:46 -04:00
|
|
|
|
candidate 2 -- 24 Jul 2003
|
|
|
|
|
final -- 29 Jul 2003
|
2003-01-06 21:23:50 -05:00
|
|
|
|
|
2002-02-27 18:02:11 -05:00
|
|
|
|
Release Manager
|
|
|
|
|
|
2003-07-19 22:48:58 -04:00
|
|
|
|
Barry Warsaw, Jeremy Hylton, Tim Peters
|
2002-05-28 11:54:45 -04:00
|
|
|
|
|
2002-02-27 18:02:11 -05:00
|
|
|
|
|
2002-08-15 12:50:55 -04:00
|
|
|
|
Completed features for 2.3
|
|
|
|
|
|
2002-11-14 12:05:36 -05:00
|
|
|
|
This list is not complete. See Doc/whatsnew/whatsnew23.tex in CVS
|
|
|
|
|
for more, and of course Misc/NEWS for the full list.
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
2002-12-24 13:22:13 -05:00
|
|
|
|
- Tk 8.4 update.
|
|
|
|
|
|
2002-11-14 12:05:36 -05:00
|
|
|
|
- The bool type and its constants, True and False (PEP 285).
|
|
|
|
|
|
|
|
|
|
- PyMalloc was greatly enhanced and is enabled by default.
|
|
|
|
|
|
|
|
|
|
- Universal newline support (PEP 278).
|
|
|
|
|
|
|
|
|
|
- PEP 263 Defining Python Source Code Encodings Lemburg
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
|
|
|
|
Implemented (at least phase 1, which is all that's planned for
|
|
|
|
|
2.3).
|
|
|
|
|
|
|
|
|
|
- Extended slice notation for all built-in sequences. The patch
|
|
|
|
|
by Michael Hudson is now all checked in.
|
|
|
|
|
|
|
|
|
|
- Speed up list iterations by filling tp_iter and other tweaks.
|
|
|
|
|
See http://www.python.org/sf/560736; also done for xrange and
|
|
|
|
|
tuples.
|
|
|
|
|
|
|
|
|
|
- Timeout sockets. http://www.python.org/sf/555085
|
|
|
|
|
|
|
|
|
|
- Stage B0 of the int/long integration (PEP 237). This means
|
|
|
|
|
issuing a FutureWarning about situations where hex or oct
|
|
|
|
|
conversions or left shifts returns a different value for an int
|
|
|
|
|
than for a long with the same value. The semantics do *not*
|
|
|
|
|
change in Python 2.3; that will happen in Python 2.4.
|
|
|
|
|
|
|
|
|
|
- Nuke SET_LINENO from all code objects (providing a different way
|
|
|
|
|
to set debugger breakpoints). This can boost pystone by >5%.
|
|
|
|
|
http://www.python.org/sf/587993, now checked in. (Unfortunately
|
|
|
|
|
the pystone boost didn't happen. What happened?)
|
|
|
|
|
|
|
|
|
|
- Write a pymemcompat.h that people can bundle with their
|
|
|
|
|
extensions and then use the 2.3 memory interface with all
|
|
|
|
|
Pythons in the range 1.5.2 to 2.3. (Michael Hudson checked in
|
|
|
|
|
Misc/pymemcompat.h.)
|
|
|
|
|
|
|
|
|
|
- Add a new concept, "pending deprecation", with associated
|
|
|
|
|
warning PendingDeprecationWarning. This warning is normally
|
2003-04-25 15:04:27 -04:00
|
|
|
|
suppressed, but can be enabled by a suitable -W option. Only a
|
|
|
|
|
few things use this at this time.
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
|
|
|
|
- Warn when an extension type's tp_compare returns anything except
|
2003-07-19 22:48:58 -04:00
|
|
|
|
-1, 0 or 1. http://www.python.org/sf/472523
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
2002-08-15 22:31:08 -04:00
|
|
|
|
- Warn for assignment to None (in various forms).
|
|
|
|
|
|
2002-08-19 13:44:50 -04:00
|
|
|
|
- PEP 218 Adding a Built-In Set Object Type Wilson
|
|
|
|
|
|
|
|
|
|
Alex Martelli contributed a new version of Greg Wilson's
|
|
|
|
|
prototype, and I've reworked that quite a bit. It's in the
|
|
|
|
|
standard library now as the module "sets", although some details
|
|
|
|
|
may still change until the first beta release. (There are no
|
|
|
|
|
plans to make this a built-in type, for now.)
|
|
|
|
|
|
2002-09-02 10:14:49 -04:00
|
|
|
|
- PEP 293 Codec error handling callbacks D<>rwald
|
|
|
|
|
|
|
|
|
|
Fully implemented. Error handling in unicode.encode or
|
|
|
|
|
str.decode can now be customized.
|
|
|
|
|
|
2002-11-14 12:05:36 -05:00
|
|
|
|
- PEP 282 A Logging System Mick
|
|
|
|
|
|
|
|
|
|
Vinay Sajip's implementation has been packagized and imported.
|
|
|
|
|
(Documentation and unit tests still pending.)
|
|
|
|
|
http://www.python.org/sf/578494
|
|
|
|
|
|
2002-11-14 14:56:53 -05:00
|
|
|
|
- A modified MRO (Method Resolution Order) algorithm. Consensus
|
|
|
|
|
is that we should adopt C3. Samuele Pedroni has contributed a
|
|
|
|
|
draft implementation in C, see http://www.python.org/sf/619475
|
|
|
|
|
This has now been checked in.
|
|
|
|
|
|
2002-12-24 13:46:20 -05:00
|
|
|
|
- A new command line option parser. Greg Ward's Optik package
|
2003-04-25 15:22:25 -04:00
|
|
|
|
(http://optik.sf.net) has been adopted, converted to a single
|
2002-12-24 13:46:20 -05:00
|
|
|
|
module named optparse. See also
|
|
|
|
|
http://www.python.org/sigs/getopt-sig/
|
|
|
|
|
|
|
|
|
|
- A standard datetime type. This started as a wiki:
|
2002-12-30 12:30:25 -05:00
|
|
|
|
http://www.zope.org/Members/fdrake/DateTimeWiki/FrontPage . A
|
2002-12-24 13:46:20 -05:00
|
|
|
|
prototype was coded in nondist/sandbox/datetime/. Tim Peters
|
2003-04-25 15:22:25 -04:00
|
|
|
|
has finished the C implementation and checked it in.
|
2002-12-24 13:46:20 -05:00
|
|
|
|
|
2003-01-06 13:58:25 -05:00
|
|
|
|
- PEP 273 Import Modules from Zip Archives Ahlstrom
|
|
|
|
|
|
|
|
|
|
Implemented as a part of the PEP 302 implementation work.
|
|
|
|
|
|
|
|
|
|
- PEP 302 New Import Hooks JvR
|
|
|
|
|
|
|
|
|
|
Implemented (though the 2.3a1 release contained some bugs that
|
|
|
|
|
have been fixed post-release).
|
|
|
|
|
|
2003-02-19 14:10:33 -05:00
|
|
|
|
- A new pickling protocol. See PEP 307.
|
|
|
|
|
|
2003-04-17 13:31:58 -04:00
|
|
|
|
- PEP 305 (CSV File API, by Skip Montanaro et al.) is in; this is
|
2003-04-25 15:22:25 -04:00
|
|
|
|
the csv module.
|
2003-04-17 13:31:58 -04:00
|
|
|
|
|
|
|
|
|
- Raymond Hettinger's itertools module is in.
|
|
|
|
|
|
2003-04-25 15:22:25 -04:00
|
|
|
|
- PEP 311 (Simplified GIL Acquisition for Extensions, by Mark
|
|
|
|
|
Hammond) has been included in beta 1.
|
|
|
|
|
|
2003-04-25 16:13:53 -04:00
|
|
|
|
- Two new PyArg_Parse*() format codes, 'k' returns an unsigned C
|
|
|
|
|
long int that receives the lower LONG_BIT bits of the Python
|
|
|
|
|
argument, truncating without range checking. 'K' returns an
|
|
|
|
|
unsigned C long long int that receives the lower LONG_LONG_BIT
|
|
|
|
|
bits, truncating without range checking. (SF 595026; Thomas
|
2003-04-25 15:22:25 -04:00
|
|
|
|
Heller did this work.)
|
|
|
|
|
|
2003-07-19 22:48:58 -04:00
|
|
|
|
- A new version of IDLE was imported from the IDLEfork project
|
2003-06-29 15:01:15 -04:00
|
|
|
|
(http://idlefork.sf.net). The code now lives in the idlelib
|
|
|
|
|
package in the standard library and the idle script is installed
|
|
|
|
|
by setup.py.
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
2002-02-27 18:02:11 -05:00
|
|
|
|
Planned features for 2.3
|
|
|
|
|
|
2003-07-19 22:48:58 -04:00
|
|
|
|
Too late for anything more to get done here.
|
2003-02-26 09:58:11 -05:00
|
|
|
|
|
2002-12-24 13:22:13 -05:00
|
|
|
|
|
2003-01-06 13:58:25 -05:00
|
|
|
|
Ongoing tasks
|
2002-12-24 13:22:13 -05:00
|
|
|
|
|
2003-01-06 13:58:25 -05:00
|
|
|
|
The following are ongoing TO-DO items which we should attempt to
|
|
|
|
|
work on without hoping for completion by any particular date.
|
2002-05-28 11:54:45 -04:00
|
|
|
|
|
|
|
|
|
- Documentation: complete the distribution and installation
|
|
|
|
|
manuals.
|
|
|
|
|
|
|
|
|
|
- Documentation: complete the documentation for new-style
|
|
|
|
|
classes.
|
|
|
|
|
|
2003-04-25 15:22:25 -04:00
|
|
|
|
- Look over the Demos/ directory and update where required (Andrew
|
|
|
|
|
Kuchling has done a lot of this)
|
2002-05-28 11:54:45 -04:00
|
|
|
|
|
|
|
|
|
- New tests.
|
|
|
|
|
|
|
|
|
|
- Fix doc bugs on SF.
|
|
|
|
|
|
|
|
|
|
- Remove use of deprecated features in the core.
|
|
|
|
|
|
2002-08-15 12:50:55 -04:00
|
|
|
|
- Document deprecated features appropriately.
|
2002-05-28 11:54:45 -04:00
|
|
|
|
|
2002-12-24 13:46:20 -05:00
|
|
|
|
- Mark deprecated C APIs with Py_DEPRECATED.
|
2002-05-28 11:54:45 -04:00
|
|
|
|
|
|
|
|
|
- Deprecate modules which are unmaintained, or perhaps make a new
|
|
|
|
|
category for modules 'Unmaintained'
|
2002-02-27 18:02:11 -05:00
|
|
|
|
|
2002-05-28 11:54:45 -04:00
|
|
|
|
- In general, lots of cleanup so it is easier to move forward.
|
2002-02-27 18:02:11 -05:00
|
|
|
|
|
|
|
|
|
|
2003-02-01 14:02:10 -05:00
|
|
|
|
Open issues
|
|
|
|
|
|
|
|
|
|
There are some issues that may need more work and/or thought
|
|
|
|
|
before the final release (and preferably before the first beta
|
2003-07-24 23:12:57 -04:00
|
|
|
|
release): No issues remaining.
|
2003-07-19 22:48:58 -04:00
|
|
|
|
|
2003-04-17 13:31:58 -04:00
|
|
|
|
|
2003-07-19 22:48:58 -04:00
|
|
|
|
Features that did not make it into Python 2.3
|
2003-04-17 13:31:58 -04:00
|
|
|
|
|
2003-07-19 22:48:58 -04:00
|
|
|
|
- The import lock could use some redesign. (SF 683658.)
|
2003-04-17 13:31:58 -04:00
|
|
|
|
|
2003-02-01 14:02:10 -05:00
|
|
|
|
- Set API issues; is the sets module perfect?
|
|
|
|
|
|
|
|
|
|
I expect it's good enough to stop polishing it until we've had
|
|
|
|
|
more widespread user experience.
|
|
|
|
|
|
|
|
|
|
- A nicer API to open text files, replacing the ugly (in some
|
|
|
|
|
people's eyes) "U" mode flag. There's a proposal out there to
|
|
|
|
|
have a new built-in type textfile(filename, mode, encoding).
|
|
|
|
|
(Shouldn't it have a bufsize argument too?)
|
|
|
|
|
|
|
|
|
|
Ditto.
|
|
|
|
|
|
|
|
|
|
- New widgets for Tkinter???
|
|
|
|
|
|
|
|
|
|
Has anyone gotten the time for this? *Are* there any new
|
|
|
|
|
widgets in Tk 8.4? Note that we've got better Tix support
|
|
|
|
|
already (though not on Windows yet).
|
|
|
|
|
|
2003-04-17 13:31:58 -04:00
|
|
|
|
- Fredrik Lundh's basetime proposal:
|
|
|
|
|
http://effbot.org/ideas/time-type.htm
|
2003-02-01 14:02:10 -05:00
|
|
|
|
|
2003-04-17 13:31:58 -04:00
|
|
|
|
I believe this is dead now.
|
|
|
|
|
|
|
|
|
|
- PEP 304 (Controlling Generation of Bytecode Files by Montanaro)
|
|
|
|
|
seems to have lost steam.
|
|
|
|
|
|
|
|
|
|
- For a class defined inside another class, the __name__ should be
|
|
|
|
|
"outer.inner", and pickling should work. (SF 633930. I'm no
|
|
|
|
|
longer certain this is easy or even right.)
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
2003-02-01 14:02:10 -05:00
|
|
|
|
- reST is going to be used a lot in Zope3. Maybe it could become
|
|
|
|
|
a standard library module? (Since reST's author thinks it's too
|
|
|
|
|
instable, I'm inclined not to do this.)
|
|
|
|
|
|
2002-12-24 13:46:20 -05:00
|
|
|
|
- Decide on a clearer deprecation policy (especially for modules)
|
|
|
|
|
and act on it. For a start, see this message from Neil Norwitz:
|
|
|
|
|
http://mail.python.org/pipermail/python-dev/2002-April/023165.html
|
|
|
|
|
There seems insufficient interest in moving this further in an
|
|
|
|
|
organized fashion, and it's not particularly important.
|
|
|
|
|
|
|
|
|
|
- Provide alternatives for common uses of the types module;
|
|
|
|
|
Skip Montanaro has posted a proto-PEP for this idea:
|
|
|
|
|
http://mail.python.org/pipermail/python-dev/2002-May/024346.html
|
|
|
|
|
There hasn't been any progress on this, AFAICT.
|
|
|
|
|
|
|
|
|
|
- Use pending deprecation for the types and string modules. This
|
|
|
|
|
requires providing alternatives for the parts that aren't
|
|
|
|
|
covered yet (e.g. string.whitespace and types.TracebackType).
|
|
|
|
|
It seems we can't get consensus on this.
|
|
|
|
|
|
|
|
|
|
- Deprecate the buffer object.
|
|
|
|
|
http://mail.python.org/pipermail/python-dev/2002-July/026388.html
|
|
|
|
|
http://mail.python.org/pipermail/python-dev/2002-July/026408.html
|
|
|
|
|
It seems that this is never going to be resolved.
|
|
|
|
|
|
|
|
|
|
- PEP 269 Pgen Module for Python Riehl
|
|
|
|
|
|
2003-04-17 13:31:58 -04:00
|
|
|
|
(Some necessary changes are in; the pgen module itself needs to
|
|
|
|
|
mature more.)
|
2002-12-24 13:46:20 -05:00
|
|
|
|
|
|
|
|
|
- Add support for the long-awaited Python catalog. Kapil
|
|
|
|
|
Thangavelu has a Zope-based implementation that he demoed at
|
|
|
|
|
OSCON 2002. Now all we need is a place to host it and a person
|
2003-04-17 13:31:58 -04:00
|
|
|
|
to champion it. (Some changes to distutils to support this are
|
|
|
|
|
in, at least.)
|
2002-12-24 13:46:20 -05:00
|
|
|
|
|
2002-08-15 12:50:55 -04:00
|
|
|
|
- PEP 266 Optimizing Global Variable/Attribute Access Montanaro
|
|
|
|
|
PEP 267 Optimized Access to Module Namespaces Hylton
|
|
|
|
|
PEP 280 Optimizing access to globals van Rossum
|
|
|
|
|
|
|
|
|
|
These are basically three friendly competing proposals. Jeremy
|
|
|
|
|
has made a little progress with a new compiler, but it's going
|
|
|
|
|
slow and the compiler is only the first step. Maybe we'll be
|
|
|
|
|
able to refactor the compiler in this release. I'm tempted to
|
|
|
|
|
say we won't hold our breath. In the mean time, Oren Tirosh has
|
|
|
|
|
a much simpler idea that may give a serious boost to the
|
|
|
|
|
performance of accessing globals and built-ins, by optimizing
|
|
|
|
|
and inlining the dict access:
|
|
|
|
|
http://tothink.com/python/fastnames/
|
|
|
|
|
|
|
|
|
|
- Lazily tracking tuples?
|
|
|
|
|
http://mail.python.org/pipermail/python-dev/2002-May/023926.html
|
|
|
|
|
http://www.python.org/sf/558745
|
|
|
|
|
Not much enthusiasm I believe.
|
|
|
|
|
|
|
|
|
|
- PEP 286 Enhanced Argument Tuples von Loewis
|
|
|
|
|
|
|
|
|
|
I haven't had the time to review this thoroughly. It seems a
|
|
|
|
|
deep optimization hack (also makes better correctness guarantees
|
|
|
|
|
though).
|
|
|
|
|
|
2002-08-15 22:31:08 -04:00
|
|
|
|
- Make 'as' a keyword. It has been a pseudo-keyword long enough.
|
|
|
|
|
Too much effort to bother.
|
|
|
|
|
|
2002-08-15 12:50:55 -04:00
|
|
|
|
|
2002-02-27 18:02:11 -05:00
|
|
|
|
Copyright
|
|
|
|
|
|
|
|
|
|
This document has been placed in the public domain.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: indented-text
|
|
|
|
|
indent-tabs-mode: nil
|
|
|
|
|
End:
|