This document contains release notes for Tapestry 5.0. The current release is Tapestry 5.1,
which has its ownrelease notes.
Release Notes - Tapestry 5 - Version 5.0.18
Bug
- [TAP5-399] - Modified application state
objects are not persisted back to the session at the end of the request
- [TAP5-401] - When rendering HTML content
(not XML) Tapestry should always render open and close tags for most elements, even if the content is
empty
Release Notes - Tapestry 5 - Version 5.0.17
Bug
- [TAP5-354] - BeanEditForm guide references
parameter "remove" which is now called "exclude"
- [TAP5-356] - Link to the Node JavaDoc from
the "New And Of Note" section of the project page is broken
- [TAP5-357] - Tapestry documentation should
clearly/boldly identify the release number
- [TAP5-362] - Linking to an index page can
result in an empty href attribute on a PageLink, which is treated by the browser as staying on the same
page
- [TAP5-370] - Error from DocumentLinker
about missing <html> tag, even for XML document w/o JavaScript
- [TAP5-373] - When JavaScript libraries are
moved to the "top" of the document, they should be added to the <head>, not the <body>
- [TAP5-377] - Broken links inside on project
site to pipeline description and to JIRA
- [TAP5-378] - Missing i18n files for
Brazilian Portuguese
Improvement
- [TAP5-365] - Localization support for
Japanese
- [TAP5-380] - Add localiztion support for
Greek
Task
- [TAP5-379] - Add the Ars Machina Project to
the list of Tapestry 5-related packages
Release Notes - Tapestry 5 - Version 5.0.16
Bug
- [TAP5-1] - Clicking on a link that updates a
zone before the page has fully loaded will result in a full page update and, often, a server-side
exception
- [TAP5-4] - Document the need to version
classpath assets to prevent unwanted client browser caching
- [TAP5-10] - An onActivate() event handler on
a page can cause PageTester to fail with a NullPointerException
- [TAP5-22] - Better client side reporting of
problems with Zones and triggers is needed
- [TAP5-23] - TextStreamResponse needs a
charset
- [TAP5-25] - Client-side validation is
triggered onblur even when switching to a different form in the same page, or to a non-form element such
as a link
- [TAP5-28] - Image shows through
autocomplete-menu
- [TAP5-32] - It is not possible to include a
null or blank field as part of an event or page activation context
- [TAP5-34] - When using a Grid inside a Form,
sorting the Grid may cause updates (when the form is submitted) to be applied to the wrong objects
- [TAP5-47] - Cookie is not a secure cookie
even though all connection are HTTPS connections
- [TAP5-50] - Tabbing out of a form, including
clicking a link, causes distracting client-side validations of the field just exitted
- [TAP5-105] - Defining a component in the
class that does not appear in the template should be an exception (not a logged, and ignored, warning)
- [TAP5-119] - Tapestry should not use the
page/component Logger for internal logging of class transformation and event dispatch logic
- [TAP5-127] - Incorrect encoding on Danish
messages files leads to UnknownFormatConversionException
- [TAP5-128] - Render phase short circuiting
fails to abort the event when mixins are present on the component, resulting in an IllegalStateException
when trying to store a subsequent result value
- [TAP5-131] - BeanEditForm guide example
about creating the FieldTranslator is inaccurate and out of date
- [TAP5-132] -
ComponentSource#getPage(String) does not handle a blank page name correctly
- [TAP5-135] - Attempting to set a default
sort constraint on the Grid will cause an NullPointerException inside Grid.getSortConstraints()
- [TAP5-136] - Although hibernate
dependencies are not longer provided the documentation still says they are
- [TAP5-157] - Add a LinkSubmit component,
for submitting a Form via a clickable link
- [TAP5-224] - DateField shows day
abbreviation labels in wrong order for some non-english locales
- [TAP5-225] - DateField shows empty
selection after first date select
- [TAP5-227] - Hibernate dependencies are
incomplete
- [TAP5-229] - Upgrade Prototype to version
1.6.0.3 to address positioning problems in IE6/7 that cause spurious client-side exceptions
- [TAP5-230] - Defining a service that
implements the HibernateConfigurer service causes injection exceptions (due to the ambiguity)
- [TAP5-233] - Ajax requests that fail give
no indication on the client side; instead, an error should be presented to the user as some form of
popup
- [TAP5-235] - The Tapestry Exception Report
page should set a response status of SC_INTERNAL_SERVER_ERROR
- [TAP5-238] - Component reference for Grid's
empty parameter is misleading; provide a good example
- [TAP5-240] -
Tapestry.Initializer.validate() references non-existent variable
- [TAP5-241] - Doc out of date: Hibernate
version
- [TAP5-249] - Links from
tapestry5-annotations page to tapestry-ioc and tapestry-core are broken
- [TAP5-253] - Unable to effectively override
default validation messages globally
- [TAP5-256] - Page Pool Limit exhausted when
exception occurs (during PageAttached lifecycle) on a link
- [TAP5-257] - NPE in RequestFilter if
ApplicationStateManager is used
- [TAP5-258] - RequestPageCache should
canonicalize page name
- [TAP5-261] - Palette option reordering
broken in IE
- [TAP5-263] - Tapestry should produce
XML-style output (not SGML) even for the text/html content type, for best compatibility with browsers
- [TAP5-268] - UTF8 characters are not
supported in the autocomplete mixin
- [TAP5-272] - File uploads that exceed the
upload limit throw an uncatchable exception; Tapestry should notify the page about the exception
- [TAP5-276] - Add documentation about the
use of @Inject to mark the correct constructor of a bean (i.e., when using BeanEditForm)
- [TAP5-279] - Client-side validation is
always enabled for injected AjaxFormLoop fields
- [TAP5-281] - Form should detect when it is
nested inside another Form and identify that as an error
- [TAP5-283] - FormFragments are not ignored
if the form has client validation disabled
- [TAP5-284] - A component parameter default
method that returns a primtive(instead of an object instance) results in an runtime exception
- [TAP5-287] - Typo in default.css setting
autoloader icon height
- [TAP5-290] - Namespace error when
partial-updating a zone with a block
- [TAP5-302] - URL encoded strings that
contain symbols such as %2f (encoded "/") are decoded incorrectly in some environments
- [TAP5-304] - Tapestry outputs a warning
when a component defined in the Java code (via @Component) does not have a corresponding element in the
template; this should be escalated to an exception
- [TAP5-305] - The JVM System Properties
Symbol Source should always be ordered first (ahead of ApplicationDefaults, etc.)
- [TAP5-308] - Injecting dependencies into
contributeTypeCoercer method causes circular dependency error
- [TAP5-314] - issue tracking link on
tapestry5 page should refer to https://issues.apache.org/jira/browse/TAP5
- [TAP5-323] - Fields marked with @Persist
should not allow default values
- [TAP5-325] - Pop up error bubbles are
broken in Safari
- [TAP5-326] - Class
org.apache.tapestry5.internal.structure.BlockImpl should implement toString()
- [TAP5-328] - Exception when checking
BeanEditor Field required in ValidationDecorator
- [TAP5-332] - Service interfaces should
identify the service name and the type of service configuration (if applicable)
- [TAP5-333] - Tapestry 5 renders an XHTML
label element incorrectly
- [TAP5-337] - Rapidly refreshing a page,
even the same page, can cause a deadlock related to class loading
- [TAP5-342] - Form with a zone is getting an
action of "#" on submit from IE 6
- [TAP5-343] - The Grid component generates
non-unique HTML DOM ids for sort columns
- [TAP5-359] - Use of the email validator
with client-side validation displays a pop-up error message about client-side validator "email"
being missing
Improvement
- [TAP5-12] - Need better docs for
AjaxFormLoop; component should link to AddRowLink and RemoveRowLink, and need some examples
- [TAP5-49] - Grid.defaultModel() should be a
protected method so that subclasses can override the default BeanModel logic
- [TAP5-87] - PasswordField should not update
its value parameter when the submitted value is blank
- [TAP5-184] - Improve error reporting when a
javascript asset is intended to be included on page which has no <html> element
- [TAP5-187] - Ajax event handler methods
that return a page instance, page class or page name should cause the client to redirect to that page
- [TAP5-188] - Document the need to use
@Inject with @Value or @Symbol when the parameter/field type is String (to avoid injecting the service
id)
- [TAP5-190] - Grid component's source
parameter should autoconnect to the matching container property
- [TAP5-197] - Improved error message when
using a form control component outside of a Form component
- [TAP5-200] - The Submit component doesn't
need validation decoration
- [TAP5-205] - Add an empty parameter to the
Loop component, to display a message when there are no items to loop over
- [TAP5-206] - Document that you should not
instantiate an @Persist field in its declaration
- [TAP5-228] - When you have multiple forms
on the same page that share (some of) the same properties, it is not possible to differentiate
validation constraints and messages in the message catalog
- [TAP5-254] - Translation for Spanish
- [TAP5-282] - Add support for Brazilian
Portuguese (pt_BR) locale
- [TAP5-285] - Components such as ActionLink
and EventLink should require that there be *some* event handler for their triggered events
- [TAP5-297] - Provide access to the
Autocompleter javascript instance
- [TAP5-301] - When using the @Property
annotation, Tapestry should throw an exception rather than overwrite an existing method
- [TAP5-313] - Provide configuration to move
links to JavaScript libraries to the top of the page
- [TAP5-318] - Tapestry should identify where
in the template undefined components (with id, but no type or matching embedded component) are located
- [TAP5-339] - Make FileItemFactory a service
so it can be overridden
- [TAP5-344] - Quickstart archetype should
include an empty app.properties message catalog in the WEB-INF folder
New Feature
- [TAP5-41] - Create a guide to creating and
packaging component libraries
- [TAP5-231] - Unify injection; allow @Inject
annotation on fields of service implementations
- [TAP5-275] - Add set() method to TestBase
to allow private fields of objects to be set via reflection
Task
- [TAP5-164] - Remove link to TapIDEA project
from Tapestry home page
- [TAP5-322] - Update links to JumpStart
because its site has moved
Release Notes - Tapestry - Version 5.0.15
Sub-task
Bug
- [TAPESTRY-1796] - Not all
writeCookieValue functions honor the tapestry.default-cookie-max-age symbol
- [TAPESTRY-1856] - Add localization
support to DateField
- [TAPESTRY-2243] - Component report
crashes when project have too many dependencies
- [TAPESTRY-2324] - Wrong Submit
'selected' event fired when using a Form with a Zone parameter
- [TAPESTRY-2352] - Client side
validation does not enforce the format of input (i.e., that numeric fields contain numbers)
- [TAPESTRY-2357] - Unlike Tapestry 4,
Tapestry 5 does not automatically position the cursor into a form
- [TAPESTRY-2438] - ValidationException
thrown from onValidateForm() should be recorded for the Form, but instead is treated as an unexpected
error
- [TAPESTRY-2453] - Form enctype is not
updated when an Upload component is injected via FormInjector / AjaxFormLoop
- [TAPESTRY-2460] - Nested BeanEditors
(where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a
StackOverflowException
- [TAPESTRY-2517] - A failed service
injection into a component field is visible in the browser as a spurious error about field _$resources
- [TAPESTRY-2532] - Javadoc of inPlace
field in Grid class is incomplete
- [TAPESTRY-2536] - Add explicit message
on module loading failure
- [TAPESTRY-2546] - Any component always
outputs the same id attribute, rather than a unique id attribute for each render
- [TAPESTRY-2558] - The injection page
of the user guide references commons-logging Log, not SLF4 Logger
- [TAPESTRY-2559] - The "configuration"
page of the Tapestry user guide (conf.apt) has an error, comes out blank
- [TAPESTRY-2561] - Rapidly refreshing a
page, even the same page, can cause a deadlock related to class loading
- [TAPESTRY-2563] - Tapestry should
reject form submissions that aren't via POST or don't contain t:formdata, as likely hack attempts
- [TAPESTRY-2566] - Errors in code
examples of "Securing your application with HTTPS"
- [TAPESTRY-2567] - Tapestry doesn't
identify conflicting annotations on component fields
- [TAPESTRY-2578] - BeanDisplay
formatting is off for fields with empty values
- [TAPESTRY-2585] - Email validator
requires Void constraint type, should be null
- [TAPESTRY-2591] - Email Validator
Throws MissingFormatArgumentException
- [TAPESTRY-2595] - Application State
Objects are not persisted back to the session at the end of the request
- [TAPESTRY-2601] -
ComponentResources.createActionLink() is incorrectly named, should be createEventLink()
- [TAPESTRY-2602] - Error bubbles are in
some cases placed incorrectly
- [TAPESTRY-2606] - File system warning
for certain component event request, on windows only
- [TAPESTRY-2617] - DateField component
should localize the month names and day name abbreviations shown in the client web browser
- [TAPESTRY-2619] - Event Handler adds a
new JSONObject to my JSONObject return
- [TAPESTRY-2626] - Dependencies on
Selenium are incomplete
- [TAPESTRY-2629] - Link to
tapestry5-annotations page is broken, links to old page (out of date since May 2008)
- [TAPESTRY-2636] -
NoSuchElementException on submit when using a Grid with a non-default model inside a Form
- [TAPESTRY-2641] - FormSupport.defer()
javadoc says defered actions will be executed after validation, but it's executed before
- [TAPESTRY-2655] - Services defined
with the bind() method may conflict with services from service builder methods without error
- [TAPESTRY-2656] -
GridSortModel.getSortContraints() - method name misspelled, should be getSortConstraints()
- [TAPESTRY-2658] -
HibernateGridDataSource.getAvailableRows should also call applyAdditionalConstraints() to prevent
java.lang.IndexOutOfBoundsException
- [TAPESTRY-2664] -
RenderSupport.addScript(String) does not add the core JavaScript dependencies
- [TAPESTRY-2668] - Setting volatile to
true on Grid component in form results in NullPointerException
- [TAPESTRY-2669] - Tapestry source
distribution's version of tapestry-test is actually the code for tapestry-spring
Improvement
- [TAPESTRY-2137] - The common idiom of
connecting a component's id to a container property should be easier: an attribute of the @Parameter
annotation
- [TAPESTRY-2223] - Don't require a
hibernate.cfg.xml
- [TAPESTRY-2236] - Strip trailing
punctuation (_ and $) from member names, as is done with leading punctuation
- [TAPESTRY-2277] - Removing Label body
should be parameterizable
- [TAPESTRY-2286] - Support JSONArray as
a valid return type from AJAX event handlers
- [TAPESTRY-2287] - Include
tapestry-test in release download
- [TAPESTRY-2363] - Overload method
ComponentSource.getPage to accept a page class as parameter
- [TAPESTRY-2458] - Refactor
DefaultHibernateConfigurer as an IOC service for easier overriding
- [TAPESTRY-2461] - Add translations for
Finnish locale
- [TAPESTRY-2474] - Define and use a
standard set of SL4J Markers for logging, to make it easier to filter output
- [TAPESTRY-2486] - Refactor the
non-trivial BindingFactory implementations into services
- [TAPESTRY-2489] - The ServiceStatus
page should not reveal so much information in production mode, out of security concerns
- [TAPESTRY-2554] - When decorating a
service using a decorate method, the underlying service (or interceptor) should be available as a
parameter of the service type, not just java.lang.Object
- [TAPESTRY-2576] - The text field for a
DateField component should be optional
- [TAPESTRY-2577] - Add support for
Russian locale
- [TAPESTRY-2584] -
AspectInterceptorBuilder should allow for multiple advice per method
- [TAPESTRY-2586] - Some abstract base
class methods should be overridable
- [TAPESTRY-2588] - Add translations for
Danish locale
- [TAPESTRY-2589] - Add translations for
Swedish locale
- [TAPESTRY-2592] - BeanEditor should
provide a "BeanEditContext" into the environment. (or PropertyEditContext should include the
bean class).
- [TAPESTRY-2596] - Add translations for
French locale
- [TAPESTRY-2597] - Upgrade
tapestry-hibernate to Hibernate 3.3.0.SP1
- [TAPESTRY-2603] - Improve
@InjectContainer Javadoc
- [TAPESTRY-2610] - Allow access to
component's informal parameters
- [TAPESTRY-2611] - Add loom-t5 link to
Tapestry 5 home page
- [TAPESTRY-2615] - IOC autobuild
conflict between org.hibernate.Session and the FullTextSession from the hibernate serach module
- [TAPESTRY-2623] - Remove excessive
Tapestry.debug() messages on zone response
- [TAPESTRY-2624] - Remove unecessary
comments from tapestry.js
- [TAPESTRY-2627] - The else parameter
of If should have a default binding prefix of literal
- [TAPESTRY-2630] -
EntityPersistentFieldStrategy converts entity PKs to strings and back unnecessarily
- [TAPESTRY-2639] - tapestry.js does not
use Protoype's Class.create() properly
- [TAPESTRY-2643] - RenderSupport should
have options for including a JavaScript library or Stylesheet as a String URL, not just as an Asset
- [TAPESTRY-2646] - There should be a
global configuration that controls the default for Form's clientValidation and autofocus parameters
- [TAPESTRY-2654] - The Zone component
should expose its body (as a Block) to make it easier to re-render the Zone's body as an Ajax partial
page render
- [TAPESTRY-2662] - Upgrade Hibernate
dependency to 3.3.1
- [TAPESTRY-2670] - Major fixes needed
for German (DE) localization
- [TAPESTRY-2671] - TapestryFilter
should display name of application, version of Tapestry at startup
New Feature
- [TAPESTRY-1310] - Provide access to
the current row index and current column index in Grid
- [TAPESTRY-1867] - Support a special
marker interface @Local to select just services defined within the same module
- [TAPESTRY-1923] -
ComponentClassResolver can/should provide access to all known page names
- [TAPESTRY-2300] - The RadioGroup
component always generates its control name from its component id; a new parameter should give some
override control over this
- [TAPESTRY-2509] - Add type coercions
from String to Renderable, Block
- [TAPESTRY-2541] - Tapestry DOM needs
basic methods to manipulate the DOM post-render
- [TAPESTRY-2571] - Add configuration to
turn off the automatic creation of ValueEncoders for Hibernate entities
- [TAPESTRY-2594] - Add translations for
Croatian (hr) locale
- [TAPESTRY-2638] - The name of the
event triggered by a Submit component should be configurable, to allow for multiple components that
trigger the same event handler method
- [TAPESTRY-2644] - Add a
ComponentResources.createPageLink(...) method that uses page class instead of page name
Wish
- [TAPESTRY-1964] - Constant not used
from app-name in TapestryModule
Release Notes - Tapestry - Version 5.0.14
Bug
- [TAPESTRY-1588] - Validation error
images are included in the markup for fields without errors, even when the form has client validation
disabled
- [TAPESTRY-1997] - PersistentLocale is
lower-casing locales
- [TAPESTRY-2181] - The Component
Parameters Report should indicate if a component supports informal parameters
- [TAPESTRY-2384] - OutOfMemoryError
exception if a regular file with no extension exists in a known component package
- [TAPESTRY-2386] - BeanDisplay
component should generate more semantic output using <DL>, <DT>, <DD> instead of
nested <DIV>s
- [TAPESTRY-2390] - Components or mixins
requiring external javascript files and rendered via AJAX do not work
- [TAPESTRY-2408] - FormInjector doesn't
work properly if the content contains multiple form elements
- [TAPESTRY-2429] - Script text added by
RenderSupport.addScript() should be added raw (with XML elements not encoded as entities)
- [TAPESTRY-2433] - UTF8 characters are
not supported in the autocomplete mixin
- [TAPESTRY-2447] - Clicking on a pop-up
error bubble hides the bubble, then immediately fades it back in
- [TAPESTRY-2448] - When a bean class
inherits properties from a base class, field annotations of the base class properties are not visible
- [TAPESTRY-2449] - Groovy can inject a
base class into component classes that Tapestry rejects
- [TAPESTRY-2450] - Unlike reflective
access (via PropertyAdapter), PropertyConduit does not make field annotations visible
- [TAPESTRY-2454] - tapestry-hibernate
transaction management doesn't work as expected when commiting more than once on the same request
- [TAPESTRY-2459] - Submit components
fires its event after "validateform" event, should be before (this is a change from prior
releases)
- [TAPESTRY-2460] - Nested BeanEditors
(where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a
StackOverflowException
- [TAPESTRY-2468] - A deadlock related
to class loading (and creation) can occur
- [TAPESTRY-2471] - Parameter fields
that are updated during component event processing (such as a form submit) may not clear their values at
the end of the request
- [TAPESTRY-2473] - Application locks
up, with all threads waiting for read lock inside ConcurrentBarrier
- [TAPESTRY-2476] - Unhelpful exception
messages when a null value is bound to a required parameter
- [TAPESTRY-2478] - Non-private fields
in Tapestry component classes should fail early, instead get confusing
javassist.bytecode.DuplicateMemberException
- [TAPESTRY-2481] - ClassTransformation
acts as if all type-level annotations are inherited; it should filter out non-inherited annotations
- [TAPESTRY-2483] - The '%' symbol
passed to RenderSupport.addScript() is treated as a formatting directive, causing errors
- [TAPESTRY-2484] - Some built-in
Tapestry components are final and should be extensible
- [TAPESTRY-2490] - Palette component
forces an unwanted form submit under FireFox 3
- [TAPESTRY-2498] - Add JDK 1.6
compatibility via Javassist 3.8.0.GA
- [TAPESTRY-2500] - Using
@PageActivationContext on an int field results in a java.lang.Verify error
- [TAPESTRY-2501] - Form input not
correctly decoded in case of non-english charsets
- [TAPESTRY-2502] - When the
GridDataSource reports more available rows than actual rows (due to race conditions with updates), the
Grid will fail because of IndexOutOfRange exceptions
- [TAPESTRY-2504] - Unspecified ajax
stream response encoding
- [TAPESTRY-2507] - Stylesheet (.css)
files included by components are not added if the component is added to the page via an ajax update
- [TAPESTRY-2508] -
HibernateGridDataSource calls Query.setFetchSize() not Query.setMaxResults()
- [TAPESTRY-2522] - RequestPathOptimizer
will corrupt query parameters in the optimized URL if the parameters container slashes
- [TAPESTRY-2528] - It should not be
possible for component classes to be directly instantiated
- [TAPESTRY-2538] - The default binding
prefix for TextField.translate should be "translate" but is "prop"
- [TAPESTRY-2543] - Simplify Tapestry to
use UTF-8 (or another, configurable character set) across the entire application
Improvement
- [TAPESTRY-2404] -
PropertyConduitSource could build a shared method to "navigate" to the final property
- [TAPESTRY-2410] - Service decorator
method not invoked for @Match with "*" in middle
- [TAPESTRY-2443] - Support de_DE
(German) localization
- [TAPESTRY-2452] - Introduce a new
symbol for the path to the application message catalog
- [TAPESTRY-2461] - Validation and Error
messages for Finnish locale
- [TAPESTRY-2467] - Method to remove or
replace DOM nodes from the document
- [TAPESTRY-2469] - Update Selenium
dependency to the current version, 1.0-beta-1
- [TAPESTRY-2479] - Upgrade to SLF4J
version 1.5.2 (supports older versions of Log4J better)
- [TAPESTRY-2480] - Migrate Tapestry
"what's new?" and upgrade information up to the project level
- [TAPESTRY-2519] - Make
ClassNameLocatorImpl resolve resources from URLs that use a client-defined protocol
- [TAPESTRY-2525] - Properties files in
a message catalog should be read using UTF-8 encoding, rather than default encoding
- [TAPESTRY-2531] - Upgrade EasyMock
dependency to latest version, 2.4
- [TAPESTRY-2534] - An event context
should be passed through the Ajax request when AjaxFormLoop adds a new row
New Feature
- [TAPESTRY-1810] - ServiceBinder.bind()
with an interface should check to see if there's an Impl class and bind to that.
- [TAPESTRY-2143] - Framework should
include an email validator
- [TAPESTRY-2217] - Add ability to
render a page as a Document
- [TAPESTRY-2235] - Annotation for
managing a property as the page activation context
- [TAPESTRY-2475] - Add an
implementation of GridDataSource that can be used to optimize Hibernate queries
- [TAPESTRY-2540] - Tapestry should
place the Registry into the ServletContext using a well-known attribute name, for use by non-Tapestry
code
- [TAPESTRY-2542] - Add new method
hasBody() to ComponentResources, to reveal if component has a body or not
- [TAPESTRY-2550] - Allow Tapestry to
bind a service interface to a ServiceBuilder callback to create the service
- [TAPESTRY-2552] - Provide easier
overrides for Grid, BeanEditor property display & edit blocks
Release Notes - Tapestry - Version 5.0.13
Bug
- [TAPESTRY-2096] - Confusing exception
when autobuilding a class fails due to class visibility
- [TAPESTRY-2311] - "Parents before
Child" concept for Component Rendering does not allow different rendering in subclasses
- [TAPESTRY-2341] - AJAX Zone updating
doesn't work correctly in IE
- [TAPESTRY-2349] - FormFragment should
be tied to the 'click' event of the associated checkbox
- [TAPESTRY-2360] - Forms in zones in
loops have wrong zone id after update
- [TAPESTRY-2418] - Form onsubmit event
handler for Zone component handling is ignored if any fields on the form have validation configured.
- [TAPESTRY-2422] - The Exception report
will itself throw an exception if the exception being reported contains a write-only property
- [TAPESTRY-2436] - New FormInjectorDemo
using AjaxFormLoop fails if a row is added and then removed without a form submission in between
Improvement
- [TAPESTRY-2100] - Validation and Error
messages for Portuguese locale
- [TAPESTRY-2281] - Update tutorial1 to
correctly indicate how and why to replace Jetty 5 log4j.jar
- [TAPESTRY-2347] - Add a "resources"
section to T5 home page
- [TAPESTRY-2393] - The FormFragment
component should isolate its action stream (t:formdata hidden field) such that the entire client-side
element may be removed
- [TAPESTRY-2428] - tapestry-hibernate
should include as a dependency a default version of Hibernate with docs for how to override
- [TAPESTRY-2439] - The PropertyAdapter
interface should include a property to identify the containing class
- [TAPESTRY-2440] - The quickstart
archetype should enable debug logging (by default) for the new application
- [TAPESTRY-2441] - Upgrade to
Scriptaculous 1.8.1
- [TAPESTRY-2442] - When Tapestry is
operating inside FireFox with Firebug enabled, it should use the Firebug logging API
Release Notes - Tapestry - Version 5.0.12
Bug
- [TAPESTRY-1921] - Add documentation
for Environmental annotation, environmental services
- [TAPESTRY-2037] - NullPointerException
caused by many rapid page refreshes
- [TAPESTRY-2247] - Transactions should
roll back, not commit, at the end of each request
- [TAPESTRY-2258] - Error while
autobuilding BeanEditForm's bean
- [TAPESTRY-2259] - Registry startup
exceptions are not reported correctly
- [TAPESTRY-2260] - Null relationships
cause an NPE inside Hibernate when being value encoded by RadioGroup
- [TAPESTRY-2261] - TriggerFragment
mixin should work with Radio as well as Checkbox components
- [TAPESTRY-2262] - TriggerFragment
mixin will run the "show" animation even when the fragment is already visible
- [TAPESTRY-2265] - Grid component
documentation could be simplified
- [TAPESTRY-2267] - Services that are
dependencies of other EagerLoad services may not be eagerly loaded
- [TAPESTRY-2268] - Docs: tapestry-core
-> user guide -> Request Processing broken "Pipelines" link
- [TAPESTRY-2271] - Expose the Grid's
rowsPerPage and row properties to Java code (instead of using @Property)
- [TAPESTRY-2276] - Required validation
fails when used with select and blankOption="ALWAYS"
- [TAPESTRY-2284] - Exceptions may be
incorrectly reported due to exception invoking initCause() when an exception already has a cause
- [TAPESTRY-2293] - BeanDisplay
formatting is off for fields with null values
- [TAPESTRY-2305] - When Tapestry throws
an exception due to an unrecognized embedded component id, it fails to list the available component ids
- [TAPESTRY-2306] - Mismatch between
client-side and server-side "required" validator
- [TAPESTRY-2320] - Problems with
validation popups on Internet Explorer
- [TAPESTRY-2322] - FormInjector doesn't
work properly if the content contains multiple elements
- [TAPESTRY-2323] - Select component
does not generate client-side validation
- [TAPESTRY-2333] - RequestPathOptimizer
generates invalid URLs when a trailing slash is added to the request path
- [TAPESTRY-2336] - default.css
div.t-autocomplete-menu ul style shouldn't have width, height & margin-left
- [TAPESTRY-2338] - Cached values for
methods annotated with @Cached do not reset at end of Ajax request
- [TAPESTRY-2339] - The automatic
ValueEncoder for Hibernate entities will sometimes encode an entity as null (rather than its primary
key)
- [TAPESTRY-2340] - Documentation about
informal parameters should reference the @SupportsInformalParameters annotation specifically
- [TAPESTRY-2343] - The FormInjector
should copy its class attribute to the new element (on the client side)
- [TAPESTRY-2346] - Update the
tapestry-core adaptive API example to match the current set of events triggered by the Form component
- [TAPESTRY-2368] - The value for the
Tapestry version number symbol is not initialized correctly and is always "UNKNOWN"
- [TAPESTRY-2370] - When injecting a
component into a field and the type is not a match the exception report is not sufficiently helpful
- [TAPESTRY-2371] - The QuickStart
Archetype should lock down the version of Jetty used (to 6.0, now that 7.0 snapshots are starting to
turn up)
- [TAPESTRY-2372] - The Tapestry
tutorial should disable production mode (so that the full exception report can be seen)
- [TAPESTRY-2381] - Linking a radio
button as a FormFragment trigger does not work in Internet Explorer
- [TAPESTRY-2397] - Mixins inside
components should have an id that extends from from the containing component, but is still unique and
URL safe
- [TAPESTRY-2398] -
ClassTransformation.addInjectedField() adds fields as protected which can cause exceptions due to
visibility
- [TAPESTRY-2399] - When an class loader
exeption occurs while loading a base class, a new exception (int the subclass) overwrites the more
useful exception from the base class
- [TAPESTRY-2400] - Advising a method
where the parameter type or return type is the class containing the advised method may throw a
java.lang.VerifyError
- [TAPESTRY-2401] -
NullPointerExceptions inside component bindings need to do a better job of explaining what was null
- [TAPESTRY-2407] - Update master POMs
to point to the moved OpenQA repositories (from which Selenium is obtained)
- [TAPESTRY-2409] - Service method
advice fails when a parameter or return value type is an array
- [TAPESTRY-2415] - StreamResponse does
not work on WebLogic - response not flushed, and secondary exception raised
- [TAPESTRY-2416] - When the
HibernateValueEncoder is unable to convert a primary key into an entity, it should log an error
- [TAPESTRY-2424] - Validation
occasionally triggers Stack Overflow Javascript Error in IE
Improvement
- [TAPESTRY-1924] - Allow for templates
coming from stream
- [TAPESTRY-2159] - YSlow
Recommendation: Version bundled javascript and use far-future expires header
- [TAPESTRY-2253] - A brain dead
implementation of toString() on a custom data object can cause the Required validator to throw a
NullPointerExcepton
- [TAPESTRY-2263] - Add a reset() method
to the Grid component to reset paging and sorting to initial defaults
- [TAPESTRY-2280] - Add a zone parameter
to the BeanEditForm component
- [TAPESTRY-2285] - Tutorial #1 talks
about "setup()" method instead of "initialize()"
- [TAPESTRY-2294] - The various link
components should only generate an id attribute if the id parameter is bound
- [TAPESTRY-2297] - Element should
expose namespace URL in which the element is defined
- [TAPESTRY-2308] - Don't create
HttpSession when persisted property is null
- [TAPESTRY-2315] -
InjectContainerWorker should use this or other local variable name than "container"
- [TAPESTRY-2327] - The Any and
FormInjector components should have an element parameter, for overriding the element name
- [TAPESTRY-2334] - Optimize JavaScript
generation for FormInjector
- [TAPESTRY-2342] - The InjectPageWorker
should use the ComponentSource service, rather than the RequestPageCache
- [TAPESTRY-2354] - Use "flash"
persistence on Form's ValidationTracker
- [TAPESTRY-2364] - YSlow
Recommendation: Write Scripts at bottom of page
- [TAPESTRY-2388] - The Any component
should implement the ClientElement interface, and allocate a unique client id as necesssary
New Feature
- [TAPESTRY-2231] - Make Tapestry
release number visible as a symbol ("tapestry.version")
- [TAPESTRY-2256] - Provide an
annotation to support automatic committing of the transaction after a component or service method
invocation
- [TAPESTRY-2319] - Add support for
client-side form-level validation
- [TAPESTRY-2359] - Grid component
should be able to update itself in place using an implicit Zone
- [TAPESTRY-2365] - It should be
possible to create decorators without directly writing Javassist code
- [TAPESTRY-2378] - Add a listener
interface for MarkupWriter, to allow code to be notified when elements are started and ended
- [TAPESTRY-2379] - FormInjector and
FormFragment should use the (new) MarkupWriterListener interface to place the hidden field(s) in an
appropriate location
- [TAPESTRY-2380] - Add AjaxFormLoop
component
- [TAPESTRY-2389] - Add support to
ClassTransformation to allow ComponentClassTransformWorkers to provide advice to methods
- [TAPESTRY-2405] - Add @Log annotation
for component methods, that will log (at debug level) entry, exit and fail conditions
- [TAPESTRY-2421] - Allow
Tapestry4/Tapestry5 to be deployed in the same WAR
- [TAPESTRY-2425] - Tapestry annotations
such as @Validate, @DataType, etc. should be applicable to fields as well as accessor methods
Release Notes - Tapestry - Version 5.0.11
Bug
- [TAPESTRY-1475] - Tapestry is missing
an API for clearing out persistent properties of a particular page
- [TAPESTRY-1605] - The request encoding
(for component action requests) occurs too late; after query parameters of the request have been
accessed, which prevents the proper request encoding from being used
- [TAPESTRY-1780] - T5 Form component
NPE if no FORM_DATA found
- [TAPESTRY-2103] - When referencing a
method as part of a property expression, the method name must be case exact whereas the rest of the
property expression is case insensitive
- [TAPESTRY-2108] - Tapestry.onDOMLoaded
not working in konqueror
- [TAPESTRY-2117] - Circular @SubModule
will crash the IOC container with OutOfMemoryException
- [TAPESTRY-2141] -
NullPointerExceptions under JDK 1.5 due to underlying ThreadLocal bug
- [TAPESTRY-2145] - Documentation
(including javadoc), refers to "ZoneEffects" instead of "ZoneEffect"
- [TAPESTRY-2147] - Typo in Tapestry
developer "bible"
- [TAPESTRY-2149] - Tapestry should
allow the pages and components to be referenced by their "unstripped" names as well
- [TAPESTRY-2150] - Tapestry should
recognize pages that are "nested" beneath other pages
- [TAPESTRY-2151] - Date format used by
DateField shows the year as two digits, not four
- [TAPESTRY-2172] - DateField component
shows up misplaced in major browsers
- [TAPESTRY-2177] - Conversion of
context parameters to server-side objects uses the TypeCoercer rather than the correct ValueEncoder
- [TAPESTRY-2184] - Null pointer
exception when creating an action link during a component event request
- [TAPESTRY-2188] - GridModel and
GridDataSource should be changed to support multiple sort columns
- [TAPESTRY-2190] -
JSONObjectEventResultProcessor sends the wrong content type value
- [TAPESTRY-2192] -
DateField.xdoc:65:11: The element type "p" must be terminated by the matching end-tag "</p>"
- [TAPESTRY-2206] - Tapestry should have
a different data type for numbers than for strings
- [TAPESTRY-2208] - The data type "checkbox"
should be renamed to "boolean" to reflect what it is, rather than how it is rendered
- [TAPESTRY-2209] - JSONObject response
contains additional {}
- [TAPESTRY-2212] - Index.tml generated
by Quickstart Archetype is broken due to recent Index page change.
- [TAPESTRY-2219] - Enum label
overrides, as outlined in the Tapestry Tutorial, no longer work
- [TAPESTRY-2220] - In some cases,
component event requests are incorrectly interpretted as render requests (with a page activation
context)
- [TAPESTRY-2221] - Exception message
when a context value is null or blank is confusing
- [TAPESTRY-2226] - Requests for the
root index page that include a page activation context fail with a 404 error
- [TAPESTRY-2229] - BeanEditForm is
including properties that are read only, causing errors when the form is submitted
- [TAPESTRY-2238] - Returning a Block
from an Ajax form submission fails with IllegalStateException
- [TAPESTRY-2240] - Groovy classes can
no longer be used as component classes because of the public metaClass field
- [TAPESTRY-2245] - GridDataSource
getAvailableRows() method called inefficiently
Improvement
- [TAPESTRY-1336] - Refactor
ApplicationGlobals's store methods
- [TAPESTRY-1612] - Allow access to the
PageTester registry
- [TAPESTRY-1835] - Need an API to see
if a field is required or optional
- [TAPESTRY-1890] - Allow Tapestry
applications to NOT autoload modules from library
- [TAPESTRY-1930] - Render missing
parameter names in different font and/or text style.
- [TAPESTRY-1932] - Extend PropertyModel
to allow access to annotations associated with the property
- [TAPESTRY-1954] - Move the
ClassNameLocator service to the tapestry-ioc module
- [TAPESTRY-1955] - Hibernate
SessionFactory close on webapp destroy
- [TAPESTRY-1978] - When supplying an
empty parameter binding, indicate problem parameter in error message.
- [TAPESTRY-1983] - Add parameter to
Grid component that will add additional columns to the BeanModel
- [TAPESTRY-1999] - Allow the context
for an event to be specified as a List as well as an Object array
- [TAPESTRY-2078] - More understandable
error messages needed when incorrect classes found in component/page packages
- [TAPESTRY-2087] - Add "else"
parameter to Unless component.
- [TAPESTRY-2164] - The Tapestry binary
distribution should include appropriate third party dependencies
- [TAPESTRY-2173] - When Tapestry must
instantiate an Application State Object without an explicit ApplicationStateCreator, it should autobuild
the object rather than just use the default constructor
- [TAPESTRY-2180] - Add release notes
about API changes
- [TAPESTRY-2182] -
NullPointerExceptions, due to reading nested properties that do not suppress null values, do not
indicate problematic expression for AbstractPropertyOutput derivatives
- [TAPESTRY-2200] - Need a mechanism via
which display and/or edit BeanBlocks may be overridden
- [TAPESTRY-2204] - Upgrade
tapestry-test to use Selenium 0.9.2
- [TAPESTRY-2205] - Upgrade to Javassist
3.7
- [TAPESTRY-2218] - Grid component
should render informal parameters
- [TAPESTRY-2222] - The exception report
should highlight the lines related to the application in the stack trace
- [TAPESTRY-2227] - Typo in User Guide ->
Persistent Data -> Persistence Strategy
- [TAPESTRY-2237] - Grid should make its
"currentPage" value available to containing components
New Feature
- [TAPESTRY-1653] - Provide automatic
ValueEncoders for Hibernate entities
- [TAPESTRY-1778] - Allow extending the
PageTester with extra modules for better integration with tapestry-spring
- [TAPESTRY-1919] - Let Tapestry control
HTTP/HTTPS in links via page configuration
- [TAPESTRY-2169] - Create an
ExceptionAnalysisDisplay component
- [TAPESTRY-2170] - Add annotation to
inject a component defined in the template
- [TAPESTRY-2197] - Support for "index"
pages in packages
- [TAPESTRY-2202] - When the
BeanEditForm or BeanEditor components must create the bean to be editted, it should be autobuilt
(supporting injection) rather than just instantiated via the default constructor
- [TAPESTRY-2214] - Select component
should provide control over a blank option for optional selects
- [TAPESTRY-2216] - Add a @Property
annotation for fields to create a getter and setter method
- [TAPESTRY-2241] - Add new parameter
"include" to BeanEditor, Grid, etc. to limit properties to a provided list, and rename
existing "remove" parameter to "exclude"
- [TAPESTRY-2244] - Add @Cached
annotation for caching method values
- [TAPESTRY-2246] - Add @Persist
strategy for Hibernate entities
Task
Release Notes - Tapestry - Version 5.0.10
Bug
- [TAPESTRY-1518] - Add support for JDK
1.5 Generics when defining pages and accessing bean properties
- [TAPESTRY-1594] - tapestry-upload
processes requests with multipart content even if Tapestry doesn't recognize the page
- [TAPESTRY-1727] - Exception report
page doesn't display object arrays very nicely
- [TAPESTRY-1850] - Hibernate Sessions
are not being closed at the end of the request
- [TAPESTRY-1853] - Create a guide to
using the Grid component
- [TAPESTRY-1901] - Grid component calls
prepare() and getRowValue() with incorrect values after items are removed
- [TAPESTRY-1969] - Error messages in
Errors component are misaligned in Internet Explorer 7
- [TAPESTRY-2027] -
AbstractIntegrationTestSuite does not allow custom selenium browser selection
- [TAPESTRY-2048] - Tapestry default.css
includes a bad rule for the autocomplete mixin's styles
- [TAPESTRY-2052] - Disabled fields
still perfom client side validation
- [TAPESTRY-2054] - page activation
context with spaces are incorrectly decoded when using forms
- [TAPESTRY-2061] -
tapestry-component-report reports only components with parameters
- [TAPESTRY-2080] -
PageRenderRequestFilter's service() method should throw IOException as PageRenderRequestHandler does
- [TAPESTRY-2083] - Using @Inject with a
primitive field fails with a "cannot find constructor" transformation error
- [TAPESTRY-2085] - When a user submit a
form with a TextField and the value is missing or blank, the value null is passed through the component
to the model property
- [TAPESTRY-2088] -
ClassNotFoundException when passing an int[] parameter to a component
- [TAPESTRY-2089] - File upload does not
ever invoke FileCleaner.exitWhenFinished()
- [TAPESTRY-2094] - Exception when
creating service MultipartDecoder prevents the use of the Upload component
- [TAPESTRY-2095] - Incorrect
optimization for requests that contain a colon but do not contain a slash
- [TAPESTRY-2099] - Contribution to
PartialMarkupRenderer should be named "Heartbeat" not "Heatbeat"
- [TAPESTRY-2112] - Tapestry should use
ValueEncoders, not simple type coercion, to convert between event context values, URL strings, and event
method handler parameters
- [TAPESTRY-2118] -
ComponentReport.extractSubpackage throws ArrayOutOfBoundException
- [TAPESTRY-2128] - If-Modified-Since
always returns not modified for js and css in jar files
Improvement
- [TAPESTRY-1416] - Add support for
programatically adding new columns to a Grid
- [TAPESTRY-1642] - When the Label
component has a body, it should render that rather than using the field's label
- [TAPESTRY-1887] - Extend the
AbstractLink class to provide access to the clientId and disabled flag, as well as to the URL
- [TAPESTRY-2036] - Add a parameter to
the Output component to add control over whether output is filtered or unfiltered
- [TAPESTRY-2040] - Allow subclasses of
the Autocomplete mixin greater control over the JSON and markup rendered to the client
- [TAPESTRY-2081] - It should be
possible to override a Grid column header as easily as overriding a Grid cell
- [TAPESTRY-2097] - Render exceptions
should identify the components that are actively rendering
- [TAPESTRY-2101] - DateField icon
should be configurable
- [TAPESTRY-2134] - Add a link to
InterLDAP project
- [TAPESTRY-2142] - Document the Layout
component pattern
- [TAPESTRY-2144] - Upgrade to Prototype
1.6.0.2
New Feature
- [TAPESTRY-1843] - Tapestry should have
a "production mode" (vs. development mode)
- [TAPESTRY-2002] - Add annotations to
easily set content type and response encoding
- [TAPESTRY-2009] - Add examples to
component reference
- [TAPESTRY-2076] - Component report
should break out as one class per page and include examples
- [TAPESTRY-2084] - Add control over
whether whitespace is stripped from templates by default
Task
- [TAPESTRY-1851] - Extend scripts and
Ant build.xml to make rolling out a release easier
- [TAPESTRY-2069] - Replace LGPL
JavaScript calendar with a properly licensed one
Release Notes - Tapestry - Version 5.0.9
Bug
- [TAPESTRY-2074] - Tapestry fails with
URISyntaxException when the project folder contains spaces
Improvement
- [TAPESTRY-1647] - Need to be able to
render elements before and after form labels
New Feature
- [TAPESTRY-1724] - Add ability for
pages to be notified about errors within themselves so that they can override the default error handling
behavior
Release Notes - Tapestry - Version 5.0.8
Release not made public due to TAPESTRY-2074
Bug
- [TAPESTRY-1315] - Context expression
without period results in StringIndexOutOfBoundsException
- [TAPESTRY-1377] - NullPointerException
invoking methods on the Request service
- [TAPESTRY-1546] - Add
inheritInformalParameters flag to the @Component annotation
- [TAPESTRY-1595] - Add support for
ignoring paths that belong to other servlets in the web application
- [TAPESTRY-1598] - Tapestry should not
require explicit value encoders (via the encoder parameter) where it can automatically coerce the value
between string and the appropriate server-side type
- [TAPESTRY-1600] - Cannot render XML
from page templates: XML declaration and namespaces are removed
- [TAPESTRY-1636] - Template reloading
in Tomcat doesn't work
- [TAPESTRY-1713] - Tapestry doesn't run
correctly on Websphere 6.1 due to an incorrect implementation of HttpServletRequest.getServletPath()
- [TAPESTRY-1823] - It is not possible
to create a reasonable implementation of RequestExceptionHandler without importing internal interfaces
and services
- [TAPESTRY-1840] - Tapestry 5 does not
compile with Java 6
- [TAPESTRY-1849] - There are two
virtually identical PersistentLocaleImpl classes, one unused (probably an incomplete refactoring)
- [TAPESTRY-1880] - DateField component
should support editting of time as well as date
- [TAPESTRY-1926] - DateField disabling
does not work
- [TAPESTRY-1941] - ValidationTracker
retaining field values inconsistently
- [TAPESTRY-1948] - Null pointer
exception when performing a partial page render
- [TAPESTRY-1957] - EnumValueEncoder
missing null check when converting to client value
- [TAPESTRY-1984] - Error occurs with a
multipart (file upload) request if the request encoding is null
- [TAPESTRY-1988] - Page activation
paremeter with escaped ( %2f ) slash ( " / " ) character not passed correctly
- [TAPESTRY-2005] - Using component
classes as component parameters fails (Could not find a coercion)
- [TAPESTRY-2007] - PNG images related
to validation render poorly in IE
- [TAPESTRY-2013] - BeanEditor does not
support informal parameters
- [TAPESTRY-2017] - AssetDispatcher
doesn't stream asset when the 'If-Modified-Since' header can't be converted to a date
- [TAPESTRY-2019] - Autocompleter mixin
now fails with a NullPointerException
- [TAPESTRY-2028] - Mimimize whitespace
in the output markup
- [TAPESTRY-2033] - Optimized requests
paths are broken for root paths within contexts
- [TAPESTRY-2044] - Component action
requests are not capable of handling the case where the active page and the page containing the
component are different
Improvement
- [TAPESTRY-1478] - Validation messages
for zh_CN locale
- [TAPESTRY-1502] - Generated URLs
should be relative to request base URL
- [TAPESTRY-1599] - Make it possible to
differentiate between preparing for a Form render vs. preparing for a Form submission
- [TAPESTRY-1639] - Components that
generate hyperlinks (ActionLink, PageLink, EventLink) should have a getLink() method to retrieve the
link as generated
- [TAPESTRY-1671] - Need a way to
redirect to external URLs
- [TAPESTRY-1739] - Add byte, short and
float Translators
- [TAPESTRY-1802] - Add documentation
for the intended project layout
- [TAPESTRY-1818] - Template parser
should handle CDATA blocks
- [TAPESTRY-1830] - Add ability to store
temporary data without having to define new properties
- [TAPESTRY-1940] - Italian translation
of messages for Error component, and validation
- [TAPESTRY-1991] - It should be easier
to access an Application State Object without forcing its creation
- [TAPESTRY-2008] - Validation popup
bubbles are somewhat distracting, should be simplified
- [TAPESTRY-2012] - Add BeanEditor
support for data types "password" and "longtext"
- [TAPESTRY-2014] - ComponentResources
should expose the page's lifecycle to interested listeners
- [TAPESTRY-2021] - It should be
possible to turn off the generation of CSS classes for table headers and table cells inside a Grid
- [TAPESTRY-2049] - Avoid reflection
when instantiating component instances
- [TAPESTRY-2056] - Add configurable
null handling for text fields
- [TAPESTRY-2057] - Add EventLink
component that can create a link that triggers an arbitrarily named event in its container
New Feature
- [TAPESTRY-1526] - Strip the folder
name used to identify libraries from logical page names, just as the subfolder is stripped
- [TAPESTRY-1847] - Grid component
should output additional CSS classes into TDs to identify first and last column, first and last row
- [TAPESTRY-2006] - Replace naive page
pool mechanism with a more realistic one that can handle larger sites
- [TAPESTRY-2042] - Make it possible to
merge action requests with rendering, as with Tapestry 4
Release Notes - Tapestry - Version 5.0.7
Bug
- [TAPESTRY-1541] - Can't find page with
same name as parent folder
- [TAPESTRY-1608] - Some documentation
pages link to the out-of-date PDF tutorial, rather than the current HTML tutorial
- [TAPESTRY-1627] - Start page redirect
requests can return an empty response.
- [TAPESTRY-1723] - tapestry-upload does
not use character encoding
- [TAPESTRY-1745] - Palette javascript
errors in Internet Explorer
- [TAPESTRY-1748] - Field validators
continue to generate client-side JavaScript even though the Form is configured to not do client-side
validation
- [TAPESTRY-1816] - Some tapestry-ioc
tests fail on IBM JDK due to subtle differences in JDK implementations
- [TAPESTRY-1834] - Fields not rewritten
when modifying existing methods
- [TAPESTRY-1838] - Palette javascript
Error when an item contains a quote
- [TAPESTRY-1863] - Tapestry should
verify that marker annotations have retention type runtime
- [TAPESTRY-1864] - Code sample in
documentation on how to add a new property editor incorrect
- [TAPESTRY-1871] - Null date displayed
in a Grid raises error
- [TAPESTRY-1879] - PageLink does not
have an anchor parameter
- [TAPESTRY-1882] - Formatted messages
are not localized properly
- [TAPESTRY-1922] - EJB3 Beans can not
be referenced as properties inside JBoss 4.0
- [TAPESTRY-1925] - Obscure exception
when a Collection (not a List) is used as a GridDataSource
- [TAPESTRY-1934] - Tapestry should
enforce that component classes only extend from other (transformed) component classes, or
java.lang.Object
- [TAPESTRY-1936] - Non-null return
value from form action event causes exception
- [TAPESTRY-1937] - If a single module
contains more than one integration test (subclass of AbstractIntegrationTestSuite), then the second one
fails
- [TAPESTRY-1943] - Site menu is the
same on all pages
- [TAPESTRY-1947] - Mangled URLs that
should result in standard 404 error pages are instead resulting in a Tapestry exception report
- [TAPESTRY-1949] - Component action
requests where the action context contains a period are not parsed correctly leading to request failures
- [TAPESTRY-1951] - "No
ClassLoaders found for" exception
- [TAPESTRY-1952] - The "match any
event" feature for the OnEvent handler is not useful and should be removed
- [TAPESTRY-1966] -
Non-private/non-static fields in a page should be an exception, not a warning
- [TAPESTRY-1975] - Template parser is
insufficiently picky about component ids
Improvement
- [TAPESTRY-1360] - Add a @Width
annotation to set the width of input fields generated by BeanEditForm
- [TAPESTRY-1576] - Getting access to
the created configuration
- [TAPESTRY-1862] - Change Tapestry to
be compatible with Eclipse/Maven Plugin 0.0.11
- [TAPESTRY-1897] - Upgrade to Javassist
3.6 for improved JDK 1.6 support
- [TAPESTRY-1900] - Allow multiple
markers annotations per service
- [TAPESTRY-1903] - Upgrade to Prototype
1.6 / Scriptaculous 1.8
- [TAPESTRY-1917] - Tapestry should list
available pages, components and mixins at startup, and when classes change
- [TAPESTRY-1918] - Tapestry's reload
logic should be able to see additions, not just deletions and changes
- [TAPESTRY-1935] - Create an annotation
to add a CSS stylesheet to the rendered page
- [TAPESTRY-1942] - Client side
validation should be triggered when the user moves out of a field
- [TAPESTRY-1973] - Tapestry 5 Tutorial
Improvements
- [TAPESTRY-1990] - More flexibility for
specifying timeouts and other time periods in minutes, seconds, etc. rather than milliseconds
New Feature
- [TAPESTRY-1476] - Component events for
input translation and validation
- [TAPESTRY-1509] - Create an annotation
to add a static JavaScript library to the rendered page
- [TAPESTRY-1829] - Allow @Marker
annotation on module classes, to automatically mark all services of that module with the annotation
- [TAPESTRY-1860] - Extend ObjectLocator
to create a proxied, autobuilt service
- [TAPESTRY-1891] - Tapestry IoC Service
Proxies should be serializable
- [TAPESTRY-1931] - Add an annotation to
allow explicit setting of property types
- [TAPESTRY-1994] - Allow easy override
of the default Tapestry stylesheet
Task
Release Notes - Tapestry - Version 5.0.6
Bug
-
[TAPESTRY-1328] - Support for form
elements inside a Grid
-
[TAPESTRY-1345] - Exception generated
when a page does not have a template is
confusing: "No root element has been defined."
-
[TAPESTRY-1389] - Coercion to numeric
types does not check for null
-
[TAPESTRY-1417] - CSS classes on text
input fields are discarded when field is
in error
-
[TAPESTRY-1471] - Controlling the
order of properties within a BeanModel is
too complex and needs an improved API
-
[TAPESTRY-1506] - Add support for
anchors when generating links
-
[TAPESTRY-1597] - When a List is
converted to a SelectModel, the keys are
converted unnecessarily to strings
-
[TAPESTRY-1604] - Attributes of
elements do not have entity values quoted
(including the " character itself) resulting in invalid
markup
-
[TAPESTRY-1606] - Anchor-Links in
"Component Index" web page for T5
doesn't work with FireFox
-
[TAPESTRY-1625] - T5 Form Component
Generates Script Tag With Deprecated
Language Attribute
-
[TAPESTRY-1626] - T5 Form Component
Generates contactForm:errors Div With
Invalid Empty List
-
[TAPESTRY-1629] - Licenses are not
distributed correctly
-
[TAPESTRY-1631] - tapestry-spring
initializes lazy-init beans too soon
-
[TAPESTRY-1648] - Coercing from null
to BigDecimal causes an NPE
-
[TAPESTRY-1667] - Parameters bound to
expansions may be cached when they
should not be
-
[TAPESTRY-1702] - Missing coercion
from primitive arrays to List
-
[TAPESTRY-1709] - Radio component
throws an exception when used with
RadioGroup and Label
-
[TAPESTRY-1730] - Order of event
handler method invocation should be greatest
number of parameters to fewest
-
[TAPESTRY-1731] - @Inject @Symbol does
not work inside a component
-
[TAPESTRY-1735] - PageLink doesn't
have a disabled parameter
-
[TAPESTRY-1746] - Input validation
documentation includes an invalid template
that results in a parser error
-
[TAPESTRY-1752] - Expansions used in
bound parameters are never re-evaluated
-
[TAPESTRY-1769] - Bug when component
name i same as component package
-
[TAPESTRY-1785] - Move non-component
classes out of corelib.components
-
[TAPESTRY-1789] - Exception messages
listing pages, components, etc, should
strip out the "core/" prefix
-
[TAPESTRY-1790] - Component Report
generates bad links to apidocs when the
apidocs are generated at the project level
-
[TAPESTRY-1809] - archetype.xml
doesn't account for change to .tml
(/WEB-INF/Start.html should be /Start.tml)
-
[TAPESTRY-1815] - The InjectComponent
annotation is misnamed, should be
InjectContainer
-
[TAPESTRY-1824] - Code example on
Alias page of tapestry-core guide is wrong,
has extra "new"
-
[TAPESTRY-1825] - Full Tapestry
releases should have the artifacts deployed
with the updateReleaseInfo flag set
-
[TAPESTRY-1831] - Builtin services
(TypeCoercer, ClassFactory, etc.) are not
marked with the @Builtin annotation
Improvement
-
[TAPESTRY-1372] - Allow contributions
to the Hibernate Configuration
-
[TAPESTRY-1469] - Templates should
support an outer t:container element for
when a template consists of non-tree structured content
-
[TAPESTRY-1579] - Allow multiple
BeanEditor components within a form
-
[TAPESTRY-1603] - BeanEditForm submit
button cannot be uniquely identified for
CSS purposes
-
[TAPESTRY-1607] - Tapestry modules
should have a link to Tapestry's JIRA
instance
-
[TAPESTRY-1615] - ClassTransformation
needs ability to rename a method and
extend the beginning of a method
-
[TAPESTRY-1619] - Add coercion from
type [C ( simple char ) to type
java.lang.Character
-
[TAPESTRY-1633] -
PropertyDisplayContext should expose the id/propertyName of
the currently rendering property
-
[TAPESTRY-1697] - There is no link to
the bug database on the Tapestry project
site
-
[TAPESTRY-1737] - When a property name
in a property expression is not valid,
the exception message should list the available property names
-
[TAPESTRY-1738] - Render debugging
output is incredibly verbose, and should
only be output at the TRACE (i.e. more vebose than DEBUG)
logging level
-
[TAPESTRY-1750] - Separate out
Tapestry annotations for use in other tiers
(without dragging in all of Tapestry)
-
[TAPESTRY-1777] - Allow HTML 4
doctypes to be used in component templates
-
[TAPESTRY-1781] - Tapestry templates
should use the extension .tml (Tapestry
Markup Language) since they may contain other than (X)HTML
-
[TAPESTRY-1800] - Having two different
Inject annotations with virtually
identical behavior is confusing, they should be consolidated
-
[TAPESTRY-1808] - Automatic coercion
from String to File would be handy
New Feature
-
[TAPESTRY-1358] - Create BeanDisplay
component to display the content of a
single bean
-
[TAPESTRY-1634] - Create a DateField
component that uses client-side
JavaScript
-
[TAPESTRY-1676] - Add component for
editing a single bean property
-
[TAPESTRY-1722] - Startup service for
Tapestry IoC to perform initialization
when the Registry starts up
-
[TAPESTRY-1741] - TestBase/MockTester
should give each Mock a name based on
the type of mock, which assists with debugging
-
[TAPESTRY-1742] - Support removal and
reordering of BeanModel properties
inside Grid and BeanEditForm components
-
[TAPESTRY-1786] - Add JVM system
property for adding modules to the IoC
container
-
[TAPESTRY-1798] - Injection via Marker
Annotations
-
[TAPESTRY-1841] - Extend
PageRenderSupport to have equivalent support for CSS
stylesheets
-
[TAPESTRY-1845] - Need a simple way to
access a component's messages for use
in testing
-
[TAPESTRY-1848] - Make status of
Tapestry IoC services available
programattically and via a simple user interface
Task
-
[TAPESTRY-1367] - Documentation error
on Application State page:
ApplicationStateConfiguration should be
ApplicationStateContribution
Wish
-
[TAPESTRY-1704] - Convert logging
strategy from commons-logging to Simple
Logging Facade for Java (SLF4J)
Release Notes - Tapestry - Version 5.0.5
Bug
-
[TAPESTRY-1294] - Tapestry does not
set an output encoding which prevents
Unicode content from being output correctly
-
[TAPESTRY-1423] - Tapestry IoC fails
to get the correct class from
javassist.CtClass when the instance is already a proxy
-
[TAPESTRY-1425] - Eager Loaded service
(builder) cannot use object injection
-
[TAPESTRY-1434] - Service builder
methods do not allow services to be defined
in terms of non-interface class, even though ServiceBinder does
-
[TAPESTRY-1443] -
org.apache.tapestry5.annotations.Service annotation is
ignored
-
[TAPESTRY-1447] - Headers are not set
appropiately to allow the browser to
cache javascript resources.
-
[TAPESTRY-1451] - T5 website: Broken
Link to script.aculo.us
-
[TAPESTRY-1464] - Cannot Subclass
TapestryFilter to add custom init() and
destroy() logic
-
[TAPESTRY-1465] - BeanEditForm and
Grid are not extensible in terms of
supported property types to be editted or viewed
-
[TAPESTRY-1480] - Implement Radio
component
-
[TAPESTRY-1481] - ActionLink and
PageLink render an id attribute, but don't
provide a clientId property, making it impossible to reference
them in JavaScript
-
[TAPESTRY-1491] - No way to get the
logical page name for a page instance
-
[TAPESTRY-1494] - Artifact snapshots
are being deployed to the
tapestry-repository, not the tapestry-snapshot-repository
-
[TAPESTRY-1497] - EagerLoad is too
early for a normal Tapestry application
-
[TAPESTRY-1498] - nbsp in template
causes exception in SAX Parser.
-
[TAPESTRY-1504] - When a Map is
converted to a SelectModel, the keys are
converted unnecessarily to strings
-
[TAPESTRY-1511] - VerifyError when
using inner classes inside components
-
[TAPESTRY-1528] - No way to cleanup
the thread without access to the Registry
-
[TAPESTRY-1537] - Release notes for
5.0.4 claim that TAPESTRY-1294 is fixed,
which it isn't
-
[TAPESTRY-1559] - application package
initializer removed while merging svn
-
[TAPESTRY-1562] - Spurious warnings
about missing component ids due to
case-sensitive checking of template ids vs. declared components
-
[TAPESTRY-1571] -
CheckForUpdatesFilter can cause deadlock
-
[TAPESTRY-1583] - The "block:"
binding prefix may only reference
blocks that appear before the reference in the template, an
error occurs if the block is defined later in the template
-
[TAPESTRY-1585] - tapestry-upload has
an incorrect manifest entry for the
module class
-
[TAPESTRY-1590] - Page templates in
WEB-INF located based on logical page name
(which may not match the class name)
-
[TAPESTRY-1593] - Various typos in
docs/comments
-
[TAPESTRY-1596] - Contributing a
service to the Alias service configuration
fails if the service uses a non-standard scope, such as
perthread
-
[TAPESTRY-1614] - No "expires"
header should be set in asset
download requests, as that can confuse the browser, preventing
changes versions of assets from being downloaded
Improvement
-
[TAPESTRY-1359] - The BeanEditForm
component should attempt to create its
object parameter if it is null
-
[TAPESTRY-1409] - Extend
StreamResponse to support setting headers in the
Response prior to streaming the contents from the InputStream
-
[TAPESTRY-1439] - Convert Tutorial
from Pages/PDF to new module using APT
format
-
[TAPESTRY-1457] - No way for PageLink
to distinguish between an explicitly
empty page activate context and normal delegation to the target
page's passivate event
-
[TAPESTRY-1479] - It would be nice to
have a pipeline between the Dispatchers
and the RequestHandlers (for component action requests and for
page render requests)
-
[TAPESTRY-1493] - Grid component
should display sort icon next to all sortable
fields
-
[TAPESTRY-1505] - The quickstart
archetype should include an empty bind()
method
-
[TAPESTRY-1523] - Split mock-control
managing logic in TestBase so that it can
be used in a JUnit test suite
-
[TAPESTRY-1572] -
AbstractIntegrationTestSuite should mark setup() and
cleanup() as alwaysRun
New Feature
-
[TAPESTRY-1354] - Implement a file
upload component
-
[TAPESTRY-1356] - Implement
client-side field persistence
-
[TAPESTRY-1369] - There should be a
global application-level message catalog
for messages common to all pages & components
-
[TAPESTRY-1370] - Add a component
event result processor for Class instances
-
[TAPESTRY-1373] - Recreate T4's
Palette component for T5
-
[TAPESTRY-1446] - @Symbol annotation
for injecting a specific symbol
-
[TAPESTRY-1463] - Way to inherit
binding from containing component
-
[TAPESTRY-1466] - Support expansions
inside ordinary attributes
-
[TAPESTRY-1492] - The Session
interface needs methods for getting and setting
the session timeout
-
[TAPESTRY-1503] - BeanEditForm should
default its object parameter to
container property that matches its id
-
[TAPESTRY-1610] - Implement regular
expression based input validation (client
and server)
Task
-
[TAPESTRY-1485] - Remove the Any
component --- not necessary because of
expansions in attributes
-
[TAPESTRY-1501] - Remove Img
component, not needed because expansions are
allowed in attributes
-
[TAPESTRY-1566] - Hibernate
configuration documentation is out of date /
broken
-
[TAPESTRY-1570] - wrong link to
RequestGlobals in the guide
Wish
-
[TAPESTRY-1472] - The module and
filter are coded against Spring's
WebApplicationContext, but doesn't use any APIs not present in
ApplicationContext
Release Notes - Tapestry - Version 5.0.4
Bug
-
[TAPESTRY-1263] - Can't use HTML
entities in templates
-
[TAPESTRY-1264] - Can't specify
DOCTYPE in template
-
[TAPESTRY-1317] - Service contributors
are not case insensitive with respect
to the service id.
-
[TAPESTRY-1333] - Cannot bundle
component classes & templates in
WEB-INF/classes when deploying to Tomcat (& JBoss)
-
[TAPESTRY-1337] - PageTester can't
handle pages with context assets
-
[TAPESTRY-1338] -
ApplicationStateObjects not properly instantiated when using
PageTester
-
[TAPESTRY-1357] - Quickstart archetype
still uses out-of-date @Id and
@Contribute annotations
-
[TAPESTRY-1363] - Some of the Java
comments in the generated AppModule class
are out of date
-
[TAPESTRY-1371] - The Submit component
should have a defer parameter, but just
has a _defer private instance variable.
-
[TAPESTRY-1387] - @Inject should
expose annotations on the field to the
ObjectProvider
-
[TAPESTRY-1411] - PageLink component
does not render informal parameters
Improvement
-
[TAPESTRY-1365] - RandomDataSource
should allow any type of value for the
oneOf() method, not just String
-
[TAPESTRY-1424] - @OnEvent annotation
should be simplified to specify at most
one event and at most one component id
New Feature
-
[TAPESTRY-1330] - The @Scope annotaton
should be allowed on service
implementation classes (in addition to service builder methods
inside a module class)
-
[TAPESTRY-1331] - Need an @InjectValue
annotation for cases where a value to
insert contains a colon
-
[TAPESTRY-1353] - Include copies of
common DTDs in the JAR such that the
template parser does not need to access the network to parse
templates with specific doctypes
-
[TAPESTRY-1368] - The
@ApplicationState annotation should be capable of
enhancing a boolean field to indicate whether the state object
already exists
-
[TAPESTRY-1382] - Strip out
duplication of names in the class name -> page
name / component type conversion
Release Notes - Tapestry - Version 5.0.3
Bug
-
[TAPESTRY-1270] - The StringTranslator
should return null when an empty text
field is submitted with a form, not the empty string
-
[TAPESTRY-1275] - Recursive Components
cause heap space overflow
-
[TAPESTRY-1282] - Assets should be
streamed with an appropriate content type,
even when the container is unable to provide the content type
-
[TAPESTRY-1291] - Race condition in
IoC service creation can create runtime
failures
-
[TAPESTRY-1297] - incorrect context
generated for URLs with final slash
-
[TAPESTRY-1300] - Unit tests require
english locale to run succesfully
-
[TAPESTRY-1303] - Update licences and
notice files for external dependencies
(javassist, etc.)
-
[TAPESTRY-1314] - ExceptionAnalyzer
throws NPE when an exception message is
null
-
[TAPESTRY-1316] - Address class loader
issues inside JBoss
-
[TAPESTRY-1321] - JBoss deployment
error
-
[TAPESTRY-1322] - Spurious errors in
log concerning page "favicon"
-
[TAPESTRY-1329] - The favicon.ico file
is not generated into the project by
the quickstart archetype
-
[TAPESTRY-1343] - Under Tomcat, a root
path URL such as http://.../context
(without a trailing slash) causes a
StringIndexOutOfBoundsException inside PageRenderDispatcher
-
[TAPESTRY-1344] - Render phase methods
should be allowed to return a
Renderable object
-
[TAPESTRY-1346] - tapestry-hibernate
module depends on missing
ComponentClassLocator service
Improvement
-
[TAPESTRY-1025] - Add support for
eager loading of services
-
[TAPESTRY-1295] - Event handling
methods that have too many parameters for the
event context should be silently skipped
-
[TAPESTRY-1298] - ExceptionReport can
be too verbose and repetative
-
[TAPESTRY-1308] - Exceptions while
building services are poorly reported
-
[TAPESTRY-1320] - Render phase
BeginRender should respond to a "false" result
by switching to phase AfterRender (rather than phase
CleanupRender).
-
[TAPESTRY-1323] - Support caseless
mapped service configurations
-
[TAPESTRY-1335] - The
"infrastructure:" object provider prefix is too long and
the name is confusing, rename to "alias:"
-
[TAPESTRY-1339] - Rework Tapestry IoC
to remove the concept of module ids and
qualified service ids
-
[TAPESTRY-1342] - When an exception is
reported concerning a particular
method, the string identifying the method should include the
file name and line number (if available)
New Feature
-
[TAPESTRY-1276] - If component should
include an optional negate parameter
-
[TAPESTRY-1284] - Tapestry Spring
integration module
-
[TAPESTRY-1292] - Allow lists to be
used as select models
-
[TAPESTRY-1302] - JavaScript support
-
[TAPESTRY-1311] - Identify type of
component via tag element name in templates
-
[TAPESTRY-1319] -
tapestry.InfrastructureOverrides is not yet implemented
-
[TAPESTRY-1325] - Add an "asset:"
object provider, to simplfy injecting assets
into services
-
[TAPESTRY-1341] - Allow service
builders named "build" and determine service
id from the result type