Hey Justin,

So I think it's fine to go ahead with the upgrade to Jetty 12 and JDK 17+
for Artemis 2.28.0 based on this thread.

I agree we should have a discussion on SEMVER and document what we decide,
I'll start a new thread on that.

Chris

On Mon, Dec 9, 2024 at 2:59 AM Jean-Baptiste Onofré <j...@nanthrax.net> wrote:

> Hi guys
>
> Sorry for the late reply, I was travelling last week.
>
> If the bump is about the JDK only, I think it's totally fine to make
> it in a minor version (not a micro). I don't see why we have to be
> super strict about major versions and JDK updates: a bunch of projects
> bumped the JDK version on minor versions, as soon as it's clearly
> stated to the users, I don't see the problem (projects can still
> maintain micro versions branches).
>
> If we want to be super strict in terms of SEMVER, then it should be
> clearly discussed and shared across the project, especially for the
> users.
>
> So, specifically about Artemis and the JDK version, JDK versions
> requirements are OK in minor versions.
>
> From a wider standpoint, in Classic, we agreed to have a stronger
> SEMVER enforcement. If we want a global agreement about this across
> ActiveMQ project, so it's fine but it should be discussed.
> I think it makes sense, and we should not be scared to bump major
> versions (it has a meaning for our users). For instance, we already
> plan ActiveMQ Classic 7 and beyond :)
>
> Regards
> JB
>
> On Mon, Dec 9, 2024 at 12:45 AM Justin Bertram <jbert...@apache.org>
> wrote:
> >
> > > 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
> > >
> > >
> > >
>
> ---------------------------------------------------------------------
> 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