With beta 3 of Jython 2.7.0 being completed this week, I believe we are now ready to consider a roadmap with dates. This roadmap will finally allow us to have a good answer for this perennial question :)
I would like to propose the following target dates for our last beta and a release candidate:
Week of July 21 - Complete beta 4 and start planning Release Candidate 1. This week was chosen because not only is it 2 months out, it's the week of EuroPython, which is being held in Berlin. So we should take advantage of the EuroPython sprints and ability for us to get together face-to-face, as well as talk with the CPython and PyPy teams, with whom we closely collaborate. Oti and I are both confirmed for attending, but I would encourage any other interested contributor to be there too, whether you have committer status or not. And of course we would love to talk to users too.
Week of Sept 22 - Complete Release Candidate 1. This is the week before JavaOne, and it also gives us 2 months and targets the first week of fall. This should allow us to have a final release this year even if we have to have another RC.
We have started marking in the bug tracker some issues that we are either targeting for beta 4 or must fix for it. Beta 4 will fix any number of problems, but at a minimum it will fix our outstanding unit tests (failing 15 out of 357), as well as regrtest stability. Triaging skips will be an important part of this work.
Fully supporting the standard Python ecosystem is key to a successful Jython 2.7. Beta 4 will support pip out of the box (via ensurepip), virtualenv (most likely with venv to minimize overhead and more flexibility, it requires very minor changes to support), and tox (necessary for working with projects that have automated cross platform testing).
Beta 4 will also be a feature freeze. Unless we discover a missing critical feature, we should not add any features after beta 4. Critical features would be those necessary to support a major Python project (think Django or SQLAlchemy) or for integration features, especially for the sort of tooling that we are building in the Jython Tools project (https://github.com/jythontools/
), such as Clamp. Such tools will evolve separately from Jython core, much as we see in the overall Python ecosystem. In particular, I would like to see initial work on CFFI being done this year.
Hank Gay (whg on #jython) and I took advantage of the fact that I was visiting Atlanta for the OpenStack Summit to do a bit of work on beta 4 planning. Sometime next week I plan to send out a more detailed plan on jython-dev what Beta 4 should cover including a list of the targeted and must fix bugs; naturally we need your feedback to make this as comprehensive as possible, even if it must be necessarily triaged as well.
Release Candidate 1 will focus on eliminating resource leaks, stability, performance tuning, packaging (anything else?). It would be great to have feedback especially on how we may want to package with respect to Maven.
Work on Jython 2.7 started just over 3 years ago in earnest. You can see the commit history at http://hg.python.org/jython
. It has been a lot of work, but we are finally starting to see it come together. I cannot thank enough our committers, contributors, and users for their branches, patches, bug reports, emails, and especially patience and support.