<?xml version="1.0"?>
<status>

  <developers>
    <person name="Howard M. Lewis Ship"  email="hlship@comcast.net"      id="HLS" />
    <person name="David Solis"      email="dsolis@legosoft.com.mx"      id="DS" />
    <person name="Harish Krishnaswamy"  id="HK"/>
    <person name="Erik Hatcher" id="EH"/>
    <person name="Richard Lewis-Shell" id="RLS"/>
    <person name="Mind Bridge" id="MB"/>
    <person name="Geoff Longman" id="GL"/>
    <person name="Tsvetelin Saykov" id="TS"/>
    <person name="Neil Clayton" id="NC"/>
    
    <!-- Retired -->
    
    <person name="Malcom Edgar" id="ME"/>

    <!-- Add more people here -->
  </developers>

  <votes>
  	
  	<vote title="Tapestry 3.0 FINAL" date="Apr 14 2004" dev="HLS">
  	
  	<motion>
  		Despite a last minute flurry of bug fixes, the motion has passed and we'll be releasing the final Tapestry 3.0 release shortly.  I'll be creating tagging and creating the final release shortly. Alas, it looks like Neil Clayton is no longer contributing to the Tapestry project.
  	</motion>
  	
  	<response>HLS, RLS, EH, HK, DS, TSV, MB: +1</response>
  	<response>GL, NC: +0</response>
  		
  	</vote>
  	
  	<vote title="release 3.0-rc-3" date="Apr 7 2004" dev="HLS">
  		<motion>
  			I've had some more time to knock down a the remaining blocker bugs in 3.0-rc-2.

Assuming that there are no further blocker bugs added in the meantime, I'd like to release rc-3.

A +1 vote indicates that we should release rc-3, unless a new blocker bug is added in the meantime.

Please respond in the next 24 hours (by Wednesday afternoon, EST). Missing responses will be treated
as a +0.
  		</motion>	
  		<response>
  			HLS, EH, HK, DS: +1
  		</response>
  		<response>
  			NC, RLS, MB, TSV, GL: +0
  		</response>
  	</vote>
  	<vote title="release 3.0-rc-2" date="Apr 1 2004" dev="HLS">
  		<motion>
  		3.0-rc-1 has been out for about two weeks now. A couple of notable bugs have been identified and
fixed. I believe we should roll out rc-2 to keep the momentum going.	
  		</motion>	
  		<response>
  			HLS, DS, EH, HK, TSV, RLS, MB: +1
  		</response>
  		<response>
  		 NC, GL: +0	
  		</response>
  	</vote>
  	
    <vote title="release 3.0rc1" date="Mar 13 2004" dev="RLS">
        <motion>
        Looks like things are pretty much in place for the next release - 3.0
release candidate 1.  Let's vote on it to make it official.  Release current
code as rc1?
        </motion>
        <response>
        RLS, GL, HK, EH, DS, MB, HLS: +1
        </response>
    </vote>
    
  	<vote title="Can the Tutorial" date="Feb 19 2004" dev="HLS">
  		<motion>
  		I think its pretty obvious by now that no work is going to get done on the Tutorial for 3.0. I think
it would be best to remove the Tutorial, perhaps replace it with a link to Kevin Dorff's site until
we can actually put something useful together ... even if that is after 3.0 is released.

A +1 vote would delete the Tutorial code, the docbook source and links to the old tutorial on the
web site.	
  		</motion>
  		<response>
  		HLS, EH, DS, GL, MB, HK: +1	
  		</response>
  	</vote>	
  	
  	
  	
  	<vote date="Sep 5 2003" title="Release 3.0-beta-3" dev="HLS">
  		<motion>
  People have been itching for the next release of Tapestry;
one where the demos work (woops!)
including JavaScript and the Palette. Documentation is still 
not ready for an rc release, but I
think a beta release is a good idea.				
  		</motion>	
  		
  		<response>
  			HLS, GL, RLS, DS, HK, EH, MB, TS, NC: +1	
  		</response>
  		
  	</vote>
  	
  	<vote date="Sep 3 2003" title="Erik Hatcher as commiter" dev="GL">
  		<motion>
  			I nominate Erik Hatcher. He knows the score in jakarta-land. I think its a great idea.
  			
  		</motion>	
  		
  		<response>
  			GL, HLS, MB, DS, RLS: +1	
  		</response>
  		<response>
  			NC: +0 (no vote)	
  		</response>
  	</vote>
  	
  	<vote date="Sep 3 2003" title="Tsvetelin Saykov as committer" dev="MB">
  		<motion>I would like to nominate Tsvetelin Saykov as a committer. Tsvetelin has more than an year and a half of Tapestry experience, has worked with many large web projects, and can be very helpful overall for the development of the framework, especially in the area of dynamic pages with layout determined at runtime. (not to mention that he would need CVS access to work on the Tree)
  			</motion>	
  			
  		<response>
  			MB, HLS, GL, DS, NC, RLS: +1	
  		</response>
  	</vote>
  	
  	<vote date="Sep 2 2003" title="Harish Krishnaswamy as committer" dev="HLS">
  		<motion>
  			I would like to nominate Harish; he has been very actively and
enthusiastically supporting Tapestry
in the mailing lists. I think he would be an excellent and valuable  
asset to the team.  And hell,
he's relatively local --- I might actually get to meet a Tapestry  
committer in person!
  		</motion>
  		<response>
  				HLS, GL, DS, MB, RLS: +1
  		</response>
  		<response>
  			NC: +0 (no vote)	
  		</response>
  	</vote>
  	
  	<vote date="Jul 13 2003" title="Release 3.0-beta-2" dev="HLS">
  		<motion>
  			We informally discussed this not too long ago; I think we are at a good point for beta-2.  There have been some significant improvements since beta-1a that will largely be invisible to most users (the correct thing for a beta release); at the same time, I think we're all anxious to push forward and get Tapestry 3.0-xxx into wider distribution.  Although there are still several outstanding bugs (one or two that are problematic) I think this is a good time to keep momentum going and release the next beta.

A +1 vote will procede with beta-2, tagging the repository and pushing the new releases out to the Apache distribution mirrors.
  			
  		</motion>	
  		
  		<response>
  			HLS, MB, NC, RLS, GL, DS: +1	
  		</response>
  	</vote>
  	
  	
  	<vote date="Jun 3 2003" title="Release 3.0-beta-1a" dev="RLS">
  		<motion>release 3.0-beta-1a ASAP (containing fixes for JDK 1.3)</motion>	
  		<response>
  			HLS, MB, NC, RLS, GL, DS: +1	
  		</response>
  	</vote>
  	
  	<vote date="May 30 2003" title="Release 3.0-beta-1" dev="HLS">
  		<motion>
  			Release 3.0-beta-1 as soon as possible.
<br/>
Release notes will state that the API is now stable, with the exception of IMonitor.
  			
  		</motion>	
  		
  		<response>
  			HLS, MB, NC, RLS, GL, DS: +1	
  		</response>
  	</vote>
  	
  	
  	<vote date="Apr 17 2003" title="Tapestry NextGen released as 3.0" dev="HLS">
  		<motion>
  				PROPOSAL: the next major release of Tapestry (previously known as 2.4 or
NextGen) be released as version number 3.0.
  		</motion>	
  		
  		<response>
  			HLS, MB, RLS, GL, DS: +1	
  		</response>
  		<response>
  			NC: +0 (no vote)	
  		</response>
  	</vote>
  	
  	<vote date="Mar 7 2003" title="Nominate David Solis as Tapestry Commiter"
  		dev="HLS">
  		<motion>
  		<p>There really didn't seem to be much discussion ... everyone seems to be in favor.  Mind Bridge seems very absent of late.</p>

<p>Let's put it to a vote.  No answer within 24 hours will be treated as a +0.</p>

<p>If voted in, David Solis will be invited to become a Tapestry committer; will be granted voting rights and update access to the CVS repository.	</p>
  			
  		</motion>
  		
  		<response>
  			HLS, NC, RLS, GL: +1
  		</response>
  		<response>
  			MB, ME: +0	
  		</response>
  			
  	</vote>
  </votes>


  <todo>
    <actions priority="Release 3.0">
<action context="code" dev="open">Handle change of locale correctly, by reloading new   instance of page in proper locale</action>
	<action context="code" dev="HLS">Improved User's Guide to replace existing Developer's Guide</action>
	<action context="code" dev="open">Replace the current tutorial with Neil Clayton's Tutorial2</action>
	<action context="code" dev="open">Reoganize directory structure to more standard format (compatible with Maven)</action>
	<action context="code" dev="open">Get Tapestry compiling under Maven, have nightly builds</action>
	<action context="code" dev="open">Fill out the test suite and code coverage, reach 85% or better</action>
	<action context="code" dev="DS">Fix all the Component Reference pages to use the 3.0 syntax</action>
  	<action context="script" dev="open">Improve the "include script" element to support relative scripts, scripts in context, script in classpath</action>
	<action context="misc" dev="open">Unit testing stategy for the JSP tags and tagsupport service</action>
	<action context="misc" dev="open">Allow auto parameters to not be required</action>
    </actions>

    <actions priority="Release 3.1">
	<action context="code" dev="open">Intersertials</action>
	<action context="code" dev="open">Extend listener methods to take parameters (matching service parameters to actual method parameters)</action>
    </actions>
    <!-- Add todo items. @context is an arbitrary string. Eg:
    <actions priority="high">
      <action context="code" dev="SN">
      </action>
    </actions>
    <actions priority="medium">
      <action context="docs" dev="open">
      </action>
    </actions>
    -->
  </todo>

  <changes>
  
  <release version="3.0.1" date="unreleased">
    
    <action type="fix" dev="HLS" fixes-bug="29850">
      Ensure that the page's requestCycle property is set before finishLoad() is invoked on any component.
    </action>
    
    <action type="update" dev="HLS">
      Make IMessages smartly expand exceptions into their message, or their class name.
    </action>
    
    <action type="fix" dev="HLS" fixes-bug="29871">
      Fix NPE in ValidationDelegate when the form has errors recorded for fields that did not render.
    </action>
    
    <action type="update" dev="HLS" fixes-bug="30261">
      Provide a public implementation of ITemplateParserDelegate.
    </action>
    
    <action type="fix" dev="HLS" fixes-bug="30384">
      Palette does not clear its selected list when no selections are made.
    </action>
    
    <action type="fix" dev="HLS" fixes-bug="26967">
      Allow abstract pages/components even if no specified properties (or other enhancements)
    </action>
    
    <action type="fix" dev="HLS" fixes-bug="30086">
      Shell component should allow informal parameters
    </action>
    
  </release>	
   
 	<release version="3.0" date="Apr 18 2004">
 	
 	<action type="fix" dev="HLS" fixes-bug="28345">
 		Workbench/Upload exception when no file specified   	
 	</action>
 		
 	<action type="fix" dev="DS" fixes-bug="28396">
 		Add FormConditional to Component Reference   	
 	</action>

 	<action type="fix" dev="DS" fixes-bug="28422">
 		Add element parameter to contrib:Choose   	
 	</action>
 	
 	<action type="fix" dev="HLS" fixes-bug="28454">
 		Remove a small optimization that compromised storage of mutable objects
 		as persistent page properties.	
 	</action>

 	</release>
  	
<!-- Use due-to to give acknowledgement for patches. -->
 <release version="3.0-rc-3" date="Apr 7 2004">
 	<action type="update" dev="HLS">
 	Add docs on how to report problems.	
 	</action>
 	<action type="fix" dev="HLS" fixes-bug="28202" due-to="Mats Forst&#246;f">
 	Pass the java.security.ProtectionDomain to the parent class loader when
 	creating an enhanced class, to allow Tapestry operation inside secure
 	environments such as Tomcat.	
 	</action>
  <action type="fix" dev="DS" fixes-bug="28177" due-to="sito@htf.highway.ne.jp">
     NPE in org.apache.tapestry.form.LinkSubmit.
  </action>
  <action type="fix" dev="HLS" fixes-bug="27956">
  	Make checks for unimplemented abstract methods optional, to work around a bug
  	in IBM JDK 1.3.1 (used with Websphere 4.x).	
  </action>
  <action type="fix" dev="HLS" fixes-bug="28235">
  Allow more primitive types to be used with parameter direction <code>auto</code>
  (byte, char, short, float and long) in addition to the previously accepted types
  (boolean, int, double and objects).
  </action>
 </release> 
  
 <release version="3.0-rc-2" date="Apr 1 2004">
 	<action type="fix" dev="HLS" fixes-bug="28057">
 		Fix problems in the binary distribution.
 	</action>	
 	<action type="fix" dev="HLS" fixes-bug="27954">
 		Create proper OGNL context when checking for invariant OGNL expressions
 		(when initializing component properties).
 	</action>
 	<action type="fix" dev="HLS" fixes-bug="27628"> 
   DataSqueezer: Incorrect exception message  
  </action> 
  <action type="fix" dev="HLS" fixes-bug="28010">
     ExpressionBinding optimizes expressions incorrectly  	
  </action>

 </release>
  
 <release version="3.0-rc-1" date="Mar 15 2004">
 
<action type="fix" dev="EH" fixes-bug="27656">
  ValidationDelegate.writeLabelPrefix/Suffix does not have IValidator access
</action>

<action type="fix" dev="DS" fixes-bug="27630, 27631" due-to="Michael M. Brzycki">
 	Fix javadoc.
</action>

<action type="fix" dev="DS" fixes-bug="27567">
 	Incorrect example code.
</action>

<action type="fix" dev="DS" fixes-bug="27551" due-to="Michael M. Brzycki">
 	InspectorButton docs have incorrect links.
</action>

 <action type="update" dev="DS">
 	Update Component Reference to use 3.0 syntax	
 </action>

 <action type="update" dev="HLS">
 	Update the license to Apache Software License 2.0.	
 </action>

 <action type="update" dev="EH">
   Added 'raw' attribute to FieldLabel component.
 </action>
 
 <action type="update" dev="HLS">
 Removed the out-of-date Tutorial.	
 </action>

<action type="fix" dev="HLS" fixes-bug="18288">
Palette doesn't retain user-specified sort order  	
</action>

<action type="fix" dev="HLS" fixes-bug="23544">
Don't use <code>request.getRemoteHost()</code> since that requires
an expensive reverse DNS lookup.
</action>

<action type="fix" dev="HLS" fixes-bug="27071" due-to="basile.chandesris">
Fix typos and inaccuracies in the 3.0 DTD comments.
</action>

<action type="fix" dev="HLS" fixes-bug="27202,27203,27227" due-to="Jamie Orchard-Hays">
Fix logic in client-side validation.	
</action>

<action type="fix" dev="HLS" fixes-bug="27110" due-to="Karel Miarka">
DatePicker doesn't use the current Locale in its formatter	
</action>

<action type="update" dev="HLS">
Update DatePicker to use a graphic icon to hide and show the calendar.	
</action>

<action type="fix" dev="HLS" fixes-bug="20932">
Check for duplication of ids between the HTML template and the specification.
</action>

<action type="fix" dev="HLS" fixed-bug="27082">
Fix some number conversion problems inside NumberValidator.	
</action>

<action type="update" dev="HLS">
Dynamically download OGNL and Javassist libraries (in accordance with ASF directives
about non-ASL code). <b>Unfortunately, this means that we no longer can distribute precompiled
examples that include those libraries.</b>
</action>

 </release>
  	
  
 <release version="3.0-beta-4" date="Feb 5 2004">

<action type="update" dev="DS">
Change direction of parameter model for WML components, SelectionField and PropertySelection
</action>

<action type="fix" dev="DS">
Fixed the byte[] mapping in org.apache.tapestry.enhance.JavaClassMapping
</action>

<action type="update" dev="HLS" due-to="Tetsuya Kitahata">
Convert the Tapestry home page to build using
<link href="http://xml.apache.org/forrest/">Forrest</link>.
</action>

<action type="update" due-to="Michael M. Brzycki">
Updated javadoc build target to link to JDK 1.3
</action>

<action type="add" dev="HK">
Added new validator, Pattern Validator
</action>

<action type="fix" dev="HK">
Fixed the null pointer exception from FieldLabel when not enclosed by Form
or when IValidationDelegate is not provided
</action>
	
<action type="fix" dev="HK">
The key attribute of the script foreach is changed to not be a required
attribute
</action>
    
<action type="fix" dev="EH">
Added support for OGNL TypeConverter in expression bindings
</action>

<action type="update" dev="DS">
Updated Component Reference for WML components
</action>

<action type="update" dev="RLS">
Made DateValidator's getEffectiveFormat()/getEffectiveDisplayFormat() public
</action>

<action type="update" dev="RLS">
Updated to use DocBook 1.62.4 XSL stylesheets for documentation generation
</action>

<action type="update" dev="RLS">
Moved info priority logging to debug priority
</action>

<action type="update" dev="RLS">
Custom parameter binding properties only enhanced if abstract
</action>

<action type="update" dev="MB">
Updated the Table components to have an easier interface, similar to that of Foreach.
</action>

<action type="fix" dev="MB" fixes-bug="21833">
build.properties.sample does not include jython.dir
</action>

<action type="fix" dev="MB" fixes-bug="22840">
Table component doesn't sort fine when there are null values
</action>

<action type="fix" dev="MB" fixes-bug="22640">
Wrong Package in link
</action>

<action type="fix" dev="MB" fixes-bug="22641">
 JavaDoc: should IField be IFieldTracking??
</action>

<action type="fix" dev="MB" fixes-bug="23668">
contrib:PopupLink ignores informal parameters
</action>

<action type="fix" dev="MB" fixes-bug="22635">
Wrong Package in link	
</action>

<action type="fix" dev="MB" fixes-bug="22634">
Typo: "In a IListenerBindingSpecification"	
</action>

<action type="fix" dev="MB" fixes-bug="22694">
Add url parameter to Shell component
</action>

<action type="update" dev="MB" fixes-bug="23870">
current OGNL 2.6.3 needs to be used
</action>

<action type="fix" dev="MB" fixes-bug="23511">
Problem with URL encodings at EngineServiceLink.java
</action>

<action type="fix" dev="MB" fixes-bug="23227">
The source parameter of Foreach should be required
</action>

<action type="fix" dev="MB" fixes-bug="20252">
tests failing under JDK 1.3
</action>

<action type="fix" dev="MB" fixes-bug="23500">
Name attribute gets duplicated in TextField	
</action>

<action type="fix" dev="MB" fixes-bug="22835">
DateField component throws an ApplicationRuntimeException
</action>

<action type="fix" dev="MB" fixes-bug="22836">
NumericField component throws an ApplicationRuntimeException
</action>

<action type="fix" dev="MB" fixes-bug="22837">
Using NumericField cause a ClassCastException
</action>

<action type="fix" dev="MB" fixes-bug="24467">
Compatibility of the AbstractEngine to servlet-api 2.2
</action>

<action type="fix" dev="MB" fixes-bug="24298" due-to="Colin Sampaleanu">
patch to allow workbench to work with JDK 1.4.2 and current Jetty	
</action>

<action type="fix" dev="MB" fixes-bug="24425">
race condition in class enhancement
</action>

<action type="fix" dev="MB" fixes-bug="23916">
The Dates tab in the Workbench contains an empty popup link
</action>

<action type="fix" dev="MB" fixes-bug="24008">
ApplicationRuntime Exception loses root cause...
</action>

<action type="fix" dev="MB" fixes-bug="22958">
NumberValidator forces to input a value
</action>

<action type="fix" dev="MB" fixes-bug="21871">
junit.jar needed to build junit subproject
</action>

<action type="fix" dev="MB" fixes-bug="20253">
JUnit XML tests broken under JDK with no XML parser (eg. 1.3)
</action>


<action type="fix" dev="MB" fixes-bug="24393">
No JVM requirements mentioned in docs
</action>

<action type="fix" dev="MB" fixes-bug="24874" due-to="Zhenbang Wei">
[PATCH]ValidationStrings_zh_TW.properties
</action>



<action type="fix" dev="EH" fixes-bug="25117">
PageService.getLink throws ClassCastException if parameters arg is Object[]
</action>

<action type="fix" dev="RLS" fixes-bug="25462">
NumericField does not pass on its type parameter
</action>


<action type="fix" dev="RLS" fixes-bug="25585">
ValidationDelegate throws NPE for some new FieldLabel/ValidField
</action>

<action type="fix" dev="MB" fixes-bug="25642">
properties cannot be of complex array types
</action>

<action type="fix" dev="EH" fixes-bug="25766">
fixed broken links in doc\src\common\TapestryLinks.xml
</action>

<action type="fix" dev="MB" fixes-bug="26395">
Inherited parameters do not pick up default values
</action>

<action type="update" dev="HLS">
Changed code to no longer invoke <code>StringUtils.isEmpty() / isNonEmpty()</code> (this is because the
behavior of the method is changing between jakarta-commons 1.0 and 2.0).	
</action>

<action type="update" dev="HLS">
Add an implementation of <code>toString()</code> to <code>RequestCycle</code>.
</action>

<action type="update" dev="HLS">
Update all copyrights for 2004.	
</action>

<action type="fix" dev="HLS">
Add download links.	
</action>

<action type="update" dev="HLS">
Remove unncessary constructor from test case classes.	
</action>

<action type="update" dev="HLS">
Changed mock unit tests to redirect System.out and System.err to log files rather than the console.	
</action>

<action type="update" dev="HLS" due-to="Glen Stampoultzis">
Improve the documentation for the Palette component, providing a real example of CSS styles
used with the component.	
</action>

<action type="fix" dev="HLS" fixes-bug="26416">
Component parameters with direction 'form' should not allow static bindings.
</action>

<action type="fix" dev="HK" fixes-bug="26599">
Fixed NPE in PatternValidator.toString().
</action>

<action type="fix" dev="HLS">
Fix TestMocks to not use JDK 1.4 API.	
</action>

<action type="fix" dev="MB">
Fixing property initializers to be evaluated every time (unless they are invariant)
</action>

<action type="update" dev="MB">
Added Servlet API 2.4 from Tomcat 5 and ejb.jar from Geronimo.
Made the mock objects compatible with Servlet API 2.4.
</action>

<action type="update" dev="MB">
Evaluate the string 'false' as Boolean.FALSE. 
All other non-empty strings continue to be evaluated as Boolean.TRUE.
</action>

<action type="update" dev="MB">
Automatically download external dependencies (such as Forrest and McKoi DB).	
</action>

<action type="fix" dev="HK" due-to="Anatol Pomazau">
DatePicker positioning problem fixed.
</action>

<action type="fix" dev="HK" fixes-bug="24336">
Automatic rendering of the maxlength and size attributes have been removed.
DatePicker now allows informal attributes that will be applied to the field.
</action>

<action type="fix" dev="MB" fixes-bug="25611">
Fixed one more place where the encoding needs to be set
</action>



			</release>
		</changes>
	</status>