Hello
I have no strong expertise in that area, so my question is probably
naive. If the XML namespace should not follow the model version, should
"http://maven.apache.org/POM/4.0.0" by changed to
"http://maven.apache.org/POM" for making that clear? If yes, since it
would be a breaking change anyway, would it make things worst if the
namespace is temporarily changed to "http://maven.apache.org/POM/4.1.0"
or "http://maven.apache.org/POM/4.2.0" in order to give us enough time
for designing carefully a more final model in Maven 5?
Martin
Le 2025-07-22 à 14 h 47, Guillaume Nodet a écrit :
I'm writing to initiate a discussion about an important decision regarding
Maven 4.0's namespace strategy. We have two competing approaches
represented by different pull requests, and the *primary question is about
timing and acceptable breakage* for this release cycle.
Background
As we approach Maven 4.0 GA (currently at RC-4), we have two PRs that
represent different philosophies:
- *PR #2475*: Create a new modelVersion 4.2.0 (my approach, targeting
4.1.0/master)
- *PR #10952*: Keep Maven Namespace the same (@elharo's approach)
The Core Issue: Timing vs. Technical Merit
*My position:* I don't disagree with @elharo's proposed change from a
technical standpoint. The benefits are:
- Adheres to XML namespace best practices
- Makes XML processing tooling easier by not having to convert between
namespaces
*However*, this represents a *major breaking change*. While my PR targets
4.1.0 (master branch), since we already have a stable branch for 4.0.0, the
timing question remains critical for our overall versioning strategy.
My Proposal: Defer to Maven 5.0
Instead of rushing this change into 4.0, I propose we:
1. *Continue with my approach for Maven 4.1.0* (new modelVersion 4.2.0,
already targeting master)
2. *Plan properly for Maven 5.0* with a brand new namespace that we would
then consider stable
3. *Design the Maven 5.0 namespace from the ground up* with long-term
stability in mind
This approach would give us the benefits @elharo is seeking while allowing
proper planning, testing, and ecosystem preparation.
Key Questions for the Community
1. *Timing*: Should we introduce a major breaking change in the 4.x series,
or wait for 5.0?
2. *Risk tolerance*: What level of ecosystem disruption is acceptable for a
4.x release?
3. *Long-term vision*: Would a properly planned Maven 5.0 namespace
overhaul better serve our goals?
I'm interested in hearing the community's thoughts on this timing vs. technical
merit trade-off.
Best regards,
Guillaume Nodet