This is the second beta for Apache Wicket we have prepared for your and our
pleasure. It also marks the first release since we have been graduated to a
top level project of the Apache Software Foundation.

In this announcement:

  • Apache Wicket
  • This release
  • Migrating from 1.2
  • Downloading the release
  • Validating the release
  • Reporting bugs

Eager people click here to download the distribution, others can read further:

We thank you for your patience and support. Next stop: 1.3 final!

- The Wicket Team

Apache Wicket

Apache Wicket is a component oriented Java web application framework that is
recently established as a top level project at the Apache Software foundation.
With proper mark-up/logic separation, a POJO data model, and a refreshing lack
of XML, Apache Wicket makes developing web-apps simple and enjoyable again.
Swap the boilerplate, complex debugging and brittle code for powerful,
reusable components written with plain Java and HTML.

This release

This release is the second in a series of beta releases until we feel
confident to finalize Wicket 1.3. This is called a beta because we don't have
fixed all bugs, and probably haven't found them all either (can you ever be
sure?). However, we are confident that most major API changes are in and
therefore want to give you access to a more stable platform than depending on

The most notable change (apart from then numerous bug fixes) is the new Guice
integration: Wicket now ships with integration for Google's Guice. To make
that happen, some shared functionality has been extracted from Wicket Spring
and put into a new module: Wicket IoC.

Migrating from 1.2

If you are coming from Wicket 1.2, you really want to read our migration
guide, found on the wiki:

Downloading the release

You can download the release from the official Apache mirror system, and you
can find it through the following link:

For the Maven and Ivy fans out there: update your pom's to the following, and
everything will be downloaded automatically:


Substitute the artifact ID with the projects of your liking to get the other

Validating the release

The release has been signed by Martijn Dashorst, your release manager for
today. The public key can be found in the KEYS file in the download area.
Download the KEYS file only from the Apache website.

Instructions on how to validate the release can be found here:

Reporting bugs

In case you do encounter a bug, we would appreciate a report in our JIRA:

The distribution


In the distribution you will find a README and a RELEASENOTES. The README
contains instructions on how to build from source yourself, the RELEASENOTES
contains a list of all things that have been fixed, added and/or removed since
the first beta release.

Release Notes - Wicket - Version 1.3.0-beta2

Release Notes - Wicket - Version 1.3.0-beta2


  • [WICKET-4] - Page.onBeginRequest() [and consequently .onAttach()] not called when form on page is submitted.
  • [WICKET-40] - Parameters of nice URL's pages with 'sensitive' characters
  • [WICKET-65] - Handle String array in PageParameters
  • [WICKET-139] - DefaultTreeState allowSelectMultiple == false not evaluated when selecting node already selected
  • [WICKET-175] - Page.onDetach is called by each ComponentResourceRequestTarget
  • [WICKET-254] - Allow to set field values before submitting a form with Ajax in WicketTester
  • [WICKET-293] - PackageRequestTargetUrlCodingStrategy should interrupts the cycle and sends a 404 when a page/class cannot be found.
  • [WICKET-319] - No java source code in examples
  • [WICKET-323] - AjaxEditableLabel on setModel does not update the labels model only the editors
  • [WICKET-341] - [Patch] AjaxServerAndClientTimeFilter either throws an exception or displays a wrong text
  • [WICKET-370] - wicket.jmx.Application.getHomePageClass() returns Application's class name
  • [WICKET-373] - Some components miss localization (NavigatorLabel, Palette)
  • [WICKET-377] - Editing an AjaxEditableLabel, going to a new page, clicking the back button and editing the label again makes the page expire.
  • [WICKET-405] - StatelessForm and setRedirect(true) in the onSubmit method
  • [WICKET-409] - Page constructed twice when a BookmarkableLink has PopupSettings
  • [WICKET-444] - src attribute path not processed by wicket for INPUT type=image and any IMG with wicket:message in it
  • [WICKET-455] - mvn jetty:run; maven-jetty-plugin not configured
  • [WICKET-464] - Add global override to disable gzip compression (SAP double-compresses).
  • [WICKET-478] - WicketTester.clickLink() does not recognize SubmitLink.
  • [WICKET-501] - JavaScript comment stripping doesn't handle regexps
  • [WICKET-504] - Allow to use <button> in AjaxSubmitLink
  • [WICKET-513] - Example "pub" doesn't work any more. The images are no longer localized
  • [WICKET-514] - authorization and authentication examples throw exceptions
  • [WICKET-526] - URL mounting doesn't work well together with stateless pages
  • [WICKET-557] - RedirectPage inside ListView causes page expiration issues
  • [WICKET-558] - New attach->beforeRender refactor breaks ajax updating of list views
  • [WICKET-565] - parent poms missing in 1.3.0-beta1
  • [WICKET-566] - <scope>tests</scope> should be <scope>test</scope>
  • [WICKET-567] - relative paths generated incorrectly for HeaderContributor for mounted page
  • [WICKET-568] - Form url handled wrong when using QueryStringUrlCodingStrategy
  • [WICKET-576] - PopupSettings with no window name set generates invalid xhtml on Link
  • [WICKET-578] - AbstractTextComponent is using onAttach when it should be onBeforeRender
  • [WICKET-583] - Header Contribution in ModalWindow doesn't work properly
  • [WICKET-586] - Quickstart web.xml
  • [WICKET-589] - problem with Ajax and rendering
  • [WICKET-590] - RelativePathPrefixHandler and WicketMessageTagHandler conflict
  • [WICKET-591] - SignInPanel is not returning raw input
  • [WICKET-593] - equals() in ResourceStreamRequestTarget compares the wrong filename
  • [WICKET-595] - can return time on same day rather than next day
  • [WICKET-600] - getClientInfo throws ClassCastException when Javascript is Disabled
  • [WICKET-603] - Injecting a reference to a bean which is of a final class fails
  • [WICKET-606] - AbstractTextComponent#setConvertEmptyInputStringToNull(true) does not work with IObjectClassAwareModels (affects TextField, etc.)
  • [WICKET-610] - header contributions fail on <error-pages>
  • [WICKET-612] - HeaderContributor forces relative URL
  • [WICKET-613] - Prototype scoped Spring beans
  • [WICKET-615] - BookmarkablePageRequestTarget respond method
  • [WICKET-621] - detach() is not called when nested object is IDetachable but not IModel in CompoundPropertyModel
  • [WICKET-624] - AbstractSingleChoice: components can't have specific null or nullValid messages
  • [WICKET-628] - WicketFilter tries to call setClassLoader() even if it's not changing the default - doesn't work on strict SecurityManagers.
  • [WICKET-629] - NPE when using DatePicker with DateTextField
  • [WICKET-644] - SpringWebApplicationFactory references wrong package in javadoc.
  • [WICKET-659] - Null form fields are converted to empty strings
  • [WICKET-667] - [PATCH] remove XX in firefox and palette
  • [WICKET-673] - synchronize AbstractBehavior#isEnabled(Component component) with Component#isEnabled
  • [WICKET-684] - JavaScript complains if an AjaxButton has the name "submit"
  • [WICKET-687] - DatePicker refers to gif files on Yahoo
  • [WICKET-688] - DatePicker doesn't work with TextField


  • [WICKET-6] - Configuration of app mode isn't customisable
  • [WICKET-49] - Upgrade all war-type projects (examples, quickstart) to use jetty 6 and jetty-maven-plugin
  • [WICKET-301] - Translation for Czech language
  • [WICKET-344] - clock component doesn't display seconds in some Locales
  • [WICKET-348] - Propose removing 'final' modifier to AbstractSingleSelectChoice.convertValue()
  • [WICKET-362] - Add ability to manage disabled items from subclasses of AbstractChoice
  • [WICKET-388] - Change log statement in Objects#setObjectStreamFactory()
  • [WICKET-394] - [Patch] do not serialize choices and select in palette.
  • [WICKET-416] - Handle / servlet mapping or fail consistenly
  • [WICKET-481] - Take into account the button and input tags in AbstractLink#disableLink()
  • [WICKET-531] - FormComponentLabel and Radio
  • [WICKET-549] - HeaderContributions are missing if <html> is a Component.
  • [WICKET-556] - Prevent setTimeout for AjaxSelfUpdatingTimerBehavior from firing after its contributing component has been replaced
  • [WICKET-561] - TextField should determine the object type from the model if the model supports it
  • [WICKET-577] - Improve TabbedPanel component - add ability to change tab-row container
  • [WICKET-582] - Enhancement of exception message in WebExternalResourceStream
  • [WICKET-587] - Entity references in DTD are missing the path to
  • [WICKET-614] - Markup ids from markup should be honored for CSS reasons, even with outputMarkupId == true
  • [WICKET-616] - Provide default CSS for UploadProgressBar
  • [WICKET-619] - Models that can should be able to provide information about field/getter/setter
  • [WICKET-633] - Tree components cleanup
  • [WICKET-636] - Get the ability to add some properties to the html "<option>" tag for the palette component
  • [WICKET-637] - wicket-examples grey-on-white colour scheme is very hard to read
  • [WICKET-638] - wicket-examples source code view is not resizable
  • [WICKET-664] - Allow users to hook into onbeforeunload event so they can tell when a page is closed in the browser
  • [WICKET-671] - InlineFrame page constructor doesn't behave as expected
  • [WICKET-672] - DateTextField is too session-heavy
  • [WICKET-674] - when setting stripJavascriptCommentsAndWhitespace is true, also strip comments and whitespace of PackagedTextTemplates
  • [WICKET-689] - Please make it easier to use a custom RequestCycle
  • [WICKET-692] - upgrade YUI dependencies to version 2.2.2 for wicket-datetime

New Feature

  • [WICKET-580] - add EmptyPanel class
  • [WICKET-608] - Add possibility to output markup class as html comment
  • [WICKET-630] - It should be possible to specify different CSS class names for certain columns in DataTable



  • [WICKET-383] - Wicket-Examples war file needs slf4j