I have a preference for B. This is based on my experience in supporting large XML documents defined by international standards (ISO 19115, ISO 19136, …) which changed their namespace when they published a new version. Projects using JAXB for reading such XML documents sometime lazily generate two set of classes by running the JAXB compiler twice, once for each version. The result is two set of nearly identical Java classes and a lot of effort spent in copying data from one version to another. A theoretically better approach is to support only one version and use XSLT for converting the other version on the fly, but it still a significant effort especially if the developers have to write the XSLT themselves.

However, I may underestimate the implications of a change for the Maven ecosystem, so I'm fine if the majority decide for A.

    Martin


Le 01/04/2026 à 07:27, Hervé Boutemy a écrit :
typo fix: we're voting on the new pom.xml = the BUILD one (the consumer remains
the Maven 3 one)
sorry, here is the fixed message, for sake of precision:

after a long discussion on consequences of each choice, it's time to make a
decision:

option A:
keep 4.1.0 XML namespace that permits modelVersion inference since 4.0.0-
alpha-6
= promote simplified build POM like:
<project xmlns="http://maven.apache.org/POM/4.1.0";>
...
</project>


option B:
revert to 4.0.0 XML namespace, forcing explicit modelVersion back:
<project xmlns="http://maven.apache.org/POM/4.0.0";>
   <modelVersion>4.1.0</modelVersion>
...
</project>
= finish the revert PR https://github.com/apache/maven/pull/10952


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

Reply via email to