The conversation shouldn’t be reductive and state ‘just a JDK rev', because that isn’t true. It is a JDK update AND a major dependency update in Jetty 12 (that is dragging the JDK requirement).
Why not make a major release? Seems like an easy change to go to 3.x and then slide the other work that may take longer to 4.x -Matt > On Dec 5, 2024, at 11:07 AM, Justin Bertram <jbert...@apache.org> wrote: > >> I think bumping JDK base requirement should be a major revision. > > Generally speaking I would agree with you. However, I'm not yet convinced > in this case. > >> The purpose of moving towards stricter SEMVER is to make things more > consistent for downstream users than they have been in the past. > > You've mentioned this move towards "stricter SEMVER" a few times on this > list and alluded to conversations about it, but I don't recall these > conversations. Did we reach a consensus around this? > > In any case, I'm not sure this is actually strict violation of semantic > versioning. > >> Citing old ActiveMQ release as precedence is a flawed and biased > argument, since we are moving away from that... > > I also cited Camel which dropped support for Java 8 in 3.15.0. Other > notable examples: > > - Spring dropped support for Java 8 in 5.3.0. > - Apache Maven dropped support for: > - Java 5 in 3.3.0 > - Java 6 in 3.5.0 > - Java 7 in 3.9.0 > - Hibernate ORM dropped support for Java 8 in 5.3.0. > - Apache Flink dropped support for: > - Java 7 in 1.4.0 > - Java 8 in 1.17.0 > - Apache Beam dropped support for Java 7 in 2.6.0. > - Apache Pulsar dropped support for Java 8 in 2.8.0. > - Quarkus dropped support for: > - Java 8 in 1.3.0 > - Java 11 in 2.7.0 > - Apache Ignite dropped support for Java 8 in 2.8.0. > - Apache NiFi dropped support for Java 7 in 1.4.0. > - Apache CXF dropped support for: > - Java 6 in 3.2.0 > - Java 7 in 3.4.0 > - Apache ZooKeeper dropped support for: > - Java 6 in 3.5.0 > - Java 7 in 3.6.0 > - Netty will drop support for Java 7 & 8 in 4.2.0. > > I could go on, but hopefully the point is clear. Dropping support for a > particular version of Java in a minor release is not uncommon even for > major open source projects (even at Apache). We certainly don't want to > make a habit of this, and it's not ideal, but I think this is a special > circumstance where it makes sense. > >> ...the entire Java ecosystem is moving much faster than back in the > ActiveMQ 5.5.x days. > > In my opinion this is actually an argument _for_ dropping specific Java > version support in a minor release. Since new Java versions are being > released more often the pressure to keep up is much greater than it was > before and won't always align with a major release that actually makes > sense otherwise. > > > Justin > > > On Thu, Dec 5, 2024 at 9:15 AM Matt Pavlovich <mattr...@gmail.com> wrote: > >> I think bumping JDK base requirement should be a major revision. The >> purpose of moving towards stricter SEMVER is to make things more consistent >> for downstream users than they have been in the past. >> >> Citing old ActiveMQ release as precedence is a flawed and biased argument, >> since we are moving away from that AND the entire Java ecosystem is moving >> much faster than back in the ActiveMQ 5.5.x days. >> >> Matt >> >>> On Dec 5, 2024, at 6:43 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