Hi all,

Thanks for the feedback so far. Are there any further comments or objections?

If not, I’ll assume lazy consensus after ~72 hours.

Gruß

Richard


> Am 28.03.2026 um 10:34 schrieb Richard Zowalla <[email protected]>:
> 
> Hi everyone,
> 
> As we all know, Storm is effectively in maintenance mode with only a handful 
> of active committers keeping the lights on. That's not a criticism, it's the 
> reality. 
> 
> But it means we should be deliberate about reducing complexity wherever we 
> can, so the people who are here can focus on what matters: keeping Storm 
> stable, secure, and usable.
> 
> With that in mind, I'd like to propose a Storm 3.0.0 major release with two 
> key changes:
> 
> 1) Remove the Clojure dependency entirel
> 2) Move the minimum Java baseline to Java 21
> 
> 
> 1. Removing Clojure
> 
> Storm's core was rewritten in Java years ago, but we still carry ~5,000 lines 
> of Clojure integration tests, plus supporting modules and build tooling: 
> storm-clojure, storm-clojure-test, the custom Maven shade transformer, 
> clojure-maven-plugin, and transitive dependencies like Clojure 1.12.x, 
> carbonite, tools.logging, which would need adjustments / updates for Maven 4.
> 
> The practical problem: nobody on the current committer roster maintains 
> Clojure fluency at the level needed to confidently review or evolve these 
> tests.
> They've become frozen artifacts, i.e. we work around them rather than with 
> them. For a small maintainer team, carrying an entire second language 
> ecosystem that nobody actively speaks is exactly the kind of complexity we 
> should shed.
> 
> Meanwhile our Java test infrastructure is already mature. Work is already 
> underway to port these tests to Java.
> 
> A major version bump is the right moment to drop a language dependency 
> cleanly. It simplifies the build, lowers the barrier for any new 
> contributors, and removes tooling that nobody is actively maintaining.
> 
> 
> 2.  Java 21 baseline
> 
> A major version bump is always a possibility to raise the Java baseline.
> Moving our baseline from Java 17 to 21 lets us adopt virtual threads, pattern 
> matching, record patterns, sealed classes, and the foreign function API: all 
> of which can simplify Storm internals going forward.
> For a small team, being able to write less code for the same result is a real 
> benefit. Most downstream users on current JDK LTS tracks are already on 21.
> 
> 3. This is a discuss thread, not a vote. Questions for the list:
> 
>  - Are there objections to dropping Clojure in a 3.0.0?
>  - Is Java 21 the right baseline, or should we even consider 25?
>  - Any other changes that should ride along in a major bump?
>  - Timeline preferences?
> 
> Looking forward to the discussion.
> 
> Gruß
> Richard

Reply via email to