Apache Wicket 8.x
One more Wicket 8 release follows 8.19.0; after it the line reaches end of life. Its date will be on the blog; subscribe to the announce list to hear it first.
- Latest release
- 8.19.0
- Status
- Last release coming
- Supported
- Until its final release
- Java
- 8 or newer
- Servlet API
- Servlet 3.1 or newer
Wicket 8 reaches end of life with its final release
Wicket 8 and 9 reach end of life soon: what end of life means, why, and how to move.
Plan the move to Wicket 10 LTS. It is supported until Jul 2027. Take one major version at a time:
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 8.x: Java 8+, Servlet 3.1+ -->
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>8.19.0</version>
</dependency>New in Wicket 8
-
Java 8
Wicket 8 requires Java 8 and Servlet 3.1, so it runs on Tomcat 8, Jetty 9.1 or any Java EE 7 server.
- Java
- 8
- Servlet
- 3.1
-
Models as lambdas
IModelis a functional interface: a method reference or a lambda is a model.LambdaModelreplaces string-based property expressions with type-safe, refactoring-safe bindings that also run faster.PersonPanel.java
add(new Label("name1", person::getName)); add(new Label("name2", () -> person.getName())); add(new Label("name3", LambdaModel.of(personModel, Person::getName))); -
Optional where null was possible
The API uses
Optionalwhere a value may be absent. AnAjaxFallbackLinknow tells you whether it was clicked through Ajax.HomePage.java
add(new AjaxFallbackLink<Void>("link") { @Override public void onClick(Optional<AjaxRequestTarget> target) { target.ifPresent(t -> t.add(counter)); } }); -
Java date and time
The
java.timetypes are converted, validated and bound to components out of the box.
Documentation
-
Docs
The reference guide for Wicket 8, as one document.
-
Migration guide
Migrating from Wicket 8 to 9: the next step up.
-
API documentation
Javadoc for Wicket 8: every class, method and setting.
Blog posts about Wicket 8
-
Wicket 8 and 9 reach end of life soon
Wicket 8.x and 9.x each get one final release and then reach end of life, and with them Wicket's support for javax.servlet. Move to Wicket 10 LTS, supported until July 2027. -
A security policy for Apache Wicket
Wicket now documents how to report a vulnerability, what is in scope, and which inputs the framework trusts, in a SECURITY.md on every supported branch. -
Announcing Apache Wicket 8: Write Less, Achieve More
The Apache Wicket project announces the 8th major release of the open source Java web framework servicing websites and applications across the globe for over a decade. With...
- Apache Wicket 8.19.0 released Security fixes
- Apache Wicket 8.18.0 released Security fixes
- Apache Wicket 8.17.0 released Security fixes
- Apache Wicket 8.16.0 released Security fixes
- Apache Wicket 8.15.0 released
- Apache Wicket 8.14.0 released
- Apache Wicket 8.13.0 released
- Apache Wicket 8.12.0 released
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:
- Download source apache-wicket-8.19.0.tar.gz (PGP, SHA-256 )
- Download source apache-wicket-8.19.0.zip (PGP, SHA-256 )
Or the binaries:
- Download binaries apache-wicket-8.19.0-bin.tar.gz (PGP, SHA-256 )
- Download binaries apache-wicket-8.19.0-bin.zip (PGP, SHA-256 )
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.