2009/05/20 - Apache Shale has been retired.

For more information, please explore the Attic.

Apache Shale (Version 1.0.4) Release Notes

1.0 Introduction

Welcome to the Apache Shale Framework. Shale is a next generation framework for building web applications using Java technology, and builds upon the framework and component APIs provided by JavaServer Faces.

To download the binary release artifacts, go here, select an appropriate mirror, download the corresponding zip files, and check the checksums and digital signatures. In addition, the individual JAR files are available in the default Maven 2 repositories, using artifact identifiers described below in Section 2.2.

This is the fourth milestone release of Shale, released to encourage experimentation and gather feedback on usage issues and requested features. A final vote on quality has yet to take place for this release, and will take place later. We plan to vote on the quality of each module separately where necessary. For example, the shale-tiles module is likely to receive a grade no higher than "Beta" because it relies on a snapshot of the as-yet unreleased Standalone Tiles package.

Most of the APIs in Shale are reasonably stable -- for details, see Shale API Target Audiences and Stability Ratings.

2.0 What Is Included

2.1 Release Artifacts

Shale is released as a series of zip files, each of which contains the binary deliverables, as well as the corresponding source code. In addition, if you have Maven 2 (version 2.0.4 or later) installed, you can rebuild the contents of each zip, by positioning to the top level directory in a command shell, and typing mvn install from there.

The following release artifacts are available:

2.2 Maven Repository Artifacts

The various JAR files that are included in the framework release artifact have also been published to public Maven 2 repositories. If you are using Maven 2 to build your apps, you need only declare dependencies on the following identifiers (group id, artifact id, and version number), and Maven 2 will automatically download Shale (and its dependencies) for you.

3.0 Changes From Previous Releases

Details on all of the included changes are in Section 5, below. The following sections highlight the most important changes.

3.1 New Features

Framework refactoring - The Shale framework now contains six new modules to support a looser coupling between various features, allowing application developers greater freedom over choosing the bits and pieces they need. The new modules are (details in section 2.1):

3.2 Improvements

Test Framework Support for JSF 1.2 - It is now possible to build unit tests, using the Test Framework, that cater to JSF 1.2 APIs.

Clay Improvements - As part of the framework refactoring, we reduced inner shale-clay dependencies to just the shale-core module thereby providing servlet 2.3 compatibility. There were several enhancements made to the Clay non-validating markup parser. Clay markup template namespace support was extended to allow a prefix that differs from the component's "jsfid" definition. In addition, we added a Clay template directive and a global setting to specify the template encoding. We also added limited support for handling reuse of JSPX tags and the "f:view" tag which allows assigning properties of the view root. An effort was made to align Clay full view templates more closely with JSP by changing the inheritance of the Clay component so it no longer is a naming container.

Furthermore, we added JSF 1.2 basic support for Clay managed views. The basic support covers some new ground into supporting new features such as the binding attribute for converters, validators and listeners. This support doesn't have direct 1.2 dependencies; meaning it is compatible with 1.1 features. As a result, not all of the 1.2 component attributes and bindings are natively supported.

3.3 Bugfix Issues

Dialog Feature - Several outstanding JIRA issues focusing on functional problems with the implementation of the Dialog feature have been addressed along with the refactoring in 1.0.4.

4.0 Known Issues In This Release

Follow this link for a detailed Road Map of upcoming versions of Shale. The following paragraphs highlight only the most important issues.

Standalone Tiles - The shale-tiles module has a dependency on the Standalone Tiles package, currently in the Struts Sandbox (and soon to be an Apache Top Level Project), that has not yet been released. This needs to be resolved before the shale-tiles module can be deemed GA.

5.0 Detailed Change Log

5.1 Bug

5.2 Improvement

5.3 New Feature

5.4 Task