<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Apache Wicket 6.17.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-menu-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /news/2014/08/24/wicket-6.17.0-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2014/08/24/wicket-6.17.0-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2014/08/24/wicket-6.17.0-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2014/08/24/wicket-6.17.0-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2014/08/24/wicket-6.17.0-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /news/2014/08/24/wicket-6.17.0-released.html -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /news/2014/08/24/wicket-6.17.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.17.0 released</h1>
        </header>
        <section class="left">
            <div class="l-full">
    <p class="meta">24 Aug 2014</p>
    <p>The Apache Wicket PMC is proud to announce Apache Wicket 6.17.0!</p>
<p>This release marks the seventeenth 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 has 27 improvements some of which are:</p>
<ul>
  <li>Rename log4j.properties in the quickstart when creating a project for WildFly</li>
  <li>Make is possible to position the choice label before/after/around the choice</li>
  <li>StringResourceModel with custom locale</li>
  <li>Added an HeaderItem for meta data tags such as ‘meta’ or canonical link</li>
</ul>
<p>The full list of improvements and fixes can be found at the end of this
announcement.</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.17.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.17.0">6.17.0 source download</a></li>
  <li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/6.17.0/binaries">6.17.0 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>
<h3 id="release-notes---wicket---version-6170">Release Notes - Wicket - Version 6.17.0</h3>
<h4 id="sub-task">Sub-task</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* [WICKET-5633] - Make JavaScriptFilteredIntoFooterHeaderResponse non-final to be able to create custom filters
</code></pre></div></div>
<h4 id="bug">Bug</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* [WICKET-5371] - IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
* [WICKET-5539] - Allow preserving of the parsed PageParameters when re-creating an expired page
* [WICKET-5564] - AjaxRequestTarget.focusComponent() does not work when two Ajax responses arrive next to each other
* [WICKET-5603] - OnChangeAjaxBehavior attached to DropDownChoice produces two Ajax requests in Chrome v35
* [WICKET-5607] - Wicket Ajax fires calls scheduled by AbstractAjaxTimerBehavior even after unload of the page
* [WICKET-5609] - AutoCompleteTextField can only complete text that is visible on screen browser screen 
* [WICKET-5615] - UploadProgressBar does not show up if no FileUploadField is given
* [WICKET-5616] - CLONE - ModalWindow is not visible in Safari when opened from a link at the bottom of a large page
* [WICKET-5619] - ConcurrentModificationException may occur when calling EventBus.post()
* [WICKET-5624] - Do not throw when WebSocket is not supported
* [WICKET-5626] - ConcatBundleResource#reportError() doesn't print the resource attributes
* [WICKET-5630] - Fix last button translation germany of wizard to 'Letzter'
* [WICKET-5631] - Allow submitting with POST method for PhantomJS
* [WICKET-5636] - Update StatelessForm's and AbstractRepeater's javadoc that FormComponents should be repeated only with RepeatingView
* [WICKET-5637] - Fix the encoding of the Chinese translations for Wizard component
* [WICKET-5639] - ResourceResponse does not write headers when status code is set
* [WICKET-5643] - WebPageRenderer should bind a Session if redirect is required and the session is temporary.
* [WICKET-5647] - missing generic cast causes compile error on OS X / jdk 8
* [WICKET-5655] - Problem with setting of IComponentInheritedModel and FLAG_INHERITABLE_MODEL
* [WICKET-5656] - PropertyResolver does not scan for NotNull in annotation tree
* [WICKET-5657] - wicket-autocomplete may fail after preceeding Ajax request
* [WICKET-5662] - @SpringBean(name="something", required=false) still throws org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'something' is defined
* [WICKET-5670] - org.apache.wicket.protocol.ws.api.registry.IKey should be Serializable (IClusterable)
* [WICKET-5679] - RenderStrategy REDIRECT_TO_RENDER lets fail test with BaseWicketTester#startComponentInPage
* [WICKET-5680] - AjaxEditableLabel keeps raw input after cancel following a validation failure 
</code></pre></div></div>
<h4 id="improvement">Improvement</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* [WICKET-4344] - Implement onValidateModelObjects() and beforeUpdateFormComponentModels() for nested forms
* [WICKET-4660] - Make it possible to notify about Atmosphere internal events
* [WICKET-5452] - Make Wicket-Atmosphere testable - AtmosphereTester
* [WICKET-5602] - DynamicImageResource should set the mime type after reading the image data
* [WICKET-5605] - Store browser capabilities in local variables in wicket-event-jquery.js
* [WICKET-5611] - Add AjaxChannel.DEFAULT constant = "0" and type "Queue"
* [WICKET-5627] - broadcastMessage(): hook to set more thread-local context before rendering components
* [WICKET-5628] - Introduce a marker interface for exception which are recommended to be handler by the framework
* [WICKET-5629] - Add an HeaderItem for meta data tags such as &lt;meta&gt; or canonical &lt;link&gt;
* [WICKET-5634] - Add IObjectCheckers that fails the serialization when the Session or another Page are serialized
* [WICKET-5635] - Provide a way to modify ResourceReferenceRegistry.DefaultResourceReferenceFactory externally to be used by wicket-bootstrap-less
* [WICKET-5642] - CheckingOutputObjectStream should filter duplicates by identity, not by equality
* [WICKET-5645] - Markup String of IMarkupResourceStreamProvider throws NPE for inherited markup
* [WICKET-5646] - Allow subclasses of ComponentStringResourceLoader to stop at specific components
* [WICKET-5648] - CookieUtils - multivalue related methods are broken due to the usage of ";" as a separator for the values
* [WICKET-5650] - Make is possible to position the choice label before/after/around the choice
* [WICKET-5651] - Add TagTester#getChild(String tagName) method
* [WICKET-5652] - Improve Javadoc of Ajax behaviors concerning their onXyz() methods
* [WICKET-5653] - Add a setter for IViolationTranslator to BeanValidationConfiguration
* [WICKET-5654] - DefaultViolationTranslator should maybe use getMessage()
* [WICKET-5658] - AjaxFormComponentUpdatingBehavior should not clear the rawInput when updateModel is false
* [WICKET-5659] - Add a setting to MultiFileUploadField to not close the file uploads' streams
* [WICKET-5660] - Throw more specific exception when a component cannot be found by ListenerInterfaceRequestHandler
* [WICKET-5667] - Preserve the NotSerializableException if an error occur while using the IObjectCheckers
* [WICKET-5668] - StringResourceModel with custom locale 
* [WICKET-5671] - Rename log4j.properties in the quickstart when creating a project for WildFly
* [WICKET-5673] - Improve BookmarkableMapper and BasicResourceReferenceMapper to not match when the last segment is empty
* [WICKET-5674] - Use jquery.atmosphere.js as a Webjar
</code></pre></div></div>
<h4 id="task">Task</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* [WICKET-5604] - Add a page to the site that lists other Apache projects that use Wicket
* [WICKET-5632] - Use frontend-maven-plugin to run the JavaScript tests
* [WICKET-5665] - WicketTester#assertComponentOnAjaxResponse() cannot test invisible components
</code></pre></div></div>
</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>
