Apache Wicket 7.0.0-M4 released

05 Nov 2014

The Apache Wicket PMC is proud to announce Apache Wicket 7.0.0-M4!

We have released another milestone release for Apache Wicket 7. We aim to finalise Wicket 7 over the coming months and request your help in testing the new major version.


It is still a development version so expect API breaks to happen over the course of the coming milestone releases.

Semantic versioning

As we adopted semver Wicket 7 will be the first release since 6.0 where we are able to refactor the API. We will continue to use semver when we have made Wicket 7 final and maintain api compatibility between minor versions of Wicket 7.


Wicket 7 requires the following:

  • Java 7
  • Servlet 3 compatible container

You can’t mix wicket libraries from prior Wicket versions with Wicket 7.

Migration guide

As usual we have a migration guide available online for people migrating their applications to Wicket 7. We will continue to update the guide as development progresses. If you find something that is not in the guide, please update the guide, or let us know so we can update the guide.

You can find the guide here: http://s.apache.org/wicket7migrate

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

About this release

Below you can find the cryptographic signatures for the distributions and the release notes.

The signatures for the source release artefacts:

The signatures for the source release artefacts:

Signature for apache-wicket-7.0.0-M4.zip:

Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org


Signature for apache-wicket-7.0.0-M4.tar.gz:

Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org


CHANGELOG for 7.0.0-M4:

Release Notes - Wicket - Version 7.0.0-M4


  • 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


  • 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 ``
  • WICKET-5718 - Upgrade Atmosphere to 2.2.2
  • WICKET-5725 - Add NumberTextField(String,Class<T>) constructor
  • WICKET-5729 - Avoid using input names that conflict with JavaScript DOM API method and attribute names
  • WICKET-5735 - Propagate fileSizeMax attribute to org.apache.commons.fileupload.FileUploadBase
  • WICKET-5737 - Log a warning when WebSocketResponse#sendError() is used
  • WICKET-5739 - Add a factory method for WebSocketRequestHandler
  • WICKET-5740 - Provide a way to adapt the lock timeout based on the page class/id

New Features

  • WICKET-5677 - Components should have onAdd to complement onRemove


  • WICKET-5705 - Disable Javadoc linter in JDK 1.8 because it is too strict


  • WICKET-5722 - Queueing in merged markup with transparent resolver in the base class

Have fun!

— The Wicket team