[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ejb-dev] [cu-dev] Jakarta EE 10 and breaking changes
|
Steve,
Now we're getting into a much bigger discussion about whether to allow
incompatible API changes or to forever live by the Java EE backwards
compatibility model... Personally, I don't see how we survive long term
if we can never introduce incompatible API changes. We still need to be
cautious with any proposed incompatible API changes. But, to say that we
always have to have backwards compatibility is not sustainable (imho).
---------------------------------------------------
Kevin Sutter
STSM, Jakarta EE and MicroProfile architect @ IBM
e-mail: sutter@xxxxxxxxxx Twitter: @kwsutter
phone: tl-553-3620 (office), 507-253-3620 (office)
LinkedIn: https://www.linkedin.com/in/kevinwsutter
Part-time schedule: Tue, Wed, Thu (off on Mon and Fri)
From: "Steve Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Cc: jms developer discussions <jms-dev@xxxxxxxxxxx>, Kevin Sutter
<sutter@xxxxxxxxxx>, ejb developer discussions <ejb-dev@xxxxxxxxxxx>
Date: 05/05/2021 12:21
Subject: [EXTERNAL] Re: [cu-dev] [ejb-dev] Jakarta EE 10 and
breaking changes
Hi Kevin I think I was not clear either. I was saying one of the primary
goals of Jakarta EE is backwards compatibility which means breaking
changes are minimised. This means if we strictly follow semver then
Jakarta EE spec versions will appear ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
Hi Kevin
I think I was not clear either. I was saying one of the primary goals of
Jakarta EE is backwards compatibility which means breaking changes are
minimised. This means if we strictly follow semver then Jakarta EE spec
versions will appear to do very few major releases, in extreme cases only
1.x series. Under strict semver only when we remove some long deprecated
functionality would we have an actual breaking change and a major version
number. My point is, is this good marketing?
Steve
Get Outlook for Android
From: cu-dev <cu-dev-bounces@xxxxxxxxxxx> on behalf of Kevin Sutter
<kwsutter@xxxxxxxxx>
Sent: Wednesday, May 5, 2021 6:01:04 PM
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Cc: jms developer discussions <jms-dev@xxxxxxxxxxx>; Kevin Sutter
<sutter@xxxxxxxxxx>; ejb developer discussions <ejb-dev@xxxxxxxxxxx>
Subject: Re: [cu-dev] [ejb-dev] Jakarta EE 10 and breaking changes
Sorry, Steve, I wasn't clear... I was not trying to say that we should
not ever introduce incompatible changes. What I was trying to say is that
we should use incompatible changes to indicate a major version update. If
the next version of Concurrency API is not introducing incompatible API
changes, then stay with the major version of 2.x. But, if the Concurrency
API is introducing incompatible changes, then the move to 3.0 is
warranted. I'm fine and happy with Concurrency (or any other Spec)
introducing incompatible changes, but let's use semantic versioning to
indicate that type of update.
-- Kevin
On Wed, May 5, 2021 at 11:55 AM Steve Millidge (Payara)
<steve.millidge@xxxxxxxxxxx> wrote:
I understand semver but if the goal in JakartaEE is not to make breaking
changes then we won't get many major versions of specifications? Is that
good?
Get Outlook for Android
From: cu-dev <cu-dev-bounces@xxxxxxxxxxx> on behalf of Kevin Sutter <
kwsutter@xxxxxxxxx>
Sent: Wednesday, May 5, 2021 5:50:59 PM
To: ejb developer discussions <ejb-dev@xxxxxxxxxxx>
Cc: jms developer discussions <jms-dev@xxxxxxxxxxx>; cu developer
discussions <cu-dev@xxxxxxxxxxx>; Kevin Sutter <sutter@xxxxxxxxxx>
Subject: Re: [cu-dev] [ejb-dev] Jakarta EE 10 and breaking changes
Hi,
Getting back to the original question of whether Concurrency should update
their major version or not... You should be considering semantic
versioning (https://semver.org/) when making this decision. If you are
not making any incompatible API changes, then you should not increase your
major version -- even if you are introducing "lots of new functions". You
should be making this decision based on the technical aspects of your
Specification and how you want your users to easily consume your APIs.
Users need the ability to know whether a move to the new version of
Concurrency will break their applications or not without having to dig
through documentation. The use of semantic versioning allows for this. If
Concurrency moves to version 2.x, then users will know that their
applications will continue to work when they move up. But, if Concurrency
moves to version 3.0, then users have to make a conscious decision whether
it's worth the effort to move up. And, as implied by the previous
replies, if Concurrency 3.0 actually doesn't introduce any incompatible
changes, then you have tainted the versioning strategy and your users
won't know whether to trust the numbering scheme going forward.
The use of semantic versioning by the independent Specification Projects
is strongly encouraged, but it's currently not enforced.
Thanks,
Kevin
On Wed, May 5, 2021 at 11:23 AM Ivar Grimstad <
ivar.grimstad@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Hi Gurkan,
Thanks for your interest!
By contributing to the projects via mailing lists, issue trackers, pull
requests, you can ultimately be nominated and elected on board as a
committer. The normal open source rules of engagement apply to both
specification- and implementation projects.
https://www.eclipse.org/projects/dev_process/#2_1_Open_Source_Rules_of_Engagement
Ivar
On Wed, May 5, 2021 at 6:13 PM Gurkan Erdogdu <gerdogdu@xxxxxxxxxxxxx>
wrote:
Hi
I am happy to work on both EJB and JMS side. Who is responsible for adding
me to EJB/JMS spec and EJB/JMS implementation?
Gurkan
On 5 May 2021, at 14:34, Steve Millidge (Payara) <
steve.millidge@xxxxxxxxxxx> wrote:
I think both EJB and JMS are missing release plans. I hope they will both
start some time in the next few months.
Steve
From: cu-dev <cu-dev-bounces@xxxxxxxxxxx> On Behalf Of arjan tijms
Sent: 05 May 2021 12:27
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Subject: Re: [cu-dev] Jakarta EE 10 and breaking changes
Hi,
I wonder, is there actually any EJB activity to speak of recently? There
doesn’t seem to be much of anything planned for EE 10 there.
Kind regards,
Arjan
On Wednesday, May 5, 2021, Steve Millidge (Payara) <
steve.millidge@xxxxxxxxxxx> wrote:
I agree we need to approach the EJB spec team formally. I’ve had some
informal discussions with people on that spec and they were supportive.
However I imagine in the first instance they may deprecate their
annotation. I will reach out to them once we get the release review out of
the way. My understanding if we can’t get agreement across the various
specs we can drop these proposals. It will be interesting to see how these
sort of things are discussed and resolved.
I am in agreement if a major is only allowed via breaking changes then we
don’t qualify but I also feel this is a major release. I will put that
forward as our position on the release review.
Steve
From: cu-dev <cu-dev-bounces@xxxxxxxxxxx> On Behalf Of Nathan Rauh
Sent: 04 May 2021 22:56
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Subject: Re: [cu-dev] Jakarta EE 10 and breaking changes
This brings up a good point regarding the proposals in our release plan
for moving annotations from other specs to Concurrency. For example, the
@Asynchronous annotation under
https://github.com/eclipse-ee4j/concurrency-api/issues/43 If this is moved
from Jakarta Enterprise Beans to Concurrency rather than duplicated (I'm
not sure which was the intent), then the Jakarta Enterprise Beans spec
would need a major release update per the removal being a breaking change
to their spec (as well as an issue planned for Jakarta EE 10 which I don't
currently see listed on their
https://github.com/eclipse-ee4j/ejb-api/milestone/2) Does anyone know if
anyone from Jakarta Enterprise Beans has been contacted or involved in
these proposals? This would also apply for @Lock
https://github.com/eclipse-ee4j/concurrency-api/issues/135and to some
extent @Schedule https://github.com/eclipse-ee4j/concurrency-api/issues/98
.
Getting back to the Concurrency release, if the direction we are being
given is that breaking changes is the only justification for increasing
the major version, then we don't meet it because we don't have a need to
make breaking changes. But my preference, if given the choice, is that
3.0 would be a better indicator to our users that there is a significant
amount of new function and API being added in this release.
From: "Steve Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Date: 05/04/2021 11:11 AM
Subject: [EXTERNAL] Re: [cu-dev] Jakarta EE 10 and breaking changes
Sent by: "cu-dev" <cu-dev-bounces@xxxxxxxxxxx>
Just for clarity. So we keep the major release even though there may be no
breaking changes?
Steve
From:cu-dev <cu-dev-bounces@xxxxxxxxxxx> On Behalf Of Nathan Rauh
Sent: 04 May 2021 14:13
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Subject: Re: [cu-dev] Jakarta EE 10 and breaking changes
+1 to what Reza stated. Looking over the release plan, it adds a
significant amount of major new function, none of which requires breaking
changes.
From: Reza Rahman <reza_rahman@xxxxxxxxx>
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Date: 05/03/2021 02:02 PM
Subject: [EXTERNAL] Re: [cu-dev] Jakarta EE 10 and breaking changes
Sent by: "cu-dev" <cu-dev-bounces@xxxxxxxxxxx>
Based on the scope of work, I think this is a major release, not a minor
(point) release. I do not foresee any need for breaking changes.
Reza Rahman
Jakarta EE Ambassador, Author, Blogger, Speaker
Please note views expressed here are my own as an individual community
member and do not reflect the views of my employer.
On May 3, 2021, at 11:40 AM, Steve Millidge (Payara) <
steve.millidge@xxxxxxxxxxx> wrote:
As part of our release review.
See Jakarta Concurrency 3.0 Plan Review by smillidge · Pull Request #368 ·
jakartaee/specifications (github.com)
I am being asked if this is truly a major version release. i.e. Are we
going to make breaking changes?
WDYT is this a major version or minor version based on semantic
versioning. Alternatively do we want the freedom to make breaking changes
even if we haven’t specifically identified any as yet?
Steve Millidge
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev
--
Ivar Grimstad
Jakarta EE Developer Advocate | Eclipse Foundation Eclipse Foundation -
Community. Code. Collaboration.
_______________________________________________
ejb-dev mailing list
ejb-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/ejb-dev
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev