<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Monthly archive for November 2012 | 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/2012/11 -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2012/11 -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2012/11 -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2012/11 -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2012/11 -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /apache || /news/2012/11 -->
    	<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>Monthly archive for November 2012</h1>
        </header>
        <div class="l-two-third">
<div class="news">
	<h3>Wicket 1.5.9 released</h3>
  <p><small>09 Nov 2012</small></p>
	<p>This is the nineth maintenance release of the Wicket 1.5.x series. This release brings over 48 bug fixes and improvements.</p>
<ul>
  <li><a href="https://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=shortlog;h=refs/tags/release/wicket.1.5.9">Git tag</a></li>
  <li><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310561&amp;version=12322962">Changelog</a></li>
  <li>To use in Maven:</li>
</ul>
<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.wi...</code></pre></div>
	<a href="/news/2012/11/09/wicket-1.5.9-released.html">more</a></li>
</div>
<div class="news">
	<h3>Apache Wicket 6.3.0 released</h3>
  <p><small>16 Nov 2012</small></p>
	<p>The Apache Wicket PMC is proud to announce Apache Wicket 6.3.0!</p>
<p>This release marks the third minor release of Wicket 6. Starting
with Wicket 6 we u...</p>
	<a href="/news/2012/11/16/wicket-6.3.0-released.html">more</a></li>
</div>
        </div>
        <div class="l-one-third">
            <h2>2015</h2>
            <ul>
            <li><a href="/news/2015">All of 2015</a></li>
            <li><a href="/news/2015/06">June</a></li>
            <li><a href="/news/2015/02">February</a></li>
            </ul>
            <h2>2014</h2>
            <ul>
            <li><a href="/news/2014">All of 2014</a></li>
            <li><a href="/news/2014/11">November</a></li>
            <li><a href="/news/2014/09">September</a></li>
            <li><a href="/news/2014/08">August</a></li>
            <li><a href="/news/2014/06">June</a></li>
            <li><a href="/news/2014/04">April</a></li>
            <li><a href="/news/2014/02">February</a></li>
            <li><a href="/news/2014/01">January</a></li>
            </ul>
            <h2>2013</h2>
            <ul>
            <li><a href="/news/2013">All of 2013</a></li>
            <li><a href="/news/2013/11">November</a></li>
            <li><a href="/news/2013/09">September</a></li>
            <li><a href="/news/2013/08">August</a></li>
            <li><a href="/news/2013/07">July</a></li>
            <li><a href="/news/2013/06">June</a></li>
            <li><a href="/news/2013/05">May</a></li>
            <li><a href="/news/2013/04">April</a></li>
            <li><a href="/news/2013/03">March</a></li>
            <li><a href="/news/2013/02">February</a></li>
            <li><a href="/news/2013/01">January</a></li>
            </ul>
            <h2>2012</h2>
            <ul>
            <li><a href="/news/2012">All of 2012</a></li>
            <li><a href="/news/2012/12">December</a></li>
            <li><a href="/news/2012/11">November</a></li>
            <li><a href="/news/2012/10">October</a></li>
            <li><a href="/news/2012/09">September</a></li>
            <li><a href="/news/2012/08">August</a></li>
            <li><a href="/news/2012/07">July</a></li>
            <li><a href="/news/2012/06">June</a></li>
            <li><a href="/news/2012/05">May</a></li>
            <li><a href="/news/2012/03">March</a></li>
            <li><a href="/news/2012/01">January</a></li>
            </ul>
            <h2>2011</h2>
            <ul>
            <li><a href="/news/2011">All of 2011</a></li>
            <li><a href="/news/2011/11">November</a></li>
            <li><a href="/news/2011/10">October</a></li>
            <li><a href="/news/2011/09">September</a></li>
            <li><a href="/news/2011/08">August</a></li>
            <li><a href="/news/2011/06">June</a></li>
            <li><a href="/news/2011/05">May</a></li>
            <li><a href="/news/2011/04">April</a></li>
            <li><a href="/news/2011/03">March</a></li>
            <li><a href="/news/2011/02">February</a></li>
            <li><a href="/news/2011/01">January</a></li>
            </ul>
            <h2>2010</h2>
            <ul>
            <li><a href="/news/2010">All of 2010</a></li>
            <li><a href="/news/2010/12">December</a></li>
            <li><a href="/news/2010/11">November</a></li>
            <li><a href="/news/2010/09">September</a></li>
            <li><a href="/news/2010/08">August</a></li>
            <li><a href="/news/2010/05">May</a></li>
            <li><a href="/news/2010/03">March</a></li>
            <li><a href="/news/2010/02">February</a></li>
            </ul>
            <h2>2009</h2>
            <ul>
            <li><a href="/news/2009">All of 2009</a></li>
            <li><a href="/news/2009/12">December</a></li>
            <li><a href="/news/2009/10">October</a></li>
            <li><a href="/news/2009/08">August</a></li>
            <li><a href="/news/2009/07">July</a></li>
            </ul>
        </div>
    </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>
