Releases

Apache Wicket 10.x

The long-term support release.

Latest release
10.11.0
Status
LTS In service
Supported
Until Jul 2027
Java
17 or newer
Servlet API
Jakarta Servlet 5.0 or newer

Maven dependency

<!-- Apache Wicket 10.x LTS: Java 17+, Jakarta Servlet 5.0+ -->
<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-core</artifactId>
    <version>10.11.0</version>
</dependency>

Other modules, such as wicket-extensions and wicket-spring, take the same group id and version. Wicket's modules lists them all.

Download the source and binaries · New project? Generate one with the quick start

New in Wicket 10

  • Jakarta EE

    Wicket 10 moves from the javax to the jakarta namespace. It requires Java 17 and Servlet 5 or newer, and its integrations move along: Spring 6, Guice 7 and Commons FileUpload 2.

    Java
    17
    Jakarta Servlet
    5.0
    Spring
    6
  • Automatic migration

    The wicket-migration module brings OpenRewrite recipes that take care of the repetitive part of the upgrade: the jakarta imports, the Java 17 baseline and the moved Wicket classes.

    Terminal

    mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
      -Drewrite.recipeArtifactCoordinates=org.apache.wicket:wicket-migration:LATEST \
      -DactiveRecipes=org.apache.wicket.BestPractices
    
  • WicketTester in its own module

    WicketTester and the other testers move to wicket-tester, so wicket-core no longer depends on JUnit and works cleanly as a Java module. Add it as a test dependency and fix the imports.

    pom.xml

    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-tester</artifactId>
        <version>${wicket.version}</version>
        <scope>test</scope>
    </dependency>
    
  • Ready for current JDKs

    Serializable proxies for Spring and CDI beans are now built with ByteBuddy instead of CGLib, which no longer works on JDK 17. Nothing changes in your code.

Documentation

Blog posts about Wicket 10

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.

Verify a download

Check its PGP signature with the keys in the KEYS file, as the ASF explains.

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.