Welcome to Apache Wicket

With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.

Wicket is released under the Apache License, Version 2.0.

Apache Wicket 6.17.0 released

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

Apache Wicket 7.0.0-M3 released

We have released the third of a series of milestone releases for Apache Wicket 7. We aim to finalise Wicket 7 over the coming months and request your help in testing the new major version.

Caveats

It is still a development version so expect minor 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.

Requirements

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.

Using this release

This is pre-release software: use at your own peril!

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>7.0.0-M3</version>
</dependency>

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

Have fun and let us know what you think!

Older news items

  • Apache Wicket 6.16.0 released - 21 Jun 2014
    The Apache Wicket PMC is proud to announce Apache Wicket 6.16.0! This release marks the sixteenth minor release of Wicket 6. Starting with Wicket 6... more
  • Apache Wicket 7.0.0-M2 released - 20 Jun 2014
    We have released the first of a series of milestone releases for Apache Wicket 7. We aim to finalise Wicket 7 over the coming months... more
  • Apache Wicket 7.0.0-M1 released - 30 Apr 2014
    We have released the first of a series of milestone releases for Apache Wicket 7. We aim to finalise Wicket 7 over the coming months... more
  • Apache Wicket 6.15.0 released - 23 Apr 2014
    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... more
  • CVE-2014-0043 - Apache Wicket Information disclosure vulnerability - 21 Feb 2014
    Severity: Important Vendor: The Apache Software Foundation Versions Affected: Apache Wicket 1.5.10 and 6.13.0 Description: By issuing requests to special urls handled by Wicket it... more
  • Apache Wicket 6.14.0 released - 20 Feb 2014
    The Apache Wicket PMC is proud to announce Apache Wicket 6.14.0! This release marks the fourteenth minor release of Wicket 6. Starting with Wicket 6... more
  • Wicket 1.5.11 released - 06 Feb 2014
    This is the eleventh maintenance release of the Wicket 1.5.x series. This release brings over 34 bug fixes and improvements. Git tag Changelog To use... more
  • Wicket 1.4.23 released - 06 Feb 2014
    This is twenty thirdth release of the Wicket 1.4.x series. This is a security bugfix release on the 1.4.x branch. Read CVE-2013-2055 for more information.... more
  • CVE-2013-2055 - Apache Wicket Information disclosure vulnerability - 06 Feb 2014
    Severity: Important Vendor: The Apache Software Foundation Versions Affected: Apache Wicket 1.4.22, 1.5.10 and 6.7.0 Description: It is possible to make Wicket deliver the HTML... more
  • Apache Wicket 6.13.0 released - 05 Jan 2014
    The Apache Wicket PMC is proud to announce Apache Wicket 6.13.0! This release marks the thirteenth minor release of Wicket 6. Starting with Wicket 6... more

# Books about Wicket

The following books are published regarding Apache Wicket (click a cover to learn more about the book):