Apache Wicket 6.17.0 released

24 Aug 2014

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

This release marks the seventeenth 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 has 27 improvements some of which are:

  • Rename log4j.properties in the quickstart when creating a project for WildFly
  • Make is possible to position the choice label before/after/around the choice
  • StringResourceModel with custom locale
  • Added an HeaderItem for meta data tags such as ‘meta’ or canonical link

The full list of improvements and fixes can be found at the end of this announcement.

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.17.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.17.0

Sub-task

* [WICKET-5633] - Make JavaScriptFilteredIntoFooterHeaderResponse non-final to be able to create custom filters

Bug

* [WICKET-5371] - IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
* [WICKET-5539] - Allow preserving of the parsed PageParameters when re-creating an expired page
* [WICKET-5564] - AjaxRequestTarget.focusComponent() does not work when two Ajax responses arrive next to each other
* [WICKET-5603] - OnChangeAjaxBehavior attached to DropDownChoice produces two Ajax requests in Chrome v35
* [WICKET-5607] - Wicket Ajax fires calls scheduled by AbstractAjaxTimerBehavior even after unload of the page
* [WICKET-5609] - AutoCompleteTextField can only complete text that is visible on screen browser screen 
* [WICKET-5615] - UploadProgressBar does not show up if no FileUploadField is given
* [WICKET-5616] - CLONE - ModalWindow is not visible in Safari when opened from a link at the bottom of a large page
* [WICKET-5619] - ConcurrentModificationException may occur when calling EventBus.post()
* [WICKET-5624] - Do not throw when WebSocket is not supported
* [WICKET-5626] - ConcatBundleResource#reportError() doesn't print the resource attributes
* [WICKET-5630] - Fix last button translation germany of wizard to 'Letzter'
* [WICKET-5631] - Allow submitting with POST method for PhantomJS
* [WICKET-5636] - Update StatelessForm's and AbstractRepeater's javadoc that FormComponents should be repeated only with RepeatingView
* [WICKET-5637] - Fix the encoding of the Chinese translations for Wizard component
* [WICKET-5639] - ResourceResponse does not write headers when status code is set
* [WICKET-5643] - WebPageRenderer should bind a Session if redirect is required and the session is temporary.
* [WICKET-5647] - missing generic cast causes compile error on OS X / jdk 8
* [WICKET-5655] - Problem with setting of IComponentInheritedModel and FLAG_INHERITABLE_MODEL
* [WICKET-5656] - PropertyResolver does not scan for NotNull in annotation tree
* [WICKET-5657] - wicket-autocomplete may fail after preceeding Ajax request
* [WICKET-5662] - @SpringBean(name="something", required=false) still throws org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'something' is defined
* [WICKET-5670] - org.apache.wicket.protocol.ws.api.registry.IKey should be Serializable (IClusterable)
* [WICKET-5679] - RenderStrategy REDIRECT_TO_RENDER lets fail test with BaseWicketTester#startComponentInPage
* [WICKET-5680] - AjaxEditableLabel keeps raw input after cancel following a validation failure 

Improvement

* [WICKET-4344] - Implement onValidateModelObjects() and beforeUpdateFormComponentModels() for nested forms
* [WICKET-4660] - Make it possible to notify about Atmosphere internal events
* [WICKET-5452] - Make Wicket-Atmosphere testable - AtmosphereTester
* [WICKET-5602] - DynamicImageResource should set the mime type after reading the image data
* [WICKET-5605] - Store browser capabilities in local variables in wicket-event-jquery.js
* [WICKET-5611] - Add AjaxChannel.DEFAULT constant = "0" and type "Queue"
* [WICKET-5627] - broadcastMessage(): hook to set more thread-local context before rendering components
* [WICKET-5628] - Introduce a marker interface for exception which are recommended to be handler by the framework
* [WICKET-5629] - Add an HeaderItem for meta data tags such as <meta> or canonical <link>
* [WICKET-5634] - Add IObjectCheckers that fails the serialization when the Session or another Page are serialized
* [WICKET-5635] - Provide a way to modify ResourceReferenceRegistry.DefaultResourceReferenceFactory externally to be used by wicket-bootstrap-less
* [WICKET-5642] - CheckingOutputObjectStream should filter duplicates by identity, not by equality
* [WICKET-5645] - Markup String of IMarkupResourceStreamProvider throws NPE for inherited markup
* [WICKET-5646] - Allow subclasses of ComponentStringResourceLoader to stop at specific components
* [WICKET-5648] - CookieUtils - multivalue related methods are broken due to the usage of ";" as a separator for the values
* [WICKET-5650] - Make is possible to position the choice label before/after/around the choice
* [WICKET-5651] - Add TagTester#getChild(String tagName) method
* [WICKET-5652] - Improve Javadoc of Ajax behaviors concerning their onXyz() methods
* [WICKET-5653] - Add a setter for IViolationTranslator to BeanValidationConfiguration
* [WICKET-5654] - DefaultViolationTranslator should maybe use getMessage()
* [WICKET-5658] - AjaxFormComponentUpdatingBehavior should not clear the rawInput when updateModel is false
* [WICKET-5659] - Add a setting to MultiFileUploadField to not close the file uploads' streams
* [WICKET-5660] - Throw more specific exception when a component cannot be found by ListenerInterfaceRequestHandler
* [WICKET-5667] - Preserve the NotSerializableException if an error occur while using the IObjectCheckers
* [WICKET-5668] - StringResourceModel with custom locale 
* [WICKET-5671] - Rename log4j.properties in the quickstart when creating a project for WildFly
* [WICKET-5673] - Improve BookmarkableMapper and BasicResourceReferenceMapper to not match when the last segment is empty
* [WICKET-5674] - Use jquery.atmosphere.js as a Webjar

Task

* [WICKET-5604] - Add a page to the site that lists other Apache projects that use Wicket
* [WICKET-5632] - Use frontend-maven-plugin to run the JavaScript tests
* [WICKET-5665] - WicketTester#assertComponentOnAjaxResponse() cannot test invisible components