Apache Wicket 6.7.0 released

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

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

webfonts are now supported

Our resource guard that prevents access to classpath resources that are not intended to be shared through the web server is a whitelist of permissable resource extensions. Typically images, JavaScript files, stylesheets are on the whitelist, but the file types for webfonts were blocked. From Wicket 6.7 and onward you can now embed webfonts with your components and link to them from your stylesheets.

Render a page or component to a String

One of the issues that keeps propping up on the user lists is the ability to render a page or component to a String so that you can use Wicket to render HTML email messages. Now you can use ComponentRenderer to actually do so without having to resort to other less obvious methods.

ComponentRenderer exposes two methods: renderComponent and renderPage and they do exactly what their names suggest. Happy emailing!

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.7.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.7.0

Bug

  • WICKET-4658 - TabbedPanel CSS “last” is wrong if last step is not visible
  • WICKET-4803 - UrlDecoder should log a message when invalid input is provided
  • WICKET-4871 - wicket-atmosphere version mismatch with wicket-example-jar
  • WICKET-4893 - AutoCompleteTextField removes DropDownChoice from Page
  • WICKET-4903 - relativeUrl’s begins with ./
  • WICKET-4907 - UrlResourceReference generates broken relative URLs
  • WICKET-4942 - Double slash ‘//’ in starting url makes Url.parse output a relative Url
  • WICKET-4989 - WicketTester should send copies of its cookies
  • WICKET-4995 - Using CryptoMapper causes page to render twice
  • WICKET-5039 - Manual invocation of FunctionsExecutor#notify() is broken
  • WICKET-5041 - DefaultCssAutoCompleteTextField should have Constructor (String id)
  • WICKET-5044 - Atmosphere + DateLabel
  • WICKET-5045 - Upgrade Atmosphere to 1.0.10
  • WICKET-5047 - Wicket Ajax: Inline script header contribution issue
  • WICKET-5048 - Inline enclosures don’t work with different namespace
  • WICKET-5049 - Wicket Session may be null in SessionBindingListener after deserialization
  • WICKET-5052 - @SpringBean fails to invoke methods on bean with non-public methods
  • WICKET-5053 - “random” parameters is now “_” with jQuery Ajax
  • WICKET-5054 - Possible bug in org.apache.wicket.util.lang.Packages when building path with repeating names
  • WICKET-5055 - AutoComplete still triggers redundant events to registered change listener
  • WICKET-5061 - EnclosureHandler ignores wicket:xyz elements as children
  • WICKET-5067 - SelectOptions fails to render text on openClose tag
  • WICKET-5072 - Cookies#isEqual(Cookie, Cookie) may fail with NullPointerException
  • WICKET-5073 - UrlRenderer#removeCommonPrefixes() fails when contextPath+filterPrefix has more segments than the argument
  • WICKET-5075 - When modal window is closed page scrolls to top
  • WICKET-5076 - form#onSubmit() is called on just replaced nested forms
  • WICKET-5078 - RestartResponseException broken with page instance and bookmarkable page
  • WICKET-5080 - FilterToolbar.html contains javascript that is used elsewhere
  • WICKET-5082 - Ajax update renders parent/child JS in different order than initial Page render
  • WICKET-5085 - InlineEnclosure are piling up on each render
  • WICKET-5086 - FormTester throws an exception when a Palette component is added to a Form associated with a compound property model
  • WICKET-5093 - The event listener in Wicket.Ajax.ajax() should not return the value of attrs.ad (allowDefault)
  • WICKET-5094 - ISecuritySettings#getEnforceMounts(true) prevents access to all non-mounted bookmarkable pages
  • WICKET-5098 - PackageResourceBlockedException under Windows for *.js files in web app’s own packages, not in jars
  • WICKET-5102 - wicket-bean-validation: Bean validation PropertyValidator only works with direct field access
  • WICKET-5103 - Wicket session id not up to date when container changes session id
  • WICKET-5104 - AjaxSelfUpdatingTimerBehavior in hidden component in ModalWindow causes Ajax Response Error
  • WICKET-5112 - Parantheses problem with UrlValidator
  • WICKET-5114 - Url#toString(StringMode.FULL) throws exception if a segment contains two dots
  • WICKET-5116 - TabbedPanel.setSelectedTab() does not behave as specified in JavaDoc
  • WICKET-5117 - Wicket ignores allowDefault:false attribute in multipart ajax requests
  • WICKET-5123 - Component.continueToOriginalDestination() can redirect to ./.
  • WICKET-5125 - IE8 error in wicket-date.js when used in a modalwindow
  • WICKET-5126 - SecurePackageResourceGuard is blocking access to web fonts
  • WICKET-5131 - Problems with cookies disabled when using 301/302 and also 303 (even with cookies)
  • WICKET-5132 - Evaluation of returned data (which includes alot of javascript) very slow after ajax call in IE10.
  • WICKET-5134 - java.lang.NullPointerException at org.apache.wicket.markup.html.form.Form.onComponentTag(Form.java:1520) during Atmosphere eventbus.post() if using WebSockets
  • WICKET-5136 - CheckingObjectOutputStream#check(Object) swallows Exception without logging the cause
  • WICKET-5138 - Wicket does not correctly handle http OPTIONS requests
  • WICKET-5141 - Exception while rendering absolute URL with UrlResourceReference

Improvement

  • WICKET-4115 - SignInPanel should not always redirect to the Home page when the user is signed-in automaticaly with the remember-me feature.
  • WICKET-5005 - Add Utility to allow conversion from Panel (or Component) to html String
  • WICKET-5038 - Add equals() and hashcode() implementation to INamedParameters.NamedPair
  • WICKET-5046 - NumberTextField should use appropriate validator
  • WICKET-5050 - AutoComplete should not request suggestions if input is no longer active element
  • WICKET-5057 - FilteringHeaderResponse requires a usage of FilteringHeaderResponse.IHeaderResponseFilter for no reason when FilteredHeaderItem is used
  • WICKET-5062 - Update the list of HTML void elements with the latest HTML5 ones
  • WICKET-5065 - Improve UrlRenderer to be able to render urls without scheme and/or host
  • WICKET-5066 - Allow PackageResource to decide itself whether it could be accepted or not
  • WICKET-5074 - Improvement for MockHttpServletRequest and FormTester to support ‘multiple’ input type of fileUpload
  • WICKET-5079 - Allow WebApplication-specific Spring configuration
  • WICKET-5088 - The Bootstrap class does not provide a handle for the CSSResourceReferences.
  • WICKET-5089 - Make MultiFileUploadField’s ResourceReference JS public to be able to include in Application’s getResourceBundles.
  • WICKET-5090 - Add path syntax to MarkupContainer#get( String )
  • WICKET-5091 - Extract the short names of the ajax attributes as a constants
  • WICKET-5095 - Upgrade Wicket Native WebSocket to Jetty 9.0.0
  • WICKET-5096 - Add setStep method to NumberTextField
  • WICKET-5105 - JavaDoc of IHeaderContributor is outdated
  • WICKET-5111 - Upgrade bootstrap to 2.3.1
  • WICKET-5113 - Set a different TimeZone for the RequestLogger
  • WICKET-5121 - Log warning message if a component that is not on the page associated with the AjaxRequestTarget is added
  • WICKET-5122 - Add the free Wicket guide in the books page on the official site.
  • WICKET-5127 - Dont use sun-internal packages to allow easy jdk7 compilation
  • WICKET-5137 - Improve TagTester support for Ajax responses
  • WICKET-5139 - Missing French translations

Task

  • WICKET-5097 - Deprecate BaseWicketTester#startComponent(Component)

Test

  • WICKET-5042 - Cleanup FilteringHeaderResponseTest to make it more readable