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:

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iQIcBAABCgAGBQJWqyoKAAoJENaEKd8Bv4IClgYP/i9tJKKFIcz4uB4BLrej41HS
oy8w7iBEAt+PbNU5QeCRJawiGLfuc8WblXsRfu2F3HLwuCyW4HXzIjGxAFf2bjDL
GyATgVYiR0U4JVO4oCcO855e8Sgde9gVj1Eza5QuaIpDquBF9OTresydragcqJs8
eFrHEOMtRlsnI5LmYjq2+d1j5BqQ3lBzYXD17/my67zxAGG0pAiPyZSA2patQUTj
1RJiL8n6vMq1w351t4WmLi8wm1hMJFueqw5XRKDbQPyRr+VjD1hM43zi/SW5w1We
lxch8kRo3PQNOiTX7T09pxigBbqJ9vkuZ+t1mBN6eoXS93OyuGwJ5fvunxbmD9zf
MneHB1+pPJv8rbYngoPBnBu913tIwgJwG3mwu6F8oHevEVC3NT83RtSOYVvoXNve
lMP23pBL6bGqV0wFNXWMKGUbr4DXcAwNeqZCr2/nD/VZ7ud45RHS7x9iNIbRNrus
HPiAlmwVk7YQ5ohf90T7fBrd6YNBit8NIVJmYRMzasd4L7a88xVLqS7WDhgXMzk2
zjhd+jpvPa/Ty3cJwGrMlYKbDsR1WToXGC6eakqKBkT9xylzmaXijBH8bTDhok3u
Cw9KnUC+mhMHCjuCap+ZgOqNiSpT5b8/An3EOWySpfnKXzx5UOkzCKxY4G74raov
T3huTv7fKGk7k+DxIyRi
=Eokv
-----END PGP SIGNATURE-----

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

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iQIcBAABCgAGBQJWqywsAAoJENaEKd8Bv4IC0KIP/2qWdbmhs6BYdX/bj3sjkrVx
r3tsuYWt8dYrK+qyUI2D1tB5i4Vd3i+2BPnvOGhyjUevTaiIvRQirYkYwRx7ZamE
9jsLzuoprYzQBObOd42Gy+uOH33necSyNwgEOoXoGk/L6l+TBc30tedSWS7zsBJY
ajYBnxGJ8w9dOPd1wIW2Mt0hcAQgEKvCfRfOmCDQbfrsZ8zEbRf+D8qgrQSoc0a3
1ZQhtHHr4YIaA/fb91/9H8g7aNBwcLeAiYaIdsvuWPGMgbTerFPN7lyEraIv73ra
hv3//NdTlfUzljmUuLlRa4m1o9LAB7KwpTcZYRz0Z6vyUBhnhOAZoIaT7vtbM7jA
FcLZf8zOiOUrtW+GXRFcUMOEhEje3SZcxe9hpdTAc8rCtdIKmY80TIZe8LbmZfQB
QFcBN97jR+XMhO7raDkxcyS1yJD4VxMSumo5PNNrxaIGfoqsHuFIdOgwxDuXmta3
FPO4aMOedD/It6YWfK4aEG2sDmTtXZzO7RXzQaCJNs9Ko+3EsG4EqrY5Cnrb2pKf
0naJmVDGHYBx98FYV+ZE+Qc+SxItpGM5Dy5oeYcrnqpy4HatSrOocntrEO74qQ3z
6qPEJwpEyxbb3WZBgZSZom4TeNrg0aSb98T623RN+Fi6GEJLloX5JiAdVWl/1IiF
pdzbYsa2IMyPjC3a5hVK
=pbxZ
-----END PGP SIGNATURE-----

CHANGELOG for 7.2.0

Bug

* [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

Improvement

* [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

Task

* [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

Wish

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

Have fun!

— The Wicket team

Read more...