This file contains all changes done in releases for Apache Wicket 7.x. ======================================================================= Release Notes - Wicket - Version 7.2.0 ** Bug * [WICKET-6001] - Exception raised while refreshing a page with queued components missing in the markup * [WICKET-6002] - FileUploadField makes form-component models become null on submit * [WICKET-6006] - ModalWindow.closeCurrent() causes 414 status error * [WICKET-6010] - Downloading filenames containing ',' or ';' gives problems * [WICKET-6011] - NPE in case DebugBar is added to AjaxRequestTarget * [WICKET-6013] - CLONE - AjaxFallbackOrderByBorder wicketOrder[Up|Down|None] class missing in 7.1.0 * [WICKET-6014] - TransparentWebMarkupContainer breaks OnChangeAjaxBehavior for Select2 * [WICKET-6017] - Tests fail when executed with not expected locale * [WICKET-6018] - TransparentWebMarkupContainer is not really "transparent" * [WICKET-6020] - GuiceFieldValueFactory returns the NULL_SENTINEL from the cache * [WICKET-6021] - ConcurrentModificationException in MarkupContainer#iterator#next * [WICKET-6024] - Possible issue with Border and LoadableDetachableModel in 7.1.0 * [WICKET-6026] - Problem in detecting child id on nested * [WICKET-6027] - Nested TransparentWebMarkupContainer, markup of inner component not found * [WICKET-6028] - Detach called on enclosure component while it had a non-empty queue * [WICKET-6031] - NPE in PackageResourceReference#getResource() when there is no request * [WICKET-6032] - Wicket.Ajax.done() called twice on redirect * [WICKET-6034] - AjaxFallbackOrderByBorder does not generate any CSS class in order link * [WICKET-6036] - Failure to process markup with nested tags inside a Label * [WICKET-6037] - ModalWindow vulnerable to Javascript injection through title model * [WICKET-6043] - Cannot set wicket:enclosure on queued component in ListView * [WICKET-6044] - AjaxFormChoiceComponentUpdatingBehavior: Duplicate input values according to WICKET-5948 * [WICKET-6045] - ListView NullPointerException when viewSize is set explicitly * [WICKET-6048] - German Translation for EqualInputValidator wrong * [WICKET-6050] - Wicket Ajax (Wicket.From.serializeElement) causes 400 bad request * [WICKET-6052] - CSS header contribution overlap * [WICKET-6058] - Error in calculation of byte ranges * [WICKET-6059] - TransparentWebMarkupContainer can not resolve autocomponents in its parent * [WICKET-6062] - MockHttpSession should renew its id after invalidation * [WICKET-6063] - Add support for WebSocketRequest#getUrl() and other properties which are available in the handshake request * [WICKET-6064] - WebSocketResponse.sendRedirect could be supported with ... * [WICKET-6065] - Calling http://examples7x.wicket.apache.org/resourceaggregation/ generate Internal error * [WICKET-6068] - The key RangeValidator.exact is not mapped in Application_de.properties * [WICKET-6076] - Problem with queued components and enclosure * [WICKET-6077] - Border's body is not added as a child due to dequeuing ** Improvement * [WICKET-5950] - Model and GenericBaseModel could both implement IObjectClassAwareModel * [WICKET-5969] - Please give us access to PageTable.index pageId queue * [WICKET-6015] - AjaxFallbackOrderByBorder/Link should support updateAjaxAttributes() idiom * [WICKET-6019] - Remove 'final' modifier for Localizer#getStringIgnoreSettings() methods * [WICKET-6023] - small tweak for component queuing for the AbstractRepeater * [WICKET-6029] - Make Border's methods consistent with commit f14e03f * [WICKET-6046] - Wicket Quickstart Example Application shows deployment memory leak in Tomcat * [WICKET-6051] - Improve performance of CssUrlReplacer * [WICKET-6054] - Provide a factory method for the WebSocketResponse & WebSocketRequest * [WICKET-6061] - Improved PackageResource#getCacheKey * [WICKET-6070] - Provide factory methods for WizardButtonBar buttons * [WICKET-6072] - Improve the quickstart to make it easier to use JSR-356 web sockets ** New Feature * [WICKET-6025] - Read resource files with Java's NIO API * [WICKET-6042] - Implementation of ExternalImage component ** Task * [WICKET-6049] - Update the site to point to the new deployments of the examples * [WICKET-6057] - Upgrade commons-collections to 4.1 * [WICKET-6071] - Upgrade jQuery to 1.12 / 2.2.0 ** Wish * [WICKET-6067] - Provide an Ajax Behavior that prevents form submit on ENTER ======================================================================= Release Notes - Wicket - Version 7.1.0 ** Bug * [WICKET-5882] - AutoComplete suggestion list disappear when I click on autoComplete scrollbar in IE * [WICKET-5941] - Headers not rendered for components inside TransparentWebMarkupContainer on ajax update * [WICKET-5959] - HTML input placeholder text breaks AutoCompleteTextField in IE11 * [WICKET-5960] - Page header isn't rendered for pages where URL has changed during render * [WICKET-5964] - Queuing a component within an enclosure * [WICKET-5965] - Queuing a component in head * [WICKET-5966] - ResourceUtils.getLocaleFromFilename can't handle minimized resources well * [WICKET-5967] - Unable to load i18n minified js * [WICKET-5968] - CachingResourceLocator lookup key doesn't take strict into account * [WICKET-5970] - UrlRenderer does not render fragments * [WICKET-5973] - IllegalArgumentException 'bytes' cannot be negative. on opening Inspector * [WICKET-5975] - AjaxFallbackOrderByBorder wicketOrder[Up|Down|None] class missing * [WICKET-5978] - LazyInitProxyFactory fills permgen space * [WICKET-5980] - When using Servlet 3.0 filter Wicket calculates filter path wrong * [WICKET-5981] - Significant Performance Degradation From Wicket 6.20.0 to Wicket 7.0.0 * [WICKET-5983] - O(n^2) complexity in MarkupContainer.add * [WICKET-5988] - WICKET-5981 breaks forms inside borders * [WICKET-5989] - BaseWicketTester#startComponentInPage fails for pages with placeholder * [WICKET-5993] - AjaxButton - image is not shown even though type="image" is in html-template * [WICKET-5994] - Mounted TemplateResourceReference throws org.apache.wicket.WicketRuntimeException when https is used * [WICKET-5995] - "Range" header parsing is broken * [WICKET-5996] - Mounted packages throw IllegalArgumentException when visiting base package url. * [WICKET-5997] - Compatibility problem with Websphere liberty profile * [WICKET-5999] - AjaxFormValidatingBehavior not updates initially hidden feedback component * [WICKET-6005] - WicketRuntimeException from AjaxPagingNavigator#onAjaxEvent ** Improvement * [WICKET-5948] - wicket-ajax.js probably doesn't traverse the children of
or * [WICKET-5971] - Code cleanup in ServletWebResponse * [WICKET-5974] - Change AjaxPagingNavigator#onAjaxEvent() to only consider parent components that have setOutputMarkupId(true) * [WICKET-5976] - Improve the documentation of FeedbackMessages first(int level) * [WICKET-5984] - ReplaceHandlerException lacks an accessor for the replacement RequestHandler * [WICKET-5986] - NumberTextField should use Models for minimum, maximum and step ** Task * [WICKET-5951] - Upgrade Atmosphere to 2.2.8 ======================================================================= Release Notes - Wicket - Version 7.0.0 ** Bug * [WICKET-5909] - Session style is not taken into account when loading mounted resources. * [WICKET-5924] - FileUploadField does not work with Servlet 3.0 multipart config * [WICKET-5927] - Velocity remote code execution * [WICKET-5939] - AjaxEventBehavior should not lower-case the event name * [WICKET-5942] - TestCase failure after cfa36fbea621 * [WICKET-5944] - CSRF prevention does not work with https URLs on the default port * [WICKET-5946] - JavaScript/Css PackageResource should use the same charset for compressing ** Improvement * [WICKET-5922] - IoC: Optionally use objensis for proxy creation to inject concrete classes without default ctor * [WICKET-5926] - Arquillian Support with Container ServletContext in BaseWicketTester/WicketTester. * [WICKET-5928] - Move WicketTestCase from tests to main so that it is reusable by other Wicket modules and applications. * [WICKET-5929] - Introduce IPartialPageRequestHandler * [WICKET-5930] - Upgrade Atmosphere to 2.2.7 * [WICKET-5931] - Improve generics for ListView: don't use wildcard for T * [WICKET-5932] - Allow empty column list for DataTable * [WICKET-5933] - Avoid serialization of untouched page after ajax request * [WICKET-5935] - IoC Guice: cache proxies and fail on creation when binding is missing * [WICKET-5936] - simplify cdata escaping for ajax-response * [WICKET-5945] - add a new topic/listener that notifies of Ajax calls done ======================================================================= Release Notes - Wicket - Version 7.0.0-M6 ** Bug * [WICKET-5790] - VariableInterpolator & #getThrowExceptionOnMissingResource * [WICKET-5814] - CryptoMapper clears feedback messages * [WICKET-5816] - Apps can't use Application.setName instead of WicketFilter for e.g. JMX names * [WICKET-5822] - AjaxSelfUpdatingTimer stops working after ajax download * [WICKET-5825] - Deployment of wicket-examples.war fails in Tomcat * [WICKET-5828] - PageProvider not serializable * [WICKET-5834] - NPE in DefaultPropertyResolver * [WICKET-5835] - InlineEnclosure doesn't call child.configure() before updating its visilbity * [WICKET-5837] - JUnit tests may fail because of AbstractDefaultAjaxBehavior * [WICKET-5838] - Last-modified header of external markup is ignored * [WICKET-5841] - continueToOriginalDestination() discards new cookies * [WICKET-5843] - CryptoMapper doesn't work with context relative UrlResourceReferences * [WICKET-5845] - AuthenticatedWebSession.get() returns a new session with signedIn false * [WICKET-5850] - LazyInitProxyFactory causes NoClassDefFound org/apache/wicket/proxy/ILazyInitProxy in case of multimodule deployment * [WICKET-5851] - PackageResourceTest#packageResourceGuard test fails under Windows * [WICKET-5853] - LongConverter converts some values greater than Long.MAX_VALUE * [WICKET-5855] - RememberMe functionality seems to be broken after the change of the default crypt factory * [WICKET-5856] - StackOverFlowError when working with transparent containers * [WICKET-5857] - PagingNavigator invalid HTML (rel attribute on span tag) * [WICKET-5858] - AjaxRequestTarget.focusComponent does not work in modal window * [WICKET-5861] - BigDecimalConverter does not allow parsing of values great than Double.MAX_VALUE * [WICKET-5862] - Wicket Container visibility bug * [WICKET-5864] - Multipart Ajax form submit does not release the channel in case of connection failure * [WICKET-5869] - Kittencaptcha doesn't calculate click y-coordinate correctly * [WICKET-5870] - wicket-event-jquery.js: Wicket.Browser.isIE11() does not return boolean * [WICKET-5874] - WicketTester TagTester does not work as expected when using non self closing tags * [WICKET-5879] - Using an AjaxSubmitLink to hide its form results in an exception * [WICKET-5881] - NPE in FormComponent#updateCollectionModel in case of no converted input and unmodifiable collection * [WICKET-5883] - Feedback messages not cleared for invisible/disabled form components on submit. * [WICKET-5887] - wicket.xsd refers to non-existing xhtml.label:attlist * [WICKET-5891] - Parsing of ChinUnionPay credit card should use the first 6 characters * [WICKET-5893] - CookieUtils should use the original response when saving a cookie * [WICKET-5895] - validateHeaders fails to detect missing head/body (regression) * [WICKET-5898] - StackOverflowError after form submit with a validation error * [WICKET-5900] - Add WicketTester support for IAjaxLink * [WICKET-5903] - Regression in mount resolution when using optional parameters * [WICKET-5904] - NPE after editing a markup file in debug mode * [WICKET-5906] - Use default on missing resource does not work * [WICKET-5908] - A new HtmlHeaderContainer is added each time a page instance is rendered * [WICKET-5910] - CGLib proxy should not intercept protected methods * [WICKET-5911] - Re-rendering page after exception in render phase does not call onBeforeRender() * [WICKET-5912] - NPE in Page#hasInvisibleTransparentChild * [WICKET-5915] - The application can not find /META-INF/wicket/**.properties on Windows systems * [WICKET-5916] - StackOverflowError when calling getObject() from load() in LDM * [WICKET-5917] - Do not use jQuery's $ in String snippets in Java code ** Improvement * [WICKET-5314] - AbstractAutoCompleteBehavior does not support AjaxChannels * [WICKET-5749] - Wicket-auth-roles should deal with resource authorization * [WICKET-5789] - Make org.apache.wicket.protocol.ws.javax.WicketServerEndpointConfig publicly visible * [WICKET-5801] - Responsive Images * [WICKET-5823] - DefaultAuthenticationStrategy should be modified to reduce copy/paste while extending it's functionality * [WICKET-5829] - rename PageSettings#recreateMountedPagesAfterExpiry * [WICKET-5831] - Improve unsafe Id reporting in the AbstractRepeater * [WICKET-5832] - Do not fail at CDI's ConversationPropagator when running in non-http thread * [WICKET-5833] - Add a way to get all opened web socket connections per user session * [WICKET-5840] - WicketTester doesn't support #clickLink() for ExternalLink component * [WICKET-5859] - Add Hebrew and Arabic translations * [WICKET-5860] - Cross-Site Websocket Hijacking protection * [WICKET-5863] - Overiding disableCaching in ServletWebResponse is ignored when responce is buffered * [WICKET-5865] - AjaxEditableLabel should implement IGenericComponent * [WICKET-5872] - wicket extensions initializer.properties for greek language * [WICKET-5875] - ComponentRenderer.renderComponent() unexpectedly produces a WicketRuntimeException when called with a nested Component which contains a nested wicket:message * [WICKET-5889] - Ability to not submit a nested form * [WICKET-5892] - add ClientProperties#isJavaScriptEnabled() * [WICKET-5894] - Support *.woff2 webfonts in SecurePackageResourceGuard as well * [WICKET-5901] - Leaving veil when ajax processing ends with redirect * [WICKET-5905] - allow listening to Ajax calls before scheduling * [WICKET-5921] - Provide a default implementation of IModelComparator that always returns false ** New Feature * [WICKET-5819] - Support for HTML 5 media tags (audio / video) * [WICKET-5827] - Allow to apply multiple Javascript / CSS compressors * [WICKET-5897] - Use the #isEnabled() method with validators * [WICKET-5918] - Create an Image component that uses the new data: protocol (an InlineImage) * [WICKET-5919] - Add support for CSRF prevention ** Task * [WICKET-5896] - Upgrade jQuery to latest stable versions (1.11.4 & 2.1.3) ** Wish * [WICKET-5848] - Remove .settings folders of projects ======================================================================= Release Notes - Wicket - Version 7.0.0-M5 ** Bug * [WICKET-5584] - DiskDataStore error * [WICKET-5747] - Wicket Ajax Click handling gets requeued in OnDomReady so fire out of order * [WICKET-5748] - StackOverflowError while trying to get the Markup of WicketHeadContainer * [WICKET-5751] - NullPointerException in IntHashMap * [WICKET-5752] - ReplacementResourceBundleReference should return the dependencies for the replacing resource ref * [WICKET-5759] - AjaxRequestAttributes extra parameters aren't properly handled in getCallbackFunction() * [WICKET-5770] - PageParametersEncoder should not decode parameters with no name * [WICKET-5772] - LoadableDetachableModel caches null value if load() fails, bug in getObject() {attached = true;} * [WICKET-5777] - Reload of page leads to WicketRuntimeException * [WICKET-5782] - Missing escaping in MultiFileUploadField.js - sort of XSS * [WICKET-5783] - Multiple events in AjaxEventBehavior with prefix 'on' * [WICKET-5784] - arraycopy with bad length in AbstractRequestLogger:172 * [WICKET-5793] - Request for static resource creating a session in 6.13.0+ * [WICKET-5800] - wicket:enclosure within FormComponentPanel causes exception related to dequeueing * [WICKET-5809] - URL IPv6 parsing * [WICKET-5811] - Infinite loop issue in PropertyValidator#createUnresolvablePropertyMessage(FormComponent<>) * [WICKET-5812] - AtmosphereBehavior wrongly sets Ajax base url to '.' * [WICKET-5817] - Wicket-JMX should depend on asm-util ** Improvement * [WICKET-4703] - StringResourceModel should provide an overridable getString(Component) method * [WICKET-5746] - Fire an event once all JS event listeners are registered * [WICKET-5753] - It is impossible to determine the form submitting component's inputName when AjaxFormSubmitBehavior is used * [WICKET-5754] - (String)ResourceModel's defaultValue could be an IModel * [WICKET-5756] - Allow to use custom ciphers when using SunJceCrypt class * [WICKET-5758] - Portuguese translation * [WICKET-5760] - Add constructor (String, Serializable, String) to AttributeAppender * [WICKET-5774] - UrlRenderer should render full and absolute urls in their canonical form * [WICKET-5775] - Replace the session upon successful signin for better support for Session Fixation * [WICKET-5776] - Add information about the component when it fail in detach phase * [WICKET-5778] - Pass the IModifiable to the IChangeListener in ModificationWatcher * [WICKET-5780] - Add a resource reference for ContextRelativeResource * [WICKET-5789] - Make org.apache.wicket.protocol.ws.javax.WicketServerEndpointConfig publicly visible * [WICKET-5794] - Make DefaultExceptionMapper extensible * [WICKET-5797] - Convenience method to call setResponsePage with forward option * [WICKET-5799] - Add rel=prev/next in PagingNavigator.html * [WICKET-5802] - HTML Import * [WICKET-5803] - Reduce log for "o.a.w.r.PropertiesFactory | Loading properties files from ..." * [WICKET-5806] - Wicket.Log should log (at least errors) in the browser console even when Wicket Ajax Debug window is disabled * [WICKET-5808] - SpringBean, support generic beans * [WICKET-5818] - Add support for httpOnly cookies to CookieDefaults ** New Feature * [WICKET-5771] - Ability to escape resource bundle messages added with wicket:message ** Task * [WICKET-5732] - Improve component queuing and auto component * [WICKET-5791] - Update JQuery to 1.11.2 and 2.1.3 ======================================================================= Release Notes - Wicket - Version 7.0.0-M4 ** Bug * [WICKET-5265] - FencedFeedbackPanel is broken with RefreshingView(and it's implementations) * [WICKET-5326] - Wicket doesn't encrypt links and Ajax URLs for mounted pages when CryptoMapper is used * [WICKET-5689] - Nested Redirects and REDIRECT_TO_BUFFER * [WICKET-5698] - WebApplication#unmount() unmounts the whole compound mapper if some of its inner ones matches * [WICKET-5701] - WebSocketRequestHandler is not set as a scheduled and thus RequestCycle#find(AjaxRequestTarget.class) doesn't work * [WICKET-5704] - IllegalArgument exception with wicket:child in ajaxrequest * [WICKET-5706] - ResourceUtils.getLocaleFromFilename cannot handle filenames with classifiers * [WICKET-5711] - OnChangeAjaxBehavior should listen for both 'inputchange' and 'change' events for TextField and TextArea * [WICKET-5712] - SecuritySettings.setEnforceMounts() does not work when the mounted mapper is not in the root compound mapper * [WICKET-5714] - MockHttpServletRequest.buildRequest() should work for parameters with multiple values with multipart content type * [WICKET-5716] - wicket-autocomplete prevents "change"-listener when leaving input via mouse click * [WICKET-5717] - Url.parse/toString should support fragment * [WICKET-5719] - Wicket-atmosphere should warn about phone home * [WICKET-5720] - Method Strings.join doesn't work correctly if separator is empty. * [WICKET-5723] - CheckGroupSelector with disabled checks * [WICKET-5724] - Queueing component in autocomponent * [WICKET-5728] - Component queuing breaks with html tags that don't require close tag. * [WICKET-5730] - Dequeue auto component can't resolve components if they are nested in child markup * [WICKET-5731] - Using "Submit" button in Ajax DropDownChoice example leads to broken HTML page * [WICKET-5733] - ContextNotActiveException thrown when using both CDI & Native WebSocket * [WICKET-5734] - Problem with WICKET-4441 and RestartResponseAtInterceptPageException * [WICKET-5736] - Atmosphere Eventbus throws Concurrent Modification Exception * [WICKET-5741] - Ajax Form example is broken due to 9716f2a7e799133fdf3f7927d0093e6dfe16f529 ** Improvement * [WICKET-5350] - Enhancement for AbstractChoice and WildcardListModel API * [WICKET-5691] - Wicket FileUploadField.getFileUploads() should never return null. * [WICKET-5692] - Misleading message in PropertyValidator * [WICKET-5694] - Add WicketTester assertion methods for component's markup style, variation and locale * [WICKET-5695] - Use Log4j 2.x for the archetype * [WICKET-5697] - Rework Spring application to use annotations based configuration * [WICKET-5708] - Making FormComponent.convertInput() public * [WICKET-5710] - StringValidator should set 'minlength' attribute to input and textarea * [WICKET-5713] - Move /wicket.properties to /META-INF/wicket/xyz.properties * [WICKET-5715] - Allow setting 'async' attribute on reference