Releases

Apache Wicket 6.x

End of life: no more releases, not even security fixes.

Latest release
6.30.0
Status
End of life
Supported
No longer supported
Java
6 or newer
Servlet API
Servlet 2.5 or newer

Wicket 6 gets no more releases, not even security fixes

Plan the move to Wicket 10 LTS. It is supported until Jul 2027. Take one major version at a time:

  1. Migrating from Wicket 6 to 7
  2. Migrating from Wicket 7 to 8
  3. Migrating from Wicket 8 to 9
  4. Migrating from Wicket 9 to 10 LTS

For the step to 10, the OpenRewrite recipes of wicket-migration do the repetitive part: the jakarta imports, the Java 17 baseline and the moved Wicket classes.

The upgrade paths explain each step and what changes in Java and the Servlet API. If you need help or more time, companies that offer Wicket support are listed on the wiki.

Maven dependency

<!-- Apache Wicket 6.x: Java 6+, Servlet 2.5+ -->
<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-core</artifactId>
    <version>6.30.0</version>
</dependency>

Download the source and binaries

New in Wicket 6

  • Java 6

    Wicket 6 requires Java 6 and Servlet 2.5.

    Java
    6
    Servlet
    2.5
  • Ajax built on jQuery

    The Ajax library is reimplemented on jQuery, which makes jQuery plugins easy to integrate. Ajax components register browser events instead of writing inline event attributes, so a tag can have several listeners and the markup stays clean.

  • Control over every Ajax request

    AjaxRequestAttributes lets you change any aspect of an Ajax request: the HTTP method, multipart submission, throttling and more.

    SaveBehavior.java

    @Override
    protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
        super.updateAjaxAttributes(attributes);
        attributes.setMethod(AjaxRequestAttributes.Method.POST);
    }
    
  • Resources with dependencies

    A resource can declare what it depends on, such as a jQuery plugin on jQuery, and Wicket renders the dependencies in the right order. In deployment mode packaged resources switch to their .min.js versions automatically.

  • Large datasets

    IDataProvider uses long instead of int for indexes and sizes, lining up with the Java Persistence API.

Documentation

Blog posts about Wicket 6

All posts on the blog

Download

Source and binaries

Most projects get Wicket through Maven or Gradle, with the dependency at the top of this page. To build Wicket yourself, or to use it without a build tool, download the source:

Or the binaries:

Neither package contains the libraries Wicket depends on; a build tool such as Maven or Gradle brings those in.

Older releases

The mirrors carry only the latest release of each line in service. Every older release is in the Apache archives.

Change log

What changed in each release of this line is in the change log.

Requirements

The Java and Servlet API versions this line needs are at the top of the page. Some modules need more libraries, such as file upload, date and time APIs or the CDI specification; each module’s POM lists them.

Logging

Wicket logs through SLF4J, so your application needs an SLF4J implementation on the classpath. The SLF4J manual lists them.

Don’t mix Wicket versions

Use one Wicket version for every Wicket module in a project: wicket-core, wicket-extensions, wicket-spring and the others are released together and only work with the same version. Libraries built on Wicket are made for one Wicket line; use the version made for yours.