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

<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-core</artifactId>
    <version>7.2.0</version>
</dependency>

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