<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 7.14.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-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /news/2019/05/28/wicket-7.14.0-released.html -->
    	<li class=""><a href="/apache">Apache</a></li>
    </ul>
</nav>
        <div class="logo">
    <a href="/"><img src="/img/logo-apachewicket-white.svg" alt="Apache Wicket"></a>
</div>
    </div>
</div>
<main>
    <div class="l-container">
        <header class="l-full preamble">
            <h1>Apache Wicket 7.14.0 released</h1>
        </header>
        <section class="l-one-third right">
            <div id="toc" class="toc"><div id="toc-title"><h2>Table of Contents</h2></div><ul><li class="toc--level-1 toc--section-1"><a href="#using-this-release"><span class="toc-number">1</span> <span class="toc-text">Using this release</span></a></li><li class="toc--level-1 toc--section-2"><a href="#upgrading-from-earlier-versions"><span class="toc-number">2</span> <span class="toc-text">Upgrading from earlier versions</span></a><ul><li class="toc--level-2 toc--section-3"><a href="#this-release"><span class="toc-number">2.1</span> <span class="toc-text">This Release</span></a></li></ul></li></ul></div>
        </section>
        <section class="l-two-third left">
            <div class="l-full">
    <p class="meta">28 May 2019</p>
    <p>The Apache Wicket PMC is proud to announce Apache Wicket 7.14.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.14.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="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.14.0.zip:</p>
<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE0a6YZHC1pJw+aieyh48B+qjTVuEFAlzoNjgACgkQh48B+qjT
VuEf2w//RTKqbi2cKmbIB2qd3gxkvCE44eiuWGP2U/Vo5kX07VIa8XrgXnOZHz34
TiKcmQnkFkjCpnF+FDX+HNDDvz7PsUTGouPt0xefnjgSWKSKKzfa0qx1ajL5WlHe
VOrDOlP56ghK6qQmZ8SoNIkj40tc78f+rNKpTC17Ws/i6q4H8G6UKFyn2FFMcRDs
OpqC6FE6Tp2aIZ1P5quChlaaUv+j1SGrPBEUVekiTd28ZUhHxnCKdtm0adYkElVA
Oqg5pL5fKR4CHMmy1koi/KDmI9H0BGG3axl77Mkrd16sSeQlDIgDmxdC3lvhgNdi
y+I8jWrujVWj/RKRehJbzelfNBaHSSqeQun/BwSFBB0Bw8W7mYke1fd2MhlCo5bX
ffGLSR0dGlW8xtitrkol57gZK0a9IotIiFG339pAhbZRGTMb/sfpAcKAGiPJPYOO
FWGmL96HBcT2O9zMebZm6GlriLBSuQ8ckA7FuTWXpw7avjtB2g9/RGgq6NAGpktk
cB2p0UVEFaXt4Rw+TmMdzO2SBJMmsHmxQAvl3abV1Tr70rplxK1gl5o19IdhnGFx
w8zxDyf5K8fGOzsLELBSmQQcaRa8FBCgjJV0Htg3dUeN5s5gh3g3ZB4bmFOwLidP
PeC2jigSEP59aN0Oj4ppk1C93hRNP+aQcuWDqoxo4hQ55lQSjoM=
=q9fD
-----END PGP SIGNATURE-----
</pre></div>
<p>Signature for apache-wicket-7.14.0.tar.gz:</p>
<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE0a6YZHC1pJw+aieyh48B+qjTVuEFAlzoNjgACgkQh48B+qjT
VuFeSA/9HBIx6ouwvhvehMmc+MtolE3AvjVlGxp2MsNBP60Owed3kKx8h1EjehbR
YPIVPlzU4Qj8Cik7bLgy7wPRXi8rGD35cFB2wXSqlwMPuGd8o8O0ubkjVPNwW6N0
Aa0gD8EWxodRuRC93GvfnS1S4uytQnfPirRqeSq0KChXkbEjB5P3tR8j6YoVsll4
PkmojVjlQjj+NSGAQYSKxhIdP/t13aQk2ETq66ecIFyC/CBZSfZeIM9/oPheY2g2
GFz6Xn528OhUVG83bRfL3hAyT23v9rA46AbUL0kcxOnJKelfHsKdI28vojnHb6Pe
MHIrAPTxOpnNJ12VXALiJXRJWySe3Jip+I+Oe1cRHA2e/xSBYyGpX3PBg4EWyoHY
Sq2NM3NR+ME2ZVHMe6OqCk/H48vKYZZDIddBj3nN0wUABdhS0qoUqxaR3BARR2UN
1H09jSC8BTBJQLEfWXdm7AVdBOxXwVWtbiM44t1qi61bOXmqLJDGLjpA/Wa27nju
3wV3z8GBoCSjGoizKXixYFw4TKY1HKm+lHUGY0z68PdGn5VpU2MFYHxdXB7AfxNN
APEt8FX8k0luf6welmFaAw7NPXDhr0yrC+bGxBBOclLFtX2dYt0n07k74FyzWPWN
IIfwzGj/zzgg9/RPy97DXP18DoVMahpFFH2hEx4VwFrmDP2bRas=
=2Ku5
-----END PGP SIGNATURE-----
</pre></div>
<p>========================================================================</p>
<h3 id="this-release">This Release</h3>
<h4 id="changelog-for-7140">CHANGELOG for 7.14.0:</h4>
<h5 id="bug">Bug</h5>
<ul>
  <li>[WICKET-6611] - Missing check for IScopeAwareTextResourceProcessor when concatenating resources</li>
  <li>[WICKET-6639] - PageStoreManager$SessionEntry.clear produces NullPointerException</li>
  <li>[WICKET-6669] - CSS Resource Bundling throws exception when used with CssUrlReplacer</li>
</ul>
<h5 id="improvement">Improvement</h5>
<ul>
  <li>[WICKET-6668] - Sign out the existing session if a sign in attempt has failed</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>
