Hmmm, I see two test failures.

The first one IMHO not a show-stopper, just a missing Assume in the new test:

org.apache.catalina.users.TestDataSourceUserDatabase

Testcase: testMinimalUserRoleDatabase took 0.265 sec
        Caused an ERROR
org/apache/derby/jdbc/EmbeddedDriver has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0 java.lang.UnsupportedClassVersionError: org/apache/derby/jdbc/EmbeddedDriver has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
at org.apache.catalina.users.TestDataSourceUserDatabase$DerbyUserDatabase.open(TestDataSourceUserDatabase.java:109) at org.apache.catalina.users.TestDataSourceUserDatabase.testMinimalUserRoleDatabase(TestDataSourceUserDatabase.java:130)


Derby 16 is listed on their download page to support Java 17+. All other Derby tests assume java 16:

        Assume.assumeTrue(JreCompat.isJre16Available());

but testMinimalUserRoleDatabase() added on Jul 10 in 287f203bab1b6d43618bdb7b14654f6f7d276220 doesn't have it.


About the second one, I am not so sure:

org.apache.catalina.startup.TestWithoutClustering

Testcase: testStoreRegistryWithoutClustering took 0.029 sec
        Caused an ERROR
null
java.lang.ExceptionInInitializerError
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.catalina.startup.TestWithoutClustering.testStoreRegistryWithoutClustering(TestWithoutClustering.java:313)
Caused by: java.lang.NullPointerException
at org.apache.tomcat.util.res.StringManager.getManager(StringManager.java:186) at org.apache.catalina.storeconfig.StoreRegistry.<clinit>(StoreRegistry.java:50)

There seems to be no relevant change around StoreRegistry or StringManager and the pattern seems to be used the same way in many places. If seems the class StoreRegistry is incomplete during its static initializers and getPackage() may return null, but why didn't I see this anywhere before?

Probably also not a showstopper, because StoreConfig is likely not used a lot.

Best regards,

Rainer

Am 12.08.26 um 22:08 schrieb Rémy Maucherat:
The proposed Apache Tomcat 9.0.121 release is now available for voting.

The notable changes compared to 9.0.120 are:

- Add a new attribute to the Context, urlPatternsProvidedInDecodedForm.
    This attribute controls whether URLs and URL patterns provided in the
    deployment descriptor (web.xml), annotations and/or their programmatic
    equivalents are treated as being provided in URL-encoded form (i.e.
    using %nn encoding) or in decoded form. The Servlet specification
    requires that they are provided in decoded form. However, Tomcat has
    historically treated them as if they are provided in encoded form. In
    Tomcat 12, they will always be treated as if they are provided in
    decoded form. This setting enables migration from encoded form to
    decoded form on an application by application basis. This attribute
    will be removed in Tomcat 12 where it will effectively be hard-coded
    to true.
- Require every HTTP/2 request to provide an authority (either an
    :authority pseudo header or a Host header)
- Change the default encryptionAlgorithm for the EncryptInterceptor to
    AES/GCM/NoPadding. This is a breaking change for the
    EncryptInterceptor.

For full details, see the changelog:
https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.121/

The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1601

The tag is:
https://github.com/apache/tomcat/tree/9.0.121
dc00a53100b38c8eb8befce5855e3b152eed9353

The proposed 9.0.121 release is:
[ ] -1, Broken - do not release
[ ] +1, Stable - go ahead and release as 9.0.121

Rémy

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to