TL;DR
The long-time Mockito maintainer announced he will resign in March 2026 after ten years, citing exhaustion from a JVM agent change, friction around Kotlin support, and renewed interest in other open-source work. He plans a transition period and further discussion about future maintainership on the project’s issue tracker.
What happened
The maintainer of Mockito opened an issue stating he will step down in March 2026, marking roughly ten years in the role. He said he will spend the months until then working to hand over responsibilities and ensure a smooth transfer. In his post he named three drivers for the decision: the energy drain caused by Mockito 5’s shift to an agent-based main artifact after JVM 22 put dynamic agent attachment behind a flag; ongoing maintenance complexity introduced by Kotlin differences that require separate code paths and sometimes duplicated APIs; and a personal shift of interest toward other open-source projects, notably Servo, where he has recently regained enjoyment programming. He described feeling left to solve the agent-related problems largely on his own and criticized the lack of build support for the agent approach. He also encouraged volunteering for open-source maintenance and noted that others may wish to take on Kotlin work.
Why it matters
- Leadership change at a widely used testing library could affect future development priorities and contributor dynamics.
- The dispute around JVM agent changes illustrates coordination challenges between platform maintainers and downstream open-source projects.
- Kotlin-specific maintenance burdens highlight how language differences can increase complexity for cross-language libraries.
- The post underscores how volunteer burnout and shifting personal interests influence the sustainability of major open-source projects.
Key facts
- The maintainer announced his intent to step down in March 2026 after about ten years on the project.
- Mockito 5 made a breaking change: its primary distribution is now an agent because JVM 22 restricts dynamic agent attachment behind a flag.
- The maintainer said the agent transition was energy draining and that he felt the project was asked to adapt without sufficient ecosystem support.
- ByteBuddy and earlier module work (credited to Rafael) were referenced as examples of prior successful, collaborative efforts.
- Kotlin’s JVM idiosyncrasies forced Mockito to implement separate flows and sometimes duplicated APIs, increasing code complexity.
- The maintainer reported rediscovering enjoyment working on Servo, a web engine written in Rust, and spending more personal time there.
- He intends to use the months before March 2026 to prepare a handover and said future maintainership discussions will be posted in a separate GitHub issue.
- The GitHub issue announcing the departure has been pinned, and repository conversation on that issue was locked to collaborators.
What to watch next
- A follow-up GitHub issue where plans for future maintainership and the handover process will be discussed.
- Progress of the maintainer’s transition work between the announcement and March 2026.
- not confirmed in the source: who will take over maintainership and what specific roadmap changes the new maintainers might pursue.
Quick glossary
- Mockito: An open-source Java library commonly used for creating mock objects in unit tests.
- JVM agent: A component that can instrument or modify Java bytecode at runtime, often used for tooling and testing.
- Dynamic agent attachment: The ability to attach an agent to a running JVM process without restarting it; some JVM releases restrict this behavior.
- Kotlin: A modern JVM language that interoperates with Java but has language features that can affect runtime behavior and tooling.
- ByteBuddy: A Java library for generating and modifying bytecode at runtime, often used to implement agents and instrumentation.
Reader FAQ
When will the maintainer step down?
He plans to step down in March 2026 and will work on a handover until then.
Who will replace the maintainer?
not confirmed in the source
Did the maintainer explain why the agent change was made?
He said the change was related to JVM 22 putting dynamic attachment behind a flag and framed the move as a security-driven change.
Will Mockito stop supporting Kotlin?
not confirmed in the source
mockito / mockito Public Sponsor Notifications Fork 2.7k Star 15.4k Code Issues 452 Pull requests 27 Discussions Actions Stepping down as maintainer after 10 years #3777 New issue Open Description TimvdLippe…
Sources
- Stepping down as Mockito maintainer after ten years
- Stepping down as Mockito maintainer after 10 years
- Issues · mockito/mockito
- Module was compiled with an incompatible version of …
Related posts
- Self-hosting Is Being Enshittified — Rising Hardware Costs and Broken Trust
- Slaughtering Competition Problems Using Quantifier Elimination in SageMath
- fcvvdp: a compact, high-performance C implementation of the CVVDP metric