Personally I’m waiting for somebody who has experience with Maven to put together a patch against the master branch with the proposed JDK/JRE changes.
As far as I remember Christopher has offered help. Regards, Andor > On Jan 8, 2026, at 15:59, Li Wang <[email protected]> wrote: > > Happy New Year! > > Just wonder if there is any update on the target date/timeframe for the new > 4.0.0/3.10 release? > > Thanks, > > Li > > > On Tue, Sep 23, 2025 at 12:31 AM Andor Molnar <[email protected]> wrote: > >> Thanks Christopher, would you please open a PR with the proposed changes >> for the master branch? >> >> >> >> >>> On Sep 19, 2025, at 19:50, Christopher <[email protected]> wrote: >>> >>> Sounds good to me. I can help with the maven changes, too. >>> >>> On Fri, Sep 19, 2025, 11:54 Andor Molnar <[email protected]> wrote: >>> >>>> Hi all, >>>> >>>> Since our household chores have been finished with recent 3.9 and 3.8 >>>> version, I think we can get back to this topic. >>>> >>>> Looking at the tremendous amount of work that Kezhu is doing on master >>>> with client jar separations, I tend to cut 4.0.0 from master once >>>> everything is done. If that’d be the case we could make a leap and make >> JDK >>>> 17 the minimum runtime and compile versions for the master branch. wdyt? >>>> >>>> Once the change is merged to master, we'll backport it to branch-3.9 as >>>> follows: >>>> >>>> * minimum JDK for building: 17 >>>> * minimum JRE for running: 8 (no change) >>>> >>>> This is completely aligned with Christopher’s suggestion except we won’t >>>> touch the branch-3.8 as it’s going to be EoL’d in 6 months after the >>>> release of 4.0.0. >>>> >>>> Regards, >>>> Andor >>>> >>>> p.s. Due to my little Maven experience I won’t be able to make the PRs >>>> myself, so I’ll ask sb to volunteer. >>>> >>>> >>>> >>>> >>>>> On Aug 20, 2025, at 20:59, Christopher <[email protected]> wrote: >>>>> >>>>> It looks like that Confluence page is pretty close to Semver 2.0's >>>>> definition (semver.org). >>>>> I was confused by the use of the word "major" to refer to 3.10 earlier >> in >>>>> this thread. By the definition there, it'd be a "minor" release. >>>>> >>>>> Since the version numbering is based on API changes, and not dependency >>>>> requirements, it is permissible to update dependencies substantially, >>>>> without breaking any documented goal. However, I still think going to >> 17 >>>> in >>>>> a 3.x minor release is a bit too much for existing 3.x users who are >>>> trying >>>>> to stay up-to-date on 3.x. I think 11 is less disruptive for a minor >>>>> version bump. But, I also think it would be okay to release 4.0 from >> the >>>>> master branch instead of 3.10, and make bigger, more disruptive >> changes. >>>> My >>>>> main concern is whether users on 3.x will be properly prepared for the >>>>> risks of disruptive changes. If the version is called 3.10, they may >>>> think >>>>> it to be low-risk, but if it is called 4.0, they will recognize it as >>>>> riskier and can prepare for it. Users tend to infer a lot about the >> risk >>>>> level from the name of the version, and a major version number change >>>>> communicates bigger risk that users may need to prepare for. >>>>> >>>>> In any case, I certainly don't feel too strongly about it. Although my >>>>> preference would be to have 11 as the runtime minimum for 3.10, I would >>>>> prefer 17 rather than staying on 8. My preferences are: >>>>> >>>>> * minimum JDK for building all active branches (3.9 and later): 17 >>>>> * minimum JRE for running 3.9: 8 (no change) >>>>> * minimum JRE for running 3.10: 11 > 17 > 8 >>>>> * minimum JRE for running a future 4.x: 17 >>>>> >>>>> On Wed, Aug 20, 2025 at 6:38 PM Patrick Hunt <[email protected]> wrote: >>>>> >>>>>> FYI here's what documented for the project: >>>>>> >>>>>> >>>> >> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=24193438#Roadmap-ReleaseNumbering >>>>>> I personally think about it along these lines: "Upgrading between >> major >>>>>> releases will generally require changes to user code". >>>>>> The "annually" - I guess that was aspirational. :-) >>>>>> >>>>>> Regards, >>>>>> >>>>>> Patrick >>>>>> >>>>>> On Tue, Aug 19, 2025 at 5:24 PM Christopher <[email protected]> >>>> wrote: >>>>>> >>>>>>> I think most people interpret Java/maven version numbers (x.y.z) as: >>>>>>> x = major >>>>>>> y = minor >>>>>>> z = patch/bugfix >>>>>>> >>>>>>> I think it's confusing when you say 3.10 is a "major" version. What >>>> would >>>>>>> you call 4.0.0? A "supremely major" release, perhaps? It's fine to >>>> treat >>>>>> a >>>>>>> minor release as a substantial change, but for communication, I think >>>>>> it's >>>>>>> still a minor release unless you bump the "major" portion of the >>>> version. >>>>>>> >>>>>>> I like the changes that you're planning, but I think they might be >>>>>>> significant enough to call it a "major" version and bump to 4.0.0. >>>> There >>>>>>> doesn't need to be a 3.10... you can just rename it anytime before it >>>> is >>>>>>> released. >>>>>>> >>>>>>> >>>>>>> On Tue, Aug 19, 2025 at 2:46 PM Andor Molnar <[email protected]> >> wrote: >>>>>>> >>>>>>>> We agreed on that we cut 3.10.0 from the master branch as new major >>>>>>>> release of ZooKeeper. There’s no plan for 4.0.0 right now. >>>>>>>> >>>>>>>> Bumping minimum JDK version to JDK 17 is for 3.10.0 only. >>>>>>>> >>>>>>>> I suggested JDK 17, because I’d like to do a major refactoring to >>>>>> upgrade >>>>>>>> Jetty to the latest (12.1) version and it requires Java 17 in the >>>>>>> runtime. >>>>>>>> I know it sounds like a big jump, but consider that Java 11 is >> already >>>>>>>> outdated. (EoS was Sept 2023) >>>>>>>> >>>>>>>> Every version of Jetty including and earlier than 11 is already EoL, >>>> so >>>>>>> we >>>>>>>> don’t benefit too much from a JDK 11 upgrade. >>>>>>>> >>>>>>>> ZooKeeper 3.9.x will be supported and stay the stable version of >>>> Apache >>>>>>>> ZooKeeper for a long long time, so people running on Java 8 and 11 >> are >>>>>>>> still covered. >>>>>>>> >>>>>>>> Best, >>>>>>>> Andor >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> On Aug 19, 2025, at 13:18, Christopher <[email protected]> >> wrote: >>>>>>>>> >>>>>>>>> I have reservations about bumping the minimum runtime Java version >> to >>>>>>>>> 17, because I have applications that use ZooKeeper client code that >>>>>>>>> run Java 11. I think a more modest change would be to bump the >>>>>>>>> required build version to 17, but keep the target version at 11. If >>>>>>>>> this is being considered for 4.0.0 only, then I'm okay with just >>>>>> going >>>>>>>>> to 17 for the runtime version as well. I think my existing >>>>>>>>> applications that run on java 11 can continue to use 3.x. >>>>>>>>> >>>>>>>>> On Mon, Aug 18, 2025 at 8:44 AM Kezhu Wang <[email protected]> >>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> +1 to upgrade to JDK 17 >>>>>>>>>> >>>>>>>>>> Ideally, I would suggest using different jdk versions for client >> and >>>>>>>>>> server to not push client usage just like kafka[1] and pulsar[2]. >>>>>> But >>>>>>>>>> given the fact that we don't have a slim client jar[3], so +1 to >>>>>> this. >>>>>>>>>> >>>>>>>>>> +1 to call next release from master as 3.10.0 >>>>>>>>>> >>>>>>>>>> I think most of the code changes in master since 3.9 were expected >>>>>> to >>>>>>>>>> be shipped in 3.10.0. One can confirm this in zookeeperAdmin.md. I >>>>>>>>>> don't think it is worth bumping to 4.x near its release. >>>>>>>>>> >>>>>>>>>> I expect 4.x to be a planned version to do some ambitious tasks >> and >>>>>>>>>> probably in a not backward compatible way such as >> ZOOKEEPER-233[3], >>>>>>>>>> ZOOKEEPER-835[4] or ZOOKEEPER-22[5]. Also, there is 4.0.0 in >>>>>> jira[6]. >>>>>>>>>> >>>>>>>>>> I do think bumping to JDK 17 could also be considered as a >> breaking >>>>>>>>>> change, but that could be trivial for dependants to solve and not >>>>>>>>>> touching zookeeper related codes. I would prefer new >>>>>> features(probably >>>>>>>>>> along with breaking changes) from our side in major releases. >>>>>>>>>> >>>>>>>>>> [1]: https://kafka.apache.org/40/documentation/compatibility.html >>>>>>>>>> [2]: >>>>>>>> >>>>>>> >>>>>> >>>> >> https://github.com/apache/pulsar?tab=readme-ov-file#pulsar-runtime-java-version-recommendation >>>>>>>>>> [3]: https://issues.apache.org/jira/browse/ZOOKEEPER-233 >>>>>>>>>> [4]: https://issues.apache.org/jira/browse/ZOOKEEPER-835 >>>>>>>>>> [5]: https://issues.apache.org/jira/browse/ZOOKEEPER-22 >>>>>>>>>> [6]: >>>>>>>> https://issues.apache.org/jira/projects/ZOOKEEPER/versions/12313382 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sun, Aug 10, 2025 at 9:34 AM Andor Molnar <[email protected]> >>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> What tech debt do you mean exactly? >>>>>>>>>>> >>>>>>>>>>> I'm happy either way, don't have strong opinion, we can stay at >>>>>> 3.x.x >>>>>>>>>>> versioning. >>>>>>>>>>> >>>>>>>>>>> Andor >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 8/9/25 06:40, tison wrote: >>>>>>>>>>>> Or instead, from a different perspective, if we call a 4.0, can >> we >>>>>>>> pay back >>>>>>>>>>>> some tech debt just for compatibility? >>>>>>>>>>>> >>>>>>>>>>>> Best, >>>>>>>>>>>> tison. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> tison <[email protected]>于2025年8月9日 周六18:30写道: >>>>>>>>>>>> >>>>>>>>>>>>> +1 for JDK17 >>>>>>>>>>>>> >>>>>>>>>>>>> -0 for 4.0. Bumping JDK version doesn't break APIs and >> contracts. >>>>>>> So >>>>>>>> I'd >>>>>>>>>>>>> prefer 3.10. 4.0 may give a signal of a big break change but it >>>>>>>> isn't. >>>>>>>>>>>>> >>>>>>>>>>>>> Best, >>>>>>>>>>>>> tison. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Li Wang <[email protected]>于2025年8月9日 周六08:51写道: >>>>>>>>>>>>> >>>>>>>>>>>>>> That's awesome. Thanks for driving this, Andor! >>>>>>>>>>>>>> >>>>>>>>>>>>>> After releasing 3.9.4 I’d like to announce EoL of the 3.8.x >>>>>>> release >>>>>>>> line >>>>>>>>>>>>>>> and create a new minor/major off the master branch. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Does this mean the next major version (i.e. 4.0.0/3.10.0) will >>>>>> be >>>>>>>> released >>>>>>>>>>>>>> soon, as we need to have a new current release before >> announcing >>>>>>>> EoL of >>>>>>>>>>>>>> the >>>>>>>>>>>>>> 3.8.x release? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Given the 3.9.4 release is in progress, any rough idea on when >>>>>> the >>>>>>>> next >>>>>>>>>>>>>> major version will be? >>>>>>>>>>>>>> >>>>>>>>>>>>>> what if we rather call the new release 4.0.0 >>>>>>>>>>>>>> >>>>>>>>>>>>>> +1 for calling it 4.0.0. Looks like we have been on 3.x for >>>>>> about >>>>>>>> 17 years >>>>>>>>>>>>>> already. >>>>>>>>>>>>>> >>>>>>>>>>>>>> what if we make two steps forward instead of one and let Java >> 17 >>>>>>> to >>>>>>>> be the >>>>>>>>>>>>>>> minimum requirement >>>>>>>>>>>>>> >>>>>>>>>>>>>> +1 for Java 17 >>>>>>>>>>>>>> >>>>>>>>>>>>>> Best, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Li >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Fri, Aug 8, 2025 at 2:38 PM Patrick Hunt <[email protected] >>> >>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks for driving this Andor! I think what you are saying >>>>>> makes >>>>>>>> sense, >>>>>>>>>>>>>>> will be interested to see what other ppl think. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Patrick >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Fri, Aug 8, 2025 at 2:27 PM Andor Molnar < >> [email protected]> >>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi Li, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The topic comes up every so often on the Dev list, so let’s >>>>>>> bring >>>>>>>> it >>>>>>>>>>>>>> up >>>>>>>>>>>>>>>> again. After releasing 3.9.4 I’d like to announce EoL of the >>>>>>> 3.8.x >>>>>>>>>>>>>>> release >>>>>>>>>>>>>>>> line and create a new minor/major off the master branch. I’d >>>>>>> like >>>>>>>> to >>>>>>>>>>>>>> drop >>>>>>>>>>>>>>>> Java 8 support in that release and make Java 11 as minimum >>>>>>>> requirement >>>>>>>>>>>>>>> for >>>>>>>>>>>>>>>> ZooKeeper. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> * In which case, what if we rather call the new release >> 4.0.0? >>>>>>>>>>>>>>>> * Additionally what if we make two steps forward instead of >>>>>> one >>>>>>>> and >>>>>>>>>>>>>> let >>>>>>>>>>>>>>>> Java 17 to be the minimum requirement? With that, we could >>>>>>> upgrade >>>>>>>>>>>>>> Jetty >>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>> the latest actively supported version. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Please share your thoughts. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Andor >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On May 7, 2025, at 13:16, Li Wang <[email protected]> >> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Does anyone know when 3.10.0 is planned to be released? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Li >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>> >>>> >> >>
