I've just released Nevow 0.12.0; this release will primarily be of
interest to Athena users, as the Athena runtime system now handles Internet
Explorer versions newer than IE7 (a long overdue fix).
I would greatly appreciate it if any Athena users could give this version a
try, and either report any problems encountered, or report that your
application is working successfully. The changes to the runtime system are
fairly extensive, and it is possible that some application-level breakage
may result. Originally this was going to be an rc1 version, but it turns
out that a lot of the version handling code can't tolerate rc versions, so
instead I'll just promise to follow up with a 0.12.1 very quickly if it
proves to be necessary.
There are a few other fixes included, see the changelog for more details.
We've been attempting to port twisted.web.wsgi to Python 3, as of recent. The existence of PEP-3333 makes this easier, but due to our backwards compatibility policy, implementing stricter checks to make sure t.w.wsgi-using applications are actually PEP-3333 may be a change which cannot be easily done.
The patch we have currently, which is based on work by jMyles (of Hendrix), tirelessly worked on allennap (of Canonical MAAS), and sheparded along by the wonderful Adi (our other Twisted Fellow), is in very good shape, bringing Twisted's WSGI support to be compliant with PEP-3333. PEP-3333 is much stricter on bytes/Unicode, and the patch introduces some further type checking that the original PEP-333 describes as a must, even though we did not check this before.
This branch cannot currently be merged because of backwards compatibility issues -- the spirit of our Compatibility Policy is that 'apps keep working', and sufficiently Unicode unclean WSGI applications may break due to it, even though PEP-333 is very explicit in saying that "HTTP does not directly support Unicode, and neither does this interface".
So, I am looking to get a compat exception for this -- WSGI is very explicit in its types, and any misbehaving applications are violating the specification grossly enough for there to possibly not need a compat exception -- but going through this way may catch the attention of anyone with a potentially misbehaving application and fix it before Twisted 16.0, when I expect this will be merged.
The ticket is https://twistedmatrix.com/trac/ticket/7993, and the branch you should test against is linked at the top. The compatibility policy will allow a week before we move to merge the ticket, although we may have some changes to the branch to make warnings turn into errors, if we are breaking backwards compat, so please ensure no exceptions *or warnings* are produced by your code.
Twisted Fellow, RM, Python 3 Overlord
It's been brought to my attention that I misworded something in the release notes and it slipped through the cracks. In the NEWS I said:
> This is the last Twisted release where Python 2.6 is supported, on any platform.
However, I meant that this is the first Twisted release to drop 2.6 support wholesale, preventing import on this platform. Twisted 15.4 will still operate, so if you have Python 2.6 deployment requirements, bracket the maximum to 15.4 on that platform by using an if statement in your setup.py, and `Twisted >=*minreq*,<=15.4; python_version < '2.7'` under requires_dist in your setup.cfg, where minreq is the minimum required Twisted.
Sorry for the inconvenience!
- Amber "HawkOwl" Brown
Twisted Release Manager