<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 6.29.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/2018/02/21/wicket-6.29.0-released.html -->
		
    	
        
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
    
		
    	
        
        
		<!-- /start/download.html || /news/2018/02/21/wicket-6.29.0-released.html -->
		
    	
        
    	<li class=""><a href="/start/download.html">Download</a></li>
    
		
    	
        
        
		<!-- /learn || /news/2018/02/21/wicket-6.29.0-released.html -->
		
    	
        
    	<li class=""><a href="/learn">Documentation</a></li>
    
		
    	
        
        
		<!-- /help || /news/2018/02/21/wicket-6.29.0-released.html -->
		
    	
        
    	<li class=""><a href="/help">Support</a></li>
    
		
    	
        
        
		<!-- /contribute || /news/2018/02/21/wicket-6.29.0-released.html -->
		
    	
        
    	<li class=""><a href="/contribute">Contribute</a></li>
    
		
    	
        
        
		<!-- /community || /news/2018/02/21/wicket-6.29.0-released.html -->
		
    	
        
    	<li class=""><a href="/community">Community</a></li>
    
		
    	
        
        
		<!-- /apache || /news/2018/02/21/wicket-6.29.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.29.0 released</h1>
            
            
            
        </header>
        <section class="toc left">
            <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>
            <div class="l-full">
    <p class="meta">21 Feb 2018</p>
    <p>The Apache Wicket PMC is proud to announce Apache Wicket 6.29.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="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.29.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.29.0">6.29.0 source download</a></li>
  <li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/6.29.0/binaries">6.29.0 binary download</a></li>
</ul>

<!--more-->

<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>http://s.apache.org/wicket6migration</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-6.29.0.zip:</p>

<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJaiFhXAAoJEIePAfqo01bhrh0QAKXGaVgypdlZgaK5b6M3Fxgu
S5LW18OjhEQFQ4yYuz6CE3C/L54u6K4Es6SBhUgAVGuLwaRBdflOfcNA7DRm0Imh
rHcssI6bt7DBxEjIu+XmXEqfgSmZ3P3VQQWGbPtbSMYBXSjhhYFdb8D286U0ec3T
f/vD28ZZmdvRV7NuMKUe54cyMXFebmSfutwQWZqKs/Gx/HOZh4cU2lBbmLvPOuvy
aT1nN7kLhrxROvzOgoyAOo5Dv7HlFrs7eJFQXr1Resz1FTMJrP6sNAQpY3QlcYUa
rORqmxp8H4mXbSVkLk4Kquu6Q6tOcbijUZPZC4Vm5W+xPsBZrsYtJF8S76GZlbq1
tBKlkmwweX/MirHnLwqHaMm43iz7dyf6FS5C9qi0j4GmMKGSh+Lv7Sk1wP3bvyc2
80loN03gJYCxrse7PcqO65STBjQ8fZlhpHt8yVxwdKJexPJd/aHJHmnoMsJ1FfHj
LxNlHyya34XTpSZBE8Q+Qv47MOLsvGrkbD0876YwjMSQtDX9cUrRC95Hvtvxmqgm
w9GlnnDY8q4Ts9ZZeJSDbanPY3zmAkVrpg+yqlY/pZsFCqh8Wv3L5DUNh+3cUBX+
B7UyK+DJCXOld+81tESZWZhHAN6DXZWrWANrrtkeWO3qtdNLZTaOMAHaaoHPWJEK
xo2Iapi8IzjYJr5jN7nq
=ZuKl
-----END PGP SIGNATURE-----
</pre></div>

<p>Signature for apache-wicket-6.29.0.tar.gz:</p>

<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJaiFhXAAoJEIePAfqo01bhPY8P/j6Lwdz9Swa/mHs6EagLTq0s
iArc8ZQzlt8GtnpVr6IIngDcFwvhvsWqCtSpPFmUt74xtZbA6oz6GBhEE0Dmsr9x
93Ov2aKYRU1pR/H5VkNWqdR67J6QT4amE81T+RzbfQbvcP7YFIIbPOTg4ox3Za61
fu2NlkzB4u9qiPfqad6ylGoVu4mUde+klsnQiHL2dA3DmucChG08I9xjgzqQDIwo
ph2gbieag9RjbgRQEKOYOQcBBS7B8VCNvFxslbchGJEQm6B2QVuQV3+nvyWbjQ0J
u0tpbZA0Wev59dzpLRJDSFcccgBCCII+MP9RZPRuQSUDAyIg/PJ1LFtm/85hxV7C
VqDTMuniLYZT8shTWw4VKQfVGmjso/eRQsNAG7BeMZqxBWQpQQ+6BMoy2piXAavp
RZxO17Ct0V9dPVp7cTTHiet/Iz1oPwkceF5KmaQl1vLhicBbvLF6993ny7iP0Lyo
t+Jh1v4TFf7Daxxgl6q1tO2zDZc94877FXwjZ7b/n37SoRENzTPj+sNhpS3jCZ+E
QxXp/dYU0L6+mVLhJ4XPWAsTljdvnXwHf7S1RBSeEsGb9BM97l6Yh2WpWTgvLiwy
lvdWNkWX1pd6fD1V/XT83FtlQDURPkGN6Bbbfmwh8pSPbzQMn2Q5EXlFTLcTsVhW
QV/yE6KsG5K8AqjY9DdD
=oA/r
-----END PGP SIGNATURE-----
</pre></div>

<p>========================================================================</p>

<h3 id="this-release">This Release</h3>

<h4 id="changelog-for-6290">CHANGELOG for 6.29.0:</h4>

<h5 id="bug">Bug</h5>

<ul>
  <li>[WICKET-6484] - Wicket.Cookie.set does not set ‘secure’ flag</li>
  <li>[WICKET-6501] - DefaultPageManagerProvider does not honour StoreSettings.setAsynchronous(false)</li>
  <li>[WICKET-6526] - Ajax Buttons do not check for the HTTP method and thus don’t respect Form#onMethodMismatch</li>
  <li>[WICKET-6530] - Race-condition in session invalidation</li>
</ul>


</div>


        </section>
    </div>
</main>

        <footer>
            <div class="l-container">
    <div class="left">
        <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>
</div>
        </footer>
    </body>
</html>
