This file contains all changes done on the 1.5 version. Release Notes - Wicket - Version 1.5.1 ** Sub-task * [WICKET-3934] - Provide AttributeModifier#remove(String) * [WICKET-4029] - Improve RequestLogger to not do anything after IPageManager#commitRequest() * [WICKET-4036] - Confusion with Get Parameter Name same as Form Field Name ** Bug * [WICKET-3705] - AjaxSubmit in modal window doesn't call form.onSubmit() before ending request * [WICKET-3773] - Onclick Script displayed as Link Text * [WICKET-3977] - Calling FormTester.select for DropDownChoice invokes onSelectionChanged with null argument * [WICKET-3991] - SignInPanel prevents the page being Stateless when signing in with the "rember me" facility. * [WICKET-3993] - Wrong ASCII Key Code for END Key. AutoComplete not working properly * [WICKET-3998] - CreditCardValidator returns incorrect cardId for VISA * [WICKET-4004] - PageExpiredException still thrown after handled by IRequestCycleListener * [WICKET-4005] - AutoHide of DatePicker breaks showOnFieldClick * [WICKET-4009] - Page Lock on Browser Back Button after Page Expiry * [WICKET-4010] - SignInPanel may lead to infinite redirects if there is rememberMe cookie with outdated data * [WICKET-4012] - Component's onAfterRender() is called so many times as it is depth in the component tree + 1 * [WICKET-4014] - Wicket 1.5 Form Post Action and Link Get discard Page Class Information * [WICKET-4016] - MarkupContainer.toString(true) fails with MarkupNotFoundException if the call is made in the component constructor * [WICKET-4020] - ResourceMapper throws IllegalStateException when attempting to map a request to a URL ending in a empty segment (directory) * [WICKET-4021] - PageProvider can instantiate pages even if isNewPageInstance returns false * [WICKET-4022] - Hidden auto generated field in Form has invalid value for autocomplete * [WICKET-4025] - AbstractLink does not detach body model * [WICKET-4030] - HeaderResponse.renderCSSReference does not render context path relative url, but wicket filter url-pattern relative url * [WICKET-4031] - TextRequestHandler doesn't set Content-Length header * [WICKET-4032] - ComponentStringResourceLoader must not include the index of repeater items in resource lookup but still resolve properties to them * [WICKET-4038] - MountedMapper.mapHandler ruins Links inside mounted pages appending parameters wicket-ajax and wicket-ajax-baseurl * [WICKET-4047] - WebClientInfocauses NullPointerException when the request header "User-Agent" is null. * [WICKET-4048] - label's wicket:for does not work completely for Radios * [WICKET-4051] - max-age header is set in milliseconds rather than seconds * [WICKET-4053] - AbstractTree#updateTree(AjaxRequestTarget target) is invoked even when request is non-ajax * [WICKET-4054] - Memory leakage in browser with AbstractAjaxTimerBehavior * [WICKET-4055] - LocaleFirstMapper does not strip Locale from url in getCompatibilityScore() * [WICKET-4058] - RadioGroup WicktTester with a AjaxSubmitLink fails * [WICKET-4059] - CheckBoxMultipleChoice does not respect isEnabled * [WICKET-4061] - Invalid listener url generated for nested components that have an id which starts with a dash * [WICKET-4063] - Theading issue in AsynchronousDataStore causes OutOfMemory exception * [WICKET-4066] - RestartResponseAtInterceptPageException.InterceptData is never cleared * [WICKET-4070] - Errors reported from Form#onValidateModelObjects() are ignored * [WICKET-4072] - Form Input example fails when changing the language * [WICKET-4073] - Wicket quickstart advertise HTTPS but it doesn't work when started with jetty:run * [WICKET-4075] - Extended browser info gathering is broken * [WICKET-4080] - domready events not always fired in IE * [WICKET-4081] - WebRequest.getIfModifiedSinceHeader does not handle IllegalArgumentException * [WICKET-4082] - org.apache.wicket.request.Url#toAbsoluteString * [WICKET-4083] - WebResponse#enableCaching does not take care of a possible "Pragma: no-cache" header ** Improvement * [WICKET-2790] - Submitting a form with Ajax in WicketTester does not check if form is multiPart * [WICKET-2930] - Method isSelected in Select should be public * [WICKET-3938] - Impossible to remove particular key-value from PageParameters * [WICKET-4006] - Add a check preventing trying to add the current component as a child to itself * [WICKET-4023] - Please Allow AjaxLink to use getChannelName * [WICKET-4024] - Provide a Convenience API for usage of Ajax Channels * [WICKET-4028] - Improve PageInstanceMapper#getCompatibilityScore() to return higher value if the request starts with 'wicket/page' * [WICKET-4037] - Archetype quickstart references release candidate * [WICKET-4042] - Typo in FormTester fail message * [WICKET-4044] - Change the style of "WICKET AJAX DEBUG" link when some error gets logged * [WICKET-4046] - Touch pages only when they are returned from the data stores * [WICKET-4049] - Enable SSL for quickstart to make debugging SSL errors easier * [WICKET-4050] - Start to use PageStoreManager.SessionEntry to cache last N touched pages * [WICKET-4052] - Add org.apache.wicket.request.Response.write(byte[], int, int) to make it easier to write buffered data to the web response * [WICKET-4065] - Improve behavior#getStatelessHint() by accounting for the common cases when behaviors are not stateless * [WICKET-4067] - Register devutils only if IDebugSettings#isDevelopmentUtilitiesEnabled() is true * [WICKET-4068] - Assume that form.onsubmit() without explicit return value means that submit should proceed * [WICKET-4079] - Provide new HybridPageParametersEncoder class for backwards compatibility with pre 1.5.x Hybrid URL encoding ** New Feature * [WICKET-4015] - Implement a listener which can be used to measure the render time of a component ** Task * [WICKET-4069] - Wickettester: submit select via AJAX Promoted Wicket 1.5-RC7 to 1.5.0 Release Notes - Wicket - Version 1.5-RC7 ** Bug * [WICKET-3989] - MarkupNotFoundException when refreshing a component with AJAX inside a TransparentWebMarkupContainer ** Improvement * [WICKET-3988] - Make AbstractMapper.getPlaceholder and similar methods as public methods Release Notes - Wicket - Version 1.5-RC6 ** Bug * [WICKET-2650] - Consistently create body for short tags. * [WICKET-3727] - MultiFileUploadField internationalisation does not work * [WICKET-3818] - AbstractTree.updateTree() method not works * [WICKET-3820] - New Chrome merges text in replaceOuterHtml, breaking wicket-ajax * [WICKET-3822] - some jmx values are not working since they require wickets filter environment (application, session, etc.) * [WICKET-3825] - MockHttpServletRequest getRequestURL and getRequestURI should not return query parameters * [WICKET-3827] - Component loses state after replace another one * [WICKET-3828] - QueryStringWithTimestampResourceCachingStrategy#undecorateUrl(ResourceUrl) can causes NPE * [WICKET-3832] - RequestLogger doesn't log incoming event and outgoing page * [WICKET-3833] - Components inside an invisible are still rendered * [WICKET-3834] - WicketTester does not follow absolute redirects * [WICKET-3836] - regression on strategy to integrate cas authentication * [WICKET-3837] - StringResourceModel doesn't handle correctly resources containing a single quote * [WICKET-3838] - In wicket 1.5 urlFor returns incorrect string for package mounted pages * [WICKET-3840] - AjaxSubmitLink does not respect its getForm() * [WICKET-3841] - Redirecting to the home page after binding the session leads to Wicket creating an invalid URL * [WICKET-3845] - support custom response headers in AbstractResource.ResourceResponse * [WICKET-3846] - in environments without reliable timestamps (e.g. some clusters) resource caching is useless * [WICKET-3847] - Modal window won't show in internet explorer document mode 8 * [WICKET-3848] - resource caching is not working for localized package resources * [WICKET-3850] - Unnecessary static call to Application.get() in PropertiesFactory though it's already available in a field * [WICKET-3851] - Remove usage of System.gc() in Wicket code * [WICKET-3855] - Problem scavenging sessions with Jetty and Wicket 1.5 * [WICKET-3858] - AsynchronousDataStore needs to stop - make thread a daemon * [WICKET-3859] - WicketFilterTest.testIgnorePaths java.lang.IllegalStateException: Request#getLocale cannot return null, request has to have a locale set on it * [WICKET-3860] - StoredResponsesMapTest Random.nextInt takes only positive integer arguments, not 0 * [WICKET-3861] - AbstractTransformerBehavior sets wrong namespace * [WICKET-3862] - ComponentInfo: simplified -, : encoding procedure * [WICKET-3863] - SecurePackageResourceGuard acceptAbsolutePath pattern check loop * [WICKET-3864] - o.a.w.spring.test.ApplicationContextMock.getBean(String, Object[]) method signature is incorrect * [WICKET-3867] - URIs should be used instead of URLs as Set or Map keys. * [WICKET-3868] - Feedback message should be handled the same way everywhere. * [WICKET-3869] - ResponseIOException when ajax response contains resource reference * [WICKET-3870] - Restore the functionality for unmounting already mounted IRequestMappers from 1.4 * [WICKET-3871] - ResourceStreamRequestHandler should use content-disposition attachment when filename is set * [WICKET-3872] - MarkupContainer.removeAll() does not detach models recursively * [WICKET-3874] - RequestLogger#getRequests throws concurrentmodificationexceptions when used * [WICKET-3875] - Clear Files.remove() behavior * [WICKET-3876] - Improve synchronization in AsynchronousDataStore buffer structure * [WICKET-3878] - When base markup file has been removed from the cache, the the derived markup should be removed as well * [WICKET-3880] - Reference to a non-existing images causes IllegalStateException "ResourceResponse#setWriteCallback() must be set." * [WICKET-3882] - NullPointerException in QueryStringWithTimestampResourceCachingStrategy * [WICKET-3883] - ResourceReferences URL are not decorated with the CachingStrategy * [WICKET-3884] - Null model for AttributeAppender should not render empty attribute * [WICKET-3885] - setResponsePage in AjaxLink goes always to localhost:8080 instead to the right host and port * [WICKET-3887] - Problems concerning IE9 with "ActiveX Filtering" enabled * [WICKET-3890] - Add SharedResources.remove(String key) as it was present in 1.4. * [WICKET-3891] - in development mode Wicket stops picking up markup changes * [WICKET-3892] - Modal window does not show the right page * [WICKET-3896] - INamedParameters and IIndexedParameters should not know about their implementations * [WICKET-3897] - renderCSSReference doesn't work with mountPage("/") * [WICKET-3900] - AsynchronousDataStoreTest is failing randomly * [WICKET-3906] - PageParameters#set not follow INamedParameters#set behavior * [WICKET-3908] - Encoding problem with POSTing a form with Ajax * [WICKET-3909] - Encoding problem with JavaScriptRefrences * [WICKET-3910] - o.a.w.pageStore.AsynchronousDataStore#getData() returns null if the StoreEntryRunnable is currently running * [WICKET-3912] - SCRIPT tags in Ajax-Response are not evaluated in Chrome * [WICKET-3913] - WicketTester doesn't changes from panel to page * [WICKET-3914] - Wicket 1.5 violates servlet standard, Glassfish spews warnings * [WICKET-3917] - NPE with RequestLogger enabled and Https * [WICKET-3918] - NPE when requesting http://example.com/app/wicket/resource/org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow/res/ * [WICKET-3919] - RequestLogger generates log entries that are not parsable * [WICKET-3921] - No HTTP response cache headers are set in Wicket Ajax redirects * [WICKET-3926] - CryptoMapper does not correctly decrypt URLs for the home page * [WICKET-3929] - PropertyModel/PropertyResolver breaks when using a List as the root object * [WICKET-3931] - Component markup caching inconsistencies * [WICKET-3940] - Some of the recent commits break junit tests in wicketstuff minis * [WICKET-3949] - ClassCastException: IOException cannot be cast to NotSerializableException * [WICKET-3954] - MockHttpServletRequest#setURL(String url) does not respect protocol, domain and port * [WICKET-3958] - Autolinks with getMarkupSettings().setAutomaticLinking(true) produce error in subpackage * [WICKET-3965] - A (stateless) page immediately disappears after the first render * [WICKET-3971] - TextTemplateResourceReference should be registered into the ResourceReferenceRegistry because otherwise the next request is served by PackageResourceReference * [WICKET-3972] - wicket:message attribute results in "The component was rendered already" error * [WICKET-3980] - Adding a SignInPanel to a page generates an additional call to the page's constructor * [WICKET-3986] - Potential StackOverflowError in SerializableChecker ** Improvement * [WICKET-933] - Look into removing AbstractSingleSelectChoice.NO_SELECTION_VALUE * [WICKET-2762] - Multiple fileuploads in one http-session * [WICKET-3066] - Make showing of empty list in AutoComplete configurable * [WICKET-3310] - Multiple language support for UploadProgressBar * [WICKET-3478] - Allow for dynamic prefix and suffixes in CheckBoxMultipleChoice * [WICKET-3480] - org/apache/wicket/extensions/markup/html/tree/table/{PropertyRenderableColumn,PropertyTreeColumn} common code * [WICKET-3564] - AjaxRequestTarget#addComponent(..) should guard against improper usage * [WICKET-3689] - @SpringBean: support 'required' * [WICKET-3784] - ListMultipleChoice should allow its model to return a different collection on each access * [WICKET-3785] - CheckGroup's model update should be aligned with ListMultipleChoice * [WICKET-3788] - wicket FileChannelPool has scalability issues * [WICKET-3815] - LinkType inner class is duplicated * [WICKET-3819] - Ensure page id don't get increased inside an AJAX request cycle * [WICKET-3821] - MarkupCacheProvider should create keys following resource name standard * [WICKET-3824] - Unnecessary method overwritting on PackageStringResourceLoader * [WICKET-3826] - Remove inline styles from NavigationToolbar markup * [WICKET-3830] - DefaultPageFactory Exception Message Improvement * [WICKET-3831] - EmailTextField should have a EmailTextField(final String id) constructor like TextField * [WICKET-3835] - Use AsynchronousDataStore by default * [WICKET-3839] - RequestLogger issues * [WICKET-3844] - Fallback to RedirectToBuffer render strategy if none of the conditions match * [WICKET-3852] - make PropertiesFactory easier to use outside of wicket scope * [WICKET-3895] - Ignore the exception when closing a connection used to get the resource last modification time * [WICKET-3903] - Split AutoLabelResolver into wicket:for and wicket:label * [WICKET-3911] - Hungarian localisation for upload component and examples * [WICKET-3916] - FilterForm#enableFocusTracking(FormComponent) method uses ComponentTag#put(String,CharSequence) with key="id" which gives a warning in Wicket 1.5 * [WICKET-3932] - Hide the DatePicker, when the user clicks on an area of the document outside of the DatePicker * [WICKET-3935] - DynamicImageResource shouldn't be that lazy * [WICKET-3937] - Improve AJAX FunctionsExecutor robustness with try/catch * [WICKET-3941] - Provide hooks to alias the class names generated/consumed by PackageMapper * [WICKET-3948] - IResourceCachingStrategy is too much bound to PackageResource, make it more general * [WICKET-3975] - Publish source artifacts for test-jar artifacts too * [WICKET-3978] - Delegate the Page#isBookmarkable() to the IPageFactory implementation ** New Feature * [WICKET-1469] - New Wicket tag 'wicket:for' * [WICKET-3857] - Allow validators access to component's model * [WICKET-3865] - Create a debug page with which the developer can browse the disk data store * [WICKET-3886] - Option for providing caption to DataTable * [WICKET-3898] - Add CompoundClassResolver * [WICKET-3901] - Provide a hook in form processing after models have been updated to validate model objects with values in place * [WICKET-3963] - Improve introspection of page instance in IPageRequestHandler * [WICKET-3964] - IRequestCycleListener should have a hook for post processing an executed request handler * [WICKET-3966] - Create Fragment.getAssociatedMarkupId * [WICKET-3968] - Introduce IRequestCycleListener#onUrlGenerated(Url) listener method ** Task * [WICKET-3849] - Restore the support of ISecuritySettings#enforceMount in 1.5 ** Wish * [WICKET-3811] - Using tree table leads to warnings in log Release Notes - Wicket - Version 1.5-RC5.1 ** Sub-task * [WICKET-3810] - Fix Generic(Panel|WebPage)'s getModel() method ** Bug * [WICKET-3812] - xmlns:wicket="http://wicket.apache.org" rendered for each panel Release Notes - Wicket - Version 1.5-RC5 ** Sub-task * [WICKET-3684] - Introduce IComponentAwareEventSink which will pass the behavior's component as context to onEvent * [WICKET-3692] - Providing bound Component to Behavior's onEvent() * [WICKET-3724] - Strip the jsessionid from the resource urls in Java instead of in wicket-ajax.js * [WICKET-3787] - Bring back IObjectStreamFactory methods to JavaSerializer ** Bug * [WICKET-3449] - Tree doesn't update correctly * [WICKET-3471] - WicketTester checkUsability is called before the request has started * [WICKET-3514] - SimpleTree example not working with CryptoMapper * [WICKET-3520] - SHOW_NO_EXCEPTION_PAGE responding with HTTP status 500 is overwritten by redirect * [WICKET-3566] - IE 8 report error when opening the 'Access Denied' or 'Internal Error' page * [WICKET-3567] - BookmarkablePageLink on home page renders non bookmarkable * [WICKET-3615] - ModalWindow does not work in Opera 11.10 and MSIE 6 * [WICKET-3617] - Using render strategy ONE_PASS_RENDER fails for Ajax requests * [WICKET-3649] - ClassCastException when AbstractResource writes in response of some type other than WebResponse * [WICKET-3655] - Component should use the new renderHead(Component, IHeaderResponse) instead of the old renderHead(IHeaderResponse) * [WICKET-3666] - IValidationError should extend IClusterable * [WICKET-3669] -