While still in milestone status, Commons FileUpload 2.x is being
recommended on the project's home page
<https://commons.apache.org/proper/commons-fileupload/> and GitHub page
<https://github.com/apache/commons-fileupload?tab=readme-ov-file#getting-the-latest-release>,
and hopefully it will reach GA this year. The Spring 5.3.x EOL
<https://spring.io/blog/2024/03/01/support-timeline-announcement-for-spring-framework-6-0-x-and-5-3-x>
will likely push the whole Java ecosystem toward Java EE 9+.

A custom fork of an actively maintained upstream project is a maintenance
burden. My prototype shows that we can maintain compatibility with plugins
across the package rename with a handful of bridge methods. Once those
(few) plugins are migrated to the new package name, the bridge methods can
be deleted, resulting in a lateral move in API surface area (removal of 1.x
and addition of 2.x) rather than an increase (addition of 2.x to the
existing 1.x).

In the long term, API surface area can be decreased by removing this
library altogether. Multipart file upload is built into the servlet spec
since 3.1 via the HttpServletRequest#getPart()
<https://javadoc.io/doc/jakarta.servlet/jakarta.servlet-api/latest/jakarta.servlet/jakarta/servlet/http/HttpServletRequest.html#getPart(java.lang.String)>
API. That is a bit of a more involved project (in the sense of being less
of a mechanical rename and more of a logical rewrite of the relevant code)
to redesign the relevant Jenkins APIs in Stapler and core and migrate core
and plugins to these new APIs. A medium-term migration from Commons
FileUpload 1.x to 2.x in no way precludes this long-term strategy.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAFwNDjod%2BqkJut4wd_WykJEMh%3DJUMW2q2JOqxg_VNBY7nuqj-g%40mail.gmail.com.

Reply via email to