Differences between revisions 31 and 32
Revision 31 as of 2008-11-02 05:54:52
Size: 5758
Editor: PhilipJenvey
Comment: beta 1. remove the PEP 322 item, I don't think there's any major issues
Revision 32 as of 2008-11-15 09:16:02
Size: 5836
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This is a specific list of the features needed to make releases towards Jython 2.5, based on [http://www.python.org/doc/2.4.3/whatsnew/whatsnew24.html What's New in CPython 2.4] and [http://docs.python.org/whatsnew/whatsnew25.html 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. This is a specific list of the features needed to make releases towards Jython 2.5, based on [[http://www.python.org/doc/2.4.3/whatsnew/whatsnew24.html|What's New in CPython 2.4]] and [[http://docs.python.org/whatsnew/whatsnew25.html|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.
Line 14: Line 14:
 * [http://www.python.org/dev/peps/pep-0279/ PEP 279]: enumerate() built-in added.
 * [http://www.python.org/dev/peps/pep-0218/ PEP 218]: A Standard Set Datatype
 * [http://www.python.org/dev/peps/pep-0273 PEP 273]: Importing Modules from Zip Archives
 * [http://www.python.org/dev/peps/pep-0278 PEP 278]: Universal Newline Support
 * [http://www.python.org/dev/peps/pep-0282/ PEP 282]: logging package
 * [http://www.python.org/dev/peps/pep-0285 PEP 285]: A Boolean Type
 * [http://www.python.org/peps/pep-0293.html PEP 293]: Codec Error Handling Callbacks
 * [http://www.python.org/dev/peps/pep-0302/ PEP 302]: New Import Hooks
 * [http://www.python.org/dev/peps/pep-0307 PEP 307]: Pickle Enhancements
 * [http://www.python.org/doc/2.4/whatsnew/node8.html PEP 324]: subprocess module
 * [http://www.python.org/doc/2.3/whatsnew/node18.html#SECTION0001820000000000000000 optparse module]
 * [[http://www.python.org/dev/peps/pep-0279/|PEP 279]]: enumerate() built-in added.
 * [[http://www.python.org/dev/peps/pep-0218/|PEP 218]]: A Standard Set Datatype
 * [[http://www.python.org/dev/peps/pep-0273|PEP 273]]: Importing Modules from Zip Archives
 * [[http://www.python.org/dev/peps/pep-0278|PEP 278]]: Universal Newline Support
 * [[http://www.python.org/dev/peps/pep-0282/|PEP 282]]: logging package
 * [[http://www.python.org/dev/peps/pep-0285|PEP 285]]: A Boolean Type
 * [[http://www.python.org/peps/pep-0293.html|PEP 293]]: Codec Error Handling Callbacks
 * [[http://www.python.org/dev/peps/pep-0302/|PEP 302]]: New Import Hooks
 * [[http://www.python.org/dev/peps/pep-0307|PEP 307]]: Pickle Enhancements
 * [[http://www.python.org/doc/2.4/whatsnew/node8.html|PEP 324]]: subprocess module
 * [[http://www.python.org/doc/2.3/whatsnew/node18.html#SECTION0001820000000000000000|optparse module]]
Line 29: Line 29:
 * [http://www.python.org/doc/2.4/whatsnew/node4.html PEP 289]: Generator expressions '''*test_genexps has failures'''
 * [http://www.python.org/dev/peps/pep-0263 PEP 263]: Defining Python Source Code Encodings
 * [http://www.python.org/doc/2.4/whatsnew/node6.html PEP 318]: Function/method decorators '''*test_decorators has failures'''
 * [http://www.python.org/peps/pep-0308.html PEP 308]: Conditional expressions
 * [http://www.python.org/dev/peps/pep-0343/ PEP 343]: 'with' statement '''*test_with has failures'''
 * [http://www.python.org/doc/2.5/whatsnew/pep-342.html PEP 342]: Coroutines via generators '''test_generators has failures'''
 * [http://www.python.org/dev/peps/pep-0341/ PEP 341]: Unified try/except/finally
 * [http://www.python.org/dev/peps/pep-0352/ PEP 352]: Exceptions as new-style classes
 * ["UpgradeTo25CPythonLib"] '''*Ongoing'''
 * [http://www.python.org/doc/2.4/whatsnew/node5.html PEP 292]: Simpler String Substitutions
 * [http://www.python.org/doc/2.4/whatsnew/node9.html PEP 327]: decimal type
 * ["UpgradeTo25CPythonLib"] '''*Ongoing, 46 tests failing'''
 * [[http://www.python.org/doc/2.4/whatsnew/node4.html|PEP 289]]: Generator expressions '''*test_genexps has failures'''
 * [[http://www.python.org/dev/peps/pep-0263|PEP 263]]: Defining Python Source Code Encodings
 * [[http://www.python.org/doc/2.4/whatsnew/node6.html|PEP 318]]: Function/method decorators '''*test_decorators has failures'''
 * [[http://www.python.org/peps/pep-0308.html|PEP 308]]: Conditional expressions
 * [[http://www.python.org/dev/peps/pep-0343/|PEP 343]]: 'with' statement '''*test_with has failures'''
 * [[http://www.python.org/doc/2.5/whatsnew/pep-342.html|PEP 342]]: Coroutines via generators '''test_generators has failures'''
 * [[http://www.python.org/dev/peps/pep-0341/|PEP 341]]: Unified try/except/finally
 * [[http://www.python.org/dev/peps/pep-0352/|PEP 352]]: Exceptions as new-style classes
 * [[UpgradeTo25CPythonLib]] '''*Ongoing'''
 * [[http://www.python.org/doc/2.4/whatsnew/node5.html|PEP 292]]: Simpler String Substitutions
 * [[http://www.python.org/doc/2.4/whatsnew/node9.html|PEP 327]]: decimal type
 * [[UpgradeTo25CPythonLib]] '''*Ongoing, 46 tests failing'''
Line 46: Line 46:
 * [http://www.python.org/dev/peps/pep-0237/ PEP 237]: Unifying int/long
 * [http://www.python.org/doc/2.5/whatsnew/pep-357.html PEP 357]: Allowing Any Object to be Used for Slicing
 * [http://www.python.org/dev/peps/pep-0309/ PEP 309]: Partial Function Application
 * [http://www.python.org/doc/2.3/whatsnew/node14.html PEP 305]: csv module
 * [http://www.python.org/doc/2.4/whatsnew/node4.html PEP 289]: Generator expressions '''*test_genexps passing'''
 * [http://www.python.org/dev/peps/pep-0263 PEP 263]: Defining Python Source Code Encodings
 * [http://www.python.org/doc/2.4/whatsnew/node6.html PEP 318]: Function/method decorators '''*test_decorators passing'''
 * [http://www.python.org/dev/peps/pep-0338/ PEP 338]: Executing modules as scripts
 * [http://www.python.org/doc/lib/module-unicodedata.html unicodedata module]
 * ["UpgradeTo25CPythonLib"] '''*Ongoing, 11 tests failing'''
 * [[http://www.python.org/dev/peps/pep-0237/|PEP 237]]: Unifying int/long
 * [[http://www.python.org/doc/2.5/whatsnew/pep-357.html|PEP 357]]: Allowing Any Object to be Used for Slicing
 * [[http://www.python.org/dev/peps/pep-0309/|PEP 309]]: Partial Function Application
 * [[http://www.python.org/doc/2.3/whatsnew/node14.html|PEP 305]]: csv module
 * [[http://www.python.org/doc/2.4/whatsnew/node4.html|PEP 289]]: Generator expressions '''*test_genexps passing'''
 * [[http://www.python.org/dev/peps/pep-0263|PEP 263]]: Defining Python Source Code Encodings
 * [[http://www.python.org/doc/2.4/whatsnew/node6.html|PEP 318]]: Function/method decorators '''*test_decorators passing'''
 * [[http://www.python.org/dev/peps/pep-0338/|PEP 338]]: Executing modules as scripts
 * [[http://www.python.org/doc/lib/module-unicodedata.html|unicodedata module]]
 * [[UpgradeTo25CPythonLib]] '''*Ongoing, 11 tests failing'''
Line 63: Line 63:
 * [http://www.python.org/dev/peps/pep-0343/ PEP 343]: 'with' statement '''*test_with passing'''
 * [http://www.python.org/doc/2.5/whatsnew/pep-342.html PEP 342]: Coroutines via generators '''test_generators passing '''
 * [http://www.python.org/dev/peps/pep-0328/ PEP 328]: Multi-line and absolute/relative imports
 * ["UpgradeTo25CPythonLib"] '''*Ongoing, 7 tests failing'''
 * [[http://www.python.org/dev/peps/pep-0343/|PEP 343]]: 'with' statement '''*test_with passing'''
 * [[http://www.python.org/doc/2.5/whatsnew/pep-342.html|PEP 342]]: Coroutines via generators '''test_generators passing '''
 * [[http://www.python.org/dev/peps/pep-0328/|PEP 328]]: Multi-line and absolute/relative imports
 * [[UpgradeTo25CPythonLib]] '''*Ongoing, 7 tests failing'''
Line 70: Line 70:
 * [http://docs.python.org/whatsnew/modules.html#SECTION0001420000000000000000 elementtree module] -> [http://code.google.com/p/jython-elementtree/ jython-elementtree (elementtree 1.3 port)] (though CPython ships with elementtree 1.2.6)
 * [http://www.python.org/doc/lib/module-bz2.html bz2 module]
 * [[http://docs.python.org/whatsnew/modules.html#SECTION0001420000000000000000|elementtree module]] -> [[http://code.google.com/p/jython-elementtree/|jython-elementtree (elementtree 1.3 port)]] (though CPython ships with elementtree 1.2.6)
 * [[http://www.python.org/doc/lib/module-bz2.html|bz2 module]]
Line 76: Line 76:
 * ["UpgradeTo25CPythonLib"] '''*Ongoing'''  * [[UpgradeTo25CPythonLib]] '''*Ongoing'''
Line 79: Line 79:
 * [http://docs.python.org/whatsnew/modules.html#SECTION0001410000000000000000 ctypes module]  * [[http://docs.python.org/whatsnew/modules.html#SECTION0001410000000000000000|ctypes module]]

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

  • optparse module

  • ExposeAnnotations

  • 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

  • unicodedata module

  • 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)

Beta 1 (TBD)

Future?

  • ctypes module

  • Translate summer of code compiler to Java *Incorporated, except for pyc support

RoadMap (last edited 2013-02-06 23:22:57 by FrankWierzbicki)