Status
The status for Wicket 10.x is: supported, long-term support (LTS).
This is the current long-term support release of Wicket. It receives security fixes and applicable bug fixes until Wicket 14.0.0, the next LTS release, ships in July 2027. Choose this line when you value a stable API over new features; new features arrive in the quarterly releases, currently Wicket 11.x.
Semantic versioning
These releases follow semantic versioning so upgrades between minor releases will not break compatibility.
Change log
To see what changed in these releases you can read the change log.
New in Wicket 10
-
Jakarta EE
Wicket 10 moves from the
javaxto thejakartanamespace. 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-migrationmodule brings OpenRewrite recipes that take care of the repetitive part of the upgrade: thejakartaimports, 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
WicketTesterand the other testers move towicket-tester, sowicket-coreno 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.
Download
The most recent release in this branch is: 10.11.0. You can get the release using Maven or download it manually.
Using Apache Maven
Use the following Maven dependency to use Wicket in your project:
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>10.11.0</version>
</dependency>Add the snippet above to your project’s POM in the dependency (management) section.
You can add more Wicket modules to your project by adding more
dependencies (copy above snippet and change the artifactId
accordingly).
If you are not a Maven user, you can download the Wicket release manually.
Download Manually
Use the following links to download Wicket manually to build Wicket from source:
- Download source apache-wicket-10.11.0.tar.gz (PGP, SHA-512 )
- Download source apache-wicket-10.11.0.zip (PGP, SHA-512 )
Or use the following links to get the pre-packaged binaries instead:
- Download binaries apache-wicket-10.11.0-bin.tar.gz (PGP, SHA-512 )
- Download binaries apache-wicket-10.11.0-bin.zip (PGP, SHA-512 )
Note that the binary packages and the source packages don’t contain any dependencies necessary to have your project working out of the box. We strongly urge you to use Maven (or Buildr, or Gradle) as your dependency management system.
Verify distribution’s signature
PGP signatures can be verified as described on this page. The public key used to sign Wicket distributions can be found in the KEYS file.
Older releases
The Apache mirroring system only hosts the latest version of each actively supported branch. When you need to download an older release you can find them in the archives.
Go to the Apache archives to find your specific version.
Requirements
Apache Wicket has few requirements in order to work properly. In this section you’ll find the minimum requirements for all Wicket modules. Specific modules may need additional libraries, such as file upload, date time APIs, CDI specifications, and more. See the module’s POM for more details on the necessary libraries.
Java version
This Wicket version requires at least the following Java version: JDK 17.0 or newer.
Not only is a particular version of Java necessary, Wicket also needs access to specific APIs.
Servlet API
This Wicket version requires at least the following Servlet API version: Servlet API 5.0 or newer. This is provided by your container, please see the documentation of your container to see which version of the Servlet specification is supported.
In addition to the Servlet API, Wicket uses SLF4J to let you choose your own implementation of a logging framework.
Logging
You cannot use Wicket without adding an SLF4J logging implementation to your classpath. Most people use log4j.
If you do, just include slf4j-log4j12.jar on your classpath to get Wicket to use log4j too. If you want to use commons-logging or JDK14 logging or something else, please see the SLF4J site for more information.
Don’t mix Wicket versions
You cannot mix different Wicket versions in your project. You should always use the artifacts from a particular release. For example it is not possible to use Wicket Extensions 1.5 in a Wicket 6 project, or Wicket CDI 7.x in a Wicket 8 project. The same goes for 3rd party libraries: make sure you always use a compatible version of your 3rd party library.
Migrating from earlier versions
If you are migrating an existing application from earlier versions of Wicket you may find our migration guides invaluable:
- Migrating from Wicket 1.2 to Wicket 1.3
- Migrating from Wicket 1.3 to Wicket 1.4
- Migrating from Wicket 1.4 to Wicket 1.5
- Migrating from Wicket 1.5 to Wicket 6.x
- Migrating from Wicket 6.x to Wicket 7.x
- Migrating from Wicket 7.x to Wicket 8.x
- Migrating from Wicket 8.x to Wicket 9.x
- Migrating from Wicket 9.x to Wicket 10.x