Apache Wicket 6.11.0 released

20 Sep 2013

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

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

New HTML5Attributes behavior

HTML5 attribute support in Wicket continues to be improved upon. Add the new HTML5Attributes behavior to your text fields or buttons and Wicket will add the relevant HTML5 attributes based on the state of your components:

  • adds “required” if your form component is required
  • adds “placeholder” for the label of your form component
  • adds “pattern” if your form component has a PatternValidator attached
  • adds “formnovalidate” if your button has default form processing set to false

This behavior replaces the functionality from 6.10 where HTML5 attributes were added automatically (see WICKET-5289 and WICKET-5331)

BeanValidation receives french translation

The BeanValidation project now has a french translation for validation errors:

  • Le champ ‘${label}’ ne doit pas être null
  • Le champ ‘${label}’ pourrait contenir du contenu HTML dangereux

Bonne chance!

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

Glassfish has fixed this in trunk according to GLASSFISH-20619 but the fix has yet to be integrated into a release.

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.11.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.11.0

Bug

  • WICKET-5313 - Wrong HTML attribute used in SizeTagModifier (wicket-bean-validation)
  • WICKET-5315 - PriorityHeaderItem+OnDomReadyHeaderItem has no priority in Ajax response
  • WICKET-5316 - Wicket Atmosphere CouldNotLockPageException
  • WICKET-5319 - CryptoMapper encrypts external URLs in ResourceReferences making the resources inaccessible
  • WICKET-5322 - “Source code” link doesn’t work at wicket-library.com
  • WICKET-5325 - ComponentRenderer.renderComponent does not render markup for ListView
  • WICKET-5329 - “Required” flag initialized too early in PropertyValidator
  • WICKET-5332 - Autocomplete throws error when initialized in an AjaxLazyLoadPanel
  • WICKET-5334 - KittenCaptcha example is broken in IE10
  • WICKET-5335 - After selecting a file MultiFileUploadField does not render properly input field
  • WICKET-5339 - Broadcast.EXACT does not notify Behaviors of target Component
  • WICKET-5343 - AutoCompleteTextField suggestions popup position is wrong when its container has scrollbar
  • WICKET-5345 - Url.canonical() breaks when there are two consecutive “parent” segments followed by a normal segment
  • WICKET-5348 - JavaDoc for IColumn#getSortProperty() in misleading

Improvement

  • WICKET-5327 - CryptoMapper: insecure default encryption provider
  • WICKET-5331 - Make html5 form validation configurable
  • WICKET-5333 - wicket-bean-validation french translation
  • WICKET-5341 - JavaDoc for IFormValidator
  • WICKET-5354 - Make ResourceBundles and related classes easier for extension