Hi,
As discussed here and due to the major consensus, I will move forward
with the plan.
 See inline


On Wed, 4 Feb 2026 at 11:48, Olivier Lamy <[email protected]> wrote:
>
> Hi there,
> Finally back after a few months of work (Thanks a lot to Sebastian
> Tiemann for the huge help on this topic!), the branch is ready.
> There is still a weird Windows test failure.
> I wish we could be Java 9+ to be able to use ProcessHandle and really
> simplify the class PpidChecker, which mixes parsing of ps on unix and
> wmic for Windows.
> This wmic looks to be broken on modern Windows see [1].
>  But I have a very very limited knowledge of this operating system, so
> relying on ProcessHandle would be much simpler (sorry the off-topic
> this could of another thread but I like to express my frustration via
> some ranting :) )
>
> So what I would like to do now as a plan to move forward:
> - make release of master (3.5.5)

Done

> - having a 3.5.x branch

branch surefire-3.5.x created


> - merge the giant PR (master will be 3.6.x) having something 4.0.x
> could be better when we will be using Maven 4.x api.

finishing/magnifying changes in the PR (the huge part of the work is
done) (https://github.com/apache/maven-surefire/pull/3179)
 I have added some documentation with mermaid diagrams (which are
rendering well in GitHub but still need a PR to get merged and doxia
tools released for good rendering with Maven website)


> - cut a release 3.6.0.M1 could be alpha-1, beta-1  (or even broken-1
> as I expect a significant amount of issues even if we have a very
> large collection of ITs)
> - then fixing the bugs :) for another release. (looping here)
>
> WDYT?
>
> Cheers
> Olivier
>
> [1] https://github.com/apache/maven-surefire/issues/3176
>
>
> On Thu, 9 Oct 2025 at 17:23, Delany <[email protected]> wrote:
> >
> > Hi Tibor,
> >
> > Another popular principle out there is do one thing well.
> > The provider principle is already in play with Maven's plugin architecture.
> >
> > I would much rather have a test plugin purpose built for the test framework
> > I use.
> > Its fine until you want to do something a bit extra,
> > https://github.com/apache/maven-surefire/issues/3146
> >
> > Without knowing anything about the internals, my perception is that
> > surefire is hugely complicated with a lot of needless ceremony.
> > I don't feel that way about any other plugin.
> > You talk about separation of concerns, but at least from the outside it
> > seems so many concerns are overlapping.
> > Configuration, test discovery. Threading is configurable in all three,
> > junit, surefire, and maven, not to mention the unit under test.
> >
> > The gold standard is if test frameworks provide their own plugin so there
> > is clear responsibility for it, and maybe a plugin that shares its namesake
> > will encourage some buy-in.
> > If the lineage of developers maintaining the plugin is patchy, what hope is
> > there for supporting a particular test framework integration,
> > or looking into deeper issues, or just having some time to respond?
> >
> > I probably shouldn't talk about contributing code, but I think designing a
> > plugin that people would want to contribute should be pretty high on the
> > list of priorities.
> > Keeping it lean and fit for purpose should keep the number of releases down
> > too. Its a busy plugin. Probably the busiest?
> >
> > Delany
> >
> > On Wed, 8 Oct 2025 at 21:30, Tibor Digana <[email protected]> wrote:
> >
> > > @Martin Desruisseaux,
> > >
> > > >> Even if Maven wanted to be independent of JUnit 5...
> > > I know Surefire and JUnit5 quite well, no need to tell me, but I was not
> > > talking about technical things. I am talking about totally different
> > > topics, especially about good Surefire purpose and design with Providers,
> > > risk management and the whole globe of users.
> > > JUnit5 is not a principal shift.
> > >
> > >    - Supporting only JUnit5 f/w, deleting Provider API, deleting JUnit3 +
> > >    4 + TestNG is intentionally a bad idea.
> > >    The thing happening now goes against the historical continuity because
> > >    previous two developers left ASF.
> > >    - The Surefire originators who designed the architecture had a good
> > >    reasons to introduce Provider API, it is a good design. It separates
> > >    concerns of the plugin from the concerns of test frameworks. Although
> > > the
> > >    test frameworks have very similar Listeners, they are cohesive with
> > >    Surefire Listener and this enables Maven + plugin to be independent of
> > > test
> > >    framework implementation across vendors and versions and third party
> > >    policies (pricing, license, SDLC) and this provides us with certain
> > > freedom
> > >    meaning no coupling (technical coupling and team coupling) between 
> > > Maven
> > >    plugin and third party frameworks.
> > >
> > > >> Keeping direct support of JUnit 3 (as opposed to indirect support
> > > through JUnit 5 API) has a cost.
> > > No, this is not true.
> > > I was a developer of Surefire for many years and JUnit3 + POJO *Provider*
> > > was stable which means I did not need to touch it for quite a long time.
> > > This Provider is pretty simple for simple tests, and the positive is that
> > > the POJO does not require JUnit, this is good for lightweight test
> > > projects.
> > >
> > >
> > > >> Of course there is a risk that we break something. ... difficult to
> > > implement.
> > > It is not difficult to implement. I know Surefire like my shoes.
> > > My problem is that I left during Covid and the historical continuity with
> > > new developers was broken, that's my fault, I am honest now. If this did
> > > not happen then most probably Slawomir would continue straight ahead and
> > > others maybe too.
> > >
> > > Cheers
> > > Tibor
> > >
> > > On Tue, Oct 7, 2025 at 8:22 PM Martin Desruisseaux
> > > <[email protected]> wrote:
> > >
> > > > Hello Tibor
> > > >
> > > > Even if Maven wanted to be independent of JUnit 5, Maven does not need
> > > > to invent its own test API. JUnit5 has a separation between API and
> > > > implementations, so it would be possible to use only the API part if
> > > > necessary (I don't think that it would be necessary, just mentioning
> > > > that we have this possibility). Therefore, a full switch to JUnit 5
> > > > would not necessarily make us fully prisoner of JUnit 5.
> > > >
> > > > Keeping direct support of JUnit 3 (as opposed to indirect support
> > > > through JUnit 5 API) has a cost. For example, I saw requests on this
> > > > mailing list for testing the different versions of a multi-release JAR
> > > > file. Currently, any classes in META-INF/versions/* will be ignored at
> > > > testing time, because Surefire runs the tests with the `*.class` files
> > > > on the class-path while multi-release works only with JAR files. Last
> > > > Saturday, I wanted to start looking for the possibility of adding an
> > > > option for running the tests many times with different
> > > > `META-INF/versions/*` directories added to the class-path. It was not
> > > > easy to find my way in the Surefire code, and I rely a lot on the
> > > > simplification proposed by Romain before to make any other attempt.
> > > >
> > > > Of course there is a risk that we break something. But the example given
> > > > in the previous email (tests as POJO) should be easy to port. The
> > > > alternative (not removing direct JUnit 3 support) is more like freezing
> > > > the Surefire plugin: no accidental lost of feature, but also less new
> > > > features (e.g. easier testing of multi-release projects) because they
> > > > would be more difficult to implement.
> > > >
> > > >      Martin
> > > >
> > > >
> > > > Le 07/10/2025 à 19:16, Tibor Digana a écrit :
> > > > > Romain,
> > > > >
> > > > > to be honest the JUnit guys always wanted to make their own business
> > > and
> > > > > monopoly over the testing phase in Maven, which means using JUnit5
> > > only,
> > > > > that's it.
> > > > >
> > > > > I have been a JUnit4 developer since cca 2011 or so, and we know each
> > > > other.
> > > > > If I say business then I really mean business and not only the word.
> > > > > Defining report schema and forking mechanism JVMs in JUnit5, these are
> > > > > still the same competition problems between us, and I say it's about
> > > the
> > > > > monopoly, which means who takes the control over these things takes
> > > full
> > > > > control over Maven testing and then Maven becomes completely dependent
> > > on
> > > > > some test framework which is the risk for Maven.
> > > > >
> > > > > This is the main problem but you wouldn't see this unless you have
> > > spent
> > > > > years and years developing both parties as I have.
> > > > >
> > > > > Making Maven strictly dependent only on JUnit5 is the worst decision
> > > > > ever, I am telling you!
> > > > > Btw, experienced Maven guys must know what a strict dependency means
> > > and
> > > > > the consequences too.
> > > > > We are still in the loop for years with deleting something because
> > > > somebody
> > > > > has got a crazy idea in the morning, found out  github/dev-factory or
> > > > > anything else, some tool or technology as many other, those tools 
> > > > > which
> > > > > come and go every year.
> > > > >
> > > > > On Mon, Sep 29, 2025 at 9:09 AM Romain Manni-Bucau <
> > > > [email protected]>
> > > > > wrote:
> > > > >
> > > > >> Hi all,
> > > > >>
> > > > >> I'd like to start a thread about potentially dropping surefire
> > > totally.
> > > > >> The rational is that surefire (and failsafe) are mainly an 
> > > > >> abstraction
> > > > >> layer on top of main test providers.
> > > > >> However, since JUnit5 the platform/engine is itself such an
> > > abstraction
> > > > >> layer and a runner.
> > > > >>
> > > > >> On another side, testng and junit4 are slowly getting abandonned -
> > > even
> > > > EE
> > > > >> TCK started to move.
> > > > >>
> > > > >> In terms of additional features we do have the maven site integratoin
> > > -
> > > > but
> > > > >> I doubt it is much used outside and to be honest it can be replaced
> > > > with a
> > > > >> github/dev-factory link with more benefit these days.
> > > > >>
> > > > >> So overall I think we can converge by dropping surefire plugin in
> > > favor
> > > > of
> > > > >> a thin wrapper of junit5 console runner ([1]).
> > > > >>
> > > > >> Short terms I'm sure Christian could help us getting something fast
> > > > based
> > > > >> on its implementation ([2] - including a small surefire compatibility
> > > > mode)
> > > > >> and long term it will reduce the maintenance cost we do have for a
> > > very
> > > > >> poor gain in current world (site and remoting are no more key 
> > > > >> features
> > > > >> thanks the CI and doc evolution).
> > > > >>
> > > > >> Wdyt? Is maven 4 the mometum to do it?
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > > >
> > >

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

Reply via email to