I"0<p>The Apache Wicket PMC is proud to announce Apache Wicket 8.0.0-M7!</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 8. 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
8.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>8.0.0-M7<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/8.0.0-M7">8.0.0-M7 source download</a></li>
  <li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/8.0.0-M7/binaries">8.0.0-M7 binary download</a></li>
</ul>

<!--more-->

<h2 id="upgrading-from-earlier-versions">Upgrading from earlier versions</h2>

<p>If you upgrade from 8.y.z this release is a drop in replacement. If
you come from a version prior to 8.0.0, please read our Wicket 8
migration guide found at</p>

<ul>
  <li>http://s.apache.org/wicket8migrate</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-8.0.0-M7.zip:</p>

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

iQIcBAABAgAGBQJZiENjAAoJEAzCjx+CMhBVYUUP/0T9R8oiLZafZ6bkvKsxWHxp
qhdinNhiG3sdsex+9cTNlzvazj0i1B4zmIqQ8+ekkVRPu/+rq/DH/SMTlTUrf9hk
91drZQ5wc8Ido3MdI+SeS0NSFvVvvH36gjXoTwLckCcwrjkUsk2k/f2S+1JYcFFx
v+KTcbZJ6Y2M1iBJILlmO/GuyNSj/CXa3UOGkhNNMUU7MEMQDPb8ZvgQndUR3nWQ
dxnyB3LE7u8k1bjK75t3RuBme6fz0ASippG5Ph0Ce/BDum/6RILf+Tioc8ZKFtS2
FCGoeFNgYb2Qx6x1Q0kZbfpxRW+SdV9ddYs0eLz2cNr4N2EYS7Y2xWcI0bUSv3gC
PXOfAJcUcWNz6LP1vtPhFCzWOAtt9Lt2JAM699AHpvAyl+pPyS163qvUmyrDwaf3
QhBd9Vab9sCMav+OhImuVQL+iRFEyiMNm/kPlpZsz0RN8Zqqu73RT3vcNT/ZlGLm
bo1AIwuJesCw/VL34PWzdglOpMVjQzFVlwd6pNzxwbohrq6gFRMLNZYTVQkELREe
uII3KDxkY4dnyjCYCNi3Obp/FaphsJ6yvfwpesUrqzQjiX1C8QgMRcaQEpU+4DGo
UxejnO5Th1ECsSjYCaCFKok38zilAiaKaQeVPFa66/sM93IqAXe0dXdelirLu59Q
DO1Z0EwihlcEIqKmOLGV
=EiFe
-----END PGP SIGNATURE-----
</pre></div>

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

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

iQIcBAABAgAGBQJZiENjAAoJEAzCjx+CMhBV0AoQALOjdIkE7o6t4ZgFO1B/jJvs
KgUl4q82vksqiWoGzOob+hkmDSlyDodXaFbZUNiKat79H8Dg5bKU7IUa+d8msPZ6
iIy9DZk6Ty/QFtVNins7SeO9w8qGAN6LSImsskUE8FpfSMEjDmmzFMTy31A+AmWS
+L3mddk4JY5CtKA2dPeZHtrlcIFL+hO99t7FueqkEEilrN8ulFmfF1Fz4kyqEBA5
XrWIgtVwUGLhd2iEgS28a/b3d0pZiweHb+MPWrItFDtZYwKzITefx8tfXir1qB2F
SPkBdbmW5f67Z+kECUTBR7Bes15vFtv9kThVTDEJ3UhA8rMdS8XmgOablGTbMEfo
ggU/raaeA7Ja4dAmxv38yLp4Ow5eoL3z5gsI9z5pUadVFItAtHs0GPMfJ14SnWY9
T0Lz2CK2LRb7RN1il1t4WpIKR8v3QzP+BZA8ZQ+wEI0jtSc9hnIEHJfxxdOvGE4v
QSSrWs0/BNg1GrBQnIzsU/RW/Gdii5bSMBAguSkx+nXYwO7ooy25fTsnguPe6Fky
cdnl70Cf27GIg5RiLX8ujlATRduaedK7ieA86ym/sPAOJX4slrjVjmwsSpjruvEn
vaVvRUP5CcpQVPr0LQxI6jF/qq5V6/MTAdoTtrT/InvH8haZTVYdEenoSkEYezHW
Knnl3Uyv25EmO9nlUYJC
=PEGU
-----END PGP SIGNATURE-----
</pre></div>

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

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

<h4 id="changelog-for-800-m7">CHANGELOG for 8.0.0-M7:</h4>

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

<ul>
  <li>[WICKET-4324] - [wicket-ioc] LazyInitProxyFactory CGLIB proxies naming strategy may cause java.lang.IllegalAccessError</li>
  <li>[WICKET-6366] - Autocomplete race condition makes page unresponsive</li>
  <li>[WICKET-6373] - Edge not recognized in UserAgent</li>
  <li>[WICKET-6374] - Exception caused by border extending another border with <wicket:extend></wicket:extend></li>
  <li>[WICKET-6376] - Ajax redirects to non http(s)-urls are interpreted as relative</li>
  <li>[WICKET-6377] - Autolinking breaks hierarchy for nested elements</li>
  <li>[WICKET-6379] - IModel’s default models should detach the target model</li>
  <li>[WICKET-6386] - Simplification of the code in WICKET-3347 is not consistent with previous behavior</li>
  <li>[WICKET-6387] - ModalWindow PageReference broken</li>
  <li>[WICKET-6393] - NestedStringResourceLoader ignores hard-coded default values and throws MissingResourceException</li>
  <li>[WICKET-6398] - WICKET-6204 breaks jQuery.noConflict()</li>
  <li>[WICKET-6399] - Dequeuing of Border component with nested body fails</li>
  <li>[WICKET-6400] - Object with array property fails on NPE when construction JSON object</li>
  <li>[WICKET-6402] - OSGi-Manifest: wicket does not declare BSN</li>
  <li>[WICKET-6406] - Each path has to be pushed directly</li>
  <li>[WICKET-6419] -  Localization of PageParameters</li>
  <li>[WICKET-6428] - PageProvider#getPageInstance() may return null</li>
  <li>[WICKET-6429] - AbstractRequestLogger should not create new Sessions</li>
  <li>[WICKET-6434] - Fixed WicketTester to detect components in enclosure when doing isComponentOnAjaxResponse.</li>
</ul>

<h5 id="improvement">Improvement</h5>

<ul>
  <li>[WICKET-6372] - Consider to switch to a sans-serif typeface in the Wicket guide</li>
  <li>[WICKET-6385] - Allow using custom port for web socket connections</li>
  <li>[WICKET-6388] - MockServletContext should define non-null session tracking modes</li>
  <li>[WICKET-6389] - Introduce CsrfPreventionRequestCycleListener that is aware of Web Socket requests</li>
  <li>[WICKET-6401] - OSGi-Manifest: wicket-util should decalre its dependency to ‘commons-io’ and ‘commons-fileupload’</li>
  <li>[WICKET-6412] - Model#orElse behavior is inconsistent!</li>
  <li>[WICKET-6421] - WicketTester should provide assertBehavior method</li>
  <li>[WICKET-6433] - Allow to set the rel attribute with CssHeaderItem</li>
  <li>[WICKET-6436] - Please add CompoundPropertyModel.of(T object) method</li>
  <li>[WICKET-6437] - Libraries should be updated to most recent versions</li>
</ul>

<h5 id="task">Task</h5>

<ul>
  <li>[WICKET-6390] - Update Tomcat to 8.5.15 to get the latest HTTP2 features and APIs</li>
</ul>

:ET