<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 6.9.1 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/2013/07/10/wicket-6.9.1-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2013/07/10/wicket-6.9.1-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2013/07/10/wicket-6.9.1-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2013/07/10/wicket-6.9.1-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2013/07/10/wicket-6.9.1-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /news/2013/07/10/wicket-6.9.1-released.html -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /news/2013/07/10/wicket-6.9.1-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.9.1 released</h1>
        </header>
        <section class="left">
            <div class="l-full">
    <p class="meta">10 Jul 2013</p>
    <p>The Apache Wicket PMC announces Apache Wicket 6.9.1!</p>
<p>This is a patch release for 6.9.0 where we inadvertently broke CDI
injection into (amongst others) anonymous inner classes. See below
for more information regarding this release.</p>
<p>Please note that this patch release <strong>only</strong> fixes WICKET-5264.</p>
<p>Starting with Wicket 6 we use semantic versioning for the future
development of Wicket, and as such no API breaks are present in this
release compared to 6.0.0.</p>
<h3 id="jquery-update-in-690">JQuery update in 6.9.0</h3>
<p>As of Wicket 6.9 we ship JQuery 1.10.1. The JQuery project has
decided to remove deprecated APIs from their codebase from JQuery 1.9
and up. This means that JQuery plugins using these deprecated APIs no
longer work. See the JQuery migration guide for more information,
available from http://jquery.com/upgrade-guide/1.9/</p>
<p>If your application depends on these deprecated APIs you can easily
downgrade to JQuery 1.8.3-the previously provided JQuery that still
contains these APIs. Download the 1.8.3 release of jquery and add it
to your project in its application’s init method:</p>
<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="nd">@Override</span> 
<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="o">{</span>
    <span class="n">getJavaScriptLibrarySettings</span><span class="o">()</span>
        <span class="o">.</span><span class="na">setJQueryReference</span><span class="o">(</span><span class="n">yourJquery183ResourceReference</span><span class="o">);</span>
<span class="o">}</span></code></pre></figure>
<h3 id="cdi-injection-issue">CDI injection issue</h3>
<p>In the CDI releases of Weld 2.0.1 and prior, it was assumed that
injection in anonymous inner classes was not legal and when
attempted, it resulted in an exception:</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000070
Simple bean [EnhancedAnnotatedTypeImpl] private class
com.example.HomePage$AForm cannot be a non-static inner class</code></pre></figure>
<p>This was reported as
<a href="https://issues.apache.org/jira/browse/WICKET-5226">WICKET-5226</a>, as
it became an issue in Glassfish 4, which ships with Weld 2.0.1 (or
earlier). We implemented a fix for this particular issue by not
injecting into anonymous inner classes.</p>
<p>Unfortunately this was not a bug that needed fixing on our part, but
rather in the Weld framework (see
<a href="https://issues.jboss.org/browse/WELD-1441">WELD-1441</a>)</p>
<p>Therefore we reverted the commits done for WICKET-5226 and hope that
Glassfish will upgrade their Weld implementation soon. For the whole
story read
<a href="https://issues.apache.org/jira/browse/WICKET-5264">WICKET-5264</a></p>
<h3 id="using-this-release">Using this release</h3>
<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.9.1<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.9.1">6.9.1 source download</a></li>
  <li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/6.9.1/binaries">6.9.1 binary download</a></li>
</ul>
<h3 id="upgrading-from-earlier-versions">Upgrading from earlier versions</h3>
<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="https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+6.0">migration to Wicket 6.0</a></li>
</ul>
<p>Have fun!</p>
<p>— The Wicket team</p>
</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>
