Differences between revisions 1 and 36 (spanning 35 versions)
Revision 1 as of 2005-02-04 23:27:24
Size: 4598
Editor: BillDehora
Comment:
Revision 36 as of 2011-03-02 23:57:12
Size: 6652
Editor: Oti
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
  = Where Is Jython Going? = (Made this a placeholder page, most of this has become obsolete. Convert to RST ASAP!)
Line 4: Line 3:
First of all, Jython recently received one of three PSF grants for so development and community building will continue. The Big Picture as the start of 2005 can be found in MovingJythonForward. = 2.6.x =
Line 6: Line 5:
---- == 2.6.0 ==
Line 8: Line 7:
=== February 2005 ===  * 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!
Line 10: Line 13:
Jython.org update and addition of a wiki. ''If you're reading this, we're getting somewhere ;)'' == 2.6.? (TBD) ==
Line 12: Line 15:
'''Milestone:''' Implementation of NewStyleClasses. One of the primary missing features in Jython is the implementation of new style classes. SamuelePedroni has done a ton of work to implement this.  * unicodedata
 * [[http://bugs.jython.org/issue1066|cjkcodecs]]
 * [[http://www.python.org/doc/lib/module-bz2.html|bz2 module]]
 * ReplaceJythonc
 * MigrateBugtests
 * Import Python from the classpath
 * Performance improvements
Line 14: Line 23:
Assign bugs. The buglist needs to be prioritized and non-bugs need to be remove. In part this has to happen with NewStyleClasses. as bugs will be best evaluated in light of that shipment. The patch list will also need to be cleaned up and reviewed.


=== March 2005 ===

Start fixing bugs. High priority bugs will need to be dealt with, and the community will need to be made aware of critical open bugs!

Removal of makefiles, update the ant build. It's likely this could involve a reorganisation of the repository. '''Any repository reorg is dependent on NewStyleClasses having shipped'''. Some people have indicated a preference for Subversion going forward - the community should allow that merely discussing a change of VCS is going to take a good amount of time.

'''Milestone:''' A transparent process for incorporating patches and contributions.

=== April 2005 ===

'''Milestone:''' Jython 2.4 alpha. The completion of the new-style class integration, the fixing of critical bugs will culminate in the release of an initial alpha.

Final decision on choice of VCS and repository layout.

Creation of repeatable build, deployment and installation scripts to facilitate future releases. The current installer is known not to work.


=== May 2005 ===

Simplifying import (removing PackageManager). Simplifying the importing of Java classes would ease a lot frustration and make things more consistent.

'''Milestone:''': Removing 1.1 support (to gain Collection framework support, simpler code, ...). Consider the current situation:

    {{{
    >>> from java.util import ArrayList
    >>> a = ArrayList([1,2,3])
    Traceback (innermost last):
      File "<console>", line 1, in ?
    TypeError: java.util.ArrayList(): 1st arg can't be coerced to java.util.Collection or int
    }}}

and as a result, slate the following for implementation:

 * Support for boolean type
 * JythonC integration into standard interpreter compiler
 * PEP 302 (New Import Hooks)
 * Logging (PEP 282, there exists a patch proposal for integration with Log4J)
 * DataType marshalling from the Jython runtime to Java runtime
 * sets module using java.util.Set
 * datetime module java.util.[Date|Calendar]
 * User-defined types

A good amount of time in may can be expected to deal with feedback from the alpha release.


=== June 2005 ===

Fix issues found in the alpha and incorporate the tighter Java integration features as they arrive.

'''Milestone:''': Jython 2.4 beta. The resulting work will be released as a beta candidate.


=== July 2005 ===

bugs, bugs, bugs. And who knwos what else. Plus this time of year a lot of people are on vacation.


=== August 2005 ===


'''Milestone:''': Jython 2.4 final.


=== September 2005 ===

With the final release, focus is expected to center on AbsentModules. It is proposed that at least following modules be delivered by this time:

    * sets
    * select
    * datetime

The community will dictate the remainder of the modules to be delivered.


=== October 2005 ===

Missing Built-ins. A number of built-ins are missing as well methods core classes have grown since 2.1. Some of the missing features have been documented in the whatsnew lists available with each new release:

    * [WWW] http://www.python.org/doc/2.2.1/whatsnew/whatsnew22.html
    * [WWW] http://python.org/2.3/highlights.html
    * [WWW] http://python.org/2.4/highlights.html


'''Milestone:''': Jython 2.4.1 release candidate.


=== November 2005 ===

'''Milestone:''': Jython 2.4.1 final.
=== Future? ===
 * [[http://docs.python.org/whatsnew/modules.html#SECTION0001410000000000000000|ctypes module]]
 * Translate summer of code compiler to Java *Incorporated, except for pyc support
Line 109: Line 29:
---- = 2.5.x =
Line 111: Line 31:
Unschedule == 2.5.2 ==
Line 113: Line 33:
 * Polishing the cluster PyJavaClass/PyJavaInstance/PyClass/PyInstance
    
  * Changes required for new Java 1.5 updates
          enum
          assert
Bug fixes and new features
Line 119: Line 35:
  * Upgrade compatibility with Python 2.4
          Currently uses CPython 2.2 Lib/
== 2.5.1 ==
Line 122: Line 37:
  * Implementation of popular missing modules (see AbsentModules)
          sets
          select
          datetime
Bug fixes and new features

== 2.5.0 ==

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://www.python.org/doc/2.5/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.

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.
 * [[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]]
 * 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
 * [[UpgradeTo25CPythonLib]] '''*Ongoing, 46 tests failing'''
Line 128: Line 83:
----
CategoryContribute
=== Alpha 2 (Release Date: 2008-09-06) ===
Line 131: Line 85:
  *  * 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
 * [[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'''

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

 * [[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'''

=== Beta 1 (Release Date: 2009-01-09) ===
 * [[http://docs.python.org/whatsnew/modules.html#SECTION0001420000000000000000|elementtree module]] -> [[http://code.google.com/p/jython-elementtree/|jython-elementtree]]
 * New Java integration (based on new style classes)
 * MigrateBugtests (less than 150 left)
 * Many bug fixes
 * [[UpgradeTo25CPythonLib]] '''*Ongoing, 1 test failing'''

(Made this a placeholder page, most of this has become obsolete. Convert to RST ASAP!)

2.6.x

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!

2.6.? (TBD)

Future?

  • ctypes module

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

2.5.x

2.5.2

Bug fixes and new features

2.5.1

Bug fixes and new features

2.5.0

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 (Release Date: 2009-01-09)

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