Still breaks backwards compatibility unfortunately. Imagine an application which extends `org.apache.struts2.interceptor.TokenInterceptor` and overrides `protected String handleValidToken(com.opensymphony.xwork2.ActionInvocation invocation)`. These import replacements would break such applications.
For this particular case, it is actually possible to provide both forwards and backwards compatibility by using some delegation tricks. I actually did this for a number of interceptors and results already in Struts 6.x, but did not get around to doing them all. Here is a PR to implement it for the TokenInterceptor: https://github.com/apache/struts/pull/1565 On Mon, 2 Feb 2026 at 17:33, Lukasz Lenart <[email protected]> wrote: > > What about changes like that PR? It doesn't move classes into other > packages, just uses existing new packages internally - such an > approach should be safe enough and keep backward compatibility. > https://github.com/apache/struts/pull/1561 > > niedz., 1 lut 2026 o 16:06 Lukasz Lenart <[email protected]> napisał(a): > > > > Thanks for pointing this out! You are right, Struts 6.x is in a > > maintenance mode and this is way over simple bug fixing :) > > > > niedz., 1 lut 2026 o 14:22 Kusal Kithul-Godage > > <[email protected]> napisał(a): > > > > > > Hi Łukasz, > > > > > > If the primary motivation for this change is to reduce backporting > > > effort, I would object. > > > > > > While this shift simplifies the process for us as Struts developers, > > > it places a significant burden on every application consuming Struts > > > 6.x. For complex enterprise applications, this burden is more > > > significant than one might expect and can be insurmountable, > > > particularly if they must ensure backwards compatibility for > > > downstream consumers. > > > > > > Given that Jakarta EE 8 is EOL, I believe it is further inappropriate > > > to introduce breaking changes in Struts 6.x. Such applications are > > > likely in maintenance mode if they are not already actively working on > > > upgrading to Jakarta 10+ and Struts 7. > > > > > > Best regards, > > > Kusal > > > > > > > > > On Sun, 1 Feb 2026 at 23:16, Lukasz Lenart <[email protected]> > > > wrote: > > > > > > > > Any objections of starting converting packages from > > > > "com.opensymphony.xwork2" to "org.apache.struts2" in Struts 6.x? This > > > > will bring incompatible changes and will require user action when > > > > upgrading so I thought about doing this while performing some other > > > > work or in smaller chunks. > > > > > > > > Also this will help porting fixes from 7.x like this one > > > > https://github.com/apache/struts/pull/1562 > > > > > > > > An example PR with pure scoped converstion > > > > https://github.com/apache/struts/pull/1561 > > > > > > > > > > > > Cheers > > > > Łukasz > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [email protected] > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [email protected] > > > For additional commands, e-mail: [email protected] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
