OK, to sum up what people seem to be saying here: [Struts 1.2.x]
* The minimums for 1.2.3 will remain Servlet 2.2 * We create a branch at the 1.2.3 tag, in case we need to make critical fixes to 1.2.x later. [Struts HEAD] * For now, Struts HEAD can remain in evolutionary mode, but we will bump the minimum to Servlet 2.3. At this point in time, this seems like a minor change, and so for the purposes of the Roadmap, we could assume the next release will be 1.3.0. But the final decision is up to the PMC when there's something to ready to release. ( * If anyone on the PMC feels strongly about the versioning, we can change all the markers on the Roadmap, so features slotted for 1.3.x ascribe to 2.0.x, and so forth, but that seems like a lot of churn for little benefit * Some of the reasons we are moving to Servlet 2.3 are: * It is preferred platform of active Struts developers. * It is needed for certain enhancements, including some to file upload. * It simplifies distribution and integration of JavaServer Faces components which are dependant on Servlet 2.3. * If at any time, we decide to move the HEAD to revolutionary mode, so as to stretch or break backward-compatibility, we can branch again, and assume that the HEAD will become 2.0.0 at the next release. But, we don't have to make that decision until a revolutionary commit is pending :) * So far, items like Struts Chain count as evolutionary, since it seems we will be extending the API to support other "Action" signatures (e.g. for Portlets), but not removing the old ones. (As we did when we changed the signature for Exception handling.) [Struts NEXT] * Any time anyone is ready to plunk down some code (or even just branch), several people sound eager to work on a Servlet 2.4 implementation of Struts. (Whether we need to also specify JSP 2.0 is yet to be determined, since it might be irrelevant.) * How compatible a revolutionary codebase is with Struts will be up to the people implementing it. (This can be you!) * The mechanism by which a codebase is labeled a Struts release is a majority vote of the Struts PMC. Just because a committer starts a revolution in an Struts repository, doesn't mean the PMC has to sanction it later. Every release decision has to be based on the quality of the codebase itself. There can be no guarantees. * Any revolutionary implementations should start work under a label, not a version number. Once there is something to release, the PMC can decide whether it gets released and what's is version number will be. Tomcat's "Catalina" is one example of the labeling practice. The Struts "Jericho" whiteboard is another. * Some advantages of basing a framework on Servlet 2.4 include: * HttpServletRequest.setCharacterEncoding() allows applications to resolve nearly all the ambiguities of parsing request parameters in the right encoding (which is a smaller number of problems than it used to be in 2.4 generally, because the rules have been tightened, and because of the next feature). * You can define (in web.xml) your own mapping table from locale to character encoding, rather than relying on the container's undocumented (and likely non-portable) defaults. * Filters can be declared to run on RequestDispatcher.forward() calls as well as on the original request. Without this, it's basically impossible to write use-case-specific Filters in an MVC framework that uses RD.forward() the way Struts does today. * ServletRequestListener fleshes out the lifecycle model, so you can do things like adding some resource to the request attributes, and knowing that it will get cleaned up (after the response has been rendered by the JSP page or whatever) by your listener. * ServletRequestAttributeListener can listen to changes on your request attributes, similar to how HttpSessionAttributeListener and ServletContextAttributeListener work in 2.3. * On an HttpSessionBindingListener, the listener is invoked when you actually expect it to be at session end (*before* the session is invalidated, rather than after). * "Welcome Files" can now be servlets, so you can use "index.do" instead of having an "index.jsp" that forwards to an action that does your setup. * Deployment descriptors (web.xml) that conform to the 2.4 schema can have their elements listed in any order, instead of the pretty arbitrary sequence required by 2.3. Of course, I'll update the roadmap.xml file accordingly, along with any clarifications made to this thread. -Ted. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]