Thanks Andor, Christopher and Enrico.

I will be happy to review the PRs too.

Best,

Li



On Fri, Jan 9, 2026 at 2:02 PM Enrico Olivelli <[email protected]> wrote:

> +1 to move to jdk17 both for client and server
>
> I would use 3.10 as there are no breaking changes in any protocol or sisk
> format.
> We have always been pretty good at keeping backward and forward
> compatibility.
>
> Upgrading to 4.x may seem a big leap for users, and you usually are very
> afraid of touching foundational libraries and services like ZK.
>
> Upgrading the required jdk is not enough for such a big bump
>
>
> I will be happy to review the PRs
>
> Enrico
>
> Il Ven 9 Gen 2026, 06:47 Christopher <[email protected]> ha scritto:
>
> > Yes, I did offer. I'm sorry I haven't had time to work on it yet. I
> > think I may have time next week to help, if somebody else doesn't do
> > it first.
> >
> > On Thu, Jan 8, 2026 at 7:30 PM Andor Molnár <[email protected]> wrote:
> > >
> > > 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
> > > >>>>>>>>>>>>>>>>
> > > >>>>>>>>>>>>>>>>
> > > >>>>>>>>>>>>>>>
> > > >>>>>>>>>>>>>>
> > > >>>>>>>>>>>>>
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>>>
> > > >>
> > > >>
> > >
> >
>

Reply via email to