The branch-default switch for maven-sources#57 is done. All nine 
plugins/components now have their default branch back on the Maven 3 line, with 
the Maven 4 line preserved on a <repo>-4.x branch:

  core plugins: maven-clean-plugin, maven-compiler-plugin, maven-deploy-plugin, 
maven-install-plugin, maven-resources-plugin
  packaging:    maven-jar-plugin, maven-source-plugin
  shared:       maven-archiver, maven-filtering

For each repo the end state is: default = master = Maven 3 line; <repo>-4.x = 
Maven 4 line. As expected from the rename-based approach, GitHub 
auto-retargeted the open PRs onto the <repo>-4.x line, and the repo-wide, 
default-branch-sourced configuration (.asf.yaml, .github templates, 
Jenkins/badge links) was carried over by the pre-staging PRs, so nothing was 
silently dropped.

We ran it as announced: a single pilot (maven-filtering) first to validate the 
whole procedure end to end, then the rest in one batch, and -- as agreed -- 
maven-archiver and maven-jar-plugin only once their releases (Maven Archiver 
4.0.0-beta-6 and Maven JAR Plugin 4.0.0-beta-2) were out.

Still open, as a separate step: the special case maven-plugin-tools (no swap; 
its master stays on the Maven 3 line, the -3.x branch is dropped and the 
version renamed). I'll handle that on its own and report back here.

Thanks to:
  - INFRA for performing the protected-branch renames,
  - the reviewers of the nine pre-staging PRs, and
  - Guillaume for getting the archiver and jar releases out, which let
    those two join the same batch.

Follow-up for fork owners: the upstream rename does not touch your fork. Your 
fork's master still holds the old (Maven 4) content; realigning it (e.g. rename 
your master -> <repo>-4.x and track the new upstream master = Maven 3) is a 
one-time manual step, described in the runbook:

  https://cwiki.apache.org/confluence/x/85fwGg

Regards,
Gerd

> On 19. Oct 2026, at 08:35, Gerd Aschemann <[email protected]> wrote:
> 
> Meanwhile, the pilot repo (maven-filtering) switch was completed by Infra 
> (thanks!). If you open the repo in GH it now greets you with a message that 
> the default branch was renamed:
> 
>       <PastedGraphic-1.png>
> 
> The open PR was auto-retargeted onto the Maven 4 line, the Maven 3 branch 
> became the new master, and no configuration was dropped.
> 
> So we're continuing with the next six, all reviewed and approved, using the 
> exact same procedure:
> 
>   - maven-clean-plugin      
> https://github.com/apache/maven-clean-plugin/pull/366
>   - maven-compiler-plugin   
> https://github.com/apache/maven-compiler-plugin/pull/1169
>   - maven-deploy-plugin     
> https://github.com/apache/maven-deploy-plugin/pull/718
>   - maven-install-plugin    
> https://github.com/apache/maven-install-plugin/pull/467
>   - maven-source-plugin     
> https://github.com/apache/maven-source-plugin/pull/340
>   - maven-resources-plugin  
> https://github.com/apache/maven-resources-plugin/pull/539
> 
> Two components stay out of this batch for now: maven-archiver and 
> maven-jar-plugin, because their release votes are not officially closed yet. 
> Those will follow in a separate, later swap once they are ready.
> 
> I'll report again once this batch is done.
>> On 18. Oct 2026, at 22:33, Gerd Aschemann <[email protected]> wrote:
>> 
>> Unfortunately we couldn’t get the desired support from Infra as they had to 
>> cope with more important stuff (security issue) by today. Will give it 
>> another try tomorrow.
>> 
>> 
>>> On 18. Oct 2026, at 07:55, Gerd Aschemann <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Good Morning,
>>> 
>>> The preparation is done and reviewed, so I'm starting the switch now.
>>> 
>>> I'm beginning with a single pilot, so we can validate the whole
>>> procedure end to end before touching the rest: maven-filtering
>>> 
>>>  https://github.com/apache/maven-filtering/pull/412
>>> 
>>> It has only one open PR and is already released, which makes it the
>>> lowest-risk candidate.
>>> 
>>> For each repository the swap is:
>>> 
>>>  - rename the current default "master" (Maven 4 line) to <repo>-4.x
>>>  - rename <repo>-3.x to "master" (restored as the default branch,
>>>    coordinated with INFRA)
>>>  - a committer merges the prepared pre-staging PR so the new master
>>>    carries the repo-wide default-branch configuration (.asf.yaml,
>>>    .github, Jenkins badges) that GitHub and ASF infra only read from
>>>    the default branch
>>> 
>>> GitHub auto-retargets the open PRs on rename, so contributors'
>>> existing PRs are preserved.
>>> 
>>> Two components are intentionally held back from today's batch:
>>> maven-archiver and maven-jar-plugin, because their release votes are
>>> not officially closed yet. They will follow in a separate, later swap
>>> once released.
>>> 
>>> Once the pilot looks good I'll continue with the remaining components
>>> and report progress here.
>>> 
>>> As of now, I have no approval for m-compiler-p and m-archiver as well as 
>>> m-jar-p have pending release votes. 
>>> Therefore, I will postpone all three until this is sorted out.
>>> 
>>> Runbook: https://cwiki.apache.org/confluence/x/85fwGg
>>> 
>>> Regards,
>>> Gerd
>>> 
>>>> On 6. Oct 2026, at 10:45, 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.
>>>> 
>>>> 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 -- [email protected] <mailto:[email protected]> -- 
>>>> https://aschemann.net <https://aschemann.net/>
>>>> 
>>> 
>>> --
>>> Gerd Aschemann --- Veröffentlichen heißt Verändern (Carmen Thomas)
>>> +49/173/3264070 -- [email protected] <mailto:[email protected]> -- 
>>> http://www.aschemann.net <http://www.aschemann.net/>
>>> 
>> 
>> --
>> Gerd Aschemann --- Veröffentlichen heißt Verändern (Carmen Thomas)
>> +49/173/3264070 -- [email protected] <mailto:[email protected]> -- 
>> http://www.aschemann.net <http://www.aschemann.net/>
> --
> Gerd Aschemann --- Veröffentlichen heißt Verändern (Carmen Thomas)
> +49/173/3264070 -- [email protected] -- http://www.aschemann.net
> 

--
Gerd Aschemann --- Veröffentlichen heißt Verändern (Carmen Thomas)
+49/173/3264070 -- [email protected] -- http://www.aschemann.net

Reply via email to