Apache Wicket 6.15.0 released

The Apache Wicket PMC is proud to announce Apache Wicket 6.15.0!

This release marks the fifteenth minor release of Wicket 6. Starting with Wicket 6 we use semantic versioning for the future development of Wicket, and as such no API breaks are present in this release compared to 6.0.0.

New and noteworthy

This release fixes 25 bugs and adds the following improvements:

  • The second level page store has been disabled by default (see issue WICKET-5554 for more details).
  • Created new placeholder tag to indicate where header contributions should appear. See this blog post entry or paragraph 15.8 of the official guide.

This release also celebrates the 10th birthday of Wicket!

Using this release

With Apache Maven update your dependency to (and don’t forget to update any other dependencies on Wicket projects to the same version):

<dependency>
 <groupId>org.apache.wicket</groupId>
 <artifactId>wicket-core</artifactId>
 <version>6.15.0</version>
</dependency>

Or download and build the distribution yourself, or use our convenience binary package

Upgrading from earlier versions

If you upgrade from 6.y.z this release is a drop in replacement. If you come from a version prior to 6.0.0, please read our Wicket 6 migration guide found at

Have fun!

— The Wicket team

Release Notes - Wicket - Version 6.15.0

Sub-task

* [WICKET-5510] - Avoid using jQuery.text() when possible. It is very slow in IE
* [WICKET-5554] - Disable second level pages store because it is efficient only when manually configured

Bug

* [WICKET-5243] - JS: High stack size in Function Executor causes "too much recursion"
* [WICKET-5284] - Too deep recursion in AbstractHierarchyIterator
* [WICKET-5504] - AjaxRequestTarget.append/prependJavaScript cannot handle scripts with new-lines anymore
* [WICKET-5505] - DefaultPropertyResolver does not respect JavaBean conventions
* [WICKET-5506] - DefaultPropertyResolver should resolve the Property according to the getter first
* [WICKET-5509] - Wicket examples' MailTemplate from Page is broken
* [WICKET-5517] - IE11 returns false for Wicket.Browser.isIE()
* [WICKET-5518] - FormComponent.updateCollectionModel  does not handle unmodifiableList
* [WICKET-5521] - Stateless forms does not work when RecreateMountedPagesAfterExpiry turned off
* [WICKET-5522] - Failing HTTPS redirect to RequireHttps annotated pages with ONE_PASS_RENDER strategy
* [WICKET-5523] - Ajax indicator not working when display is set to none in css
* [WICKET-5532] - NPE calling PackageResource.getResourceStream() if there is no RequestCycle defined
* [WICKET-5534] - DataTable component must throw an exception when attached to non-&lt;table&gt; element
* [WICKET-5536] - Error message without parmeters filled.
* [WICKET-5537] - Wicket.DOM.toggleClass is called with additional "#" inside AutoLabelResolver
* [WICKET-5541] - NullPointerException in SubscribeAnnotationEventSubscriptionInvoker on remove of component from page
* [WICKET-5545] - Cannot use redirect in ModalWindow's page#onInitialize()
* [WICKET-5546] - Adding behavior in component instantiation listener causes Page.onInitialize() being called even if constructor throws an exception
* [WICKET-5547] - Javadoc for ReuseIfModelsEqualStrategy should mention that models must implement hashCode() method
* [WICKET-5548] - Websocket initialization URL is not valid when filter is not mapped to root.
* [WICKET-5555] - AbstractAutoCompleteBehavior.WrappedHeaderItem should depend on wicket-ajax.js
* [WICKET-5556] - Error in wicket-autocomplete.js bad reference of $
* [WICKET-5557] - Don't cache the result of AuthenticatedWebApplication#getWebSessionClass()
* [WICKET-5558] - Autolinking does not always work in inheritted markup
* [WICKET-5561] - Derived page without own markup leads to MarkupNotFoundException when BasePage has &lt;wicket:head&gt; in its markup

Improvement

* [WICKET-5508] - Memory model improvements for Session fields
* [WICKET-5512] - Allow using child selector for JS event bindings
* [WICKET-5520] - improve reusability of DataTable and AbstractPageableView
* [WICKET-5528] - Allow models of subtypes of Select type parameter in SelectOption constructor
* [WICKET-5529] - Add WebSocketBehavior/Resource#onPush() callback method
* [WICKET-5531] - Create new placeholder tag to indicate where header contributions should appear
* [WICKET-5538] - When using Component.setDefaultModel, only detach the previous model if the new one is different
* [WICKET-5549] - continueToOriginalDestination() fails after redirectToInterceptPage() on AjaxRequest* [WICKET-5288] - Allow &amp;lt;script&amp;gt;-Tags act as WebMarkUpContainer to add Child-Components

New Feature

* [WICKET-831] - Return response status 404 when a mapper cannot decode a request url
* [WICKET-2542] - Provide ajax buttons for wizard

Task

* [WICKET-5514] - Update Wicket fragment example

Wish

* [WICKET-5516] - RadioChoice / add a getAdditionalAttributes() also for <label>-tag
* [WICKET-5542] - Remove final from TextArea.onComponentTagBody()