Tapestry 4 Releases

Release Notes - Tapestry - Version 4.1.3

Bug

  • [TAPESTRY-340 ] - url-encoded parameters are not considered in multipart-requests
  • [TAPESTRY-399 ] - If a RedirectException is thrown after IEngine.setLocale(...) has been called, the cookie org.apache.tapestry.locale is not being set
  • [TAPESTRY-1522 ] - @EventListener is not been called if target ids contains _
  • [TAPESTRY-1527 ] - @Dialog component triggers a lot a javascript errors on scroll after show/hide by EventListener
  • [TAPESTRY-1540 ] - no response with dojo ajax responsebuilder
  • [TAPESTRY-1551 ] - 404 in some dojo bundles
  • [TAPESTRY-1575 ] - @EventListener doesn't work with multi-part forms
  • [TAPESTRY-1580 ] - AJAX response to update a component doesn't include the updated component's root tag
  • [TAPESTRY-1616 ] - Tap 4.1.2 PageNotFoundException not caught
  • [TAPESTRY-1622 ] - IE 6 doesn't update a component, if its new content is empty.
  • [TAPESTRY-1638 ] - ImageSubmit doesn't trigger it's listener/action when called asynchronously
  • [TAPESTRY-1640 ] - FieldLabel + IFormComponent update in ajax request fails because of prerender
  • [TAPESTRY-1651 ] - ComponentSpecificationResolverImpl not checking app namespace
  • [TAPESTRY-1654 ] - Contrib:Timeout caused TimeoutConfirm is not defined js error
  • [TAPESTRY-1660 ] - inject script xml declaration forces context relative paths
  • [TAPESTRY-1663 ] - @RadioGroup client-side validation does not work
  • [TAPESTRY-1680 ] - Anchors are missing in usersguide/spec.html
  • [TAPESTRY-1681 ] - Workbench pom.xml is buggy this patch fixes it
  • [TAPESTRY-1682 ] - Parameters with defined with a default-value counted as "invariant"
  • [TAPESTRY-1685 ] - Examples in documentation for @Script are incomplete
  • [TAPESTRY-1687 ] - Autocompleter handles null values in a wrong way
  • [TAPESTRY-1701 ] - Wrong link in Hidden component documentation
  • [TAPESTRY-1705 ] - form focus errors out on ie if focusing on a dialog form before it is displayed
  • [TAPESTRY-1706 ] - Rounded corner service fails with 0 byte image buffer.
  • [TAPESTRY-1740 ] - Error in documentation of Custom Exception Pages
  • [TAPESTRY-1744 ] - tab doesn't close time list drop down on gtimepicker

Improvement

  • [TAPESTRY-400 ] - LinkSubmit and Rollover should be able to play together.
  • [TAPESTRY-1448 ] - Ability to set the default @Persist property persistence strategy
  • [TAPESTRY-1656 ] - InlineEditBox needs a listener parameter
  • [TAPESTRY-1661 ] - Specless component html template needs a package based resolution strategy
  • [TAPESTRY-1688 ] - the tapestry form.js script has an unnecessary call to eval
  • [TAPESTRY-1693 ] - exception pages documentation example wanted and minor mistakes
  • [TAPESTRY-1707 ] - Note in rounded services documentation that tapestry-contrib must be installed.
  • [TAPESTRY-1708 ] - Document all rounded service parameters.
  • [TAPESTRY-1729 ] - Additional bindings for Dialog component

New Feature

  • [TAPESTRY-394 ] - Default for listener parameter of DirectLink, etc.

Wish

  • [TAPESTRY-1202 ] - EventListener - send custom data in the same way browser event data is sent

Release Notes - Tapestry - Version 4.1.2

Sub-task

  • [TAPESTRY-1231 ] - org.apache.tapestry.form.ImageSubmit renders invalid XHTML attribute 'border="0"'

Bug

  • [HIVEMIND-206 ] - registryDidShutdown not called on Hivemind services on undeploy
  • [TAPESTRY-403 ] - Bean binding with contrib:tablerows
  • [TAPESTRY-415 ] - For component should use line precise error reporting for data conversions
  • [TAPESTRY-572 ] - NumberValidator should accept Strings
  • [TAPESTRY-633 ] - Default behavior of NumberTranslator treats zeros asymmetrically.
  • [TAPESTRY-638 ] - Recursive components result in a StackOverflowError
  • [TAPESTRY-695 ] - WebRequestServicerFilter lacks support for tapestry.globals.*
  • [TAPESTRY-825 ] - Cookies failing due to improper timing on flush() method
  • [TAPESTRY-851 ] - DatePicker does not error when bound to values of wrong type
  • [TAPESTRY-853 ] - Palette silently fails when bound to wrong collection type
  • [TAPESTRY-872 ] - Persitent page properties are not set before PageAttachListener#pageAttached method is fired
  • [TAPESTRY-873 ] - Minor XHTML 1.0 Strict compliance issues
  • [TAPESTRY-881 ] - Allow global i18n bundle location to be customized
  • [TAPESTRY-907 ] - overridden parameter problem
  • [TAPESTRY-937 ] - Custom binding prefixes shorter than 2 characters fail without useful diagnostics
  • [TAPESTRY-954 ] - Session lost when PageLInk inside a form
  • [TAPESTRY-958 ] - Table column headers with a custom render block cannot be sorted
  • [TAPESTRY-988 ] - Function mismatch with description in document: Form.jwc and tapestry.request.xml
  • [TAPESTRY-1014 ] - java.util.ConcurrentModificationException in portlet when trying to show ArrayList
  • [TAPESTRY-1026 ] - PageSpecificationResolverImpl doesn't search "implict" page specifications/templates in all the right places.
  • [TAPESTRY-1065 ] - TreeDataView.renderComponent() and TreeTableDataView.generateNodeList() cause ClassCastException in ITreeDataModel.getUniqueKey()
  • [TAPESTRY-1071 ] - Client-side number validation does not work
  • [TAPESTRY-1091 ] - Invalid URL for injected using annotation assets
  • [TAPESTRY-1101 ] - @Persist("session") does not make the accessor fetch from session everytime
  • [TAPESTRY-1120 ] - UploadPart / getFileName() doesn't work cross-platform
  • [TAPESTRY-1145 ] - Unable to trigger EventListener when it is inside a block
  • [TAPESTRY-1151 ] - PagePool doesnt remove idle pages, heap memory doens't get reallocated
  • [TAPESTRY-1179 ] - practical component class naming for For, If and Else
  • [TAPESTRY-1193 ] - .script files: "index" property of "foreach" tag is stored as a String, not an integer
  • [TAPESTRY-1198 ] - problem with Checkbox + custom validators
  • [TAPESTRY-1199 ] - multiple Autocompleters on the same page b0rken
  • [TAPESTRY-1203 ] - boolean.getBoolean doesn't work as expected in InjectMetaWorker
  • [TAPESTRY-1204 ] - boolean meta values in the component descriptor does not work
  • [TAPESTRY-1205 ] - bad links in "Defining new Application State Objects" doc's chapter
  • [TAPESTRY-1206 ] - Asynchronous Selection Boxes work with Firefox 2.0 but not with Internet Explorer 6/7
  • [TAPESTRY-1208 ] - bad links in "Determining the Page Class"
  • [TAPESTRY-1210 ] - Problem with InlineEditBox on persisted page property
  • [TAPESTRY-1212 ] - AlertDialog widget button text should be "OK"
  • [TAPESTRY-1214 ] - @Submit with submitType="refresh" : JavaScript syntax error
  • [TAPESTRY-1215 ] - Autocomplete triggers a syntax error in dojo.js when getValues() returns an empty list
  • [TAPESTRY-1216 ] - async Submit won't skip client side validation
  • [TAPESTRY-1217 ] - IE watchInFlight Error when receiving a <tr>
  • [TAPESTRY-1218 ] - URL to dojo.js is not escaped
  • [TAPESTRY-1222 ] - HTTP headers setting through WebResponse is ignored
  • [TAPESTRY-1227 ] - IUploadFile implementations should be prepared for "all" file name-separator characters in getFileName()
  • [TAPESTRY-1228 ] - core.js doesn't process embedded <script></script> elements in ajax fragments
  • [TAPESTRY-1229 ] - AssetService not thread safe
  • [TAPESTRY-1234 ] - ResourceMatcherImpl not thread safe on multi-CPU system
  • [TAPESTRY-1240 ] - LinkSubmit with parameters causes exception although it has validators attached
  • [TAPESTRY-1241 ] - @EventListener produces multiple events
  • [TAPESTRY-1242 ] - Typing in autocompleter does not display dropdown values
  • [TAPESTRY-1247 ] - When a div containing a DirectLink using a PopupLinkRenderer is updated asynchronously, the attached javascript portion of the ajax response is ignored.
  • [TAPESTRY-1248 ] - Localization Problem when using Min Max Validator
  • [TAPESTRY-1249 ] - 4.1.1 binary downloads include non-Apache modules (including OGNL and Javassist).
  • [TAPESTRY-1253 ] - Meta injection throws exception unless property accessor is defined
  • [TAPESTRY-1254 ] - IE7 mixed secure/nonsecure SSL warning on https using dojo dialog component
  • [TAPESTRY-1256 ] - IllegalStateException if you try to access an ASO with OGNL, before accessing it in code
  • [TAPESTRY-1259 ] - EventListener generates duplicate javascript with page caching on
  • [TAPESTRY-1261 ] - need default styling on async exception responses somehow
  • [TAPESTRY-1268 ] - setting focus=false on EventListener doesn't prevent focus from being claimed on form elements
  • [TAPESTRY-1273 ] - ValidationStrings_de.properties is incomplete
  • [TAPESTRY-1280 ] - add exclusion filter for Generic persistent types
  • [TAPESTRY-1288 ] - Incorrect link in documentation
  • [TAPESTRY-1301 ] - Class not found with cglib loaded in a parent (non-webapp) classloader. (CglibProxiedPropertyChangeObserverImpl)
  • [TAPESTRY-1309 ] - clearValidationDecorations in validation.js has huge performance issues with many form elements
  • [TAPESTRY-1312 ] - When an EventListener updates a datepicker, the new date is not rendered to the user
  • [TAPESTRY-1313 ] - css classes fieldMissing/fieldInvalid not written in default ValidationDelegate
  • [TAPESTRY-1347 ] - Shell refresh tag incorrectly encoded with cookies disabled
  • [TAPESTRY-1366 ] - calling IRequestCycle.redirect() and then setting page properties causes property changes to be lost
  • [TAPESTRY-1374 ] - GenericsMethodSignatureImpl throw exception!
  • [TAPESTRY-1376 ] - can't find page if template has parse error
  • [TAPESTRY-1380 ] - Page name validation regex is incorrect.
  • [TAPESTRY-1383 ] - number translator
  • [TAPESTRY-1390 ] - DatePicker component doesn't work in IE
  • [TAPESTRY-1391 ] - @EventListener method in component doesn't rewind the containing page's client-persistent properties
  • [TAPESTRY-1396 ] - Specless components in libraries don't get their assets properly resolved
  • [TAPESTRY-1398 ] - @EventListener in any component doesn't get called
  • [TAPESTRY-1399 ] - NumberTranslator omitZero attribute doesn't default to true like docs say
  • [TAPESTRY-1402 ] - OGNL Workaround doesn't work
  • [TAPESTRY-1407 ] - XHR Exception page renders exception page && partial content
  • [TAPESTRY-1410 ] - fail to test GenericsMethodSignatureImpl class.
  • [TAPESTRY-1413 ] - absolute classpath asset paths not found when no "classpath" specifier used
  • [TAPESTRY-1415 ] - A page with a form and a getOrg() method will crash on retrieval
  • [TAPESTRY-1418 ] - ComponentEventInvoker sometimes throws a NPE
  • [TAPESTRY-1419 ] - Bracket notation with addition in OGNL expression causes failure to find appropriate listener
  • [TAPESTRY-1420 ] - ognl string concatenation + static syntax does not render properly
  • [TAPESTRY-1426 ] - Style component bug
  • [TAPESTRY-1428 ] - Validators contribution fails regexp match
  • [TAPESTRY-1432 ] - Regression in the AssetFactory().createAsset()
  • [TAPESTRY-1437 ] - Unnecessary logging of MalformedURLException while searching for component templates
  • [TAPESTRY-1452 ] - RedirectException does not work on Safari
  • [TAPESTRY-1459 ] - Can't use dojo Editor
  • [TAPESTRY-1462 ] - LinkFactoryImpl caches context path and servlet path
  • [TAPESTRY-1468 ] - dojo.i18n.number needs explicit groupSize parameter of 0 for patterns with no grouping separator
  • [TAPESTRY-1477 ] - IF component's condition expression get evaluated 3 or more times when it should only be evaluated once.
  • [TAPESTRY-1496 ] - getTableRow() returns incorrect Class
  • [TAPESTRY-1512 ] - someone added local parameter to Autocompleter but didn't document it
  • [TAPESTRY-1517 ] - form submitAsync doesn't set a JSON load handler
  • [TAPESTRY-1520 ] - Tapestry 4.1 is no longer jdk 1.4 compatible - compiled by java 5
  • [TAPESTRY-1527 ] - @Dialog component triggers a lot a javascript errors on scroll after show/hide by EventListener
  • [TAPESTRY-1534 ] - Fix of Bug TAPESTRY-988 results in java.lang.IllegalArgumentException at hivemind.util.PropertyAdaptor.write trying to set the "org.apache.tapestry.default-cookie-max-age"
  • [TAPESTRY-1535 ] - Suggest component doesn't work in a loop
  • [TAPESTRY-1536 ] - LinkSubmit creates duplicate onclick event listener when combined with submitBindings() superclass method
  • [TAPESTRY-1548 ] - tapestry.form.focusField on non displayed field
  • [TAPESTRY-1549 ] - event connection evaluations via XHR
  • [TAPESTRY-1552 ] - @Any divs with no body content render <div /> shorthand form
  • [TAPESTRY-1553 ] - ETag header incorrect format
  • [TAPESTRY-1563 ] - LinkSubmit async broken with new href javascript event change
  • [TAPESTRY-1569 ] - If component doesn't render client id
  • [TAPESTRY-1574 ] - cyclic page rendering of exception pages not detected in DojoAjaxResponseBuilder
  • [TAPESTRY-1577 ] - optionRenderer not documented in PropertySelection
  • [TAPESTRY-1578 ] - ParseException in AssetService
  • [TAPESTRY-1582 ] - whole shadow foreground color not supported
  • [TAPESTRY-1587 ] - Script assets without a DTD result in a Server Error 500
  • [TAPESTRY-1591 ] - Encoding for Ajax Request is always UTF-8
  • [TAPESTRY-1592 ] - TemplateParser converts <div ...></div> structures into <div ... /> structures

Improvement

  • [TAPESTRY-410 ] - IdentityValidator
  • [TAPESTRY-550 ] - IMarkupWriter should automatically filter out duplicate attributes when rendering an element
  • [TAPESTRY-573 ] - would like InjectStateWorker to add an "exists" method
  • [TAPESTRY-697 ] - Add getters for validators properties.
  • [TAPESTRY-717 ] - Easier accessing the hivemind registry
  • [TAPESTRY-738 ] - Create ability to use SqueezeAdaptors for @Persist("client:app")
  • [TAPESTRY-792 ] - Defining page property in definition file versus using implemented methods
  • [TAPESTRY-856 ] - lazy initialization of abstract properties
  • [TAPESTRY-867 ] - Do not display errors or errored field decoration on form refresh
  • [TAPESTRY-933 ] - Add getRowCount() to ITableModel interface
  • [TAPESTRY-962 ] - enhance ExpressionEvaluator
  • [TAPESTRY-989 ] - Improve @PropertySelection
  • [TAPESTRY-996 ] - Better locale detection for fully localized applications
  • [TAPESTRY-1035 ] - Allow common stylesheets/favicon/geoinfo/doctype settings across pages/requests
  • [TAPESTRY-1068 ] - allow throwing of RenderRewoundException from (submit) listeners
  • [TAPESTRY-1088 ] - Exception page should have a "reset" ServiceLink
  • [TAPESTRY-1182 ] - make ComponentAnnotationWorker extensible
  • [TAPESTRY-1183 ] - @InjectParameterFlag annotation
  • [TAPESTRY-1184 ] - @InjectPageLink and @InjectExternalLink annotations
  • [TAPESTRY-1196 ] - When <let unique="true" ..> is used, make sure the output string is a valid js identifier
  • [TAPESTRY-1201 ] - tapestry-contrib depends on jboss-j2ee
  • [TAPESTRY-1245 ] - Alter LinkSubmit to output javascript in onclick (instead of in href)
  • [TAPESTRY-1260 ] - add logging interceptor to ResponseBuilder services as well as logging of ajax xml response output / etc
  • [TAPESTRY-1266 ] - Style should not render anything if href is null and no body present
  • [TAPESTRY-1305 ] - ServiceEncoding needs ability to set the PathInfo variable
  • [TAPESTRY-1350 ] - add Shell component parameter to disable Tapestry meta runtime info
  • [TAPESTRY-1378 ] - Make Dropdown date/time pickers capable of taking a generic object - so that things like Joda time can be used as well
  • [TAPESTRY-1449 ] - Leave off port 443 when generating https URLs
  • [TAPESTRY-1453 ] - upgrade dojo to 0.4.2 version
  • [TAPESTRY-1474 ] - autowiring of generic service properties
  • [TAPESTRY-1489 ] - ValidationStrings for de and ru
  • [TAPESTRY-1513 ] - convert StringToListConverter strings going to a binding property of updateComponents to their component clientId equivalents
  • [TAPESTRY-1550 ] - don't log exceptions when browser IO connections close serving asset resources
  • [TAPESTRY-1554 ] - remove description from AbstractBinding
  • [TAPESTRY-1561 ] - improve the user experience of javascript-based links
  • [TAPESTRY-1589 ] - have debugEnabled=false by default for @Shell component

New Feature

  • [TAPESTRY-330 ] - Add uninitialization tag to Script specification and component
  • [TAPESTRY-817 ] - Translator for BigDecimal values
  • [TAPESTRY-1414 ] - I am new about tapestry pls send me user friendly document
  • [TAPESTRY-1531 ] - Integrate prototype and provide alternative @Suggest component for Autocompleter that uses the more robust scriptaculous version

Task

Wish

  • [TAPESTRY-396 ] - RequestLocaleManagerImpl: Change private members to protected, to enable overriding implementation
  • [TAPESTRY-765 ] - Create testing guide
  • [TAPESTRY-838 ] - ListenerInvokerFilter provides no way to find out what listener method is being invoked
  • [TAPESTRY-1454 ] - isDisabledDate() in DatePicker in Dojo4.1

Release Notes - Tapestry - Version 4.1.1

Sub-task

Bug

  • [TAPESTRY-199 ] - Addition of a simple way to get component CSS stylesheets into an overall page
  • [TAPESTRY-245 ] - Using "Any" component in XML generation should render an empty tag if there is no body
  • [TAPESTRY-305 ] - Wrong example for file download
  • [TAPESTRY-366 ] - docu: persist attribute / property documentation is insufficient
  • [TAPESTRY-376 ] - (Link)Submit vs. client-side validation; should allow for refresh
  • [TAPESTRY-450 ] - ForBean can't restore a value from it's primary key when only "source" and "keyExpression" are given
  • [TAPESTRY-544 ] - Unmatched <p> and DatePicker problem in MSIE 6
  • [TAPESTRY-562 ] - Example web.xml in Configuring Tapestry section of UserGuide does not meet the dtd specification.
  • [TAPESTRY-590 ] - ServiceLink uses deprecated API
  • [TAPESTRY-618 ] - No location provided when an unknown library prefix is used.
  • [TAPESTRY-640 ] - ValidationStrings.properties for Swedish (sv) has an error
  • [TAPESTRY-681 ] - <inherited-binding> specification element is not documented
  • [TAPESTRY-686 ] - TextArea uses String type for value
  • [TAPESTRY-709 ] - @ComponentClass and @Parameter annotations should not be allowed on page classes
  • [TAPESTRY-726 ] - AssetSourceImpl does not allow null for parameter "base" ...
  • [TAPESTRY-771 ] - Dependencies are not loaded from Ibiblio when using Tapestry in a Maven 2 project
  • [TAPESTRY-775 ] - DatePicker javascript iframe causes security popup warnings in IE on https
  • [TAPESTRY-799 ] - TableColumns / TableValues should not cache class parameter
  • [TAPESTRY-803 ] - Infinite loop when displaying an exception that has a property that refers to itself
  • [TAPESTRY-809 ] - Performance bottleneck due to HiveMind class loading issue
  • [TAPESTRY-811 ] - Palette javascript not compatible with ajax requests
  • [TAPESTRY-818 ] - LinkSubmit documentation lacks "action" parameter
  • [TAPESTRY-823 ] - ConcurrentModificationException in HTMLDescriptionReceiver
  • [TAPESTRY-827 ] - Incorrect parsing of decimals in French locale by NumberTranslator
  • [TAPESTRY-829 ] - FormLinkRenderer throws NPE with DirectlLinks
  • [TAPESTRY-832 ] - Bad links to the javadoc in the component reference: Radio, RadioGroup, Upload
  • [TAPESTRY-835 ] - FieldLabel throws NullPointerException when field is null but displayName is set
  • [TAPESTRY-841 ] - TreeNodeView
  • [TAPESTRY-842 ] - @Script example appears to be wrong
  • [TAPESTRY-843 ] - Friendly URL documentation concerning security and ugly URLs
  • [TAPESTRY-846 ] - Random error accesing pages: Property " " has already been accounted for by the element at Annotation ...
  • [TAPESTRY-848 ] - Binding Exceptions more prominent with annotations
  • [TAPESTRY-854 ] - Document replacement for AbstractPage.initialize()
  • [TAPESTRY-862 ] - The current regex PATTERN in ..validator.Email requires at least two letters on either side of the @.
  • [TAPESTRY-874 ] - RadioGroup component does not render validator error messages
  • [TAPESTRY-894 ] - SpecificationResolverDelegate not consulted if component class found first
  • [TAPESTRY-895 ] - White space is stripped between localization directives.
  • [TAPESTRY-902 ] - org.apache.tapestry.enhance.InjectMetaWorker not JDK1.4 compatible
  • [TAPESTRY-911 ] - Date Picker Icon does not have alt test
  • [TAPESTRY-920 ] - Body.get() documentation incorrect
  • [TAPESTRY-927 ] - example in renderblock documentation broken
  • [TAPESTRY-932 ] - SimpleTableColumnComponent.html contains invalid CSS
  • [TAPESTRY-934 ] - Upload component file size override method needs updated.
  • [TAPESTRY-956 ] - TableColumns and TableValues: impossible to assign different styles to different columns
  • [TAPESTRY-957 ] - When trying to upload a file that is greater that the set maxSize an uncatchable exception is thrown
  • [TAPESTRY-970 ] - AssetEncoder fails to encode properly if path does not start with /
  • [TAPESTRY-974 ] - Modify ValidationDelegate or FieldLabel so it allows markup to be written inside <label>
  • [TAPESTRY-977 ] - XTile component incorrectly quotes request URLs
  • [TAPESTRY-987 ] - Tapestry palette component not working in konqueror
  • [TAPESTRY-1012 ] - PageRenderSupportImpl.writeInitializationScript(IMarkupWriter) does not use the "writer" parameter
  • [TAPESTRY-1023 ] - Calling updateComponent in @EventListener method on a component that is prerendered results in null update
  • [TAPESTRY-1024 ] - Client validation bug
  • [TAPESTRY-1027 ] - "direct" parameter removed from Form component -- documentation not updated
  • [TAPESTRY-1028 ] - Unit tests using JSONObject.toString are fragile & may break in different environments.
  • [TAPESTRY-1030 ] - cant seem to get a component updated if the event listener is applied to a method that doesnt submit a form
  • [TAPESTRY-1032 ] - Validation messages for zh_CN .
  • [TAPESTRY-1034 ] - "action" parameter of Submit and LinkSubmit should not be deprecated
  • [TAPESTRY-1036 ] - AutoCompleter primary key handling problem
  • [TAPESTRY-1044 ] - min/max date client side validators b0rken
  • [TAPESTRY-1045 ] - Pattern vlidator message is wrong.
  • [TAPESTRY-1046 ] - EventListener invoke all listener inside a form eventhought only one event was trigger
  • [TAPESTRY-1050 ] - The InspectorButton doesn't work:
  • [TAPESTRY-1051 ] - EventListener does not allow use of versions of methods with BrowserEvent and RequestCyle parameters
  • [TAPESTRY-1054 ] - DojoAjaxResponseBuilder will never render FormComponents
  • [TAPESTRY-1056 ] - Fix links in 'Tapestry Annotations' page
  • [TAPESTRY-1057 ] - EventListener validateForm = false causes form to be permanently non validating on client side
  • [TAPESTRY-1058 ] - should clean html before replacing
  • [TAPESTRY-1059 ] - JSONResponseBuilder parseParameters method cause NPE.
  • [TAPESTRY-1060 ] - dojo config "parseWidgets: false" prevent tree widget.
  • [TAPESTRY-1061 ] - AssetService doesn't translate paths relative to CSS file.
  • [TAPESTRY-1063 ] - The single update block for hidden form input fields should only happen when updating individual items contained in a form, but not when the whole form itself needs to be rendered.
  • [TAPESTRY-1066 ] - Duplicate listeners added for events in browser every time @EventListener is fired.
  • [TAPESTRY-1069 ] - When submitting a form via ajax (async = "ognl: true"), @Submit components dont honor their tag/selected/listener parameters
  • [TAPESTRY-1070 ] - no id specified on the rendered Body element
  • [TAPESTRY-1072 ] - Form still validates field removed with AJAX on first submit.
  • [TAPESTRY-1074 ] - Autocompleter breaks when submited with no value
  • [TAPESTRY-1076 ] - Wraped form components can't be attached to FieldLabels
  • [TAPESTRY-1077 ] - multiple EventListeners not firing syncSubmit?
  • [TAPESTRY-1079 ] - Several problems when generating a lot of ajax requests. (Including: Unreached characters at end of expression. Please report this bug!)
  • [TAPESTRY-1083 ] - Tapestry 4.1 Form component docs missing a column
  • [TAPESTRY-1085 ] - ValidationStrings messed in Portuguese BR version
  • [TAPESTRY-1087 ] - undocumented parameters in component contrib:Palette
  • [TAPESTRY-1089 ] - NullPointerException in Upload component
  • [TAPESTRY-1090 ] - DojoAjaxResponseBuilder encoding problem with Internet Explorer
  • [TAPESTRY-1092 ] - servlet-api dependency should have scope "provided"
  • [TAPESTRY-1093 ] - Patch for unit tests that fail in Windows environment
  • [TAPESTRY-1095 ] - Button component breaks with EventListener
  • [TAPESTRY-1096 ] - FieldLabel+EventListener breaks Checkbox value
  • [TAPESTRY-1098 ] - XTile: function encodeUri is not defined
  • [TAPESTRY-1099 ] - Current snapshot of 4.1 has HTTPS DoJo problem, having trouble updating DoJo
  • [TAPESTRY-1100 ] - EventListener called several times for a single form event if caching disabled
  • [TAPESTRY-1102 ] - AlertDialog doesn't trap tabs or set focus to the button
  • [TAPESTRY-1104 ] - FieldLabel's field id never changes (possibly due to reuse)
  • [TAPESTRY-1105 ] - DropdownDatePicker.java uses wrong format to pass date value to DoJo
  • [TAPESTRY-1106 ] - FormComponentContributorContext.addSubmitHandler() should be deprecated
  • [TAPESTRY-1107 ] - Required Field validation behavior changed between 4.0 and 4.1.1
  • [TAPESTRY-1108 ] - Various Exceptions on first concurrent request
  • [TAPESTRY-1109 ] - Client Form validation validates disabled fields
  • [TAPESTRY-1110 ] - Asynchronious link with disable=true generates errors
  • [TAPESTRY-1113 ] - Form component focus parameter not working in 4.1.1
  • [TAPESTRY-1115 ] - ie doesn't cache images in XHR requests
  • [TAPESTRY-1118 ] - Patch for AjaxShellDelegateTest under Windows
  • [TAPESTRY-1119 ] - external js packages need to be loaded syncrhonously instead of async
  • [TAPESTRY-1125 ] - Duplicate id and updateComponents
  • [TAPESTRY-1126 ] - DropdownDatePicker do not transfer class informal parameter
  • [TAPESTRY-1127 ] - Client Side Validation - Field decorators mechanism do not work
  • [TAPESTRY-1129 ] - AJAX page update problem in Firefox
  • [TAPESTRY-1131 ] - Hidden Component (maybe all FormComonents?) don't get ids assigned on a page basis.
  • [TAPESTRY-1133 ] - TitlePane component with nested div acts irregularly in IE 7
  • [TAPESTRY-1135 ] - Dialog js error
  • [TAPESTRY-1136 ] - DropdownDatePicker and DropdownTimePicker do not display when default browser language isn't en-us
  • [TAPESTRY-1138 ] - contrib:Table doesn't render id attribute
  • [TAPESTRY-1139 ] - InlineEditBox doesn't work correctly in forms
  • [TAPESTRY-1140 ] - new page render other than starting page
  • [TAPESTRY-1141 ] - Async form fails if keyboard is used to trigger the submit...
  • [TAPESTRY-1143 ] - DropDownDatePicker handles initial value differently between IE and FF
  • [TAPESTRY-1146 ] - https problem in special ssl environment
  • [TAPESTRY-1147 ] - AjaxShellDelegate will only compile/run under Java 6
  • [TAPESTRY-1150 ] - can't override default dojo included with tapestry
  • [TAPESTRY-1155 ] - Same event ID is generated for EventListener rendered within loop
  • [TAPESTRY-1158 ] - contrib:Palette has deprecated code
  • [TAPESTRY-1159 ] - Rollover component and async DirectLink - Dojo: Error evaluating script
  • [TAPESTRY-1161 ] - encodeURL is not working if context.xml is configured with cookies=false
  • [TAPESTRY-1162 ] - @EventListener doesn't get called inside a custom component
  • [TAPESTRY-1163 ] - Dialog is hidden when background is clicked
  • [TAPESTRY-1164 ] - <iframe> in Dialog problem
  • [TAPESTRY-1165 ] - Form submits multiple times
  • [TAPESTRY-1166 ] - If and Else components ignore element parameter when renderTag is false
  • [TAPESTRY-1168 ] - Update of nested component causes it to lose its @EventListener
  • [TAPESTRY-1169 ] - Autocompleter does not return labels but object.toStrings on json response
  • [TAPESTRY-1170 ] - Problem with dojo.validate.isInRange(), desired flexibility in Tapestry validators
  • [TAPESTRY-1173 ] - Rendering error messages get swallowed on async requests.
  • [TAPESTRY-1175 ] - security flaw - unprotected asset regexp paths allow access to other things
  • [TAPESTRY-1176 ] - Form field focus shouldn't be set on asynchronous submit.
  • [TAPESTRY-1177 ] - ForBean can cause NullPointerException when rendered without a template
  • [TAPESTRY-1178 ] - 4.1 DTD is not uploaded
  • [TAPESTRY-1181 ] - NUll Pointer exception in shell component
  • [TAPESTRY-1186 ] - Error pages not properly caught/displayed in dojo ajax request if "forwarded"
  • [TAPESTRY-1187 ] - Tapestry doesn't work under JRE1.4
  • [TAPESTRY-1189 ] - Dojo related issue
  • [TAPESTRY-1191 ] - Misreporting Script component "scriptPath" property
  • [TAPESTRY-1195 ] - parameter "target" of link components is not documented
  • [TAPESTRY-1197 ] - Unable to re render dojo widgets when responsebuilder updates a component in the form
  • [TAPESTRY-1352 ] - OGNL expression try to access hidden class java.util.HashMap$Entry
  • [TAPESTRY-1456 ] - Problems With RenderBlock

Improvement

  • [TAPESTRY-231 ] - support better DatePicker CSS layout by providing a (configurable) class attribute on the <img> generated
  • [TAPESTRY-232 ] - Add <label> to CheckBoxMultiplePropertySelectionRenderer
  • [TAPESTRY-237 ] - Support for log out action
  • [TAPESTRY-257 ] - favicon support for Shell component
  • [TAPESTRY-332 ] - Adding InsertText functionality into Insert. Deprecating InsertText.
  • [TAPESTRY-334 ] - DatePicker's title is not localized and attributes not defined as reserved.
  • [TAPESTRY-516 ] - Make Page extension configurable.
  • [TAPESTRY-561 ] - Common form field parameter for controlling submit behavior
  • [TAPESTRY-565 ] - Provide replacement for EnumPropertySelectionModel, based on JDK 1.5 Enums
  • [TAPESTRY-597 ] - Submit (and similar) should have easy ways of cancelling or refreshing a form
  • [TAPESTRY-605 ] - Generated markup for empty tags should include space before closing slash
  • [TAPESTRY-662 ] - InjectMeta annotation's value should be optonal
  • [TAPESTRY-670 ] - PageNotFoundException should include the requested page name as a property
  • [TAPESTRY-732 ] - LabeledPropertySelectionModel should support null String values
  • [TAPESTRY-736 ] - PageRenderSupport should support pre-loaded assets
  • [TAPESTRY-747 ] - Add translator parameter to the Select component
  • [TAPESTRY-751 ] - CookieSource needs ability to control domain of cookie
  • [TAPESTRY-754 ] - Checkbox should render DelegateSuffix
  • [TAPESTRY-762 ] - Document new methods on AbstractFormComponent
  • [TAPESTRY-777 ] - Call RequestGlobals.store(WebRequest request, WebResponse response) earlier
  • [TAPESTRY-820 ] - Translator and Validator causes confusion
  • [TAPESTRY-834 ] - Missing documentation in componentes descriptor
  • [TAPESTRY-839 ] - Documentation for location of hivemodule.xml unclear for web applications
  • [TAPESTRY-891 ] - CLONE -Add getParent() method to IComponent
  • [TAPESTRY-904 ] - DatePicker SimpleDateParser needs "strict" parser
  • [TAPESTRY-913 ] - Cannot specify property or copy-of without using a page specification
  • [TAPESTRY-935 ] - Improve BASE tag for IE
  • [TAPESTRY-944 ] - add page parameter to DirectLink component
  • [TAPESTRY-946 ] - Log message for synthesizing application file should be a higher priority
  • [TAPESTRY-980 ] - in ExternalService, activate the external page before validating
  • [TAPESTRY-983 ] - Allow Radio components id overriding
  • [TAPESTRY-994 ] - component types unnecessary for annotations
  • [TAPESTRY-1031 ] - theres no javascript lifecycle for components rendered using the ajax rewind.
  • [TAPESTRY-1033 ] - Autocompleter should pass further parameters to the dojo widget
  • [TAPESTRY-1040 ] - update Annotation documentation to reflect new functionality of Component annotation
  • [TAPESTRY-1041 ] - create documentation for how to include the new tapestry/dojo features in portlets
  • [TAPESTRY-1053 ] - Can't use IJSONWriter to write a JSONArray object.
  • [TAPESTRY-1064 ] - Add isSecure to WebRequest interface
  • [TAPESTRY-1103 ] - Allow InjectState and InjectStateFlag to 'guess' the name of the ASO
  • [TAPESTRY-1123 ] - Polish validation strings
  • [TAPESTRY-1134 ] - TitlePane handles 'open' attribute
  • [TAPESTRY-1142 ] - Change Body component to call ComponentRenderWorker#renderBody on entire chain of workers
  • [TAPESTRY-1156 ] - service interface in tapestry event hivemodule.xml
  • [TAPESTRY-1157 ] - Client side validation popup "OK" button needs ID for automated testing
  • [TAPESTRY-1160 ] - Add renderTag parameter to For component
  • [TAPESTRY-1171 ] - Change IAutocompleterModel semantics to be object friendly instead of string friendly
  • [TAPESTRY-1180 ] - synchronizeWidgetState doesn't allow position to be used
  • [TAPESTRY-1190 ] - create a component class for framework:Style

New Feature

  • [TAPESTRY-274 ] - @Shell infrastructure that can do to CSS what @Body can do with @Script contributions
  • [TAPESTRY-331 ] - Simplified insert binding template syntax
  • [TAPESTRY-975 ] - Overriding ValidationDelegate and adding a "class" attribute results in duplicate attributes
  • [TAPESTRY-1081 ] - Add a new ILinkRenderer that only outputs the target url
  • [TAPESTRY-1137 ] - New Binding Type that returns the client id of a given component

Task

  • [TAPESTRY-486 ] - Missing contrib component documentation
  • [TAPESTRY-916 ] - Place link to Cognition Framework under Related Items within Tapestry Forrest docs
  • [TAPESTRY-930 ] - Tapestry Documentation Errata (Render Block)
  • [TAPESTRY-1114 ] - table related component docs woefully out of date
  • [TAPESTRY-1172 ] - Button documentation page is inaccurate
  • [TAPESTRY-1174 ] - Review validation error messages.

Wish

  • [TAPESTRY-263 ] - Add an element parameter to the Insert component
  • [TAPESTRY-268 ] - Add a raw (title) parameter to the Shell component
  • [TAPESTRY-1080 ] - wish Tapestry shell can add javascripts.

Release Notes - Tapestry - Version 4.1

Sub-task

  • [TAPESTRY-634 ] - Cannot dynamically set the id for a Form
  • [TAPESTRY-840 ] - Using Submit component as a cancel button causes listener to be called twice in Internet Explorer 6
  • [TAPESTRY-943 ] - Migrate 4.x builds to Maven2

Bug

  • [TAPESTRY-192 ] - DatePicker doesn't pass the W3C validation
  • [TAPESTRY-195 ] - Cannot disable auto-focus feature in ValidField
  • [TAPESTRY-197 ] - Leading & trailing spaces not trimmed from ValidField
  • [TAPESTRY-212 ] - DatePicker produces "Security information" dialog in IE on secure connection
  • [TAPESTRY-221 ] - TableFormPages component does use pagesClass property
  • [TAPESTRY-436 ] - Form Table not being updated properly
  • [TAPESTRY-674 ] - Some errors of DatePicker component
  • [TAPESTRY-774 ] - PopupLinkRenderer fails in Form rewind
  • [TAPESTRY-788 ] - DatePicker doesn't work in a portlet. Initialization script is run before window finishes loading.
  • [TAPESTRY-794 ] - Extra space in Timeout.jwc prevents warning message from displaying
  • [TAPESTRY-795 ] - Client-side validation of numbers doesn't allow punctuation
  • [TAPESTRY-802 ] - All Tapestry URLs should be encoded using RequestCycle.encodeURL(), except for portlets URLs
  • [TAPESTRY-833 ] - Tapestry.require_field in form.js does not cater for input type select (length property of value property does not exist)
  • [TAPESTRY-847 ] - Max and Min validators throw NumberFormatException
  • [TAPESTRY-859 ] - form name & id collision
  • [TAPESTRY-861 ] - AbstractComponent.prepareForRender() has a little bit confusing javadoc
  • [TAPESTRY-869 ] - DatePicker icon should specify an alt attribute to support XHTML validation.
  • [TAPESTRY-884 ] - Wrong handling of ResourceBundles in ValidationStrings, when running in non-en environment
  • [TAPESTRY-885 ] - incorrect Example in the web page
  • [TAPESTRY-931 ] - Template parsing fails on javascript.
  • [TAPESTRY-948 ] - Missing resource key: unable-to-open-content-file
  • [TAPESTRY-949 ] - Fix TableColumns documentation to reflect the changes on embedded CSS
  • [TAPESTRY-950 ] - Incorect dojo baseRelativePath
  • [TAPESTRY-952 ] - Resources defined in dojo's css cannot be served
  • [TAPESTRY-955 ] - Expires header not set correctly in AssetService
  • [TAPESTRY-963 ] - Script component parameter 'script' is wrong in the documentation
  • [TAPESTRY-976 ] - Use of XTile error function causes bad JavaScript
  • [TAPESTRY-995 ] - Overriding maximum file upload size throws Hivemind exception
  • [TAPESTRY-1003 ] - Grammatical error in Rollover documentation
  • [TAPESTRY-1004 ] - NPE in EventListenerAnnotationWorker
  • [TAPESTRY-1013 ] - DefaultResponseContributorImpl has wrong doc
  • [TAPESTRY-1015 ] - ParseException in AssetService
  • [TAPESTRY-1018 ] - ActionLink is not completely removed
  • [TAPESTRY-1019 ] - Creating a required Number-Field does not work as expected
  • [TAPESTRY-1020 ] - AssetService cannot handle relative paths when asset is in jar
  • [TAPESTRY-1021 ] - javadoc problem

Improvement

  • [TAPESTRY-240 ] - XHTML 1.0 Strict compliance
  • [TAPESTRY-315 ] - add submitOnChange parameter to checkboxes and radio buttons
  • [TAPESTRY-440 ] - Public API for rendering pages inside a page/component
  • [TAPESTRY-545 ] - Hook into the rendering process for AJAX improvement
  • [TAPESTRY-624 ] - Default exception page should not be cached by browser
  • [TAPESTRY-628 ] - BeanPropertySelectionModel
  • [TAPESTRY-737 ] - Support custom PageRenderSupportImpl in component Body
  • [TAPESTRY-801 ] - Document Validation system
  • [TAPESTRY-810 ] - Radio components don't have unique client id's
  • [TAPESTRY-812 ] - [PATCH]Japanese Localization Message
  • [TAPESTRY-813 ] - Provide a global clientId for all components, not only forms related ones
  • [TAPESTRY-821 ] - IAssetService should support relative path resolutions
  • [TAPESTRY-822 ] - Tapestry should correctly handle url's to private assets in private-asset stylesheets
  • [TAPESTRY-929 ] - OGNL Null Handler
  • [TAPESTRY-947 ] - Squeezer Pipeline
  • [TAPESTRY-969 ] - add "cache-control" header
  • [TAPESTRY-986 ] - move base test classes out of test and into org.apache.tapestry.test
  • [TAPESTRY-997 ] - Small patch to start the timetracker application from within maven using the jetty plugin
  • [TAPESTRY-1005 ] - Add sources to maven distribution

New Feature

  • [TAPESTRY-273 ] - Autowire Hivemind services into pages or components
  • [TAPESTRY-735 ] - SubmitScript component
  • [TAPESTRY-917 ] - HiveMind Service AutoWire Enhancement Worker
  • [TAPESTRY-971 ] - Include a NullDataSqueezerFilter in the data squeezer pipeline

Task

Wish