I would really like to avoid having to maintain several branches.

I'd be in favour of dropping Java 8 support, but if that means we feel
pressure to maintain several branches, I'd rather merely officially
deprecate it. I feel similarly about Scala 2.12. Perhaps we can indeed
start by requiring a higher Java version in satellite projects, like
pekko-persistence-jdbc or pekko-connectors?

I'm OK with dropping methods that were deprecated in Pekko 1.1.0 in
the next major/minor version. We can do that whether or not we go with
1.2.0 or 2.0.0 for the version number if we follow
https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html
rather than 'strict semver'.

We should decide on how synchronized version numbers across core and
satellite projects are. Ideally it should be easy to find out which
versions are compatible with each other. On the other hand, we should
be careful not to introduce too much churn on the maintainer side.

If we release version 2.0.0 of pekko-management, that could still
depend on pekko-core 1.1.0, I think, right? But because there may be
breaking changes between pekko-core 1.x and 2.x, once we release
pekko-core 2.0.0, we should also release new major versions of all
satellite projects (i.e. 3.0.0 for pekko-management). So the invariant
is: "you must use a matching major version across transitive
dependencies, but you may upgrade to newer minor/patch versions of
transitive dependencies".

This might be a reason to be sparse with major version updates, and at
least go with 1.2.0 for the next pekko-core version: this would save
us from having to do another round of releases of all satellite
projects that just bump versions.


Kind regards,

Arnout

On Fri, Aug 16, 2024 at 5:47 PM PJ Fanning <fannin...@apache.org> wrote:
>
> We have another discussion open about doing a Pekko 1.1.0 release.
>
> After we get that released, we will have to do 1.1.0 releases for
> other other Pekko modules (HTTP, gRPC, Connectors, etc.).
>
> At the same time, we would need to decide on what to do about the next
> release after that.
>
> I would suggest that we should consider making that next release a
> 2.0.0 release - one where we get to remove some deprecated code and
> potentially update the minimum Java and Scala versions that we
> support.
> We will continue to do patch releases for Pekko 1.0.x and Pekko 1.1.x
> so users who are affected by us dropping some things are not going to
> be too badly affected.
>
> * Drop Scala 2.12 support? The Scala 2.12 compiler has some type
> inference issues that complicate our code. The next Scala 3 LTS
> version looks like it will have some changes that will make it more
> different from Scala 2.12.
> * Go to Java 11 or even 17 as a minimum Java version? We already have
> issues in Pekko Connectors where we are stuck on older dependency
> versions because those dependencies have moved on from Java 8.
> * Drop the methods and classes that were deprecated in Akka before we
> split out Pekko?
> * Possibly remove some of the methods and classes that we deprecated in Pekko 
> 1?
>
> What does everyone think?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
> For additional commands, e-mail: dev-h...@pekko.apache.org
>


-- 
Arnout Engelen
ASF Security Response
Apache Pekko PMC member, ASF Member
NixOS Committer
Independent Open Source consultant

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

Reply via email to