I have no objections to the general list of changes that we need for
1.1.0. Some of those changes will likely also need backporting for
1.0.x releases.

A 1.1.0-M1 release makes sense. I want to delay it by a week or 2
while we decide what to do about the config logging (recent Akka CVE).

I don't think a 1.1.0-M0 is warranted. This git tag has code that is
very similar to Pekko 1.0.1. I don't see the merit in having multiple
ASF contributors having to review such a release.

I guess it is a separate conversation but there is a fair degree of
resistance to us dropping support for anything. I think we will need
to only drop support if it really makes things much easier for us.
Multi Release Jars seems like a better option than dropping Java 8
support (for instance).

When I say LTS, I mean what versions will get patches for a long time.
Java releases are a good example. If an org really needs a Java 22
feature they can use Java 22 in production - but they are expected to
upgrade to Java 23, etc. when those versions are released until a new
Java LTS is released. There are other OSS equivalents. I am not
talking about Commercial Support contracts - commercial entities are
very welcome to fill this gap - this does not need to relate directly
to the FOSS releases from the ASF project team.

If the consensus is to delay Pekko 1.1 until every candidate change is
made - then fine - but this stops users from using features that are
ready to try, like the Netty 4 support.

Since Pekko 1.1.0 full release seems like a long way away, it might be
worth considering mechanisms to release the most useful changes
earlier - in a way that Pekko 1.0 users can uptake.


On Sun, 5 Nov 2023 at 12:59, Matthew de Detrich
<matthew.dedetr...@aiven.io.invalid> wrote:
>
> So my take on this
>
> - We should do milestones to solve the general problem you are alluding to,
> i.e. the M1 milestone that you suggest that we vote on (we should also do
> the M0 milestone which is at the exact moment when a new bump to minor
> version is done, reasoning why is given in this thread[1]). I would argue
> that doing an M1 now is a good idea and then an M2 once other critical
> features land (such as inliner which is mentioned in the below point)
> - There are some critical features that need to be merged before a release
> of 1.1.0 Pekko Core is ever made (and 1.1.0 Pekko core needs to be released
> before any other 1.1.0 releases for the other modules) due to technical
> reasons. On the top of my head the critical features so far are the
> inliner[2] and rolling update migration of Akka to Pekko clusters[3]. I
> think it's achievable to get [2] and [3] done in a few months time, but we
> would have to focus on getting it over the line ([2] is already "done", it
> just needs a review and testing in downstream modules, [3] likely needs
> more work and most of all testing so that it works as expected).
> - Regarding LTS, I don't think we should entertain the idea now. We have no
> idea of what and how an LTS can work and we don't even have the capacity
> for it. It might even be a thing that LTS's are "someone else's" problem
> (Pekko is open source after all). I think the most critical thing is
> sticking to semantic versioning, such an expectation is manageable for us
> and I would argue is kind of a requirement for large open source projects
> like Pekko
> - Fixing the manager name [4] should also be fixed for 1.1.0 (actually if
> anything this should be fixed for 1.0.x branch as well)
> - As kind of a stretch goal, sbt-multi-release-jar support for 1.1.0[5]
> would be awesome as it would unblock a **lot** of things while also keeping
> part of the community happy
> - Releasing pekko 1.1.0 with the latest sbt-osgi (which apparently fixes a
> lot of pain points versus the current osgi used in Pekko 1.0.x) would be
> another nice stretch goal, currently there is one issue with duplicate
> classes but we now have infrastructure set up[6] so that we can properly
> test such changes.
>
> Note that a lot of the underlying reasoning behind my points are also
> strategic, i.e. keeping features which can be considered critical to Pekko
> and/or current Akka users which don't require to much effort (basically
> anything that gives a reason for people to use/migrate to Pekko while not
> breaking the i.e. our bank so to speak). I know that there has been a push
> to do things like drop JDK 8, Scala 2.12, osgi etc etc due to death by a
> thousand cuts but tbh objectively speaking these issues are not taking up
> that much time (at least personally by far the largest amount of time spent
> is just overhead of having to do so many releases and validate them, really
> looking forward to the day when we can automate everything with
> sbt-reproducible-builds/jardiff/create jars in ci etc etc). Pekko 2.0.x
> series is when we can look forward to drop a lot of this "annoying
> maintenance" stuff and I would actually strongly argue that at the time
> when we start looking at Pekko 2.0.x we actually get a better idea of what
> our Pekko users look like, because as has been shown due to the chaos
> created from the license change very few us had any somewhat realistic lens
> as to how the Pekko community (specifically users) look like, i.e. while
> the OS would **LOVE** to get rid of JDK 1.8 support it just so happens that
> a lot of people still need to use JDK 1.8 and even though there are reasons
> to move away from 1.8 evidently they aren't relevant.
>
> [1] https://lists.apache.org/thread/o494q89hhg64r5nwv4rnq6fsx9zofmny
> [2] https://github.com/apache/incubator-pekko/pull/305
> [3] https://github.com/apache/incubator-pekko/pull/765
> [4] https://github.com/apache/incubator-pekko/pull/587
> [5] https://github.com/sbt/sbt-multi-release-jar/issues/22
> [6] https://github.com/apache/incubator-pekko/issues/75
>
> On Sun, Nov 5, 2023 at 12:12 PM PJ Fanning <fannin...@apache.org> wrote:
>
> > The core pekko repo [1] has quite a few changes in its main branch that
> > are are targeted at a future 1.1.0 release.
> >
> > We haven't really agreed on what to do with the code that was already
> > deprecated in the Akka era and there is also the issue of the ApiMayChange
> > annotations on some of the APIs.
> >
> > There are also some new features that developers want to add.
> >
> > We don't have a great deal of developer effort available to us.
> >
> > I suspect that we need to need to balance the need to release some of the
> > 1.1 changes and then maybe try to make another batch of changes in Pekko
> > 1.2.
> >
> > What if we aimed to do a Pekko 1.1.0 release in a few months and said that
> > it was not a Long Term Support release? If we go down this line, we would
> > probably want to have a tentative plan as to when a new LTS release would
> > happen.
> >
> > An example of something that would be useful to release would be the
> > netty4 support. I know that the Apache Flink team would like to use this.
> >
> > Alternatively, we could do a Pekko 1.1.0-M1 release. I suspect that we
> > would end up with a fair number of these and the M version number would
> > discourage uptake (except for testing).
> >
> > What are people's thoughts on the options?
> >
> >
> >
> > [1] https://github.com/apache/incubator-pekko
> >
> > ---------------------------------------------------------------------
> > 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
>
> Alexanderufer 3-7, 10117 Berlin
>
> Amtsgericht Charlottenburg, HRB 209739 B
>
> Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
>
> *m:* +491603708037
>
> *w:* aiven.io *e:* matthew.dedetr...@aiven.io

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
For additional commands, e-mail: dev-h...@pekko.apache.org

Reply via email to