This file contains all changes done on the 1.4 version. Release Notes - Wicket - Version 1.4-RC1 ** Sub-task * [WICKET-1624] - ServletWebRequest.getRelativePathPrefixToContextRoot() double decodes servlet path * [WICKET-1805] - Allow to change charset in StringRequestTarget: change CharSet used by the OutStream as well ** Bug * [WICKET-550] - Use WebRequestEncoder everywhere a query string is constructed * [WICKET-861] - NumberFormatException with UrlCompressingWebRequestProcessor in WicketTester * [WICKET-1120] - Problem closing a ModalWindow when used through an IFrame * [WICKET-1180] - Converters : final vs non final * [WICKET-1220] - Component.visitParents visits the calling component as well * [WICKET-1311] - Improper HTML escaping for most wicket components and extensions * [WICKET-1376] - Using AbstractAjaxTimerBehavior and mounting that page gives exception * [WICKET-1425] - appendToInit() method is not called in class DatePicker * [WICKET-1436] - Unable to use properties file when generating XML files * [WICKET-1496] - DataTable.html does not validate (HTML 4.01/XHTML-Strict) * [WICKET-1535] - ExternalLink JavaScript not working in FF 3 * [WICKET-1565] - AbstractTransformerBehavior can't be added to a page * [WICKET-1582] - WicketTester executeAjaxEvent onclick generating non-AJAX response * [WICKET-1583] - NPE in EnclosureResolver * [WICKET-1627] - AbstractRequestTargetUrlCodingStrategy improper user of URLEncoder.encode * [WICKET-1634] - ClassName needs conversion from Path to dotted notation in AutoLinkResolver * [WICKET-1648] - AbstractRequestTargetUrlCodingStrategy(line 174) throws confusing exception. It would be better redirect to 404-page in this case. * [WICKET-1652] - Hard-coded quotes in xml prologue * [WICKET-1704] - ResourceStreamRequestTarget.configure set wrong ContentLength for non-ascii characters * [WICKET-1719] - StringResourceModel may fail to format numbers using MessageFormat * [WICKET-1728] - remove obsolete check from LocalizedImageResource * [WICKET-1730] - RfcCompliantEmailAddressValidator accepts whitespace and tab * [WICKET-1731] - When used in inherited markup, tries to load a class with an illegal name * [WICKET-1736] - Allow Access to AutoCompleteTextField AutoCompleteBehavior * [WICKET-1737] - wicketTester does not find HTML mark-up if custom location is used. * [WICKET-1740] - RequestCycle.urlFor modifies page parameters * [WICKET-1745] - Get rid of raw Model usage * [WICKET-1746] - gecko: ajax javascript reference rendering problem * [WICKET-1754] - form action URLs in non-Wicket forms not rewritten * [WICKET-1755] - In html Include component isAbsolute method returns false for an absolute path in unix-like systems * [WICKET-1756] - Generify PropertyColumn * [WICKET-1759] - Typo in method name: AttributeModifier#replaceAttibuteValue * [WICKET-1765] - Extending from org.apache.wicket.Page causes StackOverflowError * [WICKET-1776] - Quickstart's archetype misses maven compiler configuration * [WICKET-1777] - Overflow when setting Expires header in WebResource * [WICKET-1780] - NPE in feedback panel * [WICKET-1787] - AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically genreated id's * [WICKET-1788] - "Invalid procedure call or argument" on AJAX call with IE7 * [WICKET-1789] - Border fails to render if its contents are not visible by default * [WICKET-1796] - When markup type is XML, getLocalizer().getString( "xyz", (WebPage) ) throws Exception * [WICKET-1797] - Bug with default RadioChoice "for" attribute on label generation. * [WICKET-1799] - wicket-extensions has unused reference to commons-collections.jar * [WICKET-1809] - wicket does not compile for 1.3.x because of method usage > jdk 1.4 * [WICKET-1816] - Wicket 1.3.4 violates servlet standard, Glassfish spews warnings * [WICKET-1818] - wicket:id attribute with a value containing spaces generates invalid markup * [WICKET-1820] - Embedded forms do not support multipart * [WICKET-1829] - MarkupComponentBorder skips first tag in MarkupStream * [WICKET-1834] - Invalid Cookie Names for persistence used according to RFC (doesn't work in tomcat 6.x) * [WICKET-1836] - RequestUtils.toAbsolutePath() should handle dot paths in the url * [WICKET-1839] - IAjaxIndicatorAware/WicketAjaxIndicatorAppender with AutoCompleteTextField doesn't work * [WICKET-1843] - Disabling RadioGroup via authorization strategy does not disable contained Radio buttons * [WICKET-1846] - Dutch text message for NumberValidator incorrect * [WICKET-1857] - Unfound markup information is not entirely cached even in deployment mode * [WICKET-1870] - MinimumLengthValidator throws NullPointerException * [WICKET-1901] - Spelling error in fonts list in CaptchaImageResource * [WICKET-1903] - RadioChoice disable certain choice bug * [WICKET-1904] - CheckBox incorrectly converts its model value when a custom Boolean converter is installed - again ** Improvement * [WICKET-1055] - Add ability to have Radio and RadioGroup not related via component hierarchy * [WICKET-1103] - Support validator and package level resource bundles * [WICKET-1115] - DownloadLink fix that encodes non-ASCII file names properly * [WICKET-1138] - Better warning of design errors during development * [WICKET-1692] - on Java 6+ DatePicker.localize should use DateFormatSymbols.getInstance(Locale) instead of new DateFormatSymbols(Locale) to support DateFormatSymbolsProviders * [WICKET-1696] - CaptchaImageResource - should take an IModel instead of String for captcha-text * [WICKET-1744] - RadioChoice , MultiListChoice, DropDownChoice, ListChoice - model handlers should take a Collection instead of the more specific List * [WICKET-1748] - 304 Last Modified responses should include an Expires header * [WICKET-1749] - Want to add SignInPanel_ja.html * [WICKET-1753] - Allow WicketFilter to be configured to skip certain paths * [WICKET-1767] - Protection against Session Fixation * [WICKET-1770] - PagingNavigation's javadoc contains malformed html snippet * [WICKET-1782] - Protection against CSRF (cross-site request forgery) attacks * [WICKET-1801] - Make AbstractDefaultAjaxBehavior.findIndicatorId() protected * [WICKET-1802] - Propertyresolver could be more informative * [WICKET-1810] - StringRequestTarget is bloated and needs some care * [WICKET-1824] - AbstractDecimalConverter * [WICKET-1830] - Include Component Path in Generated Markup * [WICKET-1833] - Ungenerifying IConverter, because overriding Component.getConverter() generated warnings in user code * [WICKET-1844] - Wizard button implementations should not be final * [WICKET-1853] - Wicket should allow non-formcomponents to plug into form's FormComponent#updateModel event * [WICKET-1854] - What's the point of requiring IConverters to be superclasses of the objects they convert? * [WICKET-1891] - AjaxLazyLoadPanel shouldn't call getLoadingComponent(String) in constructor * [WICKET-1895] - AjaxButton should have a constructor to set the label ** New Feature * [WICKET-1720] - Add clearLocalizerCache to Application JMX bean * [WICKET-1877] - Provide Option to Specify XML Attribute Name in getDebugSettings().setOutputComponentPath(true); ** Wish * [WICKET-1758] - Make DiskPageStore#getSessionFolder protected (rather than private) Release Notes - Wicket - Version 1.4-M3 ** Bug * [WICKET-613] - Prototype scoped Spring beans * [WICKET-1389] - Tests fail due to different order of attributes (under Java 6) * [WICKET-1473] - BaseWicketTester.isComponentOnAjaxResponse() test is too strong * [WICKET-1544] - Update Javadoc for AbstractValidator * [WICKET-1547] - Add getterfor IPageable to PagingNavigation * [WICKET-1636] - WebPage.onAfterRender compares configurationType String using == operator, not equals method * [WICKET-1643] - Bookmarkable / Stateless form submit bug * [WICKET-1645] - Syntactic errors in the manifest OSGi headers * [WICKET-1646] - AjaxFormComponentUpdatingBehavior not working correctly when using IE 7 * [WICKET-1658] - WicketTester#clickLink doesn't update lastRenderedPage * [WICKET-1659] - Prolem with 'mouseactive' in wicket-autocomplete.js when AutoCompleteBehaviour is added (twice) during Ajax roundtrip * [WICKET-1667] - Memory leak in Localizer * [WICKET-1669] - TimeFrame.equals(Object) does not work as expected * [WICKET-1670] - Time.valueOf() does not clear miliseconds * [WICKET-1676] - NPE in BookmarkablePageRequestTarget * [WICKET-1682] - HtmlHandler can't handle tags not requiring closed tags if the tag names are uppercase * [WICKET-1684] - FileUploadField should return FileUpload as its converted input * [WICKET-1694] - wicket complains that ValueMap$NullSafeKeyComparator is not serializable * [WICKET-1695] - IValueMap redefines methods from parent interface Map which causes name clashes and redundancy * [WICKET-1697] - Bad caching in tag for the same key in same markup structure * [WICKET-1699] - NPE in RequestLogger * [WICKET-1701] - org.apache.wicket.markup.html.CompressedPackageResource$CompressingResourceStream.cache needs to avoid being serialized * [WICKET-1705] - GuiceComponentInjector mishandles static fields * [WICKET-1706] - org.apache.wicket.util.lang.Objects.convertValue returns null if it cannot convert the value * [WICKET-1713] - ModalWindow JavaScript does not restore tabIndexes correctly on IE 6 * [WICKET-1714] - PackagedTextTemplate does not load resource from application resource stream locator * [WICKET-1715] - Generified SimplePageAuthorizationStrategy violates its contract * [WICKET-1724] - Clicking on AjaxLink (when used on a page mounted through QueryStringUrlCodingStrategy) after session-expiry throws a NullPointerException in IE and Safari (i.e. in BookmarkableListenerInterfaceRequestTarget.processEvents) ** Improvement * [WICKET-488] - Allow more complex behaviour for AutoCompleter component * [WICKET-1592] - html.form.Form object should have method to obtain all FormValidator objects associated with * [WICKET-1622] - expose the IItemFactory in RefreshingView * [WICKET-1657] - AjaxFallbackDefaultDataTable gives misleading error when fragment markup cannot be found * [WICKET-1662] - org.apache.wicket.util.resource.IResourceStream extends java.io.Closeable * [WICKET-1668] - Application_es.properties (added translations) * [WICKET-1702] - WicketMessageResolver should use application settings instead of a static property to configure its behavior * [WICKET-1708] - Allow the module init parameter to contain multiple class names * [WICKET-1709] - Allow configuration of the guice Stage for GuiceWebApplicationFactory * [WICKET-1711] - Improve Locale fallback in BundleStringResourceLoader * [WICKET-1723] - Drop type parameter from Component while preserving it in IModel and specific Component subtypes ** New Feature * [WICKET-1428] - AutoLinkResolver and Parent-Relative (../) Links * [WICKET-1534] - Allow multiple URL coding strategies on the same mount path * [WICKET-1716] - make autocompleter more customizable Release Notes - Wicket - Version 1.4-M2 ** Bug * [WICKET-1152] - MetaDataRoleAuthorizationStrategy.unauthorize() doesn't work * [WICKET-1292] - WicketTester continueToOriginalDestination() uses application home page instead of original redictor * [WICKET-1366] - "ava.lang.IllegalStateException: No Page found for component" when collapsing nodes in a LinkTree * [WICKET-1507] - MarkupCache style/variation/locale support broken * [WICKET-1521] - ClassCastException in MixedUrlCodingStrategy * [WICKET-1527] - WicketTester can not deal with null values in page parameters * [WICKET-1541] - PopupSettings' windowName fixes for IE * [WICKET-1549] - Memory leak with PropertyResolver (in running test suites) * [WICKET-1560] - MarkupFragmentFinder fails on transparent resolvers within Repeaters * [WICKET-1569] - AjaxButton break form data when IRequestSettings.#getResponseRequestEncoding is not UTF-8. * [WICKET-1574] - Palette does not support ajax behavior * [WICKET-1575] - AjaxEventBehavior does not check for component.isEnableAllowed before adding the ajax event to the tag * [WICKET-1581] - AjaxEditableLabel cancel broken on Safari * [WICKET-1598] - Typos in JavaDoc of IMarkupResourceStreamProvider.java * [WICKET-1607] - addDomReadyEvent unreliable for Safari * [WICKET-1626] - Typo in src/main/java/org/apache/wicket/protocol/http/WebApplication.java * [WICKET-1635] - Stripping javascript comments and whitespace breaks application when using prototype library * [WICKET-1649] - Manifests use incorrect Dynamic-ImportPackage header ** Improvement * [WICKET-433] - improved reporting on locked page maps * [WICKET-1559] - Widening Generics... * [WICKET-1568] - contribution for wicket 1.4 generics (IConverter) * [WICKET-1588] - Generics for Quickstart archetype * [WICKET-1590] - AjaxEditableChoiceLabel ignores ChoiceRenderer in newLabel(...) * [WICKET-1595] - AutoCompleteTextField: Scrolling down the Choice Menu Only When the Bottom of the Menu Is Reached * [WICKET-1596] - New convenience methods for ValueMap (code and tests included!) * [WICKET-1608] - make AutoCompleteBehavior's configuration more flexible * [WICKET-1618] - Localizer API should be enhanced so that the cache implementation can be overwritten * [WICKET-1656] - serialVersionUID Errors in Eclipse * [WICKET-1660] - Add isVisible() method to ITab ** New Feature * [WICKET-1603] - pass through url coding strategy * [WICKET-1609] - add RedirectToExternalException * [WICKET-1641] - provide OSGi metadata ** Wish * [WICKET-1562] - Autocomplete should display the selection list even if the input field is empty Release Notes - Wicket - Version 1.4-M1 ** Sub-task * [WICKET-1516] - Flatten project structure * [WICKET-1517] - Update release script * [WICKET-1523] - Update README ** Bug * [WICKET-1371] - wicket.properties cannot be found in OSGi * [WICKET-1418] - org.apache.wicket.MarkupContainer swallows AbortException * [WICKET-1496] - DataTable.html does not validate (HTML 4.01/XHTML-Strict) * [WICKET-1499] - AjaxEditableMultiLineLabel + race condition / * [WICKET-1501] - MarkupCache.putIntoCache doesn't behave correctly!! * [WICKET-1504] - AutoCompleteTextField - javascript error "type mismatch" in line 227 in IE * [WICKET-1508] - EmptyStackException parsing HTML * [WICKET-1512] - Widen Generics for Lists/Iteratos * [WICKET-1514] - DataView generified * [WICKET-1532] - Generified IConverter * [WICKET-1536] - Enclosure permanently hides direct children after it has been itself hidden once * [WICKET-1537] - SelectOption generates non xhtml compliant markup * [WICKET-1548] - PagingNavigator calls factory methods from constructor * [WICKET-1551] - javascript status variable hides the window.status variable because it is not declared as a far in wicket-ajax.js ** Improvement * [WICKET-1344] - BigDecimalConverter is not precise * [WICKET-1427] - make setAfter/BeforeDisabledLink return "this" for chaining * [WICKET-1509] - Add QueryString property to RequestParameters and Request * [WICKET-1524] - Disable javadoc plugin in regular build to make it faster ** New Feature * [WICKET-1486] - Allow child components inside of wicket:message * [WICKET-1505] - Package level properties file ** Task * [WICKET-1522] - Merge wicket-spring and wicket-spring-annot ** Wish * [WICKET-1506] - More Generics (IBookmarkablePageRequestTarget)