<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Apache Wicket 6.15.0 released | Apache Wicket</title>
        <meta charset="utf8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <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.3.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/2014/04/23/wicket-6.15.0-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2014/04/23/wicket-6.15.0-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2014/04/23/wicket-6.15.0-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2014/04/23/wicket-6.15.0-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2014/04/23/wicket-6.15.0-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /apache || /news/2014/04/23/wicket-6.15.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 6.15.0 released</h1>
        </header>
        <section class="l-one-third right">
        </section>
        <section class="l-two-third left">
            <div class="l-full">
    <p class="meta">23 Apr 2014</p>
    <p>The Apache Wicket PMC is proud to announce Apache Wicket 6.15.0!</p>
<p>This release marks the fifteenth minor release of Wicket 6. 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="new-and-noteworthy">New and noteworthy</h3>
<p>This release fixes 25 bugs and adds the following improvements:</p>
<ul>
  <li>The second level page store has been disabled by default (see issue <a href="https://issues.apache.org/jira/browse/WICKET-5554">WICKET-5554</a> for more details).</li>
  <li>Created new placeholder tag to indicate where header contributions should appear. See this <a href="http://wicketinaction.com/2014/03/header-contributions-positioning/">blog post entry</a> or paragraph 15.8 of the official guide. </li>
</ul>
<p>This release also celebrates the 10th birthday of Wicket!</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>
<div 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.15.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
<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.15.0">http://www.apache.org/dyn/closer.cgi/wicket/6.15.0</a></li>
  <li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/6.15.0/binaries">http://www.apache.org/dyn/closer.cgi/wicket/6.15.0/binaries</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>
<h3 id="release-notes---wicket---version-6150">Release Notes - Wicket - Version 6.15.0</h3>
<h4 id="sub-task">Sub-task</h4>
<pre><code>* [WICKET-5510] - Avoid using jQuery.text() when possible. It is very slow in IE
* [WICKET-5554] - Disable second level pages store because it is efficient only when manually configured
</code></pre>
<h4 id="bug">Bug</h4>
<pre><code>* [WICKET-5243] - JS: High stack size in Function Executor causes "too much recursion"
* [WICKET-5284] - Too deep recursion in AbstractHierarchyIterator
* [WICKET-5504] - AjaxRequestTarget.append/prependJavaScript cannot handle scripts with new-lines anymore
* [WICKET-5505] - DefaultPropertyResolver does not respect JavaBean conventions
* [WICKET-5506] - DefaultPropertyResolver should resolve the Property according to the getter first
* [WICKET-5509] - Wicket examples' MailTemplate from Page is broken
* [WICKET-5517] - IE11 returns false for Wicket.Browser.isIE()
* [WICKET-5518] - FormComponent.updateCollectionModel  does not handle unmodifiableList
* [WICKET-5521] - Stateless forms does not work when RecreateMountedPagesAfterExpiry turned off
* [WICKET-5522] - Failing HTTPS redirect to RequireHttps annotated pages with ONE_PASS_RENDER strategy
* [WICKET-5523] - Ajax indicator not working when display is set to none in css
* [WICKET-5532] - NPE calling PackageResource.getResourceStream() if there is no RequestCycle defined
* [WICKET-5534] - DataTable component must throw an exception when attached to non-&amp;lt;table&amp;gt; element
* [WICKET-5536] - Error message without parmeters filled.
* [WICKET-5537] - Wicket.DOM.toggleClass is called with additional "#" inside AutoLabelResolver
* [WICKET-5541] - NullPointerException in SubscribeAnnotationEventSubscriptionInvoker on remove of component from page
* [WICKET-5545] - Cannot use redirect in ModalWindow's page#onInitialize()
* [WICKET-5546] - Adding behavior in component instantiation listener causes Page.onInitialize() being called even if constructor throws an exception
* [WICKET-5547] - Javadoc for ReuseIfModelsEqualStrategy should mention that models must implement hashCode() method
* [WICKET-5548] - Websocket initialization URL is not valid when filter is not mapped to root.
* [WICKET-5555] - AbstractAutoCompleteBehavior.WrappedHeaderItem should depend on wicket-ajax.js
* [WICKET-5556] - Error in wicket-autocomplete.js bad reference of $
* [WICKET-5557] - Don't cache the result of AuthenticatedWebApplication#getWebSessionClass()
* [WICKET-5558] - Autolinking does not always work in inheritted markup
* [WICKET-5561] - Derived page without own markup leads to MarkupNotFoundException when BasePage has &amp;lt;wicket:head&amp;gt; in its markup
</code></pre>
<h4 id="improvement">Improvement</h4>
<pre><code>* [WICKET-5508] - Memory model improvements for Session fields
* [WICKET-5512] - Allow using child selector for JS event bindings
* [WICKET-5520] - improve reusability of DataTable and AbstractPageableView
* [WICKET-5528] - Allow models of subtypes of Select type parameter in SelectOption constructor
* [WICKET-5529] - Add WebSocketBehavior/Resource#onPush() callback method
* [WICKET-5531] - Create new placeholder tag to indicate where header contributions should appear
* [WICKET-5538] - When using Component.setDefaultModel, only detach the previous model if the new one is different
* [WICKET-5549] - continueToOriginalDestination() fails after redirectToInterceptPage() on AjaxRequest* [WICKET-5288] - Allow &amp;amp;lt;script&amp;amp;gt;-Tags act as WebMarkUpContainer to add Child-Components
</code></pre>
<h4 id="new-feature">New Feature</h4>
<pre><code>* [WICKET-831] - Return response status 404 when a mapper cannot decode a request url
* [WICKET-2542] - Provide ajax buttons for wizard
</code></pre>
<h4 id="task">Task</h4>
<pre><code>* [WICKET-5514] - Update Wicket fragment example
</code></pre>
<h4 id="wish">Wish</h4>
<pre><code>* [WICKET-5516] - RadioChoice / add a getAdditionalAttributes() also for &lt;label&gt;-tag
* [WICKET-5542] - Remove final from TextArea.onComponentTagBody()
</code></pre>
</div>
        </section>
    </div>
</main>
        <footer class="l-container">
            <div class="l-full">
    <img height="60px" src="/img/asf_logo.gif" style="float:left">
    Copyright © 2014 — 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>
        </footer>
    </body>

</html>
