<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 8.x | Apache Wicket</title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />

        <link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
        <link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />

		<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

    </head>

    <body class="">
        <div class="header default">
    <div class="l-menu-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /start/wicket-8.x -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /start/wicket-8.x -->
    	<li class="active"><a href="/start/download.html">Download</a></li>
		<!-- /learn || /start/wicket-8.x -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /start/wicket-8.x -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /start/wicket-8.x -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /start/wicket-8.x -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /start/wicket-8.x -->
    	<li class=""><a href="/apache">Apache</a></li>
    </ul>
</nav>
        <div class="logo">
    <a href="/"><img src="/img/logo-apachewicket.svg" alt="Apache Wicket"></a>
</div>
    </div>
</div>
<main>
    <div class="l-container">
        <header class="l-full preamble">
            <h1>Apache Wicket 8.x</h1>
            <p>Here you can learn about the status of Wicket 8.x, find links to download it, learn how to configure your Maven POM to use Wicket, find the minimal requirements, and migrate your existing application to this Wicket version.</p>
        </header>
        <section class="left">
            <div class="button-bar">
	<a class="button" href="#status"><i class="fa fa-info-circle"></i><br />Status</a>
	<a class="button" href="#download"><i class="fa fa-download"></i><br />Download</a>
</div>
<div class="button-bar">
	<a class="button" href="#requirements"><i class="fa fa-exclamation-triangle"></i><br />Requirements</a>
	<a class="button" href="#migrate"><i class="fa fa-history"></i><br />Migrate</a>
</div>
<h2 id="status">Status</h2>
<p>The status for Wicket 8.x is: <strong>supported</strong>.</p>
<p>This is the current stable, <strong>production ready</strong> release of Wicket. All
projects intended for production use should use this version.</p>
<h3 id="semantic-versioning">Semantic versioning</h3>
<p>These releases follow semantic versioning so upgrades between minor
releases will not break compatibility.</p>
<h3 id="change-log">Change log</h3>
<p>To see what changed in these releases you can read the
<a href="https://www.apache.org/dist/wicket/8.8.0/CHANGELOG-8.x">change log</a>.</p>
<h2 id="download">Download</h2>
<p>The most recent test version in this branch is: <strong>8.8.0</strong>. 
You can test the current state of development using <a href="#maven">Maven</a> or <a href="#manually">download it manually</a>.</p>
<h3 id="maven">Using Apache Maven</h3>
<p>Use the following Maven dependency to use Wicket in your project:</p>
<figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.wicket<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>wicket-core<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>8.8.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></figure>
<p>Add the snippet above to your project’s POM in the dependency
(management) section.</p>
<p>You can add more Wicket modules to your project by adding more
dependencies (copy above snippet and change the <code class="language-plaintext highlighter-rouge">artifactId</code>
accordingly).</p>
<p>If you are not a Maven user, you can download the Wicket release manually.</p>
<h3 id="manually">Download Manually</h3>
<p>Use the following links to download Wicket manually to build Wicket
from source:</p>
<ul>
  <li>Download source <a href="http://www.apache.org/dyn/closer.cgi/wicket/8.8.0/apache-wicket-8.8.0.tar.gz">apache-wicket-8.8.0.tar.gz</a>
(<a href="https://www.apache.org/dist/wicket/8.8.0/apache-wicket-8.8.0.tar.gz.asc">PGP</a>,
<a href="https://www.apache.org/dist/wicket/8.8.0/apache-wicket-8.8.0.tar.gz.sha256">SHA-256</a>
)</li>
  <li>Download source <a href="http://www.apache.org/dyn/closer.cgi/wicket/8.8.0/apache-wicket-8.8.0.zip">apache-wicket-8.8.0.zip</a>
(<a href="https://www.apache.org/dist/wicket/8.8.0/apache-wicket-8.8.0.zip.asc">PGP</a>,
<a href="https://www.apache.org/dist/wicket/8.8.0/apache-wicket-8.8.0.zip.sha256">SHA-256</a>
)</li>
</ul>
<p>Or use the following links to get the pre-packaged binaries instead:</p>
<ul>
  <li>Download binaries <a href="http://www.apache.org/dyn/closer.cgi/wicket/8.8.0/binaries/apache-wicket-8.8.0-bin.tar.gz">apache-wicket-8.8.0-bin.tar.gz</a>
(<a href="https://www.apache.org/dist/wicket/8.8.0/binaries/apache-wicket-8.8.0-bin.tar.gz.asc">PGP</a>,
<a href="https://www.apache.org/dist/wicket/8.8.0/binaries/apache-wicket-8.8.0-bin.tar.gz.sha256">SHA-256</a>
)</li>
  <li>Download binaries <a href="http://www.apache.org/dyn/closer.cgi/wicket/8.8.0/binaries/apache-wicket-8.8.0-bin.zip">apache-wicket-8.8.0-bin.zip</a>
(<a href="https://www.apache.org/dist/wicket/8.8.0/binaries/apache-wicket-8.8.0-bin.zip.asc">PGP</a>,
<a href="https://www.apache.org/dist/wicket/8.8.0/binaries/apache-wicket-8.8.0-bin.zip.sha256">SHA-256</a>
)</li>
</ul>
<p>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.</p>
<h3 id="verify-distributions-signature">Verify distribution’s signature</h3>
<p>PGP signatures can be verified as described <a href="http://www.apache.org/dev/release-signing.html#verifying-signature">on this page</a>. The public key used to sign Wicket distributions can be found in the <a href="https://www.apache.org/dist/wicket/KEYS">KEYS file</a>.</p>
<h3 id="older-releases">Older releases</h3>
<p>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.</p>
<p>Go to <a href="https://archive.apache.org/dist/wicket">the Apache archives</a> to find your specific version.</p>
<h2 id="requirements">Requirements</h2>
<p>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.</p>
<h3 id="java-version">Java version</h3>
<p>This Wicket version requires at least the following Java version: <strong>JDK 8.0 or newer</strong>.</p>
<p>Not only is a particular version of Java necessary, Wicket also needs
access to specific APIs.</p>
<h3 id="servlet-api">Servlet API</h3>
<p>This Wicket version requires at least the following Servlet API
version: <strong>Servlet API 3.1 or newer</strong>. This is provided by your
container, please see the documentation of your container to see which
version of the Servlet specification is supported.</p>
<p>In addition to the Servlet API, Wicket uses SLF4J to let you choose
your own implementation of a logging framework.</p>
<h3 id="logging">Logging</h3>
<p>You cannot use Wicket without adding an SLF4J logging implementation to
your classpath. Most people use
<a href="http://logging.apache.org/log4j">log4j</a>.</p>
<p>If you do, just include <strong>slf4j-log4j12.jar</strong> 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 <a href="http://www.slf4j.org/faq.html">SLF4J site</a>
for more information.</p>
<h3 id="dont-mix-wicket-versions">Don’t mix Wicket versions</h3>
<p>You cannot mix different Wicket versions in your project. You should
always use the artifacts from a particular release. For example it is
<strong>not</strong> 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.</p>
<h2 id="migrate">Migrating from earlier versions</h2>
<p>If you are migrating an existing application from earlier versions of
Wicket you may find our migration guides invaluable:</p>
<ul>
  <li>Migrating from <a href="https://cwiki.apache.org/confluence/display/WICKET/Migrating+to+Wicket+1.3">Wicket 1.2 to Wicket 1.3</a></li>
  <li>Migrating from <a href="https://cwiki.apache.org/confluence/display/WICKET/Migrating+to+Wicket+1.4">Wicket 1.3 to Wicket 1.4</a></li>
  <li>Migrating from <a href="https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+1.5">Wicket 1.4 to Wicket 1.5</a></li>
  <li>Migrating from <a href="https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+6.0">Wicket 1.5 to Wicket 6.x</a></li>
  <li>Migrating from <a href="https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+7.0">Wicket 6.x to Wicket 7.x</a></li>
  <li>Migrating from <a href="https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+8.0">Wicket 7.x to Wicket 8.x</a></li>
</ul>
        </section>
    </div>
</main>
        <footer class="l-container">
            <div class="l-full">
   	<img src="/img/asf_logo_url.svg" style="height:90px; float:left; margin-right:10px;">
    <div style="margin-top:12px;">Copyright © 2020 — The Apache Software Foundation. Apache Wicket, Wicket, Apache, the Apache feather logo, and the Apache Wicket project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>
        </footer>
    </body>

</html>
