<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 7.13.0 released | 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 || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /news/2019/04/06/wicket-7.13.0-released.html -->
    	<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 7.13.0 released</h1>
        </header>
        <section class="left">
            <div class="l-full">
    <p class="meta">06 Apr 2019</p>
    <p>The Apache Wicket PMC is proud to announce Apache Wicket 7.13.0!</p>
<p>Apache Wicket is an open source Java component oriented web application
framework that powers thousands of web applications and web sites for
governments, stores, universities, cities, banks, email providers, and
more. You can find more about Apache Wicket at https://wicket.apache.org</p>
<p>This release marks another minor release of Wicket 7. We
use semantic versioning for the development of Wicket, and as such no
API breaks are present breaks are present in this release compared to
7.0.0.</p>
<h2 id="using-this-release">Using this release</h2>
<p>With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):</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>7.13.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></figure>
<p>Or download and build the distribution yourself, or use our
convenience binary package you can find here:</p>
<ul>
  <li>Download: http://wicket.apache.org/start/wicket-7.x.html#manually</li>
</ul>
<!--more-->
<h2 id="upgrading-from-earlier-versions">Upgrading from earlier versions</h2>
<p>If you upgrade from 7.y.z this release is a drop in replacement. If
you come from a version prior to 7.0.0, please read our Wicket 7
migration guide found at</p>
<ul>
  <li>http://s.apache.org/wicket7migrate</li>
</ul>
<p>Have fun!</p>
<p>— The Wicket team</p>
<p>========================================================================</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>The signatures for the source release artefacts:
</code></pre></div></div>
<p>Signature for apache-wicket-7.13.0.zip:</p>
<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE0a6YZHC1pJw+aieyh48B+qjTVuEFAlyjvbEACgkQh48B+qjT
VuEUpw/9EdhvP18NKyL08P9dh/IVDW7DAUq95hhrOWPwLS9HJVDHJOJY+FbK6zzd
HHrHEHFWe6syz83xkl8za69SUHB8mdKbwLG7UAcXojzBb6MVRIZCsdYfF4pMfC+f
bDSrB+XvvBEXllrJySA2akJVfrgf0U6oxfs6vqUgTOzx/pUda5MTZRiZBeO7nmT0
aHHgyaP96ecvtjIDyR9lwhmkzxS7VkGmT8XWpaQ2wT9mln2Ff4/SKd3ZtIHEpKrY
qWRbuC0JFf7EdEH1NEbrOYbXL3hnM9CEvlQunDJGWv6VtbEXyx30EmVbSylStrfZ
LnIXyIDDOVZ/Exx4Y/ijwP1nPnaVRF19PVaCeiWuJd/OvbYjMMBxYhkz5BqJPp2I
mJuipjE4Ao4yoOmlPo53RnWf83gueosqO7rD55XkJI47GLN7pwbcdRXcUcxUqTL5
glZZC3VFPPvLloKHmDvAVgxAwjO0qI3zeNfL0CmZDYGLJZeW9DnxCiS1mi/4gURf
DHQzK6OFTgy1nUcqH3utOGT9Dwys3WGxeaT4oucvmi8yqiq5RRl+jXghqjI93Tvh
qdraUy+DvbTtCMnw3JRJl4pusbIaGkQfwFXri3l7V+kpUR/K8taFJiWeO/8GdVBO
jhP0dAyO8pvH1wXmobVFDw5o5UNa5y3A+Rr/PvI85hsHeTHQYS8=
=UPy5
-----END PGP SIGNATURE-----
</pre></div>
<p>Signature for apache-wicket-7.13.0.tar.gz:</p>
<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE0a6YZHC1pJw+aieyh48B+qjTVuEFAlyjvbEACgkQh48B+qjT
VuGevA//aTrkqeHG/0QB03gZ7eya6BArgrkyK2vTP5gBRzCc571mBe7N3mdpV1di
6YnMEV25DJZwVIwQ9KoPtVs1KBGCX/2U/JqYf4YaQQJM1uEM2bQ3bVjwYJcG6xHI
P82cqhQDBGZGIydHWzBwrkf1GACF2K5DzqvK7y5fd1BGtrJIM52fLY5INVeYeVih
S4W84xlA+57HppsYdgR69c30qkI178903+iYcdlL9qtf1B3beKTJo/NkjJks/0a/
Yps0Za40/RwHSFDJM+G4Ks8LZ/wfHKW9OacAF4JT5vzLX6g5vOT0yy0jDQYsUx1C
BxHUeRcYv82yMdhR2pZ+F2htTQINEBdYL0GLx6TU5cwsU2GHQex8ZXJaNa6Xp/QS
TTADPaV3yIwJo8i4jpo6Br6/LZQTMuoOwfbkEVoNPsyoR89Rp67Bkqragg5gNnQH
IunybqbFBEpuyfMhoq7V1wYiPKGJwQXRy8J8A6Ozck+Lql2XsOgg71vnh1PjOmPa
s/cHnBFH6ravgnk+y6pAKG51mtPceR7TMNfm/zhu2qKYsp3C6t0A/OjeeqDTvWQz
0RuRWs47aXFRwLlQNqKJLO3YXJKRReZMRmJml/lBVXnqWLcsz3DKsrrdCZ91F5/f
AlaQslKTwi97uzUNSvG+Hm8+GnKGu63I3WPTqrsjKKVNcbLjNZE=
=H6X1
-----END PGP SIGNATURE-----
</pre></div>
<p>========================================================================</p>
<h3 id="this-release">This Release</h3>
<h4 id="changelog-for-7130">CHANGELOG for 7.13.0:</h4>
<h5 id="bug">Bug</h5>
<ul>
  <li>[WICKET-6645] - Concurrent web socket response message processing on the client</li>
</ul>
<h5 id="improvement">Improvement</h5>
<ul>
  <li>[WICKET-6638] - RedirectRequestHandler does not support Ajax</li>
</ul>
<h5 id="wish">Wish</h5>
<ul>
  <li>[WICKET-6646] - Upgrade jquery to 3.3.x</li>
</ul>
</div>
        </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>
