Cleaned up warnings/imports showing on eclipse problem pane. ResourceMatcher service added with configurable regexp pattern hivemind contributions to conditionally allow some resources to not require md5sum digest checks. Added japanese localized validator strings. Cleaned up warnings/imports showing on eclipse problem pane. ResourceMatcher service added with configurable regexp pattern hivemind contributions to conditionally allow some resources to not require md5sum digest checks. Added japanese localized validator strings. Port late bug fixes from 4.0 branch to trunk Add a checkstyle configuration for the project, and fix a number of related warnings and errors Added a new utility implementation of IPropertySelectionModel that uses commons-beanutils to select values from a standard POJO object. Applied patch that adds enhanced hivemind autowiring of services to components/pages. Added isReadOnly method to EnhancementOperation interface to support discovering properties without having to throw exceptions. Asset service incorrectly calculating expiration time, was causing numeric overflow operations. Changed data squeezer to be a pipeline, allowing for a more flexible contribution/configuration. Added new IComponent.getClientId for global element id resolution on all components. Added configuration point for contributing OGNL null handlers. Improve output of base tag (for IE). FormLinkRenderer throws NPE with DirectlLinks. Added logic to asset service that checks for incoming css file relative paths. Form.set_focus() not compatible with some ie fields. Patch adds logic to check more cross-browser friendly functions for setting focus. Applied patch upgrading tapestry to use commons-fileupload 1.1 as well as adding new functionality enabling a more dynamic fileupload system for normal or portlet environments. Added error hint to encode message properties. It seems that 80% of the time the error is caused by a class that doesn't implement Serializable. Added message hinting at this in error strings. Display name of SimpleTableColumn now replaces all instances of "." character with "_". In portlet mode, the portlet URLs obtained by createActionURL() or createRenderURL() should NOT be encoded. When a Link component attempts to render its link during rewind, the PortletLinkFactoryImpl crashes because _renderResponse is null. Upload test was failing due to incorrect line number matching for "Contents Match." string assertion. Fixed links.ent reference to ExternalAsset, was missing asset package. Using the DatePicker for a date format containing no "word delimiter" doesn't work because of an inefficient limitational replacement-method in DatePicker.js. I added a patch for this, because I've to work with a date format of ddMMyy (without delimiter). With that patch it won't break any more neither for regular date formats nor for this delimiter-free format used in financial or touristics for example. Modified contrib table column headers to use inlined style and css classes to do table and image style definitions. Much more compatible with css now. Tapestry's resource finder throws a StringIndexOutOfBoundsException when an asset doesn't contains a "." (the search result of 'lastIndexOf' is -1). The patch against trunk simply adds a check in the lastIndexOf as it is assumed to be > -1 although the results of the check are used differently need 'port' parameter to supplement 'scheme' parameter for correct generation of urls http://jakarta.apache.org/tapestry/UsersGuide/page-class.html Has broken links to documentation about tapestry.page.PageClassProviderChain and tapestry.page.ComponentClassProviderChain Added new scriptAsset parameter, as well as param checking to be sure that only one of scriptPath or scriptAsset can be set. Removed the space between the message binding and the message key for Timeout.jwc. It seems that DirectLink and/or PopupLinkRenderer should be checking for Form rewind and not rendering in that case. Added informal-parameters to jwc and html for TableFormPages ValidationStrings wasn't being resolved correctly in non en environments, added a ValidationStrings_en.properties file to help. Incorrect usage of inject documentation on state page. Updated. Add link to DeveloperWorks Tapestry article PageAttachListener not called on initial page load DefaultResourceLocalizerTest is under framework/src not framework/test LabeledPropertySelectionModel throws NPE on null value Engine Service proxies don't correctly forward "post" parameter of IEngineService.getLink Add Tapestry @ JavaForge as related project Application startup fails occasionally because of undefined order of contributions Document validation inside the Users Guide Documentation for DatePicker component is incomplete Make default binding prefix configurable XTile service passes null list of listener parameters to listener method Make the logic for localizing resources extensible More work on the QuickStart documentation Body.get(cycle) throws exception RequestCycle is not available during page initialization FieldLabel's prerender property should default to true NumberTranslator.js missing semicolon Add missing documentation for Tapestry script template specifications StateBinding doesn't override isInvariant() FormMessages class has typo in message key for fieldAlreadyPrerendered() Single quotes in a localization of DatePicker strings causes a failure NPE creating a link from pageValidate() when there are client-persistent properties with page scope Output encoding problem with some versions of Tomcat 5 URLs for portlet links and forms are null ORO Perl5Matcher and Perl5Compiler are used in thread-unsafe manner tapestry.url.ServiceEncoders has reversed the descriptions of the after and before attributes Change return type to inteface for: ListenerMapSource.createListenerMethodInvoker() Typographical Errors in Documentation Tapestry may, in some cases, look for a page class in the wrong package contrib:Tree fails with NullPointerException Double click doesn't work on 'Available' side of Palette component Switch to HiveMind 1.1 (final) LinkSubmit does not work correctly when the browser's back button is used and the form resubmitted normally Extend RequestDisplay component (used on the Exception page) to also report the internal status of key Tapestry services LinkSubmit renders overly verbose JavaScript Expose the current IRequestCycle as an injectable service Using a FieldLabel component after the decorated form component causes the FieldLabel's id attribute to be wrong Fix a number of bugs in the DatePicker component's JavaScript Rollover component parameter names are wrong Wrong org.apache.tapestry.specification-path in javadoc Palette component select arrows appear enabled on load Localization directive cuts trailing space PopupLinkRenderer overrides wrong method of DefaultLinkRenderer Checkbox does not support FieldLabel When an engine implementation is missing Tapestry does not throw an appropriate error Tapestry should validate that all engine services provide a non-null service parameter If an engine service returns null from getName(), an NPE occurs Asset injection makes assets appear as null inside finishLoad() Form, PageLink, DirectLink, etc. should support a scheme parameter for controlling the scheme of the generated URL Deprecate the Action component and ActionService Change the examples distribution to be a pre-configured JBoss distribution Deprecate IMonitor and IMonitorFactory (for removal in 4.1) <div> tag around form hidden fields should not be visible Do not give focus to disabled fields LinkSubmit component should render its body, even when disabled Add annotation to define default value of property The "empty" property of StringTranslator is broken Tapestry throws a NPE if you try to configure an asset without an extension CookieSource service stores only session cookies (despite documentation) and provides no way to store a persistent cookie ClassNotFoundException thrown when deserializing an object from a client persistent property Document MultiplePropertySelection component Document Palette component Document Delegator, ExceptionDisplay, Hidden components Document LinkSubmit component Document Image component Document Script component Complete the renovation of the Virtual Library to take advantage of Tapestry 4.0 features Missing framework component documentation Unimplemented abstract method check broken Add DefaultPrimaryKeyConverter for use with the For component Change For component to interleave rendering/rewinding with access to its primary key converter Race condition during page loading can cause anomalous exceptions related to annotations Asset service sends a 200 response even when the provided md5 checksum is invalid Automatically create an IPropertySelection model from a string Remove support for <listener-binding> and the dependency on Bean Scripting Framework Document Button component Document Inspector component EnhanceUtils needs null checks in the primitive unwrapper methods Tapestry Inspector can throw an exception on the properties page, if a property is an array containing nulls Need an injection type comparable to the state: binding prefix Re-organize Tapestry project site navigation to be more consistent Rework build to create a seperate Tapestry examples distribution (which will be hosted from a non-ASF host) Document MaskEdit component Add streamlined API for recording errors into a validation delegate Methods marked deprecated in IComponent need to also be deprecated in AbstractComponent to avoid compiler warnings (when subclassing) Document Foreach component Foreach and For cache the 'source' parameter even when they should not Document ListEdit component InspectorButton component renders poorly ValidField component creates javascript referencing handle_invalid_field() method that no longer exists LinkSubmit does not render its body when rewinding RedirectException being caught from listener methods as an application exception rather than causing the redirect Invalid bindings in FormTable.jwc The path used when writing the locale cookie means that the locale can get "lost" when navigating around the application Document Frame component Document PropertySelection component Document Upload component Injecting meta data generates incorrect code for boolean properties Improve exception reporting of certain objects, including object arrays Expose the ServletContext as service tapestry.globals.ServletContext In some circumstances, using the classpath: or context: prefixes on paths fails to work Rename certain test-related classes to be picked up properly by the Ant build scripts Remove some code that is no longer used Document DateField, NumericField, ValidatingTextField components Add @Meta annotation, for defining meta data The @ComponentClass annotation is not inherited by sub-classes The 'defer' parameter of Submit, LinkSubmit, and ImageSubmit with default of 'true' tends to cause user issues Need better line-precise reporting for listener methods Report location of errors initializing managed beans FAQ Code example contains bug Spurious ERROR message (probably should be WARN or INFO) when template does not refer to components in page spec Colons in an OGNL expression may force it to be intepreted as a literal string, not an expression Literal bindings in template override bindings in specification for the same informal parameter Document DatePicker component Bug with "ForBean" when upgrade from beta5 to beta6 Document If component Document For component Document FormConditional component Application state objects are stored back to the session, even if unchanged Framework unit test suite fails for non-English developers due to localization issues Document GenericLink component Document Rollover component Document ServiceLink component Using component types with slashes in the HTML template fails Resource prefixes not honored inside <page>'s specification-path attribute WebResponse does not expose a way to set headers Search path for managed bean classes Injections that cause bad casts need better reporting Convert Tapestry repository from CVS to SVN Pattern validator invokes wrong client-side JavaScript function $bean syntax for validators: binding prefix is broken Tapestry.set_focus() seems to be passed the form components elementId (i.e. name attribute) not clientId (i.e. id attribute), which keeps focus from being set Document RadioGroup, Radio, ExternalLink, Option components Javascript problem with @LinkSubmit Big overhaul of the Tapestry Inspector Form component can render id tag twice Add documentation for the Describe component Document Choose, Otherwise, When components Document Conditional component Document ActionLink component Document Select component Document PageLink component Document RenderBody component ListEdit components should not attempt to take focus Build uploads vlibbeans-xxx.jar to java repository (and thence to the maven repository) Document DirectLink component Intermixing FieldLabels and form components can force a StaleLinkException XHTML 1.0 Strict compliance Improperly configured SerializableAdaptor (for DataSqueezer) prevents serialized objects from being de-serialized Hook needed on client side to control how validation errors are presented to the user Add IComponentSpecification.getReservedParameterNames() Remove unused org.apache.tapestry.IResourceLocation (replaced by org.apache.hivemind.Resource) Rename property-name attribute of configure element to "property" (matching the code in SpecificationParser, as well as other similar elements in the DTD) IfBean has a logic error in it Incorrect binding type converter for array of int[] Method clearErrors() of IValidationDelegate is missing in 4.0 PropertySelection does not submit Palette properly All For and If components in the non-form table family should be declared as volatile Configurable location of Table component's page navigation links validators: binding prefix should have way to reference the component's managed beans Select component exception when used twice on a page Engine services should use getName() when constructing thier parameter maps so that they may be more easily subclassed and extended Annotations jar on classpath breaks Tapestry if not running on JDK 1.5 NumberValidator should allow a special case for rendering zero Rename framework javascript functions to avoid potential name collisions Remove the AssetExternalizer and externalization logic, since the asset service is better and as efficient Messages in org.apache.tapestry.engine.EngineMessages should be public Make it easier to subclass DirectService Form should have an element id when rendered (same applies to various FormComponents as well) $ signs in generated element names / ids are illegal in XHTML E-mail validator pattern doesn't take new TLDs into account Tapestry attempts to invoke focus() on client-side objects that don't implement it IE Error in DataPicker.js Do not bind form component values unless all validators succeed. Including the tapestry-portlet jar in the classpath for a servlet application causes exceptions Optimize generated JavaScript to reduce the verbosity Poor reporting of missing specification file Form: have a success listener that is invoked only when the form is submitted normally and the delegate records no errors Deprecated IPage methods are not marked as such in AbstractPage Refactored ButtonLinkRenderer to the contrib library Form: have a success listener that is invoked only when the form is submitted normally and the delegate records no errors Add getComponent() method to IComponent. ContextAssetFactory assembles wrong filename for assets regexp validator(Email) script function name mismatch Changes to assets are not picked up, even when caching is disabled Add many translations of ValidationStrings.properties. Poor reporting of duplicate method implementations Remove default-binding attribute from <parameter> element Deprecate out-of-date contrib components Enhancement Workers that create read-only properties should flag setter methods as an error Allow access to component message catalog from validators: binding string Button component needs to implement rewindFormComponent() method Button component creates invalid markup Deprecate label parameter of Button component Tapestry 4.0 DTD invalid Client Side Persistence Scopes can conflict with each other NestedMarkupWriterImpl doesn't close the current open tag when getBuffer() is called Unable to override default pattern of DateTranslator and NumberTranslator when initialized via the translator binding Provide application: prefix to reference the application (root) namespace (from a library) Enable Eclipse project-specific compile options, activate additional checks as errors, and fix those errors in the code base WebRequest interface doesn't expose getRemoteUser(), isUserInRole() or getUserPrincipal() Namespace messages are retrieved using page's locale rather than engine's locale Components without a .jwc file not visible Generated client-side javascript is wrong when error message or field display name contains single-quote characters or backslashes Set the location for a page that has no specification (just a template) to be relative to the application (or library) specification Allow listener methods to return ILink, to support redirect-after-post Abstract properties (without a <property> element) do not clear out their values Add isRequired() to IFieldComponent Tapestry 4.0 (excluding annotations) not source compatible with JDK 1.3 Replaced RequirableField logic and 'required' parameter in PropertySelection, RadioGroup, Select, Upload, contrib:MultiplePropertySelection, and contrib:Palette with more general ValidatableField logic that adds a 'validators' parameter. Checkbox component is now validatable. Required validator additionally detects empty strings and empty collections. contrib:MultiplePropertySelection isn't setting it's own name before rendering Remove incomplete and unused integration test code Add post parameter to IEngineService.getLink() to support building links differently for form posts vs. link gets Add a configuration point for creating additional SqueezeAdaptors Change SerializableAdaptor to encode with and without compression, and use the shorter of the two DateField.jwc is 4.0 DTD but uses the type attribute of <parameter> Number translator generates incorrect javascript, preventing validation that the input value is numeric HiveMind configuration error breaks the useage of the state: binding prefix Submit component should deprecate its label parameter Checkbox selected parameter should be named "value" Parameters with aliases cause class enhancement exceptions Restore "zebra-striping" to the Exception page InspectorButton ignores its disabled parameter Properly position cursor into form fields Bean Property does not get updated from component parameter Foreach components cannot handle primitive arrays RestartService creates HttpSession wrongfully OGNL can't access a static field in a class in the webapp context Change TemplateParser to throw an exception and stop parsing when duplicate attributes are found in a tag FormConditional extends BaseComponent but has no template AbstractComponent: getMessages() and format() were removed, but should have been deprecated Using @Asset annotation causes NullPointerException Removed obsolete "format" parameter from DatePicker Annotations bypass line precise exception reporting Add @Documented annotation to the Tapestry annotations Don't attempt to display source if no line number @Message does not work with parameters Wrong property type on injected assets fails with confusing message asset service: send 304 status code when appropriate Script component is not picking up the symbols parameter Add blank component reference pages for If and For Cannot inject the same bean twice Client Side Validation inconsistent InvokeListener component is not in Framework.library Add InvokeListener component Add getErrorRenderers() method to IValidationDelegate Add purgeDeletedKeys() method to ListEditMap Add checks for multiple specification elements "claiming" the same injected property. Add support for validation decoration to TextArea Add raw parameter to InsertText Add aliases attribute to <parmeter> element, to allow parameters to be renamed Properly wire the assetFactory property of the tapestry.portlet.services.PortletRenderer service Fix some missing default bindings for the Table component (and subcomponents) Add getRequiredParameters() method to IComponentSpecification. Make inherited bindings (a holdover from the 3.0 DTDs) override (quietly) default parameter bindings Properly identify when portal mode or window state has changed Add deprecated attribute to <component-specification> and <parameter> Add configuration property org.apache.tapestry.accepted-locales, used to limit localization to a finite set of locales Injection uses actual type of injected object, which may not be available (due to AOP, or due to use of JDK Proxies) Add page listing the project voting history Add annotation support (in tapestry-annotation module) Add lightweight initialization for managed beans Add a command chain for resolving component classes Cache specification provided by the specification resolver delegate @Parameter does not work for required Add a page explicitly discussing JDK and library dependencies Incorrect link to Spring integration docs in FAQ Non thread safe documentation example ListEditMap can return null from getDeletedKeys() Fix injection problems; InjectScriptWorker injects a DeferredScript, not an IScript. Add super-verbose exception output when there's a failure instantiating a component class. Refactored and expanded validation functionality to include DatePicker, PropertySelection, RadioGroup, Select, TextArea, TextField, Upload, contrib:Palette, and contrib:MultiplePropertySelection Rework form event management to be primarily a client-side concern Add translator binding prefix Add cancel and refresh listener parameters to Form Listener methods may now return a page name, or a page instance, to activate and render the response Add injection of pages Add InjectPage annotation Add validators: binding prefix, which allows validators to be specified as a succinct list Rename Component annotation to ComponentClass Add Component, Message, InjectMeta and InjectScript annotations Renamed property-name attribute to property in the DTD for consistency Change FieldLabel to output a <label> element, and add support for generating a client-side id to form control components Add initial support for the validator: binding prefix Fix workbench build script so that generated war file will include the required ognl jar Allow Submits to defer invoking their listener Properly seperate data from different users stored using the tapestry.persist.ClientPropertyPersistenceStrategy service Store the Registry as a ServletContext attribute, so that it may be accessed from other servlets. Allow control over the ErrorHandler used when building the HiveMind Registry. Remove <inject-state>, and add type attribute to <inject> Fix some problems with the TestRestartService test suite Make it possible to add behavior before and/or after invoking listener methods. Add meta and script injection types Add defer parameters parameter to LinkSubmit Add listener parameters to Form submitting components Coordinate Locale changes with the hivemind.ThreadLocale service. Add lookup mechanism to determine page class from page name. Allow the name of the initial page to be overriden using the org.apache.tapestry.home-page application property. Include a message digest, as a credential, inside asset URLs. Add asset-encoding that encodes and decodes a friendly URL for the asset service. Add an extra level of indirection, so that engine services can be wired together using the engine-service: object provider. Add methods to IMarkupWriter that allow filtering to be specified using a parameter. Allow component parameters to have a default binding type. Set form name from component id, and disallow name as an informal parameter. Add 'client' property persistence strategy. Enhance listener methods, allowing them to include the request cycle optionally, and also optionally accept listener parameters. Replace references to release 3.1 with release 4.0. Upgrade to Javassist 3.0. Add DirectServiceEncoder. Add quotes around attribute values in contrib:Table <table> elements Upgrade to HiveMind 1.0-beta-1. Add cache attribute to <parameter> element Add Trails as a related project. Add AppFuse as a related project. Validation error renderers should implement toString. Roll IValidationDelegate change, adding getCurrentFieldTracking(), forward from 3.0.2 into 4.0 Add methods to IMarkupWriter that allow filtering to be specified using a parameter. Change FieldLabel to pre-render its associated field, so that decorations stay synchronized, even in a loop. Add PageAttachListener event interface Fix security flaw in asset service. JanitorThread now terminates explicitly when servlet is destroyed. Interruption properly terminates thread during sweep operation. Fix bug preventing DatePicker calendar window from closing automatically if onchange event handler is not specified. DatePicker onchange event now only fires when date changes. Patch for bad translation in ValidationStrings_zh_TW.properties Patch for bad translation in ValidationStrings_zh_CN.properties Fix incorrect test for enabling rendering of element in FormConditional component. Fix missing type attribute of script tag in Body component. Fix improper engine cleanup when client aborts a request. Build scripts are now Java 1.5 friendly. Remove dependencies on Jakarta digester, collections and beanutils. Add dependency on Jakarta HiveMind. Remove support for the <service> element in specifications (in favor of the tapestry.services.ApplicationServices configuration point). Significant rework of how Tapestry URLs are formatted. Remove support for the Tapestry JSP taglib. This can now be accomplished using service paths recognized by service encoders. Change Form to prevent collisions between query parameters supplied by services (in an ILink) and form element ids. Change Form (and WML Go) to have the direct and action services injected. Refactoring to move application state object management out of IEngine and generalize it. Add <inject-state> element to specifications. Add property attribute to <component>, <bean> and <asset> and add enhancement workers to inject these objects as properties. Add hivemind: binding prefix. Make the Body component output initializations in a script block at the end of the page (just before the close tag), rather than in a window.onload event handler. Support more boolean values. Inject Messages into components; this means that all Tapestry page and component classes are abstract. Allow namespaces to define localized messages, providing defaults for pages and components within the namespace. Change handling of initial values for properties to be based on injected logic. Fix bad link in UsersGuide/spec.xml. Add new ComponentPropertySource service for accessing component meta-data properties. Allow control over attribute name for components in templates. Inject specification into components. Use enhancement to inject page event registration into components. Add LabeledPropertySelectionModel that decorates an IPropertySelectionModel with an label row. New ButtonLinkRenderer, an ILinkRenderer implementation that renders a link component as a button. Split PageRenderListener into PageBeginRenderListener and PageEndRenderListener. Fix build settings for JDOM and Jetty. Upgrade OGNL to 2.6.7. This should move to 2.7.0 as soon as it is released. Added call to onchange for DatePicker pop-up selections. Provide localized validation messages for Simplified Chinese (zh_CN). Provide localized validation messages for Swedish. Ignored interruptedException prevents Janitorthread termination. The online Tapestry component reference for 3.0.1 for @Foreach component has an error in the example section. Persistent properties can't be set to null. ListEdit component reference should list source and value as required. FAQ link to Spring integration document is broken. [PATCH] ValidationStrings_de.properties Have RenderString implement useful toString(). Change ListEditMap to never return null from getDeletedKeys(). Add PopupLinkRenderer to contrib, this renderer emits javascript to launch the link in a new window. Ensure that the page's requestCycle property is set before finishLoad() is invoked on any component. Make IMessages smartly expand exceptions into their message, or their class name. Fix NPE in ValidationDelegate when the form has errors recorded for fields that did not render. Provide a public implementation of ITemplateParserDelegate. Palette does not clear its selected list when no selections are made. Allow abstract pages/components even if no specified properties (or other enhancements) Shell component should allow informal parameters Added a clearErrors() method to IValidationDelegate. Workbench/Upload exception when no file specified Add FormConditional to Component Reference Add element parameter to contrib:Choose Remove a small optimization that compromised storage of mutable objects as persistent page properties. Add docs on how to report problems. 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. NPE in org.apache.tapestry.form.LinkSubmit. Make checks for unimplemented abstract methods optional, to work around a bug in IBM JDK 1.3.1 (used with Websphere 4.x). Allow more primitive types to be used with parameter direction auto (byte, char, short, float and long) in addition to the previously accepted types (boolean, int, double and objects). Fix problems in the binary distribution. Create proper OGNL context when checking for invariant OGNL expressions (when initializing component properties). DataSqueezer: Incorrect exception message ExpressionBinding optimizes expressions incorrectly ValidationDelegate.writeLabelPrefix/Suffix does not have IValidator access Fix javadoc. Incorrect example code. InspectorButton docs have incorrect links. Update Component Reference to use 3.0 syntax Update the license to Apache Software License 2.0. Added 'raw' attribute to FieldLabel component. Removed the out-of-date Tutorial. Palette doesn't retain user-specified sort order Don't use request.getRemoteHost() since that requires an expensive reverse DNS lookup. Fix typos and inaccuracies in the 3.0 DTD comments. Fix logic in client-side validation. DatePicker doesn't use the current Locale in its formatter Update DatePicker to use a graphic icon to hide and show the calendar. Check for duplication of ids between the HTML template and the specification. Fix some number conversion problems inside NumberValidator. Dynamically download OGNL and Javassist libraries (in accordance with ASF directives about non-ASL code). Unfortunately, this means that we no longer can distribute precompiled examples that include those libraries Change direction of parameter model for WML components, SelectionField and PropertySelection Fixed the byte[] mapping in org.apache.tapestry.enhance.JavaClassMapping Convert the Tapestry home page to build using Forrest . Updated javadoc build target to link to JDK 1.3 Added new validator, Pattern Validator Fixed the null pointer exception from FieldLabel when not enclosed by Form or when IValidationDelegate is not provided The key attribute of the script foreach is changed to not be a required attribute Added support for OGNL TypeConverter in expression bindings Updated Component Reference for WML components Made DateValidator's getEffectiveFormat()/getEffectiveDisplayFormat() public Updated to use DocBook 1.62.4 XSL stylesheets for documentation generation Moved info priority logging to debug priority Custom parameter binding properties only enhanced if abstract Updated the Table components to have an easier interface, similar to that of Foreach. build.properties.sample does not include jython.dir Table component doesn't sort fine when there are null values Wrong Package in link JavaDoc: should IField be IFieldTracking?? contrib:PopupLink ignores informal parameters Wrong Package in link Typo: "In a IListenerBindingSpecification" Add url parameter to Shell component current OGNL 2.6.3 needs to be used Problem with URL encodings at EngineServiceLink.java The source parameter of Foreach should be required tests failing under JDK 1.3 Name attribute gets duplicated in TextField DateField component throws an ApplicationRuntimeException NumericField component throws an ApplicationRuntimeException Using NumericField cause a ClassCastException Compatibility of the AbstractEngine to servlet-api 2.2 patch to allow workbench to work with JDK 1.4.2 and current Jetty race condition in class enhancement The Dates tab in the Workbench contains an empty popup link ApplicationRuntime Exception loses root cause... NumberValidator forces to input a value junit.jar needed to build junit subproject JUnit XML tests broken under JDK with no XML parser (eg. 1.3) No JVM requirements mentioned in docs [PATCH]ValidationStrings_zh_TW.properties PageService.getLink throws ClassCastException if parameters arg is Object[] NumericField does not pass on its type parameter ValidationDelegate throws NPE for some new FieldLabel/ValidField properties cannot be of complex array types fixed broken links in doc\src\common\TapestryLinks.xml Inherited parameters do not pick up default values Changed code to no longer invoke StringUtils.isEmpty() / isNonEmpty() (this is because the behavior of the method is changing between jakarta-commons 1.0 and 2.0). Add an implementation of toString() to RequestCycle . Update all copyrights for 2004. Add download links. Remove unncessary constructor from test case classes. Changed mock unit tests to redirect System.out and System.err to log files rather than the console. Improve the documentation for the Palette component, providing a real example of CSS styles used with the component. Component parameters with direction 'form' should not allow static bindings. Fixed NPE in PatternValidator.toString(). Fix TestMocks to not use JDK 1.4 API. Fixing property initializers to be evaluated every time (unless they are invariant) Added Servlet API 2.4 from Tomcat 5 and ejb.jar from Geronimo. Made the mock objects compatible with Servlet API 2.4. Evaluate the string 'false' as Boolean.FALSE. All other non-empty strings continue to be evaluated as Boolean.TRUE. Automatically download external dependencies (such as Forrest and McKoi DB). DatePicker positioning problem fixed. Automatic rendering of the maxlength and size attributes have been removed. DatePicker now allows informal attributes that will be applied to the field. Fixed one more place where the encoding needs to be set Andreas has been a very active tapestry user for a long time now, as well as more or less taking the lead role lately on the tacos project. I've been very impressed with his dedication to performance/browser compatibility/etc as well as his overall knowledge of javascript, which will be key with tapestry 4.1 and onward. Besides all of these things, there is also a very real need for more day to day support of tapestry as a whole. I can't currently think of anyone (that I know) more qualified to come on board. HLS, JK, RLS, PF, MB, GL, HK, DS: +1 I think 4.0 is ready for a wider release and a new release announcement to ring in 2006. I know I'm anxious to start putting together 4.1 features. The most critical missing documentation, about validation, has been remedied by Jesse and some irritating bugs have been fixed. HLS: JK, KT, EH, RLS, GL, PF, HK, DS: +1 I think it is high time for a final 4.0 release. The release candidate has exposed a couple of minor issues, now fixed in the trunk, and there's nothing stopping us from following up with a 4.0.1 release if anything else turns up. HLS, JK, DS, HK: +1 GL: +0 KT: -1 By the time this vote ends, we'll have some kind of fix for TAPESTRY-724. I think, with that, Tapestry 4.0 is ready for prime time. We've already had the discussion of outstanding bugs needing fixing. I think we should get 4.0 out the door. HLS, JK, HK, TK, RLS, PF: +1 GL: -0 Kent Tong has been a great booster for Tapestry over the last year or two; not only has he been a constant presense on the mailing list, mentoring new and experienced users, as well as contributing bugs and patches ... but he's written an entire book on Tapestry. I think Kent would make a great addition to the team. HLS, GL, RLS, PF, DS, HK: +1 Jesse Kuhnert has been doing some outstanding work with Tacos (http://tacos.sf.net), powerful Ajax components for Tapestry. Further, he's been very active on the mailing lists, providing support to new users and to Tacos users here and on the Tacos mailing lists. I think Jesse would be a valuable addition to the team. We've talked about the emphasis for Tapestry 4.1 being on the components, and Jesse brings a lot of expertise in that area ... and he uses Tapestry at his day job. All of these indicate he has a place on the commiter list. HLS, RLS, GL, HK, PF, DS, MB: +1 As per the ongoing discussion, this is a vote to introduce a new procedure: regular weekly beta releases until Tapestry 4.0 is ready for release. I will take primary responsibility for producing the release and the release announcements, though volunteers will also be welcome. Work will primarily occur on the weekend. HLS, DS, PF, HK, GL, RLS: +1 Release early; release often. Lots of good fixes here, and I like releasing a beta every week or so. HLS, PF, MB, RLS, GL, HK, DS: +1 Since we've found and fixed a couple of real show-stopper bugs in beta-3, and its been a couple of weeks, I'd like to release beta-4. HLS, GL, HK, EH, DS, PF, RLS: +1 OK ... this discussion has gone on long enough. I'm willing to strip out the default-binding stuff and replace it with a simpler approach. Attributes will be intepreted as literals (unless prefixed) in the template, and as OGNL expressions (unless prefixed) elsewhere. This is a potentially de-stabilizing change; I am willing to do the work, but will expect others to pitch in and test (that is, pull down code and build apps against it), to help track down any latent errors. HLS, RLS, EH, PF, GL, HK: +1 Things have been cranking along, and we have a number of important fixes out there, and likely more by the time this vote completes. HLS, PF, EH, DS, RLS, GL: +1 Release early, release often. Let's do a short vote and release beta-2 as soon as possible. HLS, GL, EH, PF, DS, RLS, MB: +1 I know this is unusual, but I'd like to make a vote pending some other developments. I'm anxious to announce beta-1 when I'm at JavaOne. There are a couple of changes "in the queue" by various committers; I would like the first beta release to follow those changes being checked in. MindBridge is readying his If and For components (form-aware version of Conditional and Foreach). Paul is about to check in his improved validation support. I will follow with some improvements to client-side event management. A +1 vote indicates a desire for the beta-1 release to follow these developments. We can then focus on fixing bugs and documentation. HLS, PF, EH, DS, HK, RLS: +1 GL: +0 Although it hasn't been long since alpha-2, I'd like to release the next alpha of Tapestry 4.0. Why? A few things have settled down, some bugs have been fixed, a few really key features have been added, and I think the Portlet support is now complete. HLS, PF, HK, EH, RLS, DS, GL, TSV: +1 Now that HiveMind 1.1 has entered beta, I believe it's time to release a new alpha of Tapestry 4.0 (Picasso). This will give people a chance to see more of the (incomplete) Portlet support and many of the other recent fixes and improvements. HLS, RLS, EH, TSV, DS, PF, GL, MB: +1 The sentiment of the community seems to be that the next major release of Tapestry (i.e., HiveMind infrastructure, Portlet support, etc.) is too different from Tapestry 3.0 to be called "Tapestry 3.1". This release will only be largely backwards compatible; applications that sub-class BaseEngine or make use of custom Tapestry engine services will require some amount of re-work. In a small number of cases, component parameters (espcially those using direction "auto" or "custom") will not work exactly as before. I feel it is completely reasonable to not call this release 3.1, but to continue to bend over backwards for backwards compatibility. A +1 vote signals that you concur, and that the next release should be numbered 4.0. This will affect the code in a very limited way: Much code has been added with a @since 3.1 javadoc tag; this will change to @since 4.,0. Likewise, the 3.1 numbering is in documentation, and inside some of the specification DTDs; these will also change. HLS, GL, PF, EH, DS, RLS: +1 MB, HK, TSV: +0 I finished patching/fixing all of the big issues identified with the last release. With any luck, this will be the last release for the 3.0 branch. This vote will run for one week. A +1 vote is to release Tapestry 3.0.3. I will be able to start the release once the votes are tallied. PF, HK, MB, HLS, TS, DS, EH, GL: +1 RLS: +0 I think it's high time we provide people with a peek at 3.1. The code base has stabilized quite a bit in the last week or two, and although there's a huge amount of work to come, I think the community would benefit from an easy preview of what's coming. This will also be a chance to work through the release checklist I prepared last week. HLS, EH, HK, PF, RLS, DS, GL, TSV: +1 I think we should just be done with 3.0.2. All the bugs that are going to get fixed, have been. The next version of OGNL should just drop in, and since its not shipped with the framework anyway, its not a big deal. HLS, PF, GL, RLS, DS, EH: +1 HK, TSV, MB: +0 I would like to nominate Paul Ferraro as a Tapestry committer. Paul has shown a very good understanding of Tapestry, and recently made a large contribution with friendly URLs. (Paul has indicated he is very interested) RLS, EH, HK, GL, DS: +1 HLS, MB, TS, NC: +0 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. HLS, RLS, EH, HK, DS, TSV, MB: +1 GL, NC: +0 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. HLS, EH, HK, DS: +1 NC, RLS, MB, TSV, GL: +0 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. HLS, DS, EH, HK, TSV, RLS, MB: +1 NC, GL: +0 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? RLS, GL, HK, EH, DS, MB, HLS: +1 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. HLS, EH, DS, GL, MB, HK: +1 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. HLS, GL, RLS, DS, HK, EH, MB, TS, NC: +1 I nominate Erik Hatcher. He knows the score in jakarta-land. I think its a great idea. GL, HLS, MB, DS, RLS: +1 NC: +0 (no vote) 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) MB, HLS, GL, DS, NC, RLS: +1 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! HLS, GL, DS, MB, RLS: +1 NC: +0 (no vote) 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. HLS, MB, NC, RLS, GL, DS: +1 release 3.0-beta-1a ASAP (containing fixes for JDK 1.3) HLS, MB, NC, RLS, GL, DS: +1 Release 3.0-beta-1 as soon as possible.

Release notes will state that the API is now stable, with the exception of IMonitor.
HLS, MB, NC, RLS, GL, DS: +1
PROPOSAL: the next major release of Tapestry (previously known as 2.4 or NextGen) be released as version number 3.0. HLS, MB, RLS, GL, DS: +1 NC: +0 (no vote)

There really didn't seem to be much discussion ... everyone seems to be in favor. Mind Bridge seems very absent of late.

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

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.

HLS, NC, RLS, GL: +1 MB, ME: +0