<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"> 
    <title>Apache Wicket</title>
    <link href="http://wicket.apache.org/atom.xml" rel="self"/>
    <link href="http://wicket.apache.org/"/>
    <updated>2026-11-01T20:32:27+00:00</updated>
    <id>http://wicket.apache.org/</id>
    <author>
        <name>Apache Wicket</name>
        <email>dev@wicket.apache.org</email>
    </author>
 

    <entry>
        <title>Apache Wicket 11.0.0 released</title>
        <link href="http://wicket.apache.org/news/2026/11/01/wicket-11.0.0-released.html"/>
        <updated>2026-11-01T11:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/11/01/wicket-11.0.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 11.0.0, the first release of a new
major version of Wicket.&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;p&gt;Wicket 11 lets an application drop jQuery entirely, uses less memory and time per component,
moves to Java 21 and Jakarta EE 11, and rebuilds Wicket’s encryption on a single,
authenticated API. It is the first major release on our new cadence: a new major release
every three months, with a long-term support release every July. Wicket 12 follows in
January 2027.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;release-cadence-and-support&quot;&gt;Release cadence and support&lt;/h2&gt;

&lt;p&gt;Wicket 11 is the first release on the schedule
&lt;a href=&quot;/news/2026/09/11/release-cadence.html&quot;&gt;we announced in September&lt;/a&gt;: a new
major release every three months, and a long-term support (LTS) release every July.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Wicket 12.0.0: January 2027&lt;/li&gt;
  &lt;li&gt;Wicket 13.0.0: April 2027&lt;/li&gt;
  &lt;li&gt;Wicket 14.0.0: July 2027, the next LTS release&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Only the latest quarterly release receives bug fixes and security fixes, so Wicket 11
receives them until Wicket 12 is out. Wicket 10 is the current LTS release and receives
security fixes and applicable bug fixes until Wicket 14 is released. That gives you two ways
to stay on a supported version:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;follow the quarterly releases: Wicket 11 now, Wicket 12 in January, and so on;&lt;/li&gt;
  &lt;li&gt;stay on Wicket 10, and move to Wicket 14 when it comes out.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Wicket 9.25.0 and 8.20.0, released on 29 October 2026, were the final releases of the 9.x
and 8.x lines; both
&lt;a href=&quot;/news/2026/10/21/wicket-8-and-9-end-of-life.html&quot;&gt;have reached end of life&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;h3 id=&quot;ajax-without-jquery&quot;&gt;Ajax without jQuery&lt;/h3&gt;

&lt;p&gt;Wicket’s client-side Ajax engine has always been built on jQuery. Wicket 11 adds a second
implementation in plain JavaScript with the same public API: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Wicket.Ajax&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Wicket.Event&lt;/code&gt;,
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Wicket.DOM&lt;/code&gt; and the rest. The other framework JavaScript (autocomplete, palette, upload
progress, trap focus, the debug bar, native WebSockets) no longer uses jQuery at all, so one
line removes jQuery from your application:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-java&quot; data-lang=&quot;java&quot;&gt;&lt;span class=&quot;nd&quot;&gt;@Override&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;getJavaScriptLibrarySettings&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setWicketAjaxReference&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;WicketAjaxResourceReference&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;());&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;jQuery remains the default in Wicket 11. A future major release is likely to make the plain
JavaScript engine the default, so this is a good moment to try it.&lt;/p&gt;

&lt;h3 id=&quot;faster-and-leaner&quot;&gt;Faster and leaner&lt;/h3&gt;

&lt;p&gt;Wicket 11 keeps a component’s model, behaviors and meta data in a single, simpler structure,
and a link or Ajax component no longer carries extra bookkeeping for its behavior ids.
Measured against Wicket 10 with the JMH benchmarks in the new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-benchmarks&lt;/code&gt; module:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt; &lt;/th&gt;
      &lt;th&gt;Compared with Wicket 10&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Heap per component with an Ajax behavior&lt;/td&gt;
      &lt;td&gt;72 bytes less&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;A page of such components, serialized&lt;/td&gt;
      &lt;td&gt;About 40% smaller&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Reading a component’s model&lt;/td&gt;
      &lt;td&gt;Half the time&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Reading the behaviors of an Ajax component&lt;/td&gt;
      &lt;td&gt;82% less time&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Creating and detaching an Ajax component&lt;/td&gt;
      &lt;td&gt;43% faster, half the allocation&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Looking up a property, string resource or markup file&lt;/td&gt;
      &lt;td&gt;Up to 6.6 times faster, 40–45% less allocation&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Writing a 500-component page to the page store&lt;/td&gt;
      &lt;td&gt;16% less allocation&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;These are microbenchmarks; what an application gains depends on its pages.&lt;/p&gt;

&lt;h3 id=&quot;java-21-and-jakarta-ee-11&quot;&gt;Java 21 and Jakarta EE 11&lt;/h3&gt;

&lt;p&gt;Wicket 11 moves to the current Java platform: Java 21 and Jakarta EE 11, with Jakarta
Servlet 6.1. It is built and tested with Jetty 12.1, Spring 7, CDI 5 with Weld 7, and
JUnit 6. Wicket 10 required Java 17, and Wicket 8 ran on Java 8. If your application is
still on Java 8, the road runs through Wicket 10 for the move from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;javax&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jakarta&lt;/code&gt;, and
from there to Wicket 11.&lt;/p&gt;

&lt;h3 id=&quot;ajax-veils&quot;&gt;Ajax veils&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PageVeilBehavior&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LocalVeilBehavior&lt;/code&gt; in wicket-extensions block the whole page, or a
single component, while an Ajax request runs. A second click on a slow button no longer
sends the request twice, and a click elsewhere no longer acts on markup the response is about
to replace. A spinner appears only when the request takes longer than 300 ms, and local veils
nest, each with its own timings.&lt;/p&gt;

&lt;h3 id=&quot;uploads-to-a-resource&quot;&gt;Uploads to a resource&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FileUploadToResourceField&lt;/code&gt; can now take files dropped on any component
(&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FileDropZoneBehavior&lt;/code&gt;) and list the chosen files with a remove button (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FileListBehavior&lt;/code&gt;).
Two files of the same name no longer overwrite each other, and a failed upload ends in
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onUploadFailure()&lt;/code&gt; instead of on the error page.&lt;/p&gt;

&lt;h3 id=&quot;one-cryptography-api&quot;&gt;One cryptography API&lt;/h3&gt;

&lt;p&gt;Wicket 11 replaces its two encryption APIs, one for URLs and one for the page store, with a
single &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ICrypt&lt;/code&gt; that always uses authenticated encryption. Choose the scheme with
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SecuritySettings#setCryptScheme&lt;/code&gt;: AES-256-GCM by default, or AES-256-GCM-SIV with Bouncy
Castle.&lt;/p&gt;

&lt;h3 id=&quot;and-more&quot;&gt;And more&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LoadableDetachableModel&lt;/code&gt; has new detach hooks: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onDetach(T)&lt;/code&gt; receives the object that is
being detached, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onDetachAlways()&lt;/code&gt; runs on every detach&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AjaxFormComponentUpdatingBehavior&lt;/code&gt; also processes the components inside a
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FormComponentPanel&lt;/code&gt;, so the panel’s model is up to date in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onUpdate()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven, update your dependency, and every other Wicket module you use, to the
same version:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;11.0.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download the source and the binaries from the
&lt;a href=&quot;/versions/wicket-11.x/#manually&quot;&gt;Wicket 11 page&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;upgrading-from-wicket-10&quot;&gt;Upgrading from Wicket 10&lt;/h2&gt;

&lt;p&gt;Wicket 11 is not a drop-in replacement for Wicket 10. Move to Java 21 and a container with
Jakarta Servlet 6.1 first. The OpenRewrite recipe &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;org.apache.wicket.MigrateToWicket11&lt;/code&gt; in
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-migration&lt;/code&gt; then handles the mechanical changes, including the Wicket version and the
new groupId &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;org.apache.wicket.experimental.wicket11&lt;/code&gt; of the experimental modules:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-shell&quot; data-lang=&quot;shell&quot;&gt;mvn &lt;span class=&quot;nt&quot;&gt;-U&lt;/span&gt; org.openrewrite.maven:rewrite-maven-plugin:run &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-Drewrite&lt;/span&gt;.recipeArtifactCoordinates&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;org.apache.wicket:wicket-migration:11.0.0 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-Drewrite&lt;/span&gt;.activeRecipes&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;org.apache.wicket.MigrateToWicket11&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Check these by hand; the &lt;a href=&quot;https://s.apache.org/wicket11migrate&quot;&gt;migration guide&lt;/a&gt; has the
details and the rest of the changes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Wicket 11 can’t decrypt anything Wicket 10 encrypted. Encrypted URLs bookmarked under
Wicket 10 no longer resolve, and pages in an encrypted page store can’t be read back
after the upgrade.&lt;/li&gt;
  &lt;li&gt;Text fields now render &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;required&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;placeholder&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pattern&lt;/code&gt;. In a form submitted
without Ajax, the browser checks them before Wicket sees the request; put &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;novalidate&lt;/code&gt;
on the form to keep Wicket’s validation messages.&lt;/li&gt;
  &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Include&lt;/code&gt; component and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IAuthenticationStrategy&lt;/code&gt;, with the “remember me” support of
wicket-auth-roles, are removed; both were deprecated in 10.11.0. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SignInPanel&lt;/code&gt; and
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SignInPage&lt;/code&gt; are now &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;UsernamePasswordPanel&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;UsernamePasswordPage&lt;/code&gt;, and the recipe
renames them.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LoadableDetachableModel#detach()&lt;/code&gt; is final. Move an override to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onDetachAlways()&lt;/code&gt;, or to
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onDetach()&lt;/code&gt; if it only applies to an attached model.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;/docs/modules.html&quot;&gt;Wicket’s modules&lt;/a&gt; describes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-migration&lt;/code&gt;, and
the &lt;a href=&quot;/docs/&quot;&gt;documentation&lt;/a&gt; marks every page that needs Wicket 11 with
“Wicket 11+”.&lt;/p&gt;

&lt;p&gt;Applications on Wicket 8 or 9 move to Wicket 10 first.&lt;/p&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-1100&quot;&gt;CHANGELOG for 11.0.0:&lt;/h4&gt;

&lt;h5 id=&quot;bug&quot;&gt;Bug&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7107] - CSP Header not rendered when using RedirectPolicy.AUTO_REDIRECT&lt;/li&gt;
  &lt;li&gt;[WICKET-7182] - Wicket Autocomplete calls event on a non jquery object&lt;/li&gt;
  &lt;li&gt;[WICKET-7186] - wicket 10.9.0 / 10.9.1 leaks File Reaper threads&lt;/li&gt;
  &lt;li&gt;[WICKET-7189] - make partial page update creation pluggable.&lt;/li&gt;
  &lt;li&gt;[WICKET-7199] - Vulnerable dependencies need to be updated&lt;/li&gt;
  &lt;li&gt;[WICKET-7203] - wicket-extensions: Dependency on jackson-databind should be optional in module-info.java&lt;/li&gt;
  &lt;li&gt;[WICKET-7205] - CSP-Headers not set if RenderPageRequestHandler wrapped in more than one IRequestHandlerDelegates&lt;/li&gt;
  &lt;li&gt;[GH-1576] - BUG since 10.11.0: Wrong escaping in Button label,while getEscapeModelStrings=false&lt;/li&gt;
  &lt;li&gt;[GH-1582] - build fails on SignOut&lt;/li&gt;
  &lt;li&gt;[GH-1593] - Typo in WARN message&lt;/li&gt;
  &lt;li&gt;[GH-1616] - AsynchronousPageStoreTest.storeAsynchronousContextClosed never observes its own assertions&lt;/li&gt;
  &lt;li&gt;[GH-1620] - TrapFocusBehavior: Tab/Shift+Tab at trap boundary throws TypeError on wicket-10.x&lt;/li&gt;
  &lt;li&gt;[GH-1646] - Wicket.Event.remove does not remove a listener added for several event types&lt;/li&gt;
  &lt;li&gt;[GH-1647] - The WebSocket charts example calls jQuery.parseJSON, which jQuery 4 removed&lt;/li&gt;
  &lt;li&gt;[GH-1650] - AjaxButton triggering the submit event also submits the form in Firefox&lt;/li&gt;
  &lt;li&gt;[GH-1658] - The quickstart archetype’s Start.java does not compile against Jetty 12&lt;/li&gt;
  &lt;li&gt;[GH-1659] - CrossOrigin.USE_CREDENTIALS renders user-credentials instead of use-credentials&lt;/li&gt;
  &lt;li&gt;[GH-1670] - problems with upload to resource&lt;/li&gt;
  &lt;li&gt;[GH-1678] - Quickstart archetype: give slf4j-simple test scope&lt;/li&gt;
  &lt;li&gt;[GH-1688] - WebSocket: Request wrappers break the Servlet header contract (case-sensitive lookup, single-use enumerations)&lt;/li&gt;
  &lt;li&gt;[GH-1721] - Fix the failures in release.sh found while releasing 9.25.0&lt;/li&gt;
  &lt;li&gt;[GH-1739] - MigrateToWicket11 leaves the org.apache.wicket dependencies at their Wicket 10 version&lt;/li&gt;
  &lt;li&gt;[GH-1749] - release.sh generates a wrong staging repository ID and a duplicated changelog&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;new-feature&quot;&gt;New Feature&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7169] - Make partHeaderSizeMax in AbstractFileUpload configurable&lt;/li&gt;
  &lt;li&gt;[WICKET-7190] - Unified cryptography API&lt;/li&gt;
  &lt;li&gt;[WICKET-7196] - Allow unescaped wicket:label tags&lt;/li&gt;
  &lt;li&gt;[GH-1492] - AjaxRequestHandler generation of PartialPageUpdate is not extensible&lt;/li&gt;
  &lt;li&gt;[GH-1583] - create a version of wicket ajax and all the other standard components that is jQuery independent.&lt;/li&gt;
  &lt;li&gt;[GH-1614] - Make LoadableDetachableModel#detach() final and add detach hooks that receive the attached object&lt;/li&gt;
  &lt;li&gt;[GH-1631] - Add Ajax veil behaviors that block the page, or a component, while a request runs&lt;/li&gt;
  &lt;li&gt;[GH-1669] - multiple file upload to resource + drag and drop files and upload to resource.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;improvement&quot;&gt;Improvement&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7135] - Work on deprecation warnings&lt;/li&gt;
  &lt;li&gt;[WICKET-7144] - Improve Ajax updates of form component panels&lt;/li&gt;
  &lt;li&gt;[WICKET-7172] - Support new CSP style, script directives&lt;/li&gt;
  &lt;li&gt;[WICKET-7176] - Bump up CDI API and Weld versions&lt;/li&gt;
  &lt;li&gt;[WICKET-7179] - add support for jQuery 4.0.0&lt;/li&gt;
  &lt;li&gt;[WICKET-7184] - Make &lt;wicket:header-items&gt;&lt;/wicket:header-items&gt; HTML spec compliant&lt;/li&gt;
  &lt;li&gt;[WICKET-7187] - JavaScript header items: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;module&lt;/code&gt; for content, and import maps&lt;/li&gt;
  &lt;li&gt;[WICKET-7188] - Sign file upload resource constraints&lt;/li&gt;
  &lt;li&gt;[WICKET-7191] - Deprecate HTML5Attributes and move its logic to FormComponet hierarchy&lt;/li&gt;
  &lt;li&gt;[WICKET-7192] - restrict SourcesPage to resources of the page’s own package&lt;/li&gt;
  &lt;li&gt;[WICKET-7195] - Add tag type=”search” to those supported by TextField&lt;/li&gt;
  &lt;li&gt;[WICKET-7200] - Align class-vs-package resolution across the wicket-auth-roles annotations&lt;/li&gt;
  &lt;li&gt;[WICKET-7204] - Don’t use INJECTION for ByteBuddy proxy creation&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7193] - Deprecate and remove IAuthenticationStrategy&lt;/li&gt;
  &lt;li&gt;[WICKET-7194] - Deprecate and remove Include&lt;/li&gt;
  &lt;li&gt;[GH-1584] - Redundant japicmp exclusions need to removed&lt;/li&gt;
  &lt;li&gt;[GH-1699] - Include GitHub issues in the release notes built by build-changelog.sh&lt;/li&gt;
  &lt;li&gt;[GH-1708] - build-versions.py fails on Python 3 and misses the experimental modules&lt;/li&gt;
&lt;/ul&gt;

</content>
    </entry>

    <entry>
        <title>Apache Wicket 10.12.0 (LTS) is released</title>
        <link href="http://wicket.apache.org/news/2026/10/31/wicket-10.12.0-released.html"/>
        <updated>2026-10-31T15:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/10/31/wicket-10.12.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 10.12.0!&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;p&gt;This release marks another minor release of Wicket 10. We
use semantic versioning for the development of Wicket, and as such no
API breaks are present in this release compared to 10.0.0.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;p&gt;Wicket 10 is the long term support (LTS) version of Apache Wicket
going forward. As part of our &lt;a href=&quot;/news/2026/09/11/release-cadence.html&quot;&gt;new release cadence&lt;/a&gt;
we will support Wicket 10 until Wicket 14, the next LTS version, comes out.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Vulnerable dependencies have been updated (WICKET-7199)&lt;/li&gt;
  &lt;li&gt;Fixed a regression in 10.11.0: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;setEscapeModelStrings(false)&lt;/code&gt; on a
Button had no effect, so markup in a button label was escaped (GH-1576)&lt;/li&gt;
  &lt;li&gt;CSP headers are now also set when a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RenderPageRequestHandler&lt;/code&gt; is
wrapped in more than one &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IRequestHandlerDelegate&lt;/code&gt; (WICKET-7205)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CrossOrigin.USE_CREDENTIALS&lt;/code&gt; now renders &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;use-credentials&lt;/code&gt; instead
of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user-credentials&lt;/code&gt; (GH-1659)&lt;/li&gt;
  &lt;li&gt;The WebSocket request wrappers follow the Servlet header contract:
header names are case-insensitive and the header enumerations can be
read more than once (GH-1688)&lt;/li&gt;
  &lt;li&gt;Palette’s “move up” works again, it was broken since 10.9.0 (GH-1618)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TrapFocusBehavior&lt;/code&gt; no longer throws a TypeError on Tab or Shift+Tab
at the edge of the trap (GH-1620)&lt;/li&gt;
  &lt;li&gt;Lazy-init proxies, as used by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@SpringBean&lt;/code&gt;, are no longer created
with ByteBuddy’s class injection but defined through a private lookup
in the class loader of the proxied type (WICKET-7204)&lt;/li&gt;
  &lt;li&gt;wicket-extensions: the dependency on jackson-databind is optional in
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;module-info.java&lt;/code&gt; (WICKET-7203)&lt;/li&gt;
  &lt;li&gt;The quickstart archetype’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Start.java&lt;/code&gt; now compiles against Jetty 12
(GH-1658)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;10.12.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download and build the distribution yourself, or use our
convenience binary package you can find here:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download: https://wicket.apache.org/versions/wicket-10.x/#manually&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;upgrading-from-earlier-versions&quot;&gt;Upgrading from earlier versions&lt;/h2&gt;

&lt;p&gt;If you upgrade from 10.y.z this release is a drop in replacement. If
you come from a version prior to 10.0.0, please read our Wicket 10
migration guide found at&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;http://s.apache.org/wicket10migrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-10120&quot;&gt;CHANGELOG for 10.12.0:&lt;/h4&gt;

&lt;h5 id=&quot;bug&quot;&gt;Bug&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7199] - Vulnerable dependencies need to be updated&lt;/li&gt;
  &lt;li&gt;[WICKET-7203] - wicket-extensions: Dependency on jackson-databind should be optional in module-info.java&lt;/li&gt;
  &lt;li&gt;[WICKET-7205] - CSP-Headers not set if RenderPageRequestHandler wrapped in more than one IRequestHandlerDelegates&lt;/li&gt;
  &lt;li&gt;[GH-1576] - BUG since 10.11.0: Wrong escaping in Button label,while getEscapeModelStrings=false&lt;/li&gt;
  &lt;li&gt;[GH-1618] - Palette “move up” broken since 10.9.0: moveUpHelper calls box.trigger(‘focus’) on a plain DOM element&lt;/li&gt;
  &lt;li&gt;[GH-1620] - TrapFocusBehavior: Tab/Shift+Tab at trap boundary throws TypeError on wicket-10.x&lt;/li&gt;
  &lt;li&gt;[GH-1658] - The quickstart archetype’s Start.java does not compile against Jetty 12&lt;/li&gt;
  &lt;li&gt;[GH-1659] - CrossOrigin.USE_CREDENTIALS renders user-credentials instead of use-credentials&lt;/li&gt;
  &lt;li&gt;[GH-1688] - WebSocket: Request wrappers break the Servlet header contract (case-sensitive lookup, single-use enumerations)&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;improvement&quot;&gt;Improvement&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7204] - Don’t use INJECTION for ByteBuddy proxy creation&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[GH-1584] - Redundant japicmp exclusions need to removed&lt;/li&gt;
  &lt;li&gt;[GH-1699] - Include GitHub issues in the release notes built by build-changelog.sh&lt;/li&gt;
  &lt;li&gt;[GH-1708] - build-versions.py fails on Python 3 and misses the experimental modules&lt;/li&gt;
&lt;/ul&gt;
</content>
    </entry>

    <entry>
        <title>Apache Wicket 9.25.0 marks the end of Wicket 9</title>
        <link href="http://wicket.apache.org/news/2026/10/29/wicket-9.25.0-released.html"/>
        <updated>2026-10-29T10:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/10/29/wicket-9.25.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 9.25.0!&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;h2 id=&quot;final-release-of-wicket-9&quot;&gt;Final release of Wicket 9&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;This is the final release of Wicket 9. With this release the 9.x
branch has reached end of life: there will be no further 9.x releases,
not even for security fixes. Wicket now releases a new major version
every three months, with a long-term support release once a year. Read
about our &lt;a href=&quot;/news/2026/09/11/release-cadence.html&quot;&gt;new release cadence and support policy&lt;/a&gt;
and see the &lt;a href=&quot;/versions/wicket-9.x/#upgrade&quot;&gt;upgrade options&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We use semantic versioning for the development of Wicket, and as such
no API breaks are present in this release compared to 9.0.0.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Vulnerable dependencies have been updated (WICKET-7199)&lt;/li&gt;
  &lt;li&gt;Fixed a regression from the Button XSS fix in 9.24.0 (and 10.11.0):
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;setEscapeModelStrings(false)&lt;/code&gt; on a Button had no effect, so markup
in a button label was escaped (GH-1576)&lt;/li&gt;
  &lt;li&gt;CSP headers are now also set when a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RenderPageRequestHandler&lt;/code&gt; is
wrapped in more than one &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IRequestHandlerDelegate&lt;/code&gt; (WICKET-7205)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;9.25.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download and build the distribution yourself, or use our
convenience binary package you can find here:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download: https://wicket.apache.org/versions/wicket-9.x/#manually&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;upgrading-from-earlier-versions&quot;&gt;Upgrading from earlier versions&lt;/h2&gt;

&lt;p&gt;If you upgrade from 9.y.z this release is a drop in replacement. If
you come from a version prior to 9.0.0, please read our Wicket 9
migration guide found at&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;http://s.apache.org/wicket9migrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that Wicket 9 has reached end of life, plan your move to Wicket 10,
our long-term support release, supported until July 2027. For upgrade
options see:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;https://wicket.apache.org/versions/wicket-9.x/#upgrade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-9250&quot;&gt;CHANGELOG for 9.25.0:&lt;/h4&gt;

&lt;h5 id=&quot;bug&quot;&gt;Bug&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7199] - Vulnerable dependencies need to be updated&lt;/li&gt;
  &lt;li&gt;[WICKET-7205] - CSP-Headers not set if RenderPageRequestHandler wrapped in more than one IRequestHandlerDelegates&lt;/li&gt;
  &lt;li&gt;[GH-1576] - BUG since 10.11.0: Wrong escaping in Button label,while getEscapeModelStrings=false&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[GH-1699] - Include GitHub issues in the release notes built by build-changelog.sh&lt;/li&gt;
  &lt;li&gt;[GH-1708] - build-versions.py fails on Python 3 and misses the experimental modules&lt;/li&gt;
&lt;/ul&gt;
</content>
    </entry>

    <entry>
        <title>Apache Wicket 8.20.0 marks the end of Wicket 8</title>
        <link href="http://wicket.apache.org/news/2026/10/29/wicket-8.20.0-released.html"/>
        <updated>2026-10-29T09:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/10/29/wicket-8.20.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 8.20.0!&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;h2 id=&quot;final-release-of-wicket-8&quot;&gt;Final release of Wicket 8&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;This is the final release of Wicket 8. With this release the 8.x
branch has reached end of life: there will be no further 8.x releases,
not even for security fixes. Wicket now releases a new major version
every three months, with a long-term support release once a year. Read
about our &lt;a href=&quot;/news/2026/09/11/release-cadence.html&quot;&gt;new release cadence and support policy&lt;/a&gt;
and see the &lt;a href=&quot;/versions/wicket-8.x/#upgrade&quot;&gt;upgrade options&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We use semantic versioning for the development of Wicket, and as such
no API breaks are present in this release compared to 8.0.0.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Vulnerable dependencies have been updated (WICKET-7199)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;8.20.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download and build the distribution yourself, or use our
convenience binary package you can find here:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download: https://wicket.apache.org/versions/wicket-8.x/#manually&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;upgrading-from-earlier-versions&quot;&gt;Upgrading from earlier versions&lt;/h2&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;http://s.apache.org/wicket8migrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that Wicket 8 has reached end of life, plan your move to Wicket 10,
our long-term support release, supported until July 2027. For upgrade
options see:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;https://wicket.apache.org/versions/wicket-8.x/#upgrade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;The signatures for the source release artefacts:
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Signature for apache-wicket-8.20.0.zip:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;
-----BEGIN PGP SIGNATURE-----

iQJPBAABCgA5FiEEZQrtLYI2XrJWnZFbyDeBfv7L6O8FAmrfdbsbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwyAAoJEMg3gX7+y+jvWN0P/At8mOcYS5ax6Bx/YfYX
cGd0Ev9pE+Jn/hcMiKWRmIzedvg0x4ag20EeZqZsHFwwJtXXk8//Dxpa/W9a+Do9
gdpEyXNQEButvcBWaXHuixjLq5gI8ecdmmAa0Tyb2PyQS8INbHNbYFCYUlt+edV4
uULgD8NXJSvvofdpqjoDbB3zfwehFlmjTcd3oexRk/jJVTH87YLcuNcjQAy51/0O
k1NQM7LzYWXCbAIPKDYeJR6smDva9NDVut2fhiV8rOD48+9xmLPjp7N7EmcSutov
/cqcLAyis1RvSJehVHFpNzFTCB+/YhLWI7KvFtdnINShf5zvTkjcfRblnR65ljbq
nU1ZREKlqU2hmF/FX5Ys37cjwszwrxNhG1pIkhVjnzgf00hJDpCGWJuX8GX+gGxs
itMjGTw1S7LvvT8UGPj0CjbgS5yebafnPv/sZ8WtludY2NLREJjrroNba2OsuJgV
dh8KHh4BesUZ1/IFXoPs04IvR/zWbuOpdXLmzn7/TayQoY0nK7DUGORT6cuQzGID
G+8zhrLHttEszhbqzntuvgAIgzLyxBCZLKAkDOmdA2lgSp6whl7IQcOHsXI8nJtt
zKmuU881HqCy10ec/xCsGYJZ37cpLQcK7oS8OUp0B9J5UZGjCNLciPIB5+zJeNjP
nI7xSZCpqK0rowv2FOz21fD3
=OG79
-----END PGP SIGNATURE-----
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Signature for apache-wicket-8.20.0.tar.gz:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;
-----BEGIN PGP SIGNATURE-----

iQJPBAABCgA5FiEEZQrtLYI2XrJWnZFbyDeBfv7L6O8FAmrfdbsbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwyAAoJEMg3gX7+y+jvDScQAMBgO9ShmxzynV7dni29
tWPJMw4Njm1/80nLQGDYDcg9tdvhPlifE2ZNEOuxHMRwrShuVVQF9IGxXiWlCZUN
oMU84fMjP2TcidwZDEevAF0aGLxo+bPlUrXLdz8qcNyT46Gj+us2I47/eUhwY4Vs
gE6Mmrl5+QSGxhW3VwKlqiOZiGPWWdSA96/kZA707GZ2dyoRpR+j/x98MgS2pOnR
7H7PHcQpBu+vKc7VJw0w1ArEittmY/bGF/MWb2MQvr8SzkhHRymeyJjyzHSf2mD8
ZjB//bpn+T7ZDvSewQ1eFSCUKa9XGCqgJcWxEERWpL3WaJesKaKtBEZE8BiUlZQv
Lh0nudIsg65VwQ2QLemArwltXPk4oNkI/8JmOrJZMncOrBL4IxmYx2KQDHPgc0L/
GLlo/FbXG8ABGq5BWZJp3GfiDCmlotNnlf8paa+xFZwstZHqgfSp1aO7XLA6kB3V
gCP11MqmyGtlk5ogG/zQ/OViyN1OxDzMckUAIhxZhf3gR0N6hrKfRw9QlV1Gpdkf
i7D8eoOG93RuAoX5x8JEXbk2RWbuXOcRhDNIoMTgYHG8enX8fN786TwNsvWgEodn
/UnJgJWWTR+EB7XhT7wj0Jcu14eKZKVA/0ZKtMs/PuIws7cRLdDScJW+aHFdzJ5u
U2AvfLVr2yOi9gm0GlCwNtCG
=HXzu
-----END PGP SIGNATURE-----
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-8200&quot;&gt;CHANGELOG for 8.20.0:&lt;/h4&gt;

&lt;h5 id=&quot;bug&quot;&gt;Bug&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7199] - Vulnerable dependencies need to be updated&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[GH-1699] - Include GitHub issues in the release notes built by build-changelog.sh&lt;/li&gt;
  &lt;li&gt;[GH-1708] - build-versions.py fails on Python 3 and misses the experimental modules&lt;/li&gt;
&lt;/ul&gt;
</content>
    </entry>

    <entry>
        <title>Wicket 8 and 9 reach end of life soon</title>
        <link href="http://wicket.apache.org/news/2026/10/21/wicket-8-and-9-end-of-life.html"/>
        <updated>2026-10-21T00:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/10/21/wicket-8-and-9-end-of-life</id>
        <content type="html">&lt;p&gt;Apache Wicket 8.x and 9.x each get one final release, and then reach end of life. After
that they get no more releases, not even security fixes, and Wicket’s support for the
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;javax.servlet&lt;/code&gt; API ends with them. We announce the final releases on the
&lt;a href=&quot;/community/#announce&quot;&gt;announce list&lt;/a&gt; and here on the blog. If your
application runs on Wicket 8 or 9, plan the move to Wicket 10 now: it is our long-term
support release, supported until July 2027.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;what-end-of-life-means&quot;&gt;What end of life means&lt;/h2&gt;

&lt;p&gt;After their final release:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;no new 8.x or 9.x release ships, for bugs or for vulnerabilities;&lt;/li&gt;
  &lt;li&gt;every release stays available: on Maven Central, and in the
&lt;a href=&quot;https://archive.apache.org/dist/wicket&quot;&gt;Apache archives&lt;/a&gt;;&lt;/li&gt;
  &lt;li&gt;the &lt;a href=&quot;/community/#user&quot;&gt;users list&lt;/a&gt; still helps with questions, but a
fix for a problem in 8 or 9 only ships in the lines we still support.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;why-we-stop&quot;&gt;Why we stop&lt;/h2&gt;

&lt;p&gt;We announced this with the &lt;a href=&quot;/news/2026/09/11/release-cadence.html&quot;&gt;new release cadence&lt;/a&gt;.
Every security report has to be assessed, fixed, backported and released for each line we
support. With four lines that work is done four times, and that is time not spent on
improving Wicket itself. Retiring 8 and 9 ends that.&lt;/p&gt;

&lt;p&gt;Wicket 8 and 9 are also the last lines on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;javax.servlet&lt;/code&gt;. Jakarta EE 9 moved the Java
enterprise APIs to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jakarta&lt;/code&gt; namespace in December 2020, almost six years ago, and
Wicket 10 moved with it.&lt;/p&gt;

&lt;h2 id=&quot;how-to-move-to-wicket-10&quot;&gt;How to move to Wicket 10&lt;/h2&gt;

&lt;p&gt;Wicket 10 requires Java 17 and Jakarta Servlet 5.0 or newer, and its integrations move
along: Spring 6, Guice 7 and Commons FileUpload 2.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;From Wicket 9&lt;/strong&gt;, move to 10 directly with the
&lt;a href=&quot;https://s.apache.org/wicket10migrate&quot;&gt;migration guide to Wicket 10&lt;/a&gt;. The
&lt;a href=&quot;/versions/wicket-10.x/#automatic-migration&quot;&gt;OpenRewrite recipes of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-migration&lt;/code&gt;&lt;/a&gt;
do the repetitive part: the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jakarta&lt;/code&gt; imports, the Java 17 baseline and the moved Wicket
classes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;From Wicket 8&lt;/strong&gt;, take the Wicket 9 step first, with the
&lt;a href=&quot;https://s.apache.org/wicket9migration&quot;&gt;migration guide to Wicket 9&lt;/a&gt; and Java 11. Each
migration guide covers one major version, so the step to 10 follows from there.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href=&quot;/versions/#upgrade-paths&quot;&gt;upgrade paths&lt;/a&gt; on the releases page show
the route, and the pages of &lt;a href=&quot;/versions/wicket-9.x/&quot;&gt;Wicket 9&lt;/a&gt; and
&lt;a href=&quot;/versions/wicket-8.x/&quot;&gt;Wicket 8&lt;/a&gt; carry it as well.&lt;/p&gt;

&lt;h2 id=&quot;need-help&quot;&gt;Need help?&lt;/h2&gt;

&lt;p&gt;Ask on the &lt;a href=&quot;/community/#user&quot;&gt;users list&lt;/a&gt; when the migration raises
questions; include your Wicket and Java versions. If you need more hands or more time,
&lt;a href=&quot;https://cwiki.apache.org/confluence/display/WICKET/Companies+that+provide+services&quot;&gt;several companies&lt;/a&gt;
offer training, consulting and development for Wicket applications. The Wicket project
does not endorse or rank them.&lt;/p&gt;
</content>
    </entry>

    <entry>
        <title>A new release cadence for Apache Wicket</title>
        <link href="http://wicket.apache.org/news/2026/09/11/release-cadence.html"/>
        <updated>2026-09-11T00:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/09/11/release-cadence</id>
        <content type="html">&lt;p&gt;Starting with Apache Wicket 11.0, due in the first week of October 2026, Wicket moves to
time-based releases: a new major release every three months, and an LTS release once a
year. We will do one more release of the 8.x and 9.x branches and then stop supporting
those versions entirely, and with them the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;javax.servlet&lt;/code&gt; API. Wicket 10 is our current
LTS and remains supported until the release of Wicket 14, expected in the first week of
July 2027.&lt;/p&gt;

&lt;p&gt;Nothing changes before 11.0 is out. Until then, 10.x, 9.x and 8.x are supported as they
are today.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;why-we-are-changing-this&quot;&gt;Why we are changing this&lt;/h2&gt;

&lt;p&gt;Wicket has been around for over twenty years. Where it used to have a very vibrant and
active community, development and contributions have slowed down over the past ten years.
Partly this is because Wicket has a stable and solid core that simply doesn’t need that
much maintenance, but it is also caused by the world moving more to JavaScript-heavy,
client-side frameworks. That slowdown also slowed the release cadence, which in turn made
it less attractive to contribute, causing even more slowdown.&lt;/p&gt;

&lt;p&gt;Over the past six months we have seen a sharp rise in LLM-generated security reports. This
helps improve security, but dealing with CVEs takes a lot of time, and that time is
currently multiplied by four because of the old versions we support. Time spent on
backporting, releasing and documenting those old versions is time not spent on improving
Wicket itself.&lt;/p&gt;

&lt;p&gt;At the same time, LLMs allow us to perform cleanups and improvements at a larger scale.
With major versions years apart, our promise of semantic versioning makes it impossible to
deliver those changes to our community in a timely manner.&lt;/p&gt;

&lt;h2 id=&quot;the-new-cadence&quot;&gt;The new cadence&lt;/h2&gt;

&lt;p&gt;One major release every three months, each bringing new features. Every fourth major
release — once a year — is an LTS release with bugfix and security support until the next
LTS. This means we only need to support two active versions at the same time.&lt;/p&gt;

&lt;p&gt;In practice that gives the following schedule:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Wicket 11.0.0 — first week of October 2026&lt;/li&gt;
  &lt;li&gt;Wicket 12.0.0 — January 2027&lt;/li&gt;
  &lt;li&gt;Wicket 13.0.0 — April 2027&lt;/li&gt;
  &lt;li&gt;Wicket 14.0.0 — first week of July 2027, our second LTS release, supported
until Wicket 18&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Wicket 10 is our first LTS release line and stays supported until Wicket 14 is released.
Wicket 8 and Wicket 9 each get one more release, after which both are end of life, and
with them our support for the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;javax.servlet&lt;/code&gt; API. Applications on 8.x or 9.x should plan
their move to 10.x or 11.x now; the &lt;a href=&quot;https://s.apache.org/wicket10migrate&quot;&gt;migration guide&lt;/a&gt;
covers the step to Wicket 10.&lt;/p&gt;

&lt;h2 id=&quot;what-supported-until-the-next-major-release-means&quot;&gt;What “supported until the next major release” means&lt;/h2&gt;

&lt;p&gt;A question from the user list, worth answering here as well: if there is a major release
every quarter, is a feature introduced in one quarter supported for only three months?&lt;/p&gt;

&lt;p&gt;No. The support period applies to the release line, not to individual features. New
features are developed on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;main&lt;/code&gt; and will normally remain part of subsequent releases, so
a feature introduced in Wicket 11 will also be present in 12, 13 and eventually in the
next LTS release, Wicket 14. What changes is which release lines receive fixes.&lt;/p&gt;

&lt;p&gt;We will develop on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;main&lt;/code&gt; and on the current LTS branch. The LTS branch receives security
fixes and applicable bug fixes until the next LTS release. For the quarterly non-LTS
releases, only the latest release receives fixes: when Wicket 12 is released we will no
longer release fixes for Wicket 11, and when Wicket 13 is released the same applies to
Wicket 12.&lt;/p&gt;

&lt;p&gt;Bug fixes and security fixes on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;main&lt;/code&gt; will normally be included in the next quarterly
release. If an issue is serious enough that it cannot wait, we may do a patch release for
the current non-LTS version, for example 13.0.1.&lt;/p&gt;

&lt;p&gt;So at any point we expect to maintain at most two release lines: the current LTS and the
current quarterly release.&lt;/p&gt;

&lt;h2 id=&quot;stability&quot;&gt;Stability&lt;/h2&gt;

&lt;p&gt;A large number of applications build on the stability of the Wicket API. This is no
different for our community than it is for the team of core developers. That stability is
important to the entire Wicket ecosystem and something we do not take lightly. For some
changes we do need to break the API, but it is something we will only do if it is really
needed. Where possible we will keep the old API as a deprecated alternative for some time
to ease migration. API changes are documented in our migration guide.&lt;/p&gt;

&lt;p&gt;— The Apache Wicket PMC&lt;/p&gt;
</content>
    </entry>

    <entry>
        <title>A security policy for Apache Wicket</title>
        <link href="http://wicket.apache.org/news/2026/09/08/security-policy.html"/>
        <updated>2026-09-08T00:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/09/08/security-policy</id>
        <content type="html">&lt;p&gt;Apache Wicket now has a security policy. The &lt;a href=&quot;https://github.com/apache/wicket/blob/master/SECURITY.md&quot;&gt;SECURITY.md&lt;/a&gt;
in the Wicket repository describes how to report a vulnerability, what we do and do not
assess, and the security model the framework works from: which inputs Wicket treats as
trusted, and which boundaries it promises to enforce. It is on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;master&lt;/code&gt; and on the
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-10.x&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-9.x&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-8.x&lt;/code&gt; branches, so it applies to every line we
support.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;why-now&quot;&gt;Why now&lt;/h2&gt;

&lt;p&gt;Over the past months the number of security reports has grown sharply, many of them
produced with tooling or language models. Some point at real problems. Others point at code
that does not exist, at versions we no longer support, or at behaviour that depends on a
deployment trusting something it should not. Each one costs the same to triage. Writing
down what the framework claims, and what it leaves to the application and the operator,
lets reporters check their finding before they send it, and lets us answer consistently.&lt;/p&gt;

&lt;h2 id=&quot;how-to-report&quot;&gt;How to report&lt;/h2&gt;

&lt;p&gt;Report a suspected vulnerability privately to &lt;strong&gt;security@apache.org&lt;/strong&gt;, the ASF security
team, who forward it to the Wicket PMC. Never use GitHub issues, pull requests, discussions
or the public mailing lists: they disclose the problem before a fix is available.&lt;/p&gt;

&lt;p&gt;A useful report names the affected versions and module, the class and method, how an
attacker reaches that code and what the attacker controls, the impact, and ideally a failing
test. We assess a report against the current tip of a supported branch, so verify it there
first and say which commit you tested. How you found it does not matter to us, by hand, with
tooling or with a model; whether the code you describe exists does.&lt;/p&gt;

&lt;h2 id=&quot;what-is-out-of-scope&quot;&gt;What is out of scope&lt;/h2&gt;

&lt;p&gt;Three kinds of code inside the supported lines are not handled as vulnerabilities:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Deprecated code&lt;/strong&gt; that an application has to use deliberately. The remedy is to stop
using it, and the javadoc says what to do instead.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OriginResourceIsolationPolicy&lt;/code&gt;&lt;/strong&gt;, the fallback that compares &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Origin&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Referer&lt;/code&gt;
headers. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FetchMetadataResourceIsolationPolicy&lt;/code&gt; is the supported cross-origin defence.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-examples&lt;/code&gt;&lt;/strong&gt;, which is teaching material and deliberately not production code.
We still want to hear about problems in it, and fix them in the open.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;what-wicket-trusts-and-what-that-means-for-your-application&quot;&gt;What Wicket trusts, and what that means for your application&lt;/h2&gt;

&lt;p&gt;The security model is worth reading if you run Wicket in production. A few points in it ask
something of the deployment:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;The host comes from the container.&lt;/strong&gt; Wicket builds absolute URLs and redirects from the
scheme, host and port the servlet container reports, and does not check the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Host&lt;/code&gt;
header itself. Configure the container or proxy to reject unexpected &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Host&lt;/code&gt; values.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-Forwarded-*&lt;/code&gt; headers are ignored&lt;/strong&gt; unless you enable &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XForwardedRequestWrapperFactory&lt;/code&gt;,
and should only be enabled behind a proxy that sets them.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Run production in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DEPLOYMENT&lt;/code&gt; mode&lt;/strong&gt; and do not deploy &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wicket-devutils&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;The page store and the session store are trusted storage.&lt;/strong&gt; An encrypted page store
is tamper-evident; anything else that holds serialized Wicket data must not be writable by
untrusted parties.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Model data is escaped by default; markup files and message bundles are trusted.&lt;/strong&gt;
Turning off &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;escapeModelStrings&lt;/code&gt; makes the content your responsibility, and so does
placing a value in a JavaScript context.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Cross-origin listener calls are only refused when you register
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ResourceIsolationRequestCycleListener&lt;/code&gt;.&lt;/strong&gt; Wicket does not do this by default.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CryptoMapper&lt;/code&gt; is not authorization.&lt;/strong&gt; Encrypted URLs make URLs harder to forge; who
may see a page is decided by your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IAuthorizationStrategy&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;tell-us-when-the-model-is-wrong&quot;&gt;Tell us when the model is wrong&lt;/h2&gt;

&lt;p&gt;The security model describes what Wicket intends to enforce. If the code falls short of it,
that is a vulnerability and we want to hear about it. If you think the model itself is
wrong, that is just as useful to report: say so, and we discuss the model instead of a
single code path. Findings that are real but not vulnerabilities, such as hardening
suggestions, are welcome as public issues or pull requests.&lt;/p&gt;

&lt;p&gt;— The Apache Wicket PMC&lt;/p&gt;
</content>
    </entry>

    <entry>
        <title>Apache Wicket 10.11.0 released</title>
        <link href="http://wicket.apache.org/news/2026/08/30/wicket-10.11.0-released.html"/>
        <updated>2026-08-30T10:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/08/30/wicket-10.11.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 10.11.0!&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;p&gt;This release marks another minor release of Wicket 10. We
use semantic versioning for the development of Wicket, and as such no
API breaks are present in this release compared to 10.0.0.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;p&gt;This release fixes the following CVE:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CVE-2026-70449 Path traversal in resource style/variation/locale&lt;/li&gt;
  &lt;li&gt;CVE-2026-71257 Configured file upload limits are not enforced when the multipart request has already been parsed&lt;/li&gt;
  &lt;li&gt;CVE-2026-71378 Cross-Site Request Forgery (CSRF) protection bypass in ResourceIsolationRequestCycleListener&lt;/li&gt;
  &lt;li&gt;CVE-2026-75802 XSS in AjaxEditableLabel and its subclasses via IChoiceRenderer and defaultNullLabel&lt;/li&gt;
  &lt;li&gt;CVE-2026-76982 XSS in Button via its model object&lt;/li&gt;
  &lt;li&gt;CVE-2026-76983 XSS in AutoLabelTextResolver via FormComponent.setLabel&lt;/li&gt;
  &lt;li&gt;CVE-2026-76984 XSS in MetaDataHeaderItem via addTagAttribute&lt;/li&gt;
  &lt;li&gt;CVE-2026-76985 XSS in Palette via getAdditionalAttributes&lt;/li&gt;
  &lt;li&gt;CVE-2026-76986 XSS in AbstractSingleSelectChoice via getNullValidDisplayValue&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;10.11.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download and build the distribution yourself, or use our
convenience binary package you can find here:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download: http://wicket.apache.org/start/wicket-10.x.html#manually&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;upgrading-from-earlier-versions&quot;&gt;Upgrading from earlier versions&lt;/h2&gt;

&lt;p&gt;If you upgrade from 10.y.z this release is a drop in replacement. If
you come from a version prior to 10.0.0, please read our Wicket 10
migration guide found at&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;http://s.apache.org/wicket10migrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-10110&quot;&gt;CHANGELOG for 10.11.0:&lt;/h4&gt;

&lt;h5 id=&quot;new-feature&quot;&gt;New Feature&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7196] - Allow unescaped wicket:label tags&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;improvement&quot;&gt;Improvement&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7192] - restrict SourcesPage to resources of the page’s own package&lt;/li&gt;
  &lt;li&gt;[WICKET-7195] - Add tag type=”search” to those supported by  TextField&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7193] - Deprecate and remove IAuthenticationStrategy&lt;/li&gt;
&lt;/ul&gt;

</content>
    </entry>

    <entry>
        <title>Apache Wicket 9.24.0 released</title>
        <link href="http://wicket.apache.org/news/2026/08/30/wicket-9.24.0-released.html"/>
        <updated>2026-08-30T09:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/08/30/wicket-9.24.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 9.24.0!&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;p&gt;This release marks another minor release of Wicket 9. We
use semantic versioning for the development of Wicket, and as such no
API breaks are present in this release compared to 9.0.0.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;p&gt;This release fixes the following CVE:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CVE-2026-70449 Path traversal in resource style/variation/locale&lt;/li&gt;
  &lt;li&gt;CVE-2026-71257 Configured file upload limits are not enforced when the multipart request has already been parsed&lt;/li&gt;
  &lt;li&gt;CVE-2026-71378 Cross-Site Request Forgery (CSRF) protection bypass in ResourceIsolationRequestCycleListener&lt;/li&gt;
  &lt;li&gt;CVE-2026-75802 XSS in AjaxEditableLabel and its subclasses via IChoiceRenderer and defaultNullLabel&lt;/li&gt;
  &lt;li&gt;CVE-2026-76982 XSS in Button via its model object&lt;/li&gt;
  &lt;li&gt;CVE-2026-76983 XSS in AutoLabelTextResolver via FormComponent.setLabel&lt;/li&gt;
  &lt;li&gt;CVE-2026-76984 XSS in MetaDataHeaderItem via addTagAttribute&lt;/li&gt;
  &lt;li&gt;CVE-2026-76985 XSS in Palette via getAdditionalAttributes&lt;/li&gt;
  &lt;li&gt;CVE-2026-76986 XSS in AbstractSingleSelectChoice via getNullValidDisplayValue&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;9.24.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download and build the distribution yourself, or use our
convenience binary package you can find here:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download: http://wicket.apache.org/start/wicket-9.x.html#manually&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;upgrading-from-earlier-versions&quot;&gt;Upgrading from earlier versions&lt;/h2&gt;

&lt;p&gt;If you upgrade from 9.y.z this release is a drop in replacement. If
you come from a version prior to 9.0.0, please read our Wicket 9
migration guide found at&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;http://s.apache.org/wicket9migrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-9240&quot;&gt;CHANGELOG for 9.24.0:&lt;/h4&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7193] - Deprecate and remove IAuthenticationStrategy&lt;/li&gt;
&lt;/ul&gt;

</content>
    </entry>

    <entry>
        <title>Apache Wicket 8.19.0 released</title>
        <link href="http://wicket.apache.org/news/2026/08/30/wicket-8.19.0-released.html"/>
        <updated>2026-08-30T08:00:00+00:00</updated>
        <id>http://wicket.apache.org/news/2026/08/30/wicket-8.19.0-released</id>
        <content type="html">&lt;p&gt;The Apache Wicket PMC is proud to announce Apache Wicket 8.19.0!&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;p&gt;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 in this release compared to 8.0.0.&lt;/p&gt;

&lt;h2 id=&quot;new-and-noteworthy&quot;&gt;New and noteworthy&lt;/h2&gt;

&lt;p&gt;This release fixes the following CVE:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CVE-2026-70449 Path traversal in resource style/variation/locale&lt;/li&gt;
  &lt;li&gt;CVE-2026-71257 Configured file upload limits are not enforced when the multipart request has already been parsed&lt;/li&gt;
  &lt;li&gt;CVE-2026-75802 XSS in AjaxEditableLabel and its subclasses via IChoiceRenderer and defaultNullLabel&lt;/li&gt;
  &lt;li&gt;CVE-2026-76982 XSS in Button via its model object&lt;/li&gt;
  &lt;li&gt;CVE-2026-76983 XSS in AutoLabelTextResolver via FormComponent.setLabel&lt;/li&gt;
  &lt;li&gt;CVE-2026-76984 XSS in MetaDataHeaderItem via addTagAttribute&lt;/li&gt;
  &lt;li&gt;CVE-2026-76985 XSS in Palette via getAdditionalAttributes&lt;/li&gt;
  &lt;li&gt;CVE-2026-76986 XSS in AbstractSingleSelectChoice via getNullValidDisplayValue&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;using-this-release&quot;&gt;Using this release&lt;/h2&gt;

&lt;p&gt;With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.wicket&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;wicket-core&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;8.19.0&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Or download and build the distribution yourself, or use our
convenience binary package you can find here:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download: http://wicket.apache.org/start/wicket-8.x.html#manually&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;upgrading-from-earlier-versions&quot;&gt;Upgrading from earlier versions&lt;/h2&gt;

&lt;p&gt;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&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;http://s.apache.org/wicket8migrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;— The Wicket team&lt;/p&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;The signatures for the source release artefacts:
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Signature for apache-wicket-8.19.0.zip:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE0a6YZHC1pJw+aieyh48B+qjTVuEFAmqMMPcACgkQh48B+qjT
VuFTog/8CX/sJw1hcXQpF07qwgqHkViAOLkZP+PL73wy/tyk9O+QrogD0BjCzaRX
x1Ow7Y1epIteKPGJDFcCA6JZcfzt2z+hOdU8pUlDioPihgerhhiSGPlTIoFUKdbV
Rzpdn9n3N/nUlXMhi0fP+lB5aX+aLFDkpeoXLiuCpyY6AaHaPqT6i+8SOesGH/XB
QDtCytaeiPhDyvieeGfh82uycigieM0575ICXlnf2fel0jV0N3LknU4TGNwLDsUG
LKSytfNSEhbGwmgE6GjVxWC9FhF3T3kGnpxIY+rftumIqYBEpXLRRe6lmh2lnAIp
Uum38G/UiA6unuzsIqv8GXLypWmlM8Ug4aJ0R09+5Ahm3MVnZOgWIAc0/yragGWm
9JHUiefOS1N6ca/nv1cX8BSVHnacl6hOmzNNYbQfEIAbRGsF9ZwZMiSHDzI5dNki
7MYXyk0NCuIH/Whf1kuSMWzalcvLyD0kS4lLHmpyhbiSPHSG0LmU/T+Sg7oAtF44
m7xbt67qs6dy7usoVpSJ5HesYuOFPGZXON8ddt130n+We+EQp4NXNF/dwxqH5p1Q
LIS47/moeoHfe8MEtH/UZQQjuQLZfZnNDFQlnaKxe24fV6AGDl2oawVzgoXAzePM
Cjsp/WTS05tZj3QYert/l1oeovsOnvc8shJUU0kDooevyb0oNXA=
=TAPz
-----END PGP SIGNATURE-----
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Signature for apache-wicket-8.19.0.tar.gz:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE0a6YZHC1pJw+aieyh48B+qjTVuEFAmqMMPcACgkQh48B+qjT
VuEqpxAAsfL8KdYP3mnQHdHZH+dVahvWQOJJdKx+P7/cY3af7Sp/7Eg6UvSrRnen
j2gvr8i4pQbebFIwS1PFjVwsYnCBLSsOT33BX06pHIbgcEFkYMbTXrzPde4potuy
w0u92GxOAUvJmAfFeL9bo/46yFcg++DZ3fXQz5B2mGyKEmXIn8WyoyhtGXdw0XpR
PMk1EXCvKpfW2Zp7CLTd2Q712DDRDAhhjJ3XqZDYmgi+QVovZyNBKRhSzHi9JWqX
Sq2JqJYTuN7/MpxiU5Ccp//qnDuLED8NwQ5U3rlEwVKvgAJQpEURCpGXOceEv8R7
i/UBXRWfY3dxKaJ50N2UKVWTYPzal/3tzlOE0tyik5bJZi8ZiNBOH5RXColpPtuK
gNtAqSFIXmma5iAM+KqceCL1euVuTxyiwUh1y59jbh5uWSqPio8gIA8cofuGk1Nq
HkO/J+9mGKU6HKnFiHvma6pcLgS7YbkiejLA9vph0fk5Lr0sJha7wP11KIcZ/AfT
sQHNOyEbehzYOJDs7CAo6YWvV0D53LezCaJ04NwrRX9/6ooAXLJdNcX8aB9k6Qc3
QeNLL6fpAGxKsGG6ZRBXwNOpse73fvcsebHCCjytaVzhskwtoujdqSINimWzKHON
N9pZFDkCLSpCU1RYKo1Zo78TO7FW/+/AtDD5GO8A6gajQx/n0ls=
=jPYU
-----END PGP SIGNATURE-----
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;========================================================================&lt;/p&gt;

&lt;h3 id=&quot;this-release&quot;&gt;This Release&lt;/h3&gt;

&lt;h4 id=&quot;changelog-for-8190&quot;&gt;CHANGELOG for 8.19.0:&lt;/h4&gt;

&lt;h5 id=&quot;task&quot;&gt;Task&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;[WICKET-7193] - Deprecate and remove IAuthenticationStrategy&lt;/li&gt;
&lt;/ul&gt;

</content>
    </entry>

</feed>
