<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 6.24.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/2016/07/21/wicket-6.24.0-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2016/07/21/wicket-6.24.0-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2016/07/21/wicket-6.24.0-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2016/07/21/wicket-6.24.0-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2016/07/21/wicket-6.24.0-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /news/2016/07/21/wicket-6.24.0-released.html -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /news/2016/07/21/wicket-6.24.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 6.24.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="#new-and-noteworthy"><span class="toc-number">1</span> <span class="toc-text">New and noteworthy</span></a></li><li class="toc--level-1 toc--section-2"><a href="#using-this-release"><span class="toc-number">2</span> <span class="toc-text">Using this release</span></a></li><li class="toc--level-1 toc--section-3"><a href="#upgrading-from-earlier-versions"><span class="toc-number">3</span> <span class="toc-text">Upgrading from earlier versions</span></a><ul><li class="toc--level-2 toc--section-4"><a href="#this-release"><span class="toc-number">3.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">21 Jul 2016</p>
    <p>The Apache Wicket PMC is proud to announce Apache Wicket 6.24.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 6. 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
6.0.0.</p>
<h2 id="new-and-noteworthy">New and noteworthy</h2>
<ul>
  <li>
    <p>upgrades JQuery dependency to 1.12.4 and 2.2.4</p>
  </li>
  <li>
    <p>increases performance when using KeyInSessionSunJceCryptFactory</p>
  </li>
</ul>
<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>6.24.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</p>
<ul>
  <li>Source: <a href="http://www.apache.org/dyn/closer.cgi/wicket/6.24.0">6.24.0 source download</a></li>
  <li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/6.24.0/binaries">6.24.0 binary download</a></li>
</ul>
<h2 id="upgrading-from-earlier-versions">Upgrading from earlier versions</h2>
<p>If you upgrade from 6.y.z this release is a drop in replacement. If
you come from a version prior to 6.0.0, please read our Wicket 6
migration guide found at</p>
<ul>
  <li><a href="http://s.apache.org/wicket6migration">http://s.apache.org/wicket6migration</a></li>
</ul>
<p>Have fun!</p>
<p>— The Wicket team</p>
<p>================================</p>
<p>The signatures for the source release artefacts:</p>
<p>Signature for apache-wicket-6.24.0.zip:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iEYEABECAAYFAleLyQ4ACgkQJBX8W/xy/UU+KgCg1k+wBV51fa1YXIZWkObNA3WS
JDcAn3nrxumEXqau3kMoFd3Nb2FpOHjz
=OALQ
-----END PGP SIGNATURE-----
</code></pre></div></div>
<p>Signature for apache-wicket-6.24.0.tar.gz:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iEYEABECAAYFAleLyQ4ACgkQJBX8W/xy/UXYFwCeP13OmmFBJqljbW5CKYwUbFSY
QxEAnif6bikYEgoeNv7eBeUsoutC8Hp8
=lDjk
-----END PGP SIGNATURE-----
</code></pre></div></div>
<p>================================</p>
<h3 id="this-release">This Release</h3>
<h4 id="changelog-for-6240">CHANGELOG for 6.24.0:</h4>
<h5 id="bug">Bug</h5>
<ul>
  <li>[WICKET-6154] - Performance bottleneck when using KeyInSessionSunJceCryptFactory</li>
  <li>[WICKET-6169] - NullPointerException accessing AbstractRequestLogger.getLiveSessions</li>
  <li>[WICKET-6172] - Inconsistent results from getTag[s]ByWicketId</li>
  <li>[WICKET-6174] - Browser/Client info navigatorJavaEnabled property returns undefined</li>
  <li>[WICKET-6175] - Aautocomplete suggestion window is not closing in IE11</li>
  <li>[WICKET-6181] - Revert the removal of the default error message when uploading too big files</li>
  <li>[WICKET-6191] - AjaxTimerBehavior will stop after ajax update of component it is attached to</li>
  <li>[WICKET-6202] - Guide: 26.1 Page storing, section HttpSessionDataStore - example code is not correct</li>
  <li>[WICKET-6204] - Copy only the provided attributes for Ajax link inclusion</li>
</ul>
<h5 id="improvement">Improvement</h5>
<ul>
  <li>[WICKET-6053] - Allow to reuse the same application instance in several tests</li>
  <li>[WICKET-6178] - MetaDataHeaderItem # generateString() should return specials characters escaped like StringEscapeUtils.escapeHtml(s) does</li>
  <li>[WICKET-6186] - Upgrade JQuery to 1.12.4/2.2.4</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>
