TurboGears 1.5 Development Roadmap

These are the development plans for the TurboGears 1.5 release. These are open to discussion and improvements. Please direct questions, comments, and suggestions to the trunk mailing list.

Project Team

  • Ken Kuhlman
  • Christoph Zwerschke
  • Christopher Arndt
  • who else?

The role of release manager is shared by Christoph Zwerschke and Chris Arndt.

SVN Repository

  • The SVN repository will be moved to SourceForge.
  • The SVN trunk is not used by TG2 anymore. We will discuss with the TG2 team to recycle it for TG 1.x and copy the 1.5 branch over to it.
  • The last TG2 development status in Subversion would then be moved into a branch.

Trac

  • The Trac server will be moved to a new machine and upgraded to Trac 0.11.5
  • Some handy Trac plug-ins will be installed, among them:
    • XmlRPC
    • SVNPolicies or another Subversion hook framework

Mailing lists

  • Disussion about development for TG 1.5 should take place on turbogears-trunk and not on the main turbogears mailing list.
  • Discussion about developing with TG 1 or TG 2 should take place on the main mailing list.
  • We should evaluate in a few months whether we need separate mailing lists for TG 1 and TG 2, but for the moment we will keep the main turbogears mailing list for both.

Development Process

  • From now on (Nov 2009) new development takes place in the 1.5 branch, i.e. changes must be committed there and back-ported to the 1.1 branch as necessary.
  • Changes will only be back-ported to the 1.0 branch if really necessary (i.e. important bug or security fixes). For each change in the 1.0 branch a ticket must be opened and the validity of the change discussed there and/or on the trunk mailing list.
  • For work on new features or refactoring, which require extensive changes to the code base, developers are encouraged to create private or feature-specific branches and merge the complete changes back into the main-line when work is ready for testing or completed.
  • Wwe will enforce adherence to PEP-8 and documentation requirements more vigorously.

New Features

  • CherryPy 3.1 support (Ken Kuhlmann and Christoph Zwerschke, finished).
  • CherryPy 3.2 support (Christoph Zwerschke, finished).
  • Genshi support for TG widgets (#2407, Christoph Zwerschke, finished).
  • (Start) Sphinx docs (#2521, Chris Arndt)

Refactoring

  • Convert turbogears.util module into a a package and separate functionality into sub-packages by related topics (#1861).
  • Remove the turbogears.feed package (#1626, done).
  • Deprecate the turbogears.scheduler package, replace by TGScheduler extension (done)
  • Reorganize quickstart templates (#1640, Chris Arndt, started).
  • Reorganize database options and API for accessing them (#1813).
  • Implement lazy template engine loading (#2388, Chris Arndt)
  • Convert the toolbox templates from Kid to Genshi (#2408, Christoph Zwerschke, finished)

Maybe:

  • Refactor the turbogears.commands package.
  • Refactor the turbogears.i18n package (#2369, #2040) or throw out that unmaintainable mess and replace its functionality with Babel (#2042).
  • Re-implement the test configuration loading and fix the way turbogears.testutil uses it (#2042).

Timeline

  • TG 1.5.1 has been released November 2011.
  • TG 1.5 and 1.1.3 have been released July 2011.
  • TG 1.5 release planned for February 2011 (see 1.5 milestone).
  • TG 1.5b2 has been released January 2011.
  • TG 1.5b1 and 1.1.2 have been released December 2010.
  • TG 1.1.2 release planned for late December 2010 (see 1.1.2 milestone).