> That's very surprising to me. IMO the documentation should be the source
of
truth here. We are still using markers like @ApiMayChange which are
incompatible with strict semver, and (I think) we still want to forbid
mixed versioning.

Well the easy way to handle the @ApiMayChange is to just state that
its not part of semantic versioning, just like
private/package-private/@InternalStableAPI
is. Also in case people are not aware, if we set VersionScheme.SemVerSpec,
this
just instructs how sbt will warn about dependencies when you do dependency
resolution,
i.e. if you in your build you have Pekko 1.0.x being resolved by one
transitive dependency
and Pekko 2.0.x being resolved by another transitive dependency then if you
have VersionScheme.SemVerSpec set, sbt by default will warn prevent the
build from loading
because you have changes that break semver (this btw can be overridden).

Also I am not saying that we shouldn't change this, just that there was
likey
misconception about whether Pekko would move to semver or not and this
should
be discussed.

On Mon, Aug 7, 2023 at 1:44 PM Greg Methvin <gr...@apache.org> wrote:

> That's very surprising to me. IMO the documentation should be the source of
> truth here. We are still using markers like @ApiMayChange which are
> incompatible with strict semver, and (I think) we still want to forbid
> mixed versioning. To me the sbt setting is just configuring what kinds of
> compatibility issues sbt will catch, beyond that it's up to the user (as it
> always has been in Akka).
>
>
>
> On Mon, Aug 7, 2023 at 4:10 AM Matthew de Detrich
> <matthew.dedetr...@aiven.io.invalid> wrote:
>
> > > Pekko doesn’t use semantic versioning, at least not in any strict
> > sense. Maybe in the future we should move closer to real semver, but
> that's
> > a different discussion.
> >
> > Pekko does use strict semantic versioning since it is set in sbt
> > https://github.com/apache/incubator-pekko/blob/main/build.sbt#L17 and
> > since it is set that way sbt users will get problems if we don't follow
> it
> > strictly
> >
> > > Our binary compatibility rules [1] have a number of
> > differences from semver, and specifically allow us to remove deprecated
> > methods after two full minor releases [2]. These rules are essentially
> the
> > same as Akka's, though we also added a note that "methods that were
> > deprecated in Akka, before the project fork to Pekko, are being
> considered
> > for removal in Pekko 1.1.0".
> >
> > We probably should revisit this documentation and/or what our
> expectations
> > are for Pekko. I think it's regrettable that we didn't talk about this in
> > the past
> > but we should have voted/clarified if we wanted to keep Akka's
> > compatibility
> > vs semver.
> >
> >
> > On Mon, Aug 7, 2023 at 12:43 PM Greg Methvin <gr...@apache.org> wrote:
> >
> > > Pekko doesn’t use semantic versioning, at least not in any strict
> > > sense. Maybe in the future we should move closer to real semver, but
> > that's
> > > a different discussion. Our binary compatibility rules [1] have a
> number
> > of
> > > differences from semver, and specifically allow us to remove deprecated
> > > methods after two full minor releases [2]. These rules are essentially
> > the
> > > same as Akka's, though we also added a note that "methods that were
> > > deprecated in Akka, before the project fork to Pekko, are being
> > considered
> > > for removal in Pekko 1.1.0".
> > >
> > > [1]
> > >
> > >
> >
> https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html
> > > [2]
> > >
> > >
> >
> https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html#when-will-a-deprecated-method-be-removed-entirely
> > >
> > > On Mon, Aug 7, 2023 at 3:29 AM PJ Fanning <fannin...@gmail.com> wrote:
> > >
> > > > Pekko is not Akka. We branched off Akka 2.6. There is a strong
> > > > argument that Pekko 1.0 is like an Akka 3 release from a semver
> > > > perspective.
> > > >
> > > > This means that anything that is deprecated in Akka 2 can be removed
> in
> > > > Pekko.
> > > >
> > > > If we want to pretend that Pekko 1.0 is basically equivalent to Akka
> > > > 2.7 - then there is maybe an argument that we can't remove any code
> > > > deprecated in Akka 2.x.
> > > >
> > > > The thing is Akka didn't/doesn't follow the concept that deprecated
> > > > can only be removed in a major release. They appear to have allowed
> > > > deprecated code to be removed after a few minor releases. I don't
> > > > think this approach is uncommon but I'm happy enough for Pekko not to
> > > > follow this going forward and to only remove deprecated code in a
> > > > major release.
> > > >
> > > > I'm still going to argue that Pekko 1.0 is a major release. To ease
> > > > transition of Akka users, we didn't remove deprecated code in Pekko
> > > > 1.0. That does not stop us from removing any code that was deprecated
> > > > in Akka in Pekko 1.1.
> > > >
> > > > In the end of the day, I don't really mind if we don't bother with a
> > > > Pekko 1.1 release and that we call the next non-1.0 release Pekko
> 2.0.
> > > >
> > > > On Mon, 7 Aug 2023 at 06:52, Claude Warren, Jr
> > > > <claude.war...@aiven.io.invalid> wrote:
> > > > >
> > > > > Based on semantic numbering.  You may only relemove deprecated code
> > on
> > > a
> > > > > major version change.  Anything else is a breaking change.  If you
> > mark
> > > > > something as deprecated you are noting a change in the contract
> with
> > > the
> > > > > user, thus a breaking change.
> > > > >
> > > > > On Fri, Aug 4, 2023 at 12:17 PM PJ Fanning <fannin...@apache.org>
> > > wrote:
> > > > >
> > > > > > With the Apache release process and the fact that as an
> incubating
> > > > > > project, that we need 2 phase approval on all releases - a Pekko
> > > 1.1.0
> > > > > > release and a subsequent release of all the downstream Pekko
> > modules
> > > > > > to uptake Pekko 1.1.0 will take months. We are less than halfway
> > > > > > through the Pekko 1.0.0 releases and we started those weeks ago.
> > > > > >
> > > > > > So, for me, that means that we shouldn't really be thinking about
> > > > > > small iterations. I can live with the idea of a Pekko 1.1.0
> release
> > > > > > but the idea that we would make a few small changes in Pekko
> 1.1.0
> > > and
> > > > > > then think we can then move on quickly to a Pekko 1.2.0 release -
> > > that
> > > > > > doesn't work for me. There is so much release overhead and test
> > > > > > overhead with those releases, that we should be thinking about
> > > > > > something in the magnitude of a year between non-patch releases.
> > > > > >
> > > > > > I can see that Pekko 1.1.0 could be released in 3 to 6 months
> > because
> > > > > > there is probably some pent up demand to change what was in Akka
> > 2.6
> > > > > > (which as Johannes points out is quite old already). But for me,
> > > Pekko
> > > > > > 1.2.0 should be seen as something that wouldn't be released for a
> > > year
> > > > > > or so after Pekko 1.1.0 goes out.
> > > > > >
> > > > > > On Fri, 4 Aug 2023 at 10:54, Johannes Rudolph
> > > > > > <johannes.rudo...@gmail.com> wrote:
> > > > > > >
> > > > > > > On Fri, Aug 4, 2023 at 9:48 AM kerr <hepin1...@gmail.com>
> wrote:
> > > > > > > > I suggest we remove the deprecated things since Akka 2.5 in
> > pekko
> > > > > > 1.1.0 ,
> > > > > > > > and remove those since Akka 2.6.x in pekko 1.2.0.
> > > > > > >
> > > > > > > I'm for more aggressive removal. Many things have been
> deprecated
> > > for
> > > > > > > many years (2.6.0 is almost 4 years ago) and with Pekko 1.0.x
> we
> > > give
> > > > > > > everyone another a free release keep using deprecated methods.
> > > > > > >
> > > > > > > After all, with Pekko 1.0.x out, it will be easy enough for
> > users /
> > > > > > > companies to engage in the 1.0.x maintenance process to keep it
> > > going
> > > > > > > forever if necessary.
> > > > > > >
> > > > > > > Going forward, we should remove what we can for 1.1/2.0. Of
> > course,
> > > > > > > this will make it a bit harder for people to adopt a potential
> > new
> > > > > > > version, but this is not a one-way track where the OS
> developers
> > > have
> > > > > > > to pay all the cost of maintaining old code while users get
> free
> > > > > > > updates.
> > > > > > >
> > > > > > > And to be clear I'm not advocating for going quick and breaking
> > > > things
> > > > > > > but as it stands we have to cut down on something to make
> > progress.
> > > > As
> > > > > > > I see it the value proposition for the different versions is
> > this:
> > > > > > >
> > > > > > >  * Pekko 1.0: give users an 1.) upgrade path that is as smooth
> as
> > > > > > > possible 2.) set up the infrastructure to maintain that version
> > > for a
> > > > > > > longer time (in case there's sufficient community to keep it
> > > running)
> > > > > > >  * Pekko 1.1/2.0: evolve the codebase carefully and eventually
> > > > provide
> > > > > > > new enhancements / features that make it attractive enough to
> > > > eventual
> > > > > > > move over
> > > > > > >
> > > > > > > Johannes
> > > > > > >
> > > > > > >
> > > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
> > > > > > > For additional commands, e-mail: dev-h...@pekko.apache.org
> > > > > > >
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
> > > > > > For additional commands, e-mail: dev-h...@pekko.apache.org
> > > > > >
> > > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
> > > > For additional commands, e-mail: dev-h...@pekko.apache.org
> > > >
> > > >
> > >
> >
> >
> > --
> >
> > Matthew de Detrich
> >
> > *Aiven Deutschland GmbH*
> >
> > Immanuelkirchstraße 26, 10405 Berlin
> >
> > Amtsgericht Charlottenburg, HRB 209739 B
> >
> > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> >
> > *m:* +491603708037
> >
> > *w:* aiven.io *e:* matthew.dedetr...@aiven.io
> >
>


-- 

Matthew de Detrich

*Aiven Deutschland GmbH*

Immanuelkirchstraße 26, 10405 Berlin

Amtsgericht Charlottenburg, HRB 209739 B

Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen

*m:* +491603708037

*w:* aiven.io *e:* matthew.dedetr...@aiven.io

Reply via email to