Differences between revisions 23 and 53 (spanning 30 versions)
Revision 23 as of 2008-08-06 04:18:10
Size: 4218
Editor: PhilipJenvey
Comment:
Revision 53 as of 2013-02-06 23:22:57
Size: 2373
Comment:
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. 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 =

 * yield is always a keyword.
 * [http://www.python.org/dev/peps/pep-0279/ PEP 279]: enumerate() built-in added.
 * 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.
 * [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]
 * ExposeAnnotations

 * Move antlr parser in /trunk/sandbox/ast to trunk
 * Hookup asm compiler to antlr, solidify and add 2.5 features
 * [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
= Jython Roadmap =
Line 42: Line 4:
= Alpha 2 =

 * Ongoing parser fixes (universal newlines, line numbering, newline handling, interactive interpreter bugs)
 * [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
== Position Now ==
Line 51: Line 7:
= Beta = (Least edited February 2013.)
Line 53: Line 9:
 * [http://www.python.org/dev/peps/pep-0328/ PEP 328]: Multi-line and absolute/relative imports
 * [http://www.python.org/dev/peps/pep-0338/ PEP 338]: Executing modules as scripts
 * [http://www.python.org/doc/2.4/whatsnew/node7.html PEP 322]: Reverse iteration '''This is mostly done but I think there's still some issues -pjenvey'''
 * ReplaceJythonc
 * MigrateBugtests

 * v2.5.3 is current.


== Current Plan ==


(Least edited February 2013: Needs more detail.)


 * v2.5.x versions may appear consolidating bug-fixes
 * v2.6 is skipped
 * v2.7 is the main focus of current work. A beta is imminent (February 2013).
 * v3.x (3.3 probably) is under consideration.


== Who is doing what? ==


 * [[http://bugs.jython.org|Bug fixes]]: anyone


=== Towards v2.7 ===


 * math module: Oti
 * documentation, text_xrange.py, test_complex.py: Josh
 * grammar cleanup, test_class.py: Frank
 * itertools, collections: Jim
 * mercurial move, abcs, exceptions, posix/ntpath, io, tarfile: pjenvey
 * `bytearray`, buffer API and a partial `memoryview`: Jeff


=== Towards v3.3 ===


 * Use of Java 7 `invokedynamic`: Jim?


== Scraps of former plans ==


When the page bore a roadmap was for v2.6, this material was in it. Some of it is still accurate for v2.7, some is probably complete now, and some is no longer relevant. Those who know which is which are able to improve the roadmap!


=== 2.6.0 ===


 * Upgrade to Python 2.6 language and builtins, along with a substantial subset of the stdlib
 * Redesign [[PySystemState|PySystemState]], [[ThreadState|ThreadState]] API
 * Mark true-public APIs with a suitable annotation; deprecate and/or remove obsolete APIs
 * Remove all user-visible singletons in org.python.core, especially any static public fields (like those in `PySystemState`)
 * Performance!
 * Require minimum Java 6, rip out Java 5 compatibility:
  * Generic.newSetFromMap
  * Believe we can remove the xercesImpl jar, livetribe-jsr223-2.0.5.jar
  * can start utilizing jsr199 (the Java compiler API) for certain things (mostly for unittests I believe)
  * Other things..



=== 2.6.? (TBD) ===


 * unicodedata
 * [[http://bugs.jython.org/issue1066|cjkcodecs]]: yyamano
 * [[http://www.python.org/doc/lib/module-bz2.html|bz2 module]]
 * [[ReplaceJythonc|ReplaceJythonc]]
 * [[MigrateBugtests|MigrateBugtests]]
Line 61: Line 81:
= Future? =
 * Translate summer of code compiler to Java

=== Future? ===


 * [[http://docs.python.org/whatsnew/modules.html#SECTION0001410000000000000000|ctypes module]]
 * Translate summer of code compiler to Java *Incorporated, except for pyc support

Jython Roadmap

Position Now

(Least edited February 2013.)

  • v2.5.3 is current.

Current Plan

(Least edited February 2013: Needs more detail.)

  • v2.5.x versions may appear consolidating bug-fixes
  • v2.6 is skipped
  • v2.7 is the main focus of current work. A beta is imminent (February 2013).
  • v3.x (3.3 probably) is under consideration.

Who is doing what?

Towards v2.7

  • math module: Oti
  • documentation, text_xrange.py, test_complex.py: Josh
  • grammar cleanup, test_class.py: Frank
  • itertools, collections: Jim
  • mercurial move, abcs, exceptions, posix/ntpath, io, tarfile: pjenvey
  • bytearray, buffer API and a partial memoryview: Jeff

Towards v3.3

  • Use of Java 7 invokedynamic: Jim?

Scraps of former plans

When the page bore a roadmap was for v2.6, this material was in it. Some of it is still accurate for v2.7, some is probably complete now, and some is no longer relevant. Those who know which is which are able to improve the roadmap!

2.6.0

  • Upgrade to Python 2.6 language and builtins, along with a substantial subset of the stdlib
  • Redesign PySystemState, ThreadState API

  • Mark true-public APIs with a suitable annotation; deprecate and/or remove obsolete APIs
  • Remove all user-visible singletons in org.python.core, especially any static public fields (like those in PySystemState)

  • Performance!
  • Require minimum Java 6, rip out Java 5 compatibility:
    • Generic.newSetFromMap
    • Believe we can remove the xercesImpl jar, livetribe-jsr223-2.0.5.jar
    • can start utilizing jsr199 (the Java compiler API) for certain things (mostly for unittests I believe)
    • Other things..

2.6.? (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)