Apache Wicket 7.1.0 released

25 Oct 2015

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

This release marks another minor release of Wicket 7. We use semantic versioning for the development of Wicket, and as such no API breaks are present breaks are present in this release compared to 7.0.0.

New and noteworthy

Significant improvement in performance while adding components to the component hierarchy. There was a regression in performance introduced by component queuing. The algorithm checked if there were any components to be dequeued, but did so in a O(n^2) way. This was fixed.

Upon further investigation we found that adding components is O(n^2) since 1.3 (when memory was scarce and expensive). We fixed that and made it roughly O(1).

This means that when you have a page with 10k components on it, the adding won’t slow you down any more, and the new way of adding components will scrape a few ms off your overall average response time.

This release also fixes several bugs where head sections were not rendered, i18n JavaScript resources could not be loaded, Range: header parsing and a couple of component queuing issues.

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):


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

Upgrading from earlier versions

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

  • http://s.apache.org/wicket7migrate

The signatures for the source release artefacts:

Signature for apache-wicket-7.1.0.zip:

Comment: GPGTools - https://gpgtools.org


Signature for apache-wicket-7.1.0.tar.gz:

Comment: GPGTools - https://gpgtools.org


CHANGELOG for 7.1.0:


* [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 <wicket:header-items></wicket:header> 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


* [WICKET-5948] - wicket-ajax.js probably doesn't traverse the children of <div> or <span>
* [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<N> should use Models for minimum, maximum and step


* [WICKET-5951] - Upgrade Atmosphere to 2.2.8

Have fun!

— The Wicket team