Fork me on GitHub

Announcements

Skip to: Announcements - 2005

07 Nov 2006 - Struts v2.0.1 BETA Release

The Apache Struts project is pleased to announce the availability of the Struts 2.0.1 BETA release.

Apache Struts 2 is an elegant, extensible framework, well suited for enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.

Apache Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts2. This new version of Struts is simpler to use and closer to how Struts was always meant to be.

  • Build!
    • Easy startup - A Maven archetype, template application, and bootstrap tutorial help jumpstart new projects.
    • Improved Design - All framework classes are based on interfaces. Core interfaces are HTTP independent.
    • Enhanced Results - Unlike ActionForwards, Struts2 Results can actually help prepare the response.
    • Enhanced Tags - Struts2 tags don't just output data, but provide stylesheet-driven markup, so that we can create consistent pages with less code.
    • Stateful Checkboxes - Struts2 checkboxes do not require special handling for false values.
    • Easy cancel handling - The Struts2 Cancel button can go directly to a different action.
    • POJO forms - No more ActionForms! We can use any JavaBean we like or put properties directly on our Action classes. No need to use all String properties!
    • POJO Actions - Any class can be used as an Action class. Even the interface is optional!
    • Easy Spring integration - Struts2 Actions are Spring-aware. Just add Spring beans!
    • First-class AJAX support - The AJAX theme gives interactive applications a boost.
  • Deploy!
    • QuickStart - Configuration files are reloadable so many changes can be made on the fly without restarting a web container.
    • Easy plugins - Framework extensions can be added by dropping in a JAR. No manual configuration required! Bundled plugins add support for JavaServer Faces, JasperReports, JFreeChart, Tiles, and more ...
    • Easy portlets - Automatic portlet support allows portal and servlet deployments with no code changes.
  • Maintain!
    • Easy-to-test Actions - Struts2 Actions are HTTP independent and can be tested without resorting to mock objects.
    • Intelligent Defaults - Most framework configuration elements have a default value that we can set and forget.
    • Easy-to-customize controller - Struts 1 lets us customize the request processor per module, Struts2 lets us customize the request handling per action, if desired.
    • Easy-to-tweak tags - Struts2 tag markup can be altered by changing an underlying stylesheet. Individual tag markup can be changed by editing a FreeMarker template. No need to grok the taglib API! JSP, FreeMarker, and Velocity tags are fully supported.
    • Integrating Debugging - Built-in debugging tools supporting profiling, problem reports, and interactive object model queries.

For more, visit the Apache Struts 2 website.


20 Oct 2006 - New Struts Committer: David DeWolf

Please join us in welcoming David DeWolf as a new Struts committer.

David is a FTP Server and Portals committer, and has been submitting high quality Struts and Tiles patches since April. As a member of the JSR-286 Expert Group and Apache Pluto project David brings invaluable Portals experience to the Struts team.

Welcome, David ... and in Don's words "now you can commit your own dam patches!"

PMC vote: 9 +1.


10 Oct 2006 - Struts v2.0.1 Development Build

The Apache Struts project is pleased to announce the availability of the Struts 2.0.1 development build.

Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts 2. This new version of Struts is designed to be simpler to use and closer to how Struts was always meant to be. Some key changes are:

  • Smarter!
    • Improved Design - All Struts 2 classes are based on interfaces. Core interfaces are HTTP independent.
    • Intelligent Defaults - Most configuration elements have a default value that we can set and forget.
    • Enhanced Results - Unlike ActionForwards, Struts 2 Results can actually help prepare the response.
    • Enhanced Tags - Struts 2 tags don't just output data, but provide stylesheet-driven markup, so that we can create consistent pages with less code.
    • First-class AJAX support - The AJAX theme gives interactive applications a significant boost.
    • Stateful Checkboxes - Struts 2 checkboxes do not require special handling for false values.
    • QuickStart - Many changes can be made on the fly without restarting a web container.
  • Easier!
    • Easy-to-test Actions - Struts 2 Actions are HTTP independent and can be tested without resorting to mock objects.
    • Easy-to-customize controller - Struts 1 lets us customize the request processor per module, Struts 2 lets us customize the request handling per action, if desired.
    • Easy-to-tweak tags - Struts 2 tag markup can be altered by changing an underlying stylesheet. Individual tag markup can be changed by editing a FreeMarker template. No need to grok the taglib API! Both JSP and FreeMarker tags are fully supported.
    • Easy cancel handling - The Struts 2 Cancel button can go directly to a different action.
    • Easy Spring integration - Struts 2 Actions are Spring-aware. Just add Spring beans!
    • Easy plugins - Struts 2 extensions can be added by dropping in a JAR. No manual configuration required!
  • POJO-ier!
    • POJO forms - No more ActionForms! We can use any JavaBean we like or put properties directly on our Action classes. No need to use all String properties!
    • POJO Actions - Any class can be used as an Action class. We don't even have to implement an interface!

For more, visit the Apache Struts 2 site.


18 Aug 2006 - Struts v1.3.5 Beta

The Apache Struts team is pleased to announce the release of Struts 1.3.5 Beta.

Struts 1.3.5 is available in a full distribution, or as separate library, source, example and documentation distributions.

http://struts.apache.org/download.cgi#struts135

It is also available in the central Maven repository under Group ID "org.apache.struts".

Major changes since Struts 1.2 include

  • Composable Request Processor
  • Arbitrary configuration properties
  • Opt-In Cancel Handling
  • Enhanced Global Exception Handlers
  • Extends attribute
  • "isCommitted" Exception Handling
  • Postback Actions
  • Wildcard ActionConfig properties

Composable Request Processor: For Struts 1.3, we turned the request processor methods into Commands that are part of a flexible Chain of Commands.

Arbitrary configuration properties: Most every Struts configuration element now accepts a map of key/value pairs. Arbitrary configuration properties let us externalize more of our configurations, encouraging reuse.

Opt-In Cancel Handling: In Struts 1.3, the Cancel token is only honored if the new property "cancellable" is set for the Action Mapping. If the Cancel token is present, but cancellable is not set, then an InvalidCancelException is thrown. The InvalidCancelExeption may be caught by a Declarative Exception Handler, like any other Exception.

Enhanced Global Exception Handlers: We now support use of global exception handlers in cases when no ActionConfig has yet been identified, as in with "preprocessing" commands in a custom request processing chain.

Extends attribute: In the Struts configuration file, we can now use the extends attribute to adopt default settings from another element, as we already can in the Tiles configuration files.

"isCommitted" Exception Handling: When using Tiles, sometimes the response is already committed when an exception occurs. Now, the ExceptionHandler tests response.isCommitted, and, if true, includes the configured view path, rather than forwarding to it.

Postback Forms: The action attribute of the Form taglib is now optional. If omitted, the original URI of the original request is used.

Wildcard ActionConfig properties: Wildcards can now be used in the properties of an ActionConfig.

The 1.3.x series of the Apache Struts framework has a minumum requirement of the following specification versions:

  • Java Servlet 2.3 and JavaServer Pages (JSP) 1.2
  • Java 2 Standard Platform Edition (J2SE) 1.4

The release notes are available online at:

http://struts.apache.org/1.x/userGuide/release-notes.html

Notes on upgrading from prior versions can be found on the community-maintained wiki:

http://wiki.apache.org/struts/StrutsUpgradeNotes12to13


28 Jun 2006 - Shale to Become Top-Level ASF Project

On behalf of the ASF Board and Struts PMC, we are pleased to announce that Shale has been accepted as a top-level project of the Apache Software Foundation.

As a top-level project, Shale will have its own website, mailing lists, repository space, and Project Management Committee. Shale will be an automomous ASF project, rather than a subproject of Apache Struts.

The Shale framework for JavaServer Faces is nearing its first stable release. As a top-level project, it will be easier for Shale to attract new developers and expand its growing community.

The initial set of PMC members and committers for Shale is Craig McClanahan, James Mitchell, Greg Reddin, Sean Schofield, Wendy Smoak, Gary VanMatre, Matthias Wessendorf.

Apache Shale has strong ties to both the Struts and MyFaces projects. Most of the Shale PMC members are already involved in both projects and plan on continuing to remain involved in them, along with Shale.

Apache Shale is a modern web application framework, intended for developers adopting JavaServer Faces as a core technology.

Shale began as a proposal for Struts 2.0, but instead became a subproject, so as to provide a JSF alternative for Struts developers. Recent developments for Struts 2 now make it easier for Struts developers to access JSF components from within an "action-based" application.

The initial Shale codebase was donated by Craig McClanahan, who also donated the original Struts codebase.

[Note: To accomodate Shale, the original framework had been given the name "Action". Now that Shale has graduated, the "Action" label is being dropped, and Struts is just Struts again.]


08 Jun 2006 - New Struts Committer: Antonio Petrelli

Please join us in welcoming Antonio Petrelli as a new Struts committer.

Antonio has consistently offered feedback and patches to the Standalone Tiles effort and has promoted it several times on the user list. In addition he has provided a lot of help on the user list to people using Struts Tiles.

Welcome, Antonio, it's great to see that Tiles is falling into place :)

PMC vote: 7 +1


03 Jun 2006 - New Struts Committer: Bob Lee

Please join us in welcoming Bob Lee as a new Struts committer.

Some of us have known Bob for several years through his Struts, WebWork, and Dynaop work, or in person from a conference. At this last JavaOne, he met other PMC members: Craig, Martin, Gary, and Wendy -- and Bob is well known to the WebWork folks.

Bob's current focus is to develop a kinder, gentler API for Struts 2, having already submitted several patches and constructively engaged the community while handling criticisms well. He has committed several patches for WebWork and Xwork, started the Dynaop project, and has been peripherally involved in the Struts community for many years.

Welcome, Bob ... Our only worry is that we haven't yet seen the Crazy part of Crazy Bob.

PMC vote: 8 +1 (binding), 4 +1 (non-binding).


03 Jun 2006 - New Struts Committer: Michael Jouravlev

Please join us in welcoming Michael Jouravlev as a new Struts committer.

Michael has been an active member of our community for a very long time. His posts to user@ and dev@ are consistently helpful. Michael often participates in development discussions, including the Action2 discussions. He has submitted code and patches and collaborated on changes that were accepted to the code base.

Michael has also make many contributions to the wiki, including reorganizing the area so that it is more useful to others.

Welcome, Michael ... Just don't start downsizing the fonts :)

PMC vote: 7 +1.


03 Jun 2006 - New Struts Committer: Paul Benedict

Please join us in welcoming Paul Benedict as a new Struts committer.

Paul has been an earnest and helpful member of our community for well over a year now. He has submitted patches and ideas, andvmany useful posts to the user list. Paul was particularly active in the discussion that lead to the addition of the "Opt-in Cancel" feature,

In this and other discussions, Paul has demonstrated an ability to collaborate with others and create a better solution than the one originally proposed.

Welcome, Paul ... Hey, we're always looking for release managers!

PMC vote: 3 +1.


23 Mar 2006 - Struts Shale Framework 1.0.2 Alpha

The Struts team is pleased to announce the release of Struts Shale 1.0.2 Alpha.

The Struts Shale Framework is a set of loosely coupled services, fundamentally based on JavaServer Faces, which may be combined as needed to meet particular application requirements.

Compared to version 1.0.0 (version 1.0.1 was retired due to packaging issues), this version includes a substantial number of bugfixes and enhancements -- details are in the Release Notes -- and the following major new features:

  • Shale Remoting is a complete overhaul of the remoting support in 1.0.0, providing support for application or component developers who need to implement the server side behavior for AJAX callbacks. It is packaged as a small (40k) JAR that has no dependencies on the rest of Shale.
  • Tiger Extensions is an optional add-on layer for those running on Java SE 5 (code named "Tiger"). The extensions let you use Java annotations to declare managed beans or register JSF components, without needing entries in a faces-config.xml file.
  • A new "blank" starter application to get you up and running with a new project quickly.
  • A new "mailreader" demo application that duplicates the functionality of the Struts 1.x version of this app, so you can
  • A new "SQL Browser" demo application that illustrates use of the Tiger Extensions, as well as the ability to modify JSF component trees on the fly.

Although this is considered an alpha release, various developer APIs should be considered at a more stable (in terms of assurances of backwards compatibility in future releases) point than might otherwise be expected. Please see the following web page for more details:


22 Mar 2006 - Struts 1.2.9 (General Availability)

The Struts team is pleased to announce the release of Struts 1.2.9 for General Availability. This release is primarily to fix three security issues which have been identified and supersedes the earlier 1.2.8 version as the latest official release of Struts from The Apache Software Foundation.

For more information on the security issues and solutions please see the Release Notes and the Upgrade Notes

The binary, source and library distributions are available from the Struts download page: http://struts.apache.org/download.cgi


25 Jan 2006 - Struts Scripting 1.0.1 Released

The Struts team is pleased to announce the release of Struts Scripting 1.0.1 for General Availability. This is the first stable release of Struts Scripting (formerly Struts BSF). It allows Struts Actions to be written in the scripting language of one's choice rather than as Java classes. It uses the Bean Scripting Framework to allow scripts to be written in any language BSF supports like Perl, Python, Ruby, JavaScript, Groovy, and even VBScript.

The binary and source distributions are available from the Struts download page: http://struts.apache.org/download.cgi

You can find out more information about Struts Scripting at http://struts.apache.org/struts-scripting/ .


17 Jan 2006 - New Struts Committers: Jason Carreira and Patrick Lightbody

Please join me in welcoming Jason Carreira and Patrick Lightbody as new Struts committers. Jason and Patrick are the core WebWork 2 developers and they are joining us in an important step in the merger process. I, and many other Struts committers, have personally met and talked at length with both Patrick and Jason on several occasions and find them dedicated, skilled, and team players. Their dedication to WebWork 2 over the years is a testament to their perseverance, commitment to their community, and technical skill. We look forward to their contributions as committers.

Welcome Jason and Patrick!

PMC vote: 8 +1