> I think my wider concern is solidifying SEMVER and change control as it
relates to version numbers going forward.

We should have a discussion specifically about this and build consensus on
a policy which we ultimately publish and follow.

> ...we would be doing our users a great service if we adopted a versioning
strategy that was consistent and reliable.

I agree 100%.


Justin

On Sat, Dec 7, 2024 at 9:54 AM Matt Pavlovich <mattr...@gmail.com> wrote:

> I’m +0 on this for the Artemis release. I think my wider concern is
> solidifying SEMVER and change control as it relates to version numbers
> going forward.
>
> The JDK and Jakarta EE versions are more rapidly evolving (a good thing!)
> that ever in the past, so we would be doing our users a great service if we
> adopted a versioning strategy that was consistent and reliable.
>
> Thanks,
> Matt
>
> > On Dec 5, 2024, at 12:14 PM, Christopher Shannon <
> christopher.l.shan...@gmail.com> wrote:
> >
> > I think that Robbie (and Justin) make some good points.
> >
> > JDK 11 is super old now and even JDK 17 is dated so it's likely not a
> huge
> > deal to just bump the requirement for that. Also, if we did go with a new
> > major version it isn't like we'd maintain the old 2.x version because it
> > would likely have an unsupported Jetty with likely CVEs anyways. Also,
> that
> > is a good point about testing being an issue if only the client was JDK
> 11
> > so probably best to bump that too. And as Justin has noted there's
> > definitely been other cases of bumping a JDK version for a minor release.
> >
> > So anyways, while a major version would be nice, I think it's probably ok
> > just to keep it simple and go JDK 17 for 2.39.x and then next year clean
> > things up for 3.0.0. JDK 17 is old enough that it shouldn't be a big
> issue
> > for users. Many other frameworks like Spring dropped support for JDK 11
> > already a while ago and the most important thing is to make sure we are
> not
> > using an old Jetty version.
> >
> > Going forward and to the SEMVER point, I don't know that we ever actually
> > discussed fully adopting SEMVER, I know that with "classic" we are trying
> > to be better at following it but I don't think anything was really voted
> > on. So maybe that should be a separate discussion for how to handle these
> > types of issues (ie JDK upgrades) in the futue.
> >
> > On Thu, Dec 5, 2024 at 12:38 PM Justin Bertram <jbert...@apache.org>
> wrote:
> >
> >>> One thing we could do is only bump to JDK 17 for the server components
> >> and at least keep the client jars compatible with JDK 11.
> >>
> >> I think this is essentially taken care of by the fact that all previous
> >> clients will still be compatible with 2.39.0. There is no real pressure
> on
> >> clients to upgrade. The only client change in 2.39.0 is ARTEMIS-5093 [1]
> >> and the user who wants that has already confirmed that Java 17 is not an
> >> issue for them.
> >>
> >>> Technically you could just bump only the modules that are related to
> >> Jetty which might be some benefit for users that run Artemis embedded
> and
> >> don't even start the webconsole...
> >>
> >> I think that might be possible technically speaking, but it would
> probably
> >> get messy and ultimately confusing for users.
> >>
> >>
> >> What would you think about just having 2 release streams (i.e. 2.x for
> Java
> >> 17+ and 2.39.x for Java 8+) until we get 3.0 out the door then drop
> 2.39.x
> >> completely and continue with critical fixes for 2.x?
> >>
> >>
> >> Justin
> >>
> >> [1] https://issues.apache.org/jira/browse/ARTEMIS-5093
> >>
> >> On Thu, Dec 5, 2024 at 6:49 AM Christopher Shannon <
> >> christopher.l.shan...@gmail.com> wrote:
> >>
> >>> We have definitely done it in the past (and so have other projects as
> >>> noted) but just because we have done it in the past doesn't mean it
> was a
> >>> good idea, or should have been done. It goes against semver and it
> could
> >> be
> >>> quite confusing for a users who may not realize the JDK requirement
> >>> changed. So generally speaking, we should not be bumping the JDK
> outside
> >> of
> >>> a major version.
> >>>
> >>> That being said, as you noted, we don't really have too much choice
> here.
> >>> Making sure Jetty is up to date and supported I think is the most
> >> important
> >>> thing because there's always new CVEs and January 2025 is not much
> time.
> >>> It's probably ok to bump the JDK at this point because ultimately I
> >> figure
> >>> someone is going to complain either way...either we don't bump the JDK
> >>> requirement and people complain about Jetty and CVEs or we do bump it
> and
> >>> people complain about the JDK requirement.
> >>>
> >>> One thing we could do is only bump to JDK 17 for the server components
> >> and
> >>> at least keep the client jars compatible with JDK 11. Technically you
> >> could
> >>> just bump only the modules that are related to Jetty which might be
> some
> >>> benefit for users that run Artemis embedded and don't even start the
> >>> webconsole, but at the very least keeping the clients compatible with
> JDK
> >>> 11 seems to make sense. This was the approach Kafka has taken with
> >>> migrating where the server will require JDK 17 but the client will
> still
> >>> support JDK 11.
> >>>
> >>> If we want to go ahead and bump the JDK now then for 2.39.0 I would
> think
> >>> we could:
> >>>
> >>>   1. Document the change with a warning the best we can on the release
> >>>   page, email, etc so that users know of the change.
> >>>   2. Only require JDK 17 for the server and keep the clients JDK 11
> >>>   compatible.
> >>>   3. Updating the start up/install scripts to detect if the JDK is too
> >> old
> >>>   to print a warning/error would be good. I haven't looked at the
> >> Artemis
> >>>   runs script so it might already do this.
> >>>
> >>> Then for a future 3.0.0 next year we could require JDK 17+ for
> >> everything,
> >>> clean up deprecations (drop javax entirely, etc)
> >>>
> >>> On Wed, Dec 4, 2024 at 4:31 PM Justin Bertram <jbert...@apache.org>
> >> wrote:
> >>>
> >>>>> The biggest reason 5.x was not bumped was simply because of the whole
> >>>> "Artemis will become version 6.0" thing that prevented the bump for a
> >>> long
> >>>> time.
> >>>>
> >>>> Looking back further in the history of Classic, the Java version was
> >>> bumped
> >>>> from 5 to 6 in 5.5.x. So there's precedent from several years before
> >> the
> >>>> donation.
> >>>>
> >>>>> Is there any reason we can't bump Artemis to 3.0.0?
> >>>>
> >>>> I think moving to 3.0.0 would be ideal, but as you note there's lots
> of
> >>>> other work that we'd want to do before that (e.g. dropping javax
> >>>> completely, removing lots of deprecated stuff, etc.). Unfortunately I
> >>> don't
> >>>> think there's time for that before we run afoul of the Jetty EOL, and
> >> I'm
> >>>> sure there's going to be folks complaining about that as soon as it
> >>>> happens.
> >>>>
> >>>> I do think we'll see Artemis 3.0.0 relatively early in 2025, but not
> >> soon
> >>>> enough to mitigate this issue.
> >>>>
> >>>>> Requiring JDK 17 and Jetty 12 upgrade seem like a good reason for a
> >>> major
> >>>> version bump...
> >>>>
> >>>> I see the Jetty 12 integration as more of an implementation detail.
> >> Users
> >>>> really have no way of knowing that Artemis embeds Jetty. All the
> >>>> configuration obfuscates the actual implementation. None of the
> >>>> functionality or configuration is changing. Therefore, I don't see
> that
> >>> as
> >>>> a compelling reason for a major version bump.
> >>>>
> >>>> Typically I would consider the Java upgrade a reason for a major
> >> version
> >>>> bump, but the precedents both in ActiveMQ and other projects (e.g.
> >> Camel)
> >>>> indicate that's not a hard and fast rule.
> >>>>
> >>>>
> >>>> Justin
> >>>>
> >>>> On Wed, Dec 4, 2024 at 3:05 PM Christopher Shannon <
> >>>> christopher.l.shan...@gmail.com> wrote:
> >>>>
> >>>>> As you said there is a precedent for it but it's probably better for
> >> a
> >>>>> major version. The biggest reason 5.x was not bumped was simply
> >> because
> >>>> of
> >>>>> the whole "Artemis will become version 6.0" thing that prevented the
> >>> bump
> >>>>> for a long time.
> >>>>>
> >>>>> Is there any reason we can't bump Artemis to 3.0.0? Requiring JDK 17
> >>> and
> >>>>> Jetty 12 upgrade seem like a good reason for a major version bump and
> >>> at
> >>>>> the same time maybe could clean up any deprecated things hanging
> >>> around.
> >>>>> Maybe even drop the jms client entirely and just support jakarta,
> >> etc.
> >>>>>
> >>>>> It would be nice to see some of the outstanding spec issues resolved
> >>> like
> >>>>> https://issues.apache.org/jira/browse/ARTEMIS-1262 before bumping
> >> but
> >>> I
> >>>>> assume that issue in particular won't ever be fixed as there is not a
> >>>> good
> >>>>> way to avoid breaking old clients so I don't think it's a blocker to
> >>> bump
> >>>>> to 3.0.0.
> >>>>>
> >>>>> On Wed, Dec 4, 2024 at 1:04 PM Domenico Francesco Bruscino <
> >>>>> bruscin...@gmail.com> wrote:
> >>>>>
> >>>>>> It makes sense to me because the main JDK 11 builds already ended
> >> the
> >>>>> full
> >>>>>> support and are in the extended support phase.
> >>>>>>
> >>>>>> On Wed, 4 Dec 2024 at 18:50, Justin Bertram <jbert...@apache.org>
> >>>> wrote:
> >>>>>>
> >>>>>>>> What version of ActiveMQ Classic are you referring to making
> >> this
> >>>>>> change
> >>>>>>> in a minor version? v6.0.0 made the jump to JDK 17, but 5.x did
> >>> not.
> >>>>>>>
> >>>>>>> To be clear, I wasn't referring specifically to the move to 17. I
> >>> was
> >>>>>> just
> >>>>>>> saying, in general, the move to a new version of Java has been
> >> done
> >>>> in
> >>>>>>> minor releases by both Artemis and Classic. I already outlined
> >>> where
> >>>>> this
> >>>>>>> was done by Artemis (i.e. in 2.20.0). For Classic this has been
> >>> done
> >>>>>> three
> >>>>>>> times:
> >>>>>>>
> >>>>>>> - From 5.10.x to 5.11.x the JDK went from 6 to 7
> >>>>>>> - From 5.14.x to 5.15.x the JDK went from 7 to 8
> >>>>>>> - From 5.16.x to 5.17.x the JDK went from 8 to 11
> >>>>>>>
> >>>>>>> My main point here is simply that this change has a precedent in
> >>>>>> ActiveMQ.
> >>>>>>> There are, of course, precedents in other projects as well (e.g.
> >>>>> Camel).
> >>>>>>>
> >>>>>>>
> >>>>>>> Justin
> >>>>>>>
> >>>>>>> On Wed, Dec 4, 2024 at 11:40 AM Matt Pavlovich <
> >> mattr...@gmail.com
> >>>>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>>>
> >>>>>>>>> On Dec 4, 2024, at 11:17 AM, Justin Bertram <
> >>> jbert...@apache.org
> >>>>>
> >>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> At first I was hesitant to propose this move in a minor
> >>> release,
> >>>>> but
> >>>>>>>> then I
> >>>>>>>>> realized we've already done this in both Artemis and Classic.
> >>>>>>>>
> >>>>>>>> Hi Justin-
> >>>>>>>>
> >>>>>>>> What version of ActiveMQ Classic are you referring to making
> >> this
> >>>>>> change
> >>>>>>>> in a minor version? v6.0.0 made the jump to JDK 17, but 5.x did
> >>>> not.
> >>>>>>>>
> >>>>>>>> -Matt
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>> ---------------------------------------------------------------------
> >>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org
> >>>>>>>> For additional commands, e-mail: dev-h...@activemq.apache.org
> >>>>>>>> For further information, visit:
> >>>> https://activemq.apache.org/contact
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org
> For additional commands, e-mail: dev-h...@activemq.apache.org
> For further information, visit: https://activemq.apache.org/contact
>
>
>

Reply via email to