This is a specific list of the features needed to make releases towards Jython 2.5, based on What's New in CPython 2.4 and CPython 2.5 among other things. The first alpha will be made once Jython supports all CPython 2.5 language level features. After the alphas have stabilized, all the library and Jython-only features will be completed in the beta series of releases. Once all the features are present in the betas, we'll go into release candidate mode until 2.5 is finally released.
Just because a feature is in the beta list, that doesn't mean it can't land before the alpha release. It only means it isn't necessary before the alpha. Actually since all of the alpha features are dependent on the new compiler and parser, the beta tasks can be a good starting point.
Alpha 0/1 (Release Date: 2008-07-15)
- yield is always a keyword.
int() will now return a long instead of raising OverflowError if a number is too large.
- list.insert() changed to be consistent with negative slice indexing.
- list.index() takes optional start, stop arguments.
- Dictionaries gained a pop() method and .fromkeys() class method.
- dict() constructor takes keyword arguments.
- Many type objects are now callable.
PEP 279: enumerate() built-in added.
PEP 218: A Standard Set Datatype
PEP 273: Importing Modules from Zip Archives
PEP 278: Universal Newline Support
PEP 282: logging package
PEP 285: A Boolean Type
PEP 293: Codec Error Handling Callbacks
PEP 302: New Import Hooks
PEP 307: Pickle Enhancements
PEP 324: subprocess module
- Move antlr parser in /trunk/sandbox/ast to trunk
- Hookup asm compiler to antlr, solidify and add 2.5 features
PEP 289: Generator expressions *test_genexps has failures
PEP 263: Defining Python Source Code Encodings
PEP 318: Function/method decorators *test_decorators has failures
PEP 308: Conditional expressions
PEP 343: 'with' statement *test_with has failures
PEP 342: Coroutines via generators test_generators has failures
PEP 341: Unified try/except/finally
PEP 352: Exceptions as new-style classes
UpgradeTo25CPythonLib *Ongoing
PEP 292: Simpler String Substitutions
PEP 327: decimal type
UpgradeTo25CPythonLib *Ongoing, 46 tests failing
Alpha 2 (Release Date: 2008-09-06)
- Ongoing parser fixes (universal newlines, line numbering, newline handling, interactive interpreter bugs)
PEP 237: Unifying int/long
PEP 357: Allowing Any Object to be Used for Slicing
PEP 309: Partial Function Application
PEP 305: csv module
PEP 289: Generator expressions *test_genexps passing
PEP 263: Defining Python Source Code Encodings
PEP 318: Function/method decorators *test_decorators passing
PEP 338: Executing modules as scripts
UpgradeTo25CPythonLib *Ongoing, 11 tests failing
Alpha 3 (Release Date: 2008-09-10)
- fixes a bug that caused installation problems for many Windows users
Beta 0 (Release Date: 2008-10-31)
PEP 343: 'with' statement *test_with passing
PEP 342: Coroutines via generators test_generators passing
PEP 328: Multi-line and absolute/relative imports
UpgradeTo25CPythonLib *Ongoing, 7 tests failing
Beta 1 (TBD)
elementtree module -> jython-elementtree (elementtree 1.3 port) (though CPython ships with elementtree 1.2.6)
- Import Python from the classpath
- Performance improvements
UpgradeTo25CPythonLib *Ongoing
Future?
- Translate summer of code compiler to Java *Incorporated, except for pyc support