All,

Since the introduction of multi-part upload support in Servlet 3 (Tomcat 7), Tomcat has used a package renamed fork of Commons FileUpload to provide that support.

Recently, FileUpload has undergone some major refactoring for 2.x to modularise it to support different versions of the Servlet specification, primarily Java EE vs Jakarta EE. As part of that, the minimum Java version for 2.x is Java 11.

The code Tomcat is currently based on is now the essentially 1.x branch. This was created from the 1.4 release so Tomcat currently has a few changes that were not applied to that branch. The minimum Java version for this branch is Java 6.

I have spent the last couple of hours looking at updating Tomcat 11.0.x to the 2.x FileUpload code. It is doable, but we'll need to bring in most of Commons IO as well which is about another 500k.

Given the minimum Java version requirements, Tomcat 8.5.x and 9.0.x will need to remain based on FileUpload 1.x.

Tomcat 10.1.x and Tomcat 11.0.x could opt to remain based on FileUpload 1.x or switch to 2.x.

We need to decide what to do.

Since we have little choice for Tomcat 8.5.x and 9.0.x, I will be aligning these branches with FileUpload 1.x first.

I'm not a huge fan of pulling a large chunk of Commons IO or on making sufficient changes to our fork so we don't have to. I am therefore currently planning on aligning 10.1.x and 11.0.x with FileUpload 1.x as well.

I do intend to see if there are changes from FileUpload 2.x that are worth cherry-picking into Tomcat (and FileUpload 1.x) if minimum Java versions permit.

All that said, the Jakarta EE Migration tool already includes a package renamed copy of Commons IO (as well as Lang and Compress) so there might be something we co do there - maybe a new Commons forks JAR?

Thoughts?

Mark

PS I'm going to start with 8.5.x (and then 9.0.x) now as I don't think we have much choice with those two.

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

Reply via email to