there is an important aspect:
we need to clarify that Maven 3 plugins are still the normal situation even 
with Maven 4 out.

There is no rush to create Maven 4 plugins: Maven 4 plugins is a work for 
future, a target situation in a few years.

This message is not only for our Maven-team maintained plugins but also all 
plugin maintainers from the community.

Our users community is huge, so is our plugin maintainers community: they need 
time to test, learn, transition.


Gerd shares detailed plan before doing, instead of doing, creating a bad 
situation, then having live with it.
Please let him fix the too aggressive move that was done: it does not break 
anything, and he's doing the work to fix the situation.


Remember, the plan is:
for now, we release Maven 4.0 that runs Maven 3 plugins.
Maven 4 plugins are an exception, for example for Java Module improvement, 
where the complexity adds a real value.
This is what provides a smooth transition:
- for Maven users
- and for plugins maintainers (at Maven and in the community)

Once Maven 4.0 is released and we have good feedback that Maven 4 works well, 
we'll have time to plan wider plugins move.

Let's avoid existing plugin maintainers confusion from Maven 4 existence: new 
plugin API is a long term plan that will happen after a few years.
Maven 3 plugins are there to strive for years, as simple as today.

Trying to go faster is counter productive.


Thank you Gerd

Hervé


On 2026/10/08 16:30:10 Romain Manni-Bucau wrote:
> Hmm, i'm -0 to change, I dont see much benefit.
> 
> That said if we move to say "we don't do branches for maven 4/maven 3" but
> move plugins to multimodule builds with shared+mvn3+mvn4 in a single branch
> and versions (maven vs plugins) are independent then it is a real pro since
> it enables to reduce backports and I'd move that to master/main, everything
> else is useless noise IMHO.
> 
> Romain Manni-Bucau
> @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/> | 
> Old
> Blog <http://rmannibucau.wordpress.com> | Github
> <https://github.com/rmannibucau> | LinkedIn
> <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064>
> Javaccino <https://javaccino.dev/> founder (Java/.NET service - contact via
> linkedin)
> 
> 
> Le jeu. 8 oct. 2026 à 18:20, Gerd Aschemann <[email protected]> a écrit :
> 
> > Fair questions -- here are numbers on the fork impact, since that's the
> > main concern.
> >
> > Across the 9 repos there are ~620 forks, but the relevant subset is much
> > smaller:
> >
> > - ~74% (about 465) were created BEFORE these repos moved master to the
> > Maven 4
> >   line (that switch happened in 2024, March-June). Their master is
> > therefore
> >   ALREADY the Maven 3 line. Bringing upstream master back to Maven 3 puts
> > it on
> >   the SAME line those forks are on -- it reduces divergence, it doesn't
> > create
> >   it. They need nothing.
> > - That leaves ~155 forks created after the switch (Maven 4 master). Of
> > those,
> >   only ~100 are active (a push in the last 12 months); the rest are
> > untouched.
> >
> > So the forks that could face a one-time realignment are on the order of
> > ~100,
> > not 620. And even for them:
> >
> > - The rename does not touch fork branches -- a fork keeps its branches
> > unchanged.
> > - Open PRs from forks are retargeted automatically by GitHub when the base
> > is
> >   renamed (that's exactly why we rename instead of force-push) -- no
> > manual PR
> >   work.
> > - The only manual step is for someone who keeps their fork's master in
> > sync with
> >   upstream and wants to continue: rename their master to <repo>-4.x and
> > track the
> >   new master. It's a one-time, documented step.
> >
> > And for the few who do keep a fork's master in sync with upstream,
> > realigning is
> > quick -- your current master (Maven 4) becomes upstream's <repo>-4.x, and
> > master
> > becomes Maven 3:
> >
> >     git fetch upstream
> >     git branch -m master <repo>-4.x       # your Maven 4 line
> >     git branch master upstream/master     # the new Maven 3 default
> >
> > Open PRs move by themselves; the above is only for a long-lived local
> > master, and
> > it will be in the switch announcement too.
> >
> > On the benefit -- worth weighing honestly: it's not maintenance burden (the
> > branches are the same either way), it's what a casual clone or a new
> > contributor
> > lands on. The agreed direction is Maven 3 as the default line until Maven 4
> > adoption has progressed; today a fresh clone of these repos lands on Maven
> > 4,
> > which is the opposite.
> >
> > Per repo, as "forks (created before the 4.x switch = Maven 3 master /
> > created
> > after = Maven 4 master / of those, active in the last 12 months)":
> >
> > - maven-compiler-plugin: 198 (156 / 42 / 26)
> > - maven-jar-plugin:        80 (64 / 16 / 14)
> > - maven-deploy-plugin:     79 (60 / 19 / 10)
> > - maven-clean-plugin:      61 (46 / 15 / 8)
> > - maven-install-plugin:    49 (39 / 10 / 6)
> > - maven-source-plugin:     42 (27 / 15 / 10)
> > - maven-filtering:         41 (26 / 15 / 11)
> > - maven-resources-plugin:  39 (25 / 14 / 11)
> > - maven-archiver:          30 (21 / 9 / 7)
> > - Total:                  619 (464 / 155 / 103)
> >
> > Only the last number on each line ("active Maven-4-master forks") is one
> > that
> > might want the one-time realign.
> >
> >
> >
> >
> > > On 8. Oct 2026, at 09:30, Romain Manni-Bucau <[email protected]>
> > wrote:
> > >
> > > Is the proposal to force all forks to be updated for both branches ([1])?
> > > Is it worth it or do we expect your claude to go on all computers?
> > >
> > > [1]
> > >
> > https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > > <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/>
> > | Old
> > > Blog <http://rmannibucau.wordpress.com> | Github
> > > <https://github.com/rmannibucau> | LinkedIn
> > > <https://www.linkedin.com/in/rmannibucau> | Book
> > > <
> > https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >
> > > Javaccino <https://javaccino.dev/> founder (Java/.NET service - contact
> > via
> > > linkedin)
> > >
> > >
> > > Le jeu. 8 oct. 2026 à 09:26, Slawomir Jaranowski <[email protected]>
> > a
> > > écrit :
> > >
> > >> On Tue, 6 Oct 2026 at 10:46, Gerd Aschemann <[email protected]> wrote:
> > >>
> > >>> Hi all,
> > >>>
> > >>> Following up on Hervé's call to lead the Git work for maven-sources#57
> > <
> > >>> https://github.com/apache/maven-sources/issues/57>: a handful of
> > >>> Maven-4-specific plugins and shared components currently have their
> > >> default
> > >>> master branch on the Maven 4 line, with a <repo>-3.x branch for Maven
> > 3.
> > >>> That is the reverse of our agreed direction — the default should be
> > Maven
> > >>> 3, with Maven 4 as a separate branch until Maven 4 adoption has
> > >> progressed.
> > >>> Concretely, it avoids signalling that users moving to Maven 4.0 must
> > also
> > >>> switch to the new (Maven 4 API) plugins; Maven 4.0 is expected to run
> > the
> > >>> Maven 3 plugins.
> > >>>
> > >>> This originates from Hervé Boutemy (tracking issue + #maven Slack
> > thread
> > >> <
> > >>> https://the-asf.slack.com/archives/C7Q9JB404/p1789896368528809>); the
> > >>> full plan / runbook is on Confluence <
> > >>> https://cwiki.apache.org/confluence/x/85fwGg>.
> > >>>
> > >>> Scope (plugins / components only, NOT Maven core):
> > >>>
> > >>> core plugins: clean, compiler, deploy, install, resources
> > >>> packaging: jar, source
> > >>> shared: archiver, filtering
> > >>> special case: plugin-tools — no swap; master stays Maven 3 (drop the
> > -3.x
> > >>> branch, rename the version to 3.17.0-SNAPSHOT).
> > >>> The target branch name stays master (not main); a move to main, if
> > ever,
> > >>> should be a separate global decision, not a side effect of this.
> > >>>
> > >>> Method — rename, not force-push:
> > >>>
> > >>> rename master (Maven 4) → <repo>-4.x
> > >>> rename <repo>-3.x (Maven 3) → master
> > >>> Renaming the base branch makes GitHub retarget open PRs automatically,
> > so
> > >>> merge bases and PR history are preserved (~45 open PRs across these
> > >> repos).
> > >>>
> > >>> Impact on forks: renaming the upstream branches does not touch forks. A
> > >>> fork's master keeps the old (Maven 4) content and its default branch is
> > >>> unchanged; each fork owner realigns their own branches afterwards (e.g.
> > >>> rename their master → <repo>-4.x and track the new upstream master =
> > >> Maven
> > >>> 3). Open PRs from forks keep working — GitHub retargets their base on
> > the
> > >>> upstream rename. This is a one-time, per-fork manual step; it will be
> > >>> documented, and those of us with forks (myself included) will handle
> > our
> > >>> own as a follow-up.
> > >>>
> > >>
> > >> Did we estimate how many forks will be affected by it?
> > >>
> > >>
> > >>>
> > >>> Plan:
> > >>>
> > >>> Execution approach agreed with INFRA: INFRA performs the two
> > >>> protected-branch renames per repo by hand; we handle .asf.yaml,
> > >> default.xml
> > >>> and README. Rehearsed on a throwaway fork first.
> > >>> One low-risk first test (maven-filtering, 1 open PR), verify, then the
> > >>> rest en bloc — in a single coordinated window, timed with the plugin
> > >>> maintainers and outside any open staging/release vote.
> > >>> Timing: from ~16 October (after Community over Code).
> > >>> Communication: to avoid noise I'll keep updates in this thread rather
> > >> than
> > >>> per-repo mails — a heads-up when we start with maven-filtering, and one
> > >>> when starting the batch and when it is done.
> > >>>
> > >>> Please raise any objection — here or on maven-sources#57 <
> > >>> https://github.com/apache/maven-sources/issues/57> — before we start
> > >>> (targeting the weekend of 19 October, after the CoC@Glasgow). Feel
> > free
> > >>> to comment on Slack or Confluence as well.
> > >>>
> > >>> Thanks, Gerd
> > >>>
> > >>> --
> > >>> Gerd Aschemann (er/he) --- Veröffentlichen heißt Verändern (Carmen
> > >> Thomas)
> > >>> +49/173/3264070 <+49%20173%203264070> <+49%20173%203264070>
> > <+49%20173%203264070> --
> > >> [email protected] --
> > >>> https://aschemann.net
> > >>>
> > >>>
> > >>
> > >> --
> > >> Sławomir Jaranowski
> > >>
> >
> > --
> > Gerd Aschemann (er/he) --- Veröffentlichen heißt Verändern (Carmen Thomas)
> > +49/173/3264070 <+49%20173%203264070> -- [email protected] --
> > https://aschemann.net
> >
> >
> 

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

Reply via email to