Apache Wicket v7.0 released

The Apache Software Foundation announces Apache Wicket™ v7.0 Open Source Java web framework that powers thousands of web applications and web sites for governments, stores, universities, cities, banks, email providers, and more.

The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of nearly 150 Open Source projects and initiatives, today announced Apache™ Wicket™ v7.0, the Open Source Java web framework for high performance, scalable, component oriented web applications. This marks the seventh major release of the project that celebrated its 10 year anniversary last year.

This framework allows Java developers to write web applications using components. This way developers can reason about the user interface in user interface building blocks, making it easier to link specific user interactions to server-side code. Wicket is a high performance framework processing billions of requests daily across the world.

“With this release we have added a major improvement to our framework, making development with Wicket even easier.”, said Martijn Dashorst, Vice President of Apache Wicket. “By adding ‘Component Queuing’ we have divorced the strict relationship between the Java component classes and the markup. This has been a headache for many users and sparked one of the longest discussions on our community lists. We finally put this issue to bed.”

“Other major improvements are the move towards Java 7, newer Java EE standards, security features and the addition of new components. Wicket now bundles a cross site request forgery (CSRF) prevention measure, and provides support for inline images using the data: protocol,” continued Martijn Dashorst.

Apache Wicket v7.0 reflects over 2 years of development, testing and feedback from hundreds of knowledgable users, bringing a highly stable, production ready release of the popular web framework. The release consist of almost 300 features, improvements and fixes. In accordance with Semantic Versioning, this major release contains several documented API breaks. Following the Semantic Versioning standard, future minor releases of Wicket v7 will remain API compatible.

You can start using Apache Wicket v7.0 now.

Have fun!

– The Wicket Team

Read the full press release

Introducing Apache Wicket

Invented in 2004, Wicket is one of the few survivors of the Java serverside web framework wars of the mid 2000's. Wicket is an open source, component oriented, serverside, Java web application framework. With a history of over a decade, it is still going strong and has a solid future ahead. Learn why you should consider Wicket for your next web application.

Work with JavaScript and CSS

Global JavaScript libraries and CSS styling mix properly with component local JavaScript and CSS resources. You can use custom component libraries that ship with default JavaScript behaviour and CSS styling, without having to do anything yourself. Creating such self-contained component libraries is as easy as creating a JAR file.

Projects Using Apache Wicket

Many projects use Wicket but are not known for it. Below you find a list of projects that are Powered by Wicket.

This list is generated from our Tumblr feed 'Built with Wicket'. You can submit your own project to this list through this form.

News about Apache Wicket

Get the latest updates to releases, security bulletins, community news and more.

Apache Wicket 7.2.0 released

20 Jan 2016

The Apache Wicket PMC is proud to announce Apache Wicket 7.2.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

In this version two new features have been implemented. The first features is to read resources from out of file systems with Java’s NIO API, which also allows you to write own file systems.

As an example you can read audio files from within a folder of a ZIP file without extracting it and stream it directly to the client.

The second feature is to load images from external servers.

In addition a lot of bugs has been fixed regarding ajax and enclosures.

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

org.apache.wicket wicket-core 7.2.0

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

 * Source: http://www.apache.org/dyn/closer.cgi/wicket/7.2.0
 * Binary: http://www.apache.org/dyn/closer.cgi/wicket/7.2.0/binaries

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.2.0.zip:

Comment: GPGTools - https://gpgtools.org

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

Comment: GPGTools - https://gpgtools.org

CHANGELOG for 7.2.0


* [WICKET-6001] - Exception raised while refreshing a page with queued components missing in the markup
* [WICKET-6002] - FileUploadField makes form-component models become null on submit
* [WICKET-6006] - ModalWindow.closeCurrent() causes 414 status error
* [WICKET-6010] - Downloading filenames containing ',' or ';' gives problems
* [WICKET-6011] - NPE in case DebugBar is added to AjaxRequestTarget
* [WICKET-6013] - CLONE - AjaxFallbackOrderByBorder wicketOrder[Up|Down|None] class missing in 7.1.0
* [WICKET-6014] - TransparentWebMarkupContainer breaks OnChangeAjaxBehavior for Select2
* [WICKET-6017] - Tests fail when executed with not expected locale
* [WICKET-6018] - TransparentWebMarkupContainer is not really "transparent"
* [WICKET-6020] - GuiceFieldValueFactory returns the NULL_SENTINEL from the cache
* [WICKET-6021] - ConcurrentModificationException in MarkupContainer##iterator##next
* [WICKET-6024] - Possible issue with Border and LoadableDetachableModel in 7.1.0
* [WICKET-6026] - Problem in detecting child id on nested <wicket:enclosure>
* [WICKET-6027] - Nested TransparentWebMarkupContainer, markup of inner component not found
* [WICKET-6028] - Detach called on enclosure component while it had a non-empty queue
* [WICKET-6031] - NPE in PackageResourceReference##getResource() when there is no request
* [WICKET-6032] - Wicket.Ajax.done() called twice on redirect
* [WICKET-6034] - AjaxFallbackOrderByBorder does not generate any CSS class in order link
* [WICKET-6036] - Failure to process markup with nested tags inside a Label
* [WICKET-6037] - ModalWindow vulnerable to Javascript injection through title model
* [WICKET-6043] - Cannot set wicket:enclosure on queued component in ListView
* [WICKET-6044] - AjaxFormChoiceComponentUpdatingBehavior: Duplicate input values according to WICKET-5948
* [WICKET-6045] - ListView NullPointerException when viewSize is set explicitly
* [WICKET-6048] - German Translation for EqualInputValidator wrong
* [WICKET-6050] - Wicket Ajax (Wicket.From.serializeElement) causes 400 bad request
* [WICKET-6052] - CSS header contribution overlap
* [WICKET-6058] - Error in calculation of byte ranges
* [WICKET-6059] - TransparentWebMarkupContainer can not resolve autocomponents in its parent
* [WICKET-6062] - MockHttpSession should renew its id after invalidation
* [WICKET-6063] - Add support for WebSocketRequest##getUrl() and other properties which are available in the handshake request
* [WICKET-6064] - WebSocketResponse.sendRedirect could be supported with <ajax-response><redirect>...</></>
* [WICKET-6065] - Calling http://examples7x.wicket.apache.org/resourceaggregation/ generate Internal error
* [WICKET-6068] - The key RangeValidator.exact is not mapped in Application_de.properties
* [WICKET-6076] - Problem with queued components and enclosure
* [WICKET-6077] - Border's body is not added as a child due to dequeuing


* [WICKET-5950] - Model and GenericBaseModel could both implement IObjectClassAwareModel
* [WICKET-5969] - Please give us access to PageTable.index pageId queue
* [WICKET-6015] - AjaxFallbackOrderByBorder/Link should support updateAjaxAttributes() idiom
* [WICKET-6019] - Remove 'final' modifier for Localizer##getStringIgnoreSettings() methods
* [WICKET-6023] - small tweak for component queuing for the AbstractRepeater
* [WICKET-6029] - Make Border's methods consistent with commit f14e03f
* [WICKET-6046] - Wicket Quickstart Example Application shows deployment memory leak in Tomcat
* [WICKET-6051] - Improve performance of CssUrlReplacer
* [WICKET-6054] - Provide a factory method for the WebSocketResponse & WebSocketRequest
* [WICKET-6061] - Improved PackageResource##getCacheKey
* [WICKET-6070] - Provide factory methods for WizardButtonBar buttons
* [WICKET-6072] - Improve the quickstart to make it easier to use JSR-356 web sockets

New Feature

* [WICKET-6025] - Read resource files with Java's NIO API
* [WICKET-6042] - Implementation of ExternalImage component


* [WICKET-6049] - Update the site to point to the new deployments of the examples
* [WICKET-6057] - Upgrade commons-collections to 4.1
* [WICKET-6071] - Upgrade jQuery to 1.12 / 2.2.0


* [WICKET-6067] - Provide an Ajax Behavior that prevents form submit on ENTER

Have fun!

— The Wicket team