I like this approach. I would have liked to simplify the API using
records, more default methods in interfaces, increasing encapsulation
(change some public classes and methods to package-private ones), maybe
revisit if we really need a separation between interfaces and
implementations for everything, etc. But we will obviously not have the
time to do that for Maven 4.0.0 if we don't want to delay that release
for months or years. The approach described below seems a good
compromise to me.
Martin
Le 03/04/2026 à 08:29, Hervé Boutemy a écrit :
Copying Guillaume answer here, extracted from the global thread:
= https://lists.apache.org/thread/7dmfmy8hlvbtl7xlhfzz1mqwz08j61kw
On the @Experimental api, I just want to restate what I had in mind :
* release 4.0 without publicizing the new API
* finalize 4.x plugins to make them ready for consumption, this could use a
few iterations of Maven over the coming months (4.1, 4.2, etc...)
* when that's done, remove the @Experimental flag and release all plugins
in GA
Basically, ship the API in a "tech preview" mode. We don't make the API
public, we don't tell people to migrate their plugins yet...
But 4.0 brings much more than the API...
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]