Apache Wicket 6.10.0 released

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

This release marks the tenth 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

  • Required text form components now emit the HTML5 required attribute

  • URLs with username/passwords in them will now be parsed correctly http://me:secret@localhost and http://me:secret@localhost:8080 will no longer trigger an invalid number exception

  • OnEventHeaderItem uses JavaScript event registration, instead of inline DOM attributes, so it should remove ‘on’ prefixes when it is provided by the user application. For example: onclick => click.

JQuery update in 6.9.0

As of Wicket 6.9 we ship JQuery 1.10.1. The JQuery project has decided to remove deprecated APIs from their codebase from JQuery 1.9 and up. This means that JQuery plugins using these deprecated APIs no longer work. See the JQuery migration guide for more information, available from http://jquery.com/upgrade-guide/1.9/

If your application depends on these deprecated APIs you can easily downgrade to JQuery 1.8.3-the previously provided JQuery that still contains these APIs. Download the 1.8.3 release of jquery and add it to your project in its application’s init method:

@Override 
protected void init() {
    getJavaScriptLibrarySettings()
        .setJQueryReference(yourJquery183ResourceReference);
}

CDI injection issue

In the CDI releases of Weld 2.0.1 and prior, it was assumed that injection in anonymous inner classes was not legal and when attempted, it resulted in an exception:

Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000070
Simple bean [EnhancedAnnotatedTypeImpl] private class
com.example.HomePage$AForm cannot be a non-static inner class

This was reported as WICKET-5226, as it became an issue in Glassfish 4, which ships with Weld 2.0.1 (or earlier). We implemented a fix for this particular issue by not injecting into anonymous inner classes.

Unfortunately this was not a bug that needed fixing on our part, but rather in the Weld framework (see WELD-1441)

Therefore we reverted the commits done for WICKET-5226 and hope that Glassfish will upgrade their Weld implementation soon. For the whole story read WICKET-5264

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.10.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.10.0

Sub-task

  • WICKET-5248 - OnEventHeaderItem is still broken in 6.9.0

Bug

  • WICKET-5135 - wicket-atmosphere EventBus constructor throws NullPointerException under invalid state
  • WICKET-5164 - PageStoreManager.SessionEntry keeps outdated sessionId when container changes sessionId
  • WICKET-5224 - ModalWindow is not visible in Safari when opened from a link at the bottom of a large page
  • WICKET-5250 - Minified css/js gets compressed
  • WICKET-5251 - Minified name resolves incorrectly if default resource reference is used
  • WICKET-5256 - Allow configuring the resource used by ResourceStreamRequestHandler
  • WICKET-5259 - Url can't parse urls with username and password
  • WICKET-5260 - UrlRenderer#renderUrl() doesn't preserve the host
  • WICKET-5263 - FilenameWithVersionResourceCachingStrategy breaks silently when the versionPrefix is contained in the original filename
  • WICKET-5266 - Issue with TomcatWebSocketFilter and Spring Security
  • WICKET-5268 - ComponentRenderer.renderComponent fails to render two components with different component IDs
  • WICKET-5269 - XmlAjaxResponse restores wrong response
  • WICKET-5272 - NPE on unmount in BookmarkableMapper.java:189
  • WICKET-5273 - Tabindex overwritten in modal window for IE - Works in FF, Chrome
  • WICKET-5279 - o.a.w.a.AtmosphereBehavior onBroadcast should log DEBUG, not INFO
  • WICKET-5287 - NumberFormatException when parsing the port from Requests with invalid URIs
  • WICKET-5291 - Dependencies of Resource Bundle References are ignored
  • WICKET-5294 - MarkupCache ignores enforceReload flag
  • WICKET-5298 - Wicket Example for effects with Prototype is broken
  • WICKET-5300 - ComponentRenderingRequestHandler does not clear renderedComponents (PrototypeApplication)
  • WICKET-5302 - Using InlineEnclosure leads to two re-renderings of the controlling child component
  • WICKET-5306 - Dynamic and static extra paramaters not evaluated in ajax submitting behavior in a multipart form
  • WICKET-5309 - No page id appended to some stateful pages using repeaters
  • WICKET-5310 - if wicket is an external lib, BundleStringResourceLoader doesn't work

Improvement

  • WICKET-4993 - Add a minInputLength parameter to AutoCompleteTextField
  • WICKET-5270 - Do not set the location.hash when clicking on a link
  • WICKET-5276 - JavaDoc & API for IConverter
  • WICKET-5277 - PropertiesFactory - customizable properties loading
  • WICKET-5289 - setRequired(true) should add the HTML5 "required" attribute on <input> and <textarea> elements
  • WICKET-5295 - UrlResourceStream#getData content-type detection relies on flawed logic in URLConnection#getContentType
  • WICKET-5296 - OnEventHeaderItem should remove 'on' prefix for the event name
  • WICKET-5303 - Static id counter AbstractToolbar prevents stable component paths for testing
  • WICKET-5304 - AbstractResource should check for error code first before for modifications
  • WICKET-5307 - Export resources' version cache attribute as request cycle metadata