Dear community,

TL;DR
The release cycle of Apache Wicket will change starting at the upcoming
Wicket 11 release in early October. We will do one more release of 8.x and
9.x and then stop supporting those old versions entirely, and with them
javax.servlet. We will move to time-based releases, with a new major
release every 3 months and an LTS release once per year. Wicket 10 is our
current LTS and will remain supported until the release of Wicket 14,
expected July 2027, which will be the next LTS.

Slowdown
Wicket has been around for over 20 years now. Where it used to have a very
vibrant and active community, development and contributions have slowed
down over the past 10 years. Partly this is because Wicket has a stable and
solid core that simply doesn't need that much maintenance, but it's also
caused by the world moving more to JavaScript-heavy, client-side
frameworks. This slowdown also caused the release cadence to slow down.
This in turn made it less attractive to contribute, causing even more
slowdown.

LLMs
Over the past 6 months, we've seen a sharp rise in LLM-generated security
reports. This helps improve security, but dealing with CVEs takes a lot of
time and it's currently multiplied by 4 because of the old versions we
support. The time spent on backporting, releasing and documenting these old
versions is time not spent on the improvement of Wicket itself. At the same
time, LLMs allow us to perform cleanups and improvements on a larger scale,
but with major versions years apart, our promise of semver makes it
impossible to deliver these changes to our community in a timely manner.

Stability
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. This stability is very 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. If
possible, we will try to keep the old API as a deprecated alternative for
some time to ease migration. API changes will be documented in our
migration guide.

Our plan
We want to move the release cycle of Apache Wicket to a reliable, faster,
time-based schedule in which we can bring enhancements and new features to
our users quickly, but at the same time provide a stable basis to build on.
We've therefore agreed on a release cadence of one major release every 3
months in which we bring new features. These versions will be supported
until the next major release. Every fourth major release (once a year) will
be an LTS release with bugfixes and security support until the next LTS
release. This means we only need to support 2 active versions at the same
time.

We will start this new cadence in the first week of October with the
release of Wicket 11.0.0. We will do one more release of the 8.x and 9.x
branches, after which they will both be considered EOL. This means that we
will also stop supporting the javax.servlet API. Wicket 10 will be our
first LTS release line, supported until the release of Wicket 14 in the
first week of July 2027.

Kind regards,
The Apache Wicket PMC

Reply via email to