blob: 65ac50945b5f10d06726792e40312665886e098f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="utf-8">
<title>Announcing Apache Wicket 9: get into the modern Java world! | 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-container">
<nav class="mainmenu">
<div class="nav-logo">
<a href="/"><img src="/img/logo-apachewicket.svg" alt="Apache Wicket"></a>
</div>
<div class="nav-container">
<!-- /start/quickstart.html || /news/2020/07/15/wicket-9-released.html -->
<a href="/start/quickstart.html" class=" nav-items">Quick Start</a>
<!-- /start/download.html || /news/2020/07/15/wicket-9-released.html -->
<a href="/start/download.html" class=" nav-items">Download</a>
<!-- /learn || /news/2020/07/15/wicket-9-released.html -->
<a href="/learn" class=" nav-items">Documentation</a>
<!-- /help || /news/2020/07/15/wicket-9-released.html -->
<a href="/help" class=" nav-items">Support</a>
<!-- /contribute || /news/2020/07/15/wicket-9-released.html -->
<a href="/contribute" class=" nav-items">Contribute</a>
<!-- /community || /news/2020/07/15/wicket-9-released.html -->
<a href="/community" class=" nav-items">Community</a>
<!-- /apache || /news/2020/07/15/wicket-9-released.html -->
<a href="/apache" class=" nav-items">Apache</a>
</div>
<div class="nav-container ">
<a href="https://github.com/apache/wicket" target="_blank"><i class="fa fa-github nav-items"></i></a>
<a href="https://twitter.com/apache_wicket" target="_blank"><i class="fa fa-twitter nav-items"></i></a>
<a href="https://builtwithwicket.tumblr.com" target="_blank"><i class="fa fa-tumblr nav-items"></i></a>
</div>
</nav>
</div>
</div>
<main>
<div class="l-container">
<header class="l-full preamble">
<h1>Announcing Apache Wicket 9: get into the modern Java world!</h1>
</header>
<section class="toc left">
<div id="toc" class="toc"><div id="toc-title"><h2>Table of Contents</h2></div><ul><li class="toc--level-1 toc--section-1"><a href="#bring-the-web-into-the-modern-java-era"><span class="toc-number">1</span> <span class="toc-text">Bring the web into the modern Java era</span></a></li><li class="toc--level-1 toc--section-2"><a href="#stay-up-to-date-with-java-release-cycle"><span class="toc-number">2</span> <span class="toc-text">Stay up to date with Java release cycle</span></a></li><li class="toc--level-1 toc--section-3"><a href="#be-ready-for-the-next-java-enterprise"><span class="toc-number">3</span> <span class="toc-text">Be ready for the next Java Enterprise</span></a></li><li class="toc--level-1 toc--section-4"><a href="#protect-your-web-apps-with-content-security-policy-csp"><span class="toc-number">4</span> <span class="toc-text">Protect your web apps with Content Security Policy (CSP)</span></a></li><li class="toc--level-1 toc--section-5"><a href="#migrating-to-wicket-9"><span class="toc-number">5</span> <span class="toc-text">Migrating to Wicket 9</span></a></li><li class="toc--level-1 toc--section-6"><a href="#support"><span class="toc-number">6</span> <span class="toc-text">Support</span></a></li><li class="toc--level-1 toc--section-7"><a href="#download"><span class="toc-number">7</span> <span class="toc-text">Download</span></a></li><li class="toc--level-1 toc--section-8"><a href="#thanks"><span class="toc-number">8</span> <span class="toc-text">Thanks</span></a></li></ul></div>
</section>
<section>
<div class="l-full">
<p class="meta">15 Jul 2020</p>
<p>The Apache Wicket project announces the 9th major release of the open source Java web framework servicing websites and applications across the globe since 2004. Built on top of Java 11, this version of Wicket brings web development into the modern Java world, offering a fundamental tool to keep you code up to date with Java evolution.</p>
<!--more-->
<h2 id="bring-the-web-into-the-modern-java-era">Bring the web into the modern Java era</h2>
<p>The release of Java 9 has been a turning point in Java history which laid the foundation for the modern Java era. However, the magnitude of this change has discouraged many developers from leaving the safe harbor represented by Java 8. With Wicket 9 we finally have a fundamental tool to move on and bring our web applications into the new Java world.</p>
<p>With this version Wicket has been completely revisited and improved to embrace new technologies such as Java modularization and new libraries like JUnit 5.</p>
<h2 id="stay-up-to-date-with-java-release-cycle">Stay up to date with Java release cycle</h2>
<p>With Java releasing at a faster pace it’s important to keep a library up to date with the lastest changes introduced in the platform and ensure it works with the latest Java release. Wicket does all of this by taking part to the <a href="https://wiki.openjdk.java.net/display/quality/Quality+Outreach">OpenJDK Quality Outreach</a>, an initiative aimed to test popular Open Source projects with both the latest OpenJDK release and the Early Access release.</p>
<h2 id="be-ready-for-the-next-java-enterprise">Be ready for the next Java Enterprise</h2>
<p>Shortly after Java 9 was released, Oracle submitted Java EE to the Eclipse Foundation. As side effect of this owner change, the package name ‘javax’ had to be migrated to ‘jakarta’. Wicket historically promoted decoupling of Java EE APIs and application code, making the transition to future Java Enterprise versions much easier.</p>
<h2 id="protect-your-web-apps-with-content-security-policy-csp">Protect your web apps with Content Security Policy (CSP)</h2>
<p>s the number of security threats grows, it’s crucial for web applications to adopt the latest security standards and countermeasures. CSP is a modern standard that allows applications to declare approved origins of content (such as JavaScript, CSS, images, etc…) for the browser to load. Constructing a safe and at the same time complete CSP can be challenging. You either risk leaving holes in the defense of your application or you break certain functionality. Protecting against unwanted inline scripts is the most important target to attain. In CSP this is called ‘unsafe-inline’ and it’s the most common cause of cross-site scripting vulnerabilities.</p>
<p>Wicket 9 comes with full support for CSP and does not need any unsafe directives. Wicket will automatically add a nonce to every header contribution and whitelist this nonce. This allows for flexible loading of resources without the need for a complex CSP. Of course it is possible to modify and customize the CSP, add additional directives or disable it entirely. Lookup our documentation for more information.</p>
<h2 id="migrating-to-wicket-9">Migrating to Wicket 9</h2>
<p>When you migrate from a previous Wicket version to Wicket 9, a full list of changes and migrations is available at the following page:</p>
<p><a href="https://s.apache.org/wicket9migrate">https://s.apache.org/wicket9migrate</a></p>
<p>Please consult this migration guide when you are moving towards Wicket 9.</p>
<h2 id="support">Support</h2>
<p>You can find out about our support channels through the following page on our website: <a href="https://wicket.apache.org/help/">https://wicket.apache.org/help/</a></p>
<h2 id="download">Download</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>9.0.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/9.0.0">9.0.0 source download</a></li>
<li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/9.0.0/binaries">9.0.0 binary download</a></li>
</ul>
<h2 id="thanks">Thanks</h2>
<p>Our many thanks go out to our contributors for testing this release during its development and providing invaluable feedback.</p>
</div>
</section>
</div>
</main>
<footer>
<div class="l-container">
<div class="left">
<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>
</div>
</footer>
</body>
</html>