You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Mark Thomas <ma...@apache.org> on 2026/01/27 17:40:11 UTC

Deprecation plans for 9.0.x

Hi,

I am expecting Tomcat 12 to be released - or get close to release - in 
the next 12 months. Following our usual pattern, that means we'd 
deprecate 9.0.x around the same time.

The first 9.0.x release was November 2015 with the first stable release 
in January 2018.

We have previously discussed various forms of extended Tomcat 9 support 
because it is the last Tomcat version that supports that Java EE API.

With the above in mind, I'd like to propose the following:

- Set EOL for 9.0.x as 31 March 2027

- Plan for 9.1.x releases to start in April 2027

- 9.1.x to different from 9.0.x in the following ways (all aligned with 
10.1.x):
   - No APR support
   - Require Tomcat Native 2.x (was 1.3.x)
   - Minimum Java version is 11

Other, minor, enhancements may be back-ported from 10.1.x to 9.1.x. 
Ideally, 9.1.x becomes 10.1x but with the Java EE API.

All of the above to be announced in around a month's time.

Thoughts?

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Michael Osipov <mi...@apache.org>.
On 2026/01/30 10:07:36 Rémy Maucherat wrote:
> On Fri, Jan 30, 2026 at 10:37 AM Mark Thomas <ma...@apache.org> wrote:
> >
> > On 28/01/2026 21:52, Rémy Maucherat wrote:
> > > On Tue, Jan 27, 2026 at 6:40 PM Mark Thomas <ma...@apache.org> wrote:
> > >>
> > >> Hi,
> > >>
> > >> I am expecting Tomcat 12 to be released - or get close to release - in
> > >> the next 12 months. Following our usual pattern, that means we'd
> > >> deprecate 9.0.x around the same time.
> > >>
> > >> The first 9.0.x release was November 2015 with the first stable release
> > >> in January 2018.
> > >>
> > >> We have previously discussed various forms of extended Tomcat 9 support
> > >> because it is the last Tomcat version that supports that Java EE API.
> > >>
> > >> With the above in mind, I'd like to propose the following:
> > >>
> > >> - Set EOL for 9.0.x as 31 March 2027
> > >>
> > >> - Plan for 9.1.x releases to start in April 2027
> > >>
> > >> - 9.1.x to different from 9.0.x in the following ways (all aligned with
> > >> 10.1.x):
> > >>     - No APR support
> > >
> > > +1
> > > Technically since we're making a new branch, we could also drop NIO2,
> > > but I would like to keep it since NIO has some issues on Java < 17.
> > >
> > >>     - Require Tomcat Native 2.x (was 1.3.x)
> > >
> > > +1
> > >
> > >>     - Minimum Java version is 11
> > >
> > > -1, unfortunately. People are on Tomcat 9 because of Java EE, and they
> > > won't be able to upgrade from Java 8. I fear updating Java would mean
> > > killing off the branch, and we would put a lot of effort into a dead
> > > product basically.
> > > The Java 8 EOL is actually at 2030, about the same as the newer Java
> > > versions that came after, so supporting it for some time more is
> > > reasonable. It is also possible to keep using Java 25 to compile the
> > > releases.
> >
> > OK. Java 8 EOL is a lot later than Java 11 EOL so that is another
> > argument for staying on Java 8.
> >
> > Do we want to say that 9.x will be supported until at least 31 Dec 2030?
> 
> I slept over this, so I am more mixed on this now, and I'm still
> thinking about it ...
> On one hand supporting Java 8 to its EOL date would be very beneficial
> for many users, on the other hand simply rebasing to the 10.1 code
> would be very beneficial for us.
> If the jump is made to Java 11, then upgrading to newer versions later
> if needed is much easier. However, I fear the migration off Java 8
> will be enough to kill off Tomcat 9, making subsequent versions
> pointless. In that scenario, having to support 9.1 with very few
> actual users could lead to a waste of resources, even if backporting
> patches themselves from 10.1 is easy.
> 
> Anyway, I'd like to volunteer to RM and produce this base 9.1 version
> if it happens, since I'm so involved with 9.0 already.

For me, moving off Java 8 for Tomcat 9 would instantly kill my applications because I cannot upgrade Java for the time being since nothing else is available. The migration off 8 and Tomcat 9 requires tremendous effort outside of the Java domain.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Rémy Maucherat <re...@apache.org>.
On Fri, Jan 30, 2026 at 10:37 AM Mark Thomas <ma...@apache.org> wrote:
>
> On 28/01/2026 21:52, Rémy Maucherat wrote:
> > On Tue, Jan 27, 2026 at 6:40 PM Mark Thomas <ma...@apache.org> wrote:
> >>
> >> Hi,
> >>
> >> I am expecting Tomcat 12 to be released - or get close to release - in
> >> the next 12 months. Following our usual pattern, that means we'd
> >> deprecate 9.0.x around the same time.
> >>
> >> The first 9.0.x release was November 2015 with the first stable release
> >> in January 2018.
> >>
> >> We have previously discussed various forms of extended Tomcat 9 support
> >> because it is the last Tomcat version that supports that Java EE API.
> >>
> >> With the above in mind, I'd like to propose the following:
> >>
> >> - Set EOL for 9.0.x as 31 March 2027
> >>
> >> - Plan for 9.1.x releases to start in April 2027
> >>
> >> - 9.1.x to different from 9.0.x in the following ways (all aligned with
> >> 10.1.x):
> >>     - No APR support
> >
> > +1
> > Technically since we're making a new branch, we could also drop NIO2,
> > but I would like to keep it since NIO has some issues on Java < 17.
> >
> >>     - Require Tomcat Native 2.x (was 1.3.x)
> >
> > +1
> >
> >>     - Minimum Java version is 11
> >
> > -1, unfortunately. People are on Tomcat 9 because of Java EE, and they
> > won't be able to upgrade from Java 8. I fear updating Java would mean
> > killing off the branch, and we would put a lot of effort into a dead
> > product basically.
> > The Java 8 EOL is actually at 2030, about the same as the newer Java
> > versions that came after, so supporting it for some time more is
> > reasonable. It is also possible to keep using Java 25 to compile the
> > releases.
>
> OK. Java 8 EOL is a lot later than Java 11 EOL so that is another
> argument for staying on Java 8.
>
> Do we want to say that 9.x will be supported until at least 31 Dec 2030?

I slept over this, so I am more mixed on this now, and I'm still
thinking about it ...
On one hand supporting Java 8 to its EOL date would be very beneficial
for many users, on the other hand simply rebasing to the 10.1 code
would be very beneficial for us.
If the jump is made to Java 11, then upgrading to newer versions later
if needed is much easier. However, I fear the migration off Java 8
will be enough to kill off Tomcat 9, making subsequent versions
pointless. In that scenario, having to support 9.1 with very few
actual users could lead to a waste of resources, even if backporting
patches themselves from 10.1 is easy.

Anyway, I'd like to volunteer to RM and produce this base 9.1 version
if it happens, since I'm so involved with 9.0 already.

Rémy


>
> Mark
>
> >
> >> Other, minor, enhancements may be back-ported from 10.1.x to 9.1.x.
> >> Ideally, 9.1.x becomes 10.1x but with the Java EE API.
> >>
> >> All of the above to be announced in around a month's time.
> >>
> >> Thoughts?
> >
> > Rémy
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: dev-help@tomcat.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Mark Thomas <ma...@apache.org>.
On 28/01/2026 21:52, Rémy Maucherat wrote:
> On Tue, Jan 27, 2026 at 6:40 PM Mark Thomas <ma...@apache.org> wrote:
>>
>> Hi,
>>
>> I am expecting Tomcat 12 to be released - or get close to release - in
>> the next 12 months. Following our usual pattern, that means we'd
>> deprecate 9.0.x around the same time.
>>
>> The first 9.0.x release was November 2015 with the first stable release
>> in January 2018.
>>
>> We have previously discussed various forms of extended Tomcat 9 support
>> because it is the last Tomcat version that supports that Java EE API.
>>
>> With the above in mind, I'd like to propose the following:
>>
>> - Set EOL for 9.0.x as 31 March 2027
>>
>> - Plan for 9.1.x releases to start in April 2027
>>
>> - 9.1.x to different from 9.0.x in the following ways (all aligned with
>> 10.1.x):
>>     - No APR support
> 
> +1
> Technically since we're making a new branch, we could also drop NIO2,
> but I would like to keep it since NIO has some issues on Java < 17.
> 
>>     - Require Tomcat Native 2.x (was 1.3.x)
> 
> +1
> 
>>     - Minimum Java version is 11
> 
> -1, unfortunately. People are on Tomcat 9 because of Java EE, and they
> won't be able to upgrade from Java 8. I fear updating Java would mean
> killing off the branch, and we would put a lot of effort into a dead
> product basically.
> The Java 8 EOL is actually at 2030, about the same as the newer Java
> versions that came after, so supporting it for some time more is
> reasonable. It is also possible to keep using Java 25 to compile the
> releases.

OK. Java 8 EOL is a lot later than Java 11 EOL so that is another 
argument for staying on Java 8.

Do we want to say that 9.x will be supported until at least 31 Dec 2030?

Mark

> 
>> Other, minor, enhancements may be back-ported from 10.1.x to 9.1.x.
>> Ideally, 9.1.x becomes 10.1x but with the Java EE API.
>>
>> All of the above to be announced in around a month's time.
>>
>> Thoughts?
> 
> Rémy
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Rémy Maucherat <re...@apache.org>.
On Tue, Jan 27, 2026 at 6:40 PM Mark Thomas <ma...@apache.org> wrote:
>
> Hi,
>
> I am expecting Tomcat 12 to be released - or get close to release - in
> the next 12 months. Following our usual pattern, that means we'd
> deprecate 9.0.x around the same time.
>
> The first 9.0.x release was November 2015 with the first stable release
> in January 2018.
>
> We have previously discussed various forms of extended Tomcat 9 support
> because it is the last Tomcat version that supports that Java EE API.
>
> With the above in mind, I'd like to propose the following:
>
> - Set EOL for 9.0.x as 31 March 2027
>
> - Plan for 9.1.x releases to start in April 2027
>
> - 9.1.x to different from 9.0.x in the following ways (all aligned with
> 10.1.x):
>    - No APR support

+1
Technically since we're making a new branch, we could also drop NIO2,
but I would like to keep it since NIO has some issues on Java < 17.

>    - Require Tomcat Native 2.x (was 1.3.x)

+1

>    - Minimum Java version is 11

-1, unfortunately. People are on Tomcat 9 because of Java EE, and they
won't be able to upgrade from Java 8. I fear updating Java would mean
killing off the branch, and we would put a lot of effort into a dead
product basically.
The Java 8 EOL is actually at 2030, about the same as the newer Java
versions that came after, so supporting it for some time more is
reasonable. It is also possible to keep using Java 25 to compile the
releases.

> Other, minor, enhancements may be back-ported from 10.1.x to 9.1.x.
> Ideally, 9.1.x becomes 10.1x but with the Java EE API.
>
> All of the above to be announced in around a month's time.
>
> Thoughts?

Rémy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Mark,

On 1/27/26 12:40 PM, Mark Thomas wrote:
> I am expecting Tomcat 12 to be released - or get close to release - in 
> the next 12 months. Following our usual pattern, that means we'd 
> deprecate 9.0.x around the same time.
> 
> The first 9.0.x release was November 2015 with the first stable release 
> in January 2018.
> 
> We have previously discussed various forms of extended Tomcat 9 support 
> because it is the last Tomcat version that supports that Java EE API.
> 
> With the above in mind, I'd like to propose the following:
> 
> - Set EOL for 9.0.x as 31 March 2027
> 
> - Plan for 9.1.x releases to start in April 2027
> 
> - 9.1.x to different from 9.0.x in the following ways (all aligned with 
> 10.1.x):
>    - No APR support
>    - Require Tomcat Native 2.x (was 1.3.x)
>    - Minimum Java version is 11

I like this: it's basically Java EE 8 except with a higher Java version 
requirement.

> Other, minor, enhancements may be back-ported from 10.1.x to 9.1.x. 
> Ideally, 9.1.x becomes 10.1x but with the Java EE API.
> 
> All of the above to be announced in around a month's time.
> 
> Thoughts?

While I do like this plan, I think a lot of people are going to freak 
out. Migrating from 9.0.167 -> 9.1.0 even though it will be exactly like 
migrating from 9.0.167 to 9.0.168 will feel dangerous even when it's 
not. (Unless you are still running Java 8. It's insane that Java 8 
support continues through 2030.)

Would it be crazy to release the first version of 9.1.x as 9.1.168 
instead of 9.1.0? Yeah, probably.

I think it would make some sense to take some time and document what the 
likely big changes are for someone wanting to make the jump from Tomcat 
9 to Tomcat 10.1/11/12/future in the presence of the Migration Tool.

Sure, your code will RUN but where are the gotchas? Deprecated APIs that 
either return null now where they returned useful data in the past, or 
that throw UnsupportedOperationException now because, well, they are 
unsupported.

I'd prefer to encourage everyone to migrate from Tomcat 9 -> Tomcat 12 
rather than jut an incremental migration to Tomcat 9.1. (I say this as a 
Tomcat 9 user who has only been toying with automated migration... which 
is working swimmingly, I must admit.)

-chris


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Mark Thomas <ma...@apache.org>.

On 30/01/2026 17:54, Konstantin Kolinko wrote:
> пт, 30 янв. 2026 г. в 12:37, Mark Thomas <ma...@apache.org>:
>>
>> On 27/01/2026 20:23, Michael Osipov wrote:
>>> On 2026/01/27 17:40:11 Mark Thomas wrote:
>>>> Hi,
>>>>
>>>> I am expecting Tomcat 12 to be released - or get close to release - in
>>>> the next 12 months. Following our usual pattern, that means we'd
>>>> deprecate 9.0.x around the same time.
>>>>
>>>> The first 9.0.x release was November 2015 with the first stable release
>>>> in January 2018.
>>>>
>>>> We have previously discussed various forms of extended Tomcat 9 support
>>>> because it is the last Tomcat version that supports that Java EE API.
>>>>
>>>> With the above in mind, I'd like to propose the following:
>>>>
>>>> - Set EOL for 9.0.x as 31 March 2027
>>>>
>>>> - Plan for 9.1.x releases to start in April 2027
>>>>
>>>> - 9.1.x to different from 9.0.x in the following ways (all aligned with
>>>> 10.1.x):
>>>>      - No APR support
>>>>      - Require Tomcat Native 2.x (was 1.3.x)
>>>>      - Minimum Java version is 11
>>>
>>> Why raising to Java 11 if Java EE targets Java 8?
>>
>> It was to make it easier to keep the code aligned with 10.1.x (which
>> makes back-ports easier) but we'll be staying on Java 8.
> 
> 1. I think that we will sunset 10.1.x at the same time,
> to have 3 versions to support: (9.x, 11, 12)?

No. The plan is to support 9.x as an additional 4th version. We'll be 
supporting 9.x, 10.1x, 11.0.x and 12.0.x

> As such, it makes sense to align with 11.0.x instead?
> 
> 2. I do not like having to support 9.0.x and 9.1.x at the same time.

There is no plan to support 9.0.x and 0.1.x in parallel. 9.1.x will be 
the replacement for 9.0.x.

> 4. Regarding Java 11.
> - If I think of people still running older (unsupported) versions of Tomcat,
> Tomcat 9 with Java 8 is a good stable point to upgrade from those
> legacy configurations.

Indeed. Another argument for Java 8.

> - An update to a later version of Java will allow updating ECJ bundled
> with Tomcat.
> (BTW, alternatively we may recommend to reconfigure tomcat to use the
> JDK compiler, as Java nowadays comes as a JDK)

True. Also, users always have the option to update the JRE and ECJ 
themselves.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Konstantin Kolinko <kn...@gmail.com>.
пт, 30 янв. 2026 г. в 12:37, Mark Thomas <ma...@apache.org>:
>
> On 27/01/2026 20:23, Michael Osipov wrote:
> > On 2026/01/27 17:40:11 Mark Thomas wrote:
> >> Hi,
> >>
> >> I am expecting Tomcat 12 to be released - or get close to release - in
> >> the next 12 months. Following our usual pattern, that means we'd
> >> deprecate 9.0.x around the same time.
> >>
> >> The first 9.0.x release was November 2015 with the first stable release
> >> in January 2018.
> >>
> >> We have previously discussed various forms of extended Tomcat 9 support
> >> because it is the last Tomcat version that supports that Java EE API.
> >>
> >> With the above in mind, I'd like to propose the following:
> >>
> >> - Set EOL for 9.0.x as 31 March 2027
> >>
> >> - Plan for 9.1.x releases to start in April 2027
> >>
> >> - 9.1.x to different from 9.0.x in the following ways (all aligned with
> >> 10.1.x):
> >>     - No APR support
> >>     - Require Tomcat Native 2.x (was 1.3.x)
> >>     - Minimum Java version is 11
> >
> > Why raising to Java 11 if Java EE targets Java 8?
>
> It was to make it easier to keep the code aligned with 10.1.x (which
> makes back-ports easier) but we'll be staying on Java 8.

1. I think that we will sunset 10.1.x at the same time,
to have 3 versions to support: (9.x, 11, 12)?

As such, it makes sense to align with 11.0.x instead?

2. I do not like having to support 9.0.x and 9.1.x at the same time.

Can the same goal be achieved while staying at 9.0.x?

E.g. like I see in browsers:
1) disable a feature, hiding it under an obscure option (e.g. a system property)
2) after a grace period [1] remove it entirely.

[1] I think that a good grace period here may be 6 months.

One we have removed those features, we can update internals to align
with later versions of Tomcat.

3. I think dropping support for Tomcat Native 1.3.x (and thus removing
the APR connector) is the first goal.

If we go this way,
We may start with raising TCN_RECOMMENDED_* values to match Tomcat Native 2.0.x.
That means that using 1.3.x (and APR connector) will produce a warning.

https://github.com/apache/tomcat/blob/9.0.x/java/org/apache/catalina/core/AprLifecycleListener.java#L69

4. Regarding Java 11.
- If I think of people still running older (unsupported) versions of Tomcat,
Tomcat 9 with Java 8 is a good stable point to upgrade from those
legacy configurations.

- Personally, I run Tomcat 9 with Java 11 or Java 17, but I plan to
update all those to Tomcat 11.

- An update to a later version of Java will allow updating ECJ bundled
with Tomcat.
(BTW, alternatively we may recommend to reconfigure tomcat to use the
JDK compiler, as Java nowadays comes as a JDK)

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Mark Thomas <ma...@apache.org>.
On 27/01/2026 20:23, Michael Osipov wrote:
> On 2026/01/27 17:40:11 Mark Thomas wrote:
>> Hi,
>>
>> I am expecting Tomcat 12 to be released - or get close to release - in
>> the next 12 months. Following our usual pattern, that means we'd
>> deprecate 9.0.x around the same time.
>>
>> The first 9.0.x release was November 2015 with the first stable release
>> in January 2018.
>>
>> We have previously discussed various forms of extended Tomcat 9 support
>> because it is the last Tomcat version that supports that Java EE API.
>>
>> With the above in mind, I'd like to propose the following:
>>
>> - Set EOL for 9.0.x as 31 March 2027
>>
>> - Plan for 9.1.x releases to start in April 2027
>>
>> - 9.1.x to different from 9.0.x in the following ways (all aligned with
>> 10.1.x):
>>     - No APR support
>>     - Require Tomcat Native 2.x (was 1.3.x)
>>     - Minimum Java version is 11
> 
> Why raising to Java 11 if Java EE targets Java 8?

It was to make it easier to keep the code aligned with 10.1.x (which 
makes back-ports easier) but we'll be staying on Java 8.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Deprecation plans for 9.0.x

Posted by Michael Osipov <mi...@apache.org>.
On 2026/01/27 17:40:11 Mark Thomas wrote:
> Hi,
> 
> I am expecting Tomcat 12 to be released - or get close to release - in 
> the next 12 months. Following our usual pattern, that means we'd 
> deprecate 9.0.x around the same time.
> 
> The first 9.0.x release was November 2015 with the first stable release 
> in January 2018.
> 
> We have previously discussed various forms of extended Tomcat 9 support 
> because it is the last Tomcat version that supports that Java EE API.
> 
> With the above in mind, I'd like to propose the following:
> 
> - Set EOL for 9.0.x as 31 March 2027
> 
> - Plan for 9.1.x releases to start in April 2027
> 
> - 9.1.x to different from 9.0.x in the following ways (all aligned with 
> 10.1.x):
>    - No APR support
>    - Require Tomcat Native 2.x (was 1.3.x)
>    - Minimum Java version is 11

Why raising to Java 11 if Java EE targets Java 8?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org