Tapestry 4 Releases

Release Notes - Tapestry - Version 4.1.6

Release Notes - Tapestry - Version 4.1.6

Bug

  • [TAPESTRY-1086] - components that use dojo need a Shell component and should document this fact
  • [TAPESTRY-1219] - The order of loading bodyscripts and initializationscripts is non deterministic
  • [TAPESTRY-1269] - Dojo error on search engine cached pages
  • [TAPESTRY-1431] - Changing org.apache.tapestry.renderTags config property breaks Exception page
  • [TAPESTRY-1567] - Broken links: from API to Component Reference
  • [TAPESTRY-1657] - apidocs's links to 'Component Reference' are broken
  • [TAPESTRY-1673] - Why does submitType="cancel" kill its listener?
  • [TAPESTRY-1761] - TreeDataView's initialze() is not called
  • [TAPESTRY-1773] - Wrong documentation for Dialog toggleDuration parameter
  • [TAPESTRY-2003] - EventListener's "autoSubmit" parameter does not work.
  • [TAPESTRY-2171] - @ScriptIncludes does not use the new jsManager like @Shell. Causes "Exception: Missing classpath resource '/dojo-0.4.3/dojo2.js'."
  • [TAPESTRY-2201] - LabeledPropertySelectionModel.isDisabled ignores underlying model
  • [TAPESTRY-2225] - tapestry.form.refresh is broken
  • [TAPESTRY-2266] - Incorrect EventListener documentation for intercepting Javascript functions
  • [TAPESTRY-2310] - LabeledPropertySelectionModel.isDisabled always disables its first option
  • [TAPESTRY-2382] - Possible deadlock in ExpressionCacheImpl (on _lock instance)
  • [TAPESTRY-2530] - Possible performance bottleneck in PageSource.makeObject()

Improvement

  • [TAPESTRY-1246] - Clientside validation patch
  • [TAPESTRY-1252] - Setting updateComponents in DirectLink forces async execution
  • [TAPESTRY-1405] - EventListeners on RadioGroups don't fire asynchronously
  • [TAPESTRY-1677] - Tapestry Archetype should generate Home.html that uses Body component
  • [TAPESTRY-1728] - tapestry-archetype: update jetty6 plugin to maven-jetty-plugin
  • [TAPESTRY-1902] - Upgrade Dojo to 1.0
  • [TAPESTRY-1915] - AssetEncoder doesn't handle invalid paths missing a digest
  • [TAPESTRY-2091] - improve html produced by DefaultOptionRenderer
  • [TAPESTRY-2210] - Example in Basic Ajax documentaion cannot work.
  • [TAPESTRY-2466] - Delegate js library inclusion to JavacriptManager
  • [TAPESTRY-2499] - Reduce Frustration Experienced By "green" Maven User When Following the Tapestry Archetype Example

New Feature

Release Notes - Tapestry - Version 4.1.5

Sub-task

Bug

  • [TAPESTRY-796] - page-service-encoder for external service no longer working
  • [TAPESTRY-1233] - @EventListener with async=false is not been called for PropertySelection component
  • [TAPESTRY-1278] - wrong clientId with multiple forms
  • [TAPESTRY-1286] - tacos:Tree ajax expand/collapse executes scripts of other (unupdated) components
  • [TAPESTRY-1306] - NullPointerException when looking for asset
  • [TAPESTRY-1326] - ' and " should be encoded as entity if output mode is not raw
  • [TAPESTRY-1394] - @InitialValue("null") sets property to empty collection not null
  • [TAPESTRY-1401] - IPropertySelectionModel doesn't looses selection when page is rendered again
  • [TAPESTRY-1441] - Autocompleter autofills textfield with unexpected value
  • [TAPESTRY-1456] - Problems With RenderBlock
  • [TAPESTRY-1488] - A duplicated item is generated when double-click the top item on Palette component.
  • [TAPESTRY-1516] - tapestry 4.1.X releases don't come with documentation
  • [TAPESTRY-1529] - Unusable FieldLabel in combination with a group of radio options
  • [TAPESTRY-1547] - no equivalent of <inherited-binding> when using annotations
  • [TAPESTRY-1557] - client ID collision
  • [TAPESTRY-1663] - @RadioGroup client-side validation does not work
  • [TAPESTRY-1665] - Null Pointer Exception when using Style Component together with updateComponents
  • [TAPESTRY-1692] - tapestry.form.focusField quirks!
  • [TAPESTRY-1721] - Workbench broken in 4.1.3-SNAPSHOT
  • [TAPESTRY-1751] - Several unused message format parameters
  • [TAPESTRY-1753] - Client-side validation is broken for PropertySelection
  • [TAPESTRY-1760] - Contrib:Table column ids mangled: underscores become periods so column heading lookup fails
  • [TAPESTRY-1762] - ie7 GTimePicker within scrolled document placed incorrectly
  • [TAPESTRY-1775] - Multiple submit buttons inside async form can invoke incorrect listener
  • [TAPESTRY-1795] - Suggest component throws js error: 'afterUpdateElement is not a function'
  • [TAPESTRY-1799] - German "ValidationString_de.properties" still contains invalid characters
  • [TAPESTRY-1820] - RenderBlock fails to operate with persistent properties off of PropertySelection
  • [TAPESTRY-1833] - XTile does not work with cookies turned off
  • [TAPESTRY-1854] - input types of text can't be updated directly via ajax and have values set
  • [TAPESTRY-1857] - Email validator's regexp pattern causes possibly infinite loop
  • [TAPESTRY-1872] - Fix on using method String.replace()
  • [TAPESTRY-1877] - GTimePicker widget destruction javascript errors
  • [TAPESTRY-1886] - Client validation does not work any more
  • [TAPESTRY-1906] - DropdownDatePicker and DropdownTimePicker overwrite html tag used in template
  • [TAPESTRY-1989] - tapestry.form not auto included when using LinkSubmit
  • [TAPESTRY-2022] - Palette doesn't render pre/post validation delegate calls
  • [TAPESTRY-2023] - multiple GTimePickers on page fail when one is updated via XHR on ie
  • [TAPESTRY-2038] - AbstractSubmit does not handle parameters that are Object[] correctly
  • [TAPESTRY-2039] - DirectLink parameters are not handle consistently with AbstractSubmit parameters.
  • [TAPESTRY-2047] - Client side date validation doesn't accept mixed case am/pm strings
  • [TAPESTRY-2060] - ExternalAsset bugs
  • [TAPESTRY-2070] - EventListener on checkbox components within a @For loop - Issues
  • [TAPESTRY-2071] - Validators using Regexps shouldn't use the pool-based PatternMatcher
  • [TAPESTRY-2073] - Nested Ifs without explicit ids cause StaleLinkException
  • [TAPESTRY-2075] - Suggest component doesn't configure onFailure correctly
  • [TAPESTRY-2092] - EventListener in components that get included more than once in a page aren't triggered
  • [TAPESTRY-2120] - Disabled radio group causes StaleLinkException
  • [TAPESTRY-2121] - EventListener does not bind to @Select using targets parameter.
  • [TAPESTRY-2124] - RadioGroup fieldName nullpointer error

Improvement

  • [TAPESTRY-234] - contrib:Table can't render column blocks when column name has period in it
  • [TAPESTRY-1192] - support only explicit declaration of components in libraries
  • [TAPESTRY-1274] - Document alternative form support implementation
  • [TAPESTRY-1305] - ServiceEncoding needs ability to set the PathInfo variable
  • [TAPESTRY-1430] - Add searchIds parameter to Shell component (passthrough to djConfig)
  • [TAPESTRY-1711] - Missing documentation on client:page and client:app persistence strategies
  • [TAPESTRY-1719] - Create a new drop down time picker that works like google calendar
  • [TAPESTRY-1766] - Improve / Clean / Reduce javascript on ajax responses
  • [TAPESTRY-1787] - ExceptionDisplay to support highlighting specific packages
  • [TAPESTRY-1837] - GTimePicker should fire onChange event when text input value is changed manually
  • [TAPESTRY-1884] - update up/down table arrow images
  • [TAPESTRY-1885] - add ability to have a null / "choose" style option via BeanPropertySelectionModel
  • [TAPESTRY-2051] - make GTimePicker dropdown auto hide after mousing away
  • [TAPESTRY-2062] - Allow different JavascriptManager configurations to be used in a single app
  • [TAPESTRY-2065] - Document ResponseBuilder.addStatusMessage
  • [TAPESTRY-2077] - Pattern-validator should be able to validate any object's string representation

New Feature

  • [TAPESTRY-975] - Overriding ValidationDelegate and adding a "class" attribute results in duplicate attributes
  • [TAPESTRY-1763] - Support namespace parameter in ExternalLink
  • [TAPESTRY-1794] - make the Shell component write the xmlns property to the html tag

Task

  • [TAPESTRY-1801] - Tapestry 4.1.x already deprecate the Foreach component, should update the document
  • [TAPESTRY-1812] - MaskEdit.js appears both in core and in contrib
  • [TAPESTRY-1852] - Document Supported locales in AjaxShellDelegate
  • [TAPESTRY-2068] - Document using PopupLinkRenderer (and other contrib link renderers)
  • [TAPESTRY-2122] - start versioning the bundled tapestry and other javascript libraries when they change so that browser caches are synced up properly

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