Those craving stability won't judge you for jumping to an LTS. Those on
Scala 3 already are not those craving stability, hence would typically not
worry too much about having to jump to 3.3.

So I think you get away with that.

On Tue, Mar 28, 2023 at 9:35 AM Claude Warren, Jr
<claude.war...@aiven.io.invalid> wrote:

> My suggestion is go with the LTS version unless there is a conflict with a
> dependency.
>
> On Mon, Mar 27, 2023 at 3:58 PM Matthew Benedict de Detrich
> <matthew.dedetr...@aiven.io.invalid> wrote:
>
> > As we are finding out from the conversation in
> > https://github.com/apache/incubator-pekko/pull/273 (A PR that involves
> > updating Jackson version due to CVE's/other complications which forces an
> > update to Scala 3.2 due to Jackson 2.14.2 only supporting Scala 3.1) a
> lot
> > of the source/compiler warnings are from Scala 3.2, not Scala 3.3.
> >
> > If the PR lands, this means that the argument for avoiding updating to
> > Scala 3.3 due to syntax/source incompatibilities is weaker since we are
> > already forced to do the most of the same changes anyways. Furthermore as
> > can be seen from Jackson 2.14.2 not supporting older Scala 3 versions it
> > appears that some of the critical parts of the ecosystem are updating
> Scala
> > 3 as it releases new minor versions rather than leaving it at older
> > versions.
> >
> > On Fri, Mar 24, 2023 at 4:15 PM Matthew Benedict de Detrich <
> > matthew.dedetr...@aiven.io> wrote:
> >
> > > > Good point also about 2.12 compatibility. It will become harder to
> > > support multiple Scala version the more the allowed syntax differs.
> > >
> > > The reason why I did the PR was to actually confirm/deny whether this
> is
> > > an issue, as shown in the PR its a non issue (assuming that Scala 3.3
> > > doesn't add anything more between RC3 and release which is quite
> likely)
> > >
> > > On Fri, Mar 24, 2023 at 3:52 PM Johannes Rudolph <
> > > johannes.rudo...@gmail.com> wrote:
> > >
> > >> Just for the record, I also said not to do anything right now about it
> > :)
> > >>
> > >> Other than that, I mostly agree with Nicolas. Unless we are forced to
> > >> update Scala 3 we should *not* do it right now. The situation might
> > >> change in 6-12 months with widespread adoption to Scala 3.3 we might
> > >> just do it (because everyone does by then and updates will only be
> > >> available for 3.3 at some point in the future).
> > >>
> > >> Good point also about 2.12 compatibility. It will become harder to
> > >> support multiple Scala version the more the allowed syntax differs.
> > >>
> > >> On Fri, Mar 24, 2023 at 1:31 PM Matthew Benedict de Detrich
> > >> <matthew.dedetr...@aiven.io.invalid> wrote:
> > >> >
> > >> > > One precondition to upgrade to newer versions of Scala 3 would be
> > >> dropping
> > >> > support for Scala 2.12.
> > >> > Scala 2.13 at least has support for some of the Scala 3 Syntax with
> > >> > compiler flags to cross compile.
> > >> >
> > >> > Are you talking about support on artifact level or on syntax level?
> > >> Afaik
> > >> > there isn't any plan for Scala 3.3 to drop support for Scala 2.13
> > >> artifacts
> > >> > (artifacts are completely separated from supported syntax). If we
> are
> > >> > talking about a hypothetical Scala 3 user of Pekko, the Scala3
> syntax
> > >> that
> > >> > Pekko happens to use will be irrelevant here. In other words, if a
> > user
> > >> is
> > >> > upgrading from Scala 3.1/Scala 3.2 to Scala 3.3 then they will have
> to
> > >> > upgrade the syntax of the source code irrespective of Pekko. If we
> are
> > >> > talking about difficulties of cross compiling for Scala 3/Scala 2
> > within
> > >> > Pekko itself I think we would have to see if there are any syntax
> > >> breaking
> > >> > changes in this regard (I didn't see any for Scala 3.3 but I may
> have
> > >> > missed something). Since an RC for Scala 3.3 is out we can pretty
> > easily
> > >> > figure out if this is going to be a problem right now.
> > >> >
> > >> > I think what Johannes said here is important, which is that
> currently
> > >> there
> > >> > aren't any users of Pekko Scala 3 and because of this we really
> > >> shouldn't
> > >> > overthink it. And even then, if we do release Pekko with Scala 3.3
> and
> > >> some
> > >> > hypothetical user is going to have problems because they haven't
> > >> upgrade to
> > >> > Scala 3.3 yet, they can easily use the Pekko Scala 2.13 artifact and
> > >> since
> > >> > we are not using any bespoke Scala 3 features in Pekko currently on
> a
> > >> > source level the user is actually not going to notice any
> difference.
> > >> >
> > >> > On Fri, Mar 24, 2023 at 1:18 PM Nicolas Vollmar <nvoll...@gmail.com
> >
> > >> wrote:
> > >> >
> > >> > > IMHO we should use the lowest supported version of Scala 3 to not
> > >> force
> > >> > > user to upgrade to newer versions.
> > >> > >
> > >> > > Scala 3 continues to deprecate old syntax. Some of it will produce
> > >> warnings
> > >> > > in Scala 3.2 and may be removed in 3.3 or later.
> > >> > > For example
> > >> > >
> > >>
> >
> https://dotty.epfl.ch/docs/reference/dropped-features/package-objects.html
> > >> > > or
> > https://dotty.epfl.ch/docs/reference/changed-features/imports.html
> > >> > >
> > >> > > One precondition to upgrade to newer versions of Scala 3 would be
> > >> dropping
> > >> > > support for Scala 2.12.
> > >> > > Scala 2.13 at least has support for some of the Scala 3 Syntax
> with
> > >> > > compiler flags to cross compile.
> > >> > >
> > >> > >
> > >> > >
> > >> > > On Fri, 24 Mar 2023 at 10:26, Matthew Benedict de Detrich
> > >> > > <matthew.dedetr...@aiven.io.invalid> wrote:
> > >> > >
> > >> > > > So some discussions on github are popping up regarding which
> > Scala 3
> > >> > > > version we should pick so I think it's time to discuss this
> > >> formally on
> > >> > > the
> > >> > > > mailing list.
> > >> > > >
> > >> > > > As a precursor one thing people need to understand is that the
> > >> Scala 3
> > >> > > > release cycle has changed, quoting from
> > >> > > >
> > >> > >
> > >>
> >
> https://github.com/apache/incubator-pekko/issues/6#issuecomment-1302701657
> > >> > > >
> > >> > > > > Scala 2 used epoch.major.minor version convention. Scala 3 has
> > >> > > > major.minor.patch.
> > >> > > >
> > >> > > > > So there is no 3.0/3.1/3.2/etc cross-compilation - the
> > assumption
> > >> is
> > >> > > > that:
> > >> > > >
> > >> > > > > * you can compile against the same minor version with
> backward-
> > >> and
> > >> > > > forward-compatibility: 3.1.3 dependency against 3.1.0 code,
> 3.0.0
> > >> > > > dependency against 3.0.1 code, etc
> > >> > > > > * within the same major version you always have
> > >> backward-compatibility:
> > >> > > > 3.1.3 dependency can be used in 3.1.3 project, but also 3.2.0
> > >> project and
> > >> > > > in future against 3.3.0 project
> > >> > > >
> > >> > > > This means that if we pick a Scala version, we are essentially
> > >> forcing
> > >> > > the
> > >> > > > potential Scala 3 users of Pekko to bump their Scala 3 version
> to
> > >> the
> > >> > > minor
> > >> > > > that we decide on. On surface value this means that we should
> pick
> > >> the
> > >> > > > lowest Scala 3 minor version that we can support however there
> is
> > >> the
> > >> > > fact
> > >> > > > that Scala 3.3 is going to come out soon which will be an LTS
> > >> release.
> > >> > > The
> > >> > > > LTS release means that if any bugs are found after Scala 3.3
> for a
> > >> period
> > >> > > > of 2 years, they will be backported to Scala 3.3. The big
> > advantage
> > >> this
> > >> > > > brings us, is that it allows us to freely bump Scala 3.3 without
> > >> breaking
> > >> > > > our users if any potential bugs are found in the future. If we
> > >> decide to
> > >> > > > stick with Scala 3.2 or 3.1 and some bug is found in Scala 3
> later
> > >> on
> > >> > > that
> > >> > > > affects us, we will have to update to a version of Scala 3 that
> > will
> > >> > > break
> > >> > > > binary compatibility. This facet is of even more importance when
> > >> > > > considering our 1.0.x release branches, which are designed to
> > never
> > >> break
> > >> > > > binary/backwards compatibility, i.e. if we do 1.0.x releases
> with
> > >> Scala
> > >> > > > 3.1/3.2 and some critical bug/CVE comes out later we could
> > >> potentially be
> > >> > > > forced to update the minor version which would break this
> > >> > > binary/backwards
> > >> > > > compatibility, this wouldn't be the case with Scala 3.3 (for a
> > >> certain
> > >> > > > period of time).
> > >> > > >
> > >> > > > Of course the counter argument to using Scala 3.3 is that it
> would
> > >> force
> > >> > > > all potential Pekko users (and the transitive set of Scala 3
> > >> libraries
> > >> > > for
> > >> > > > that Pekko user) to also use/support Scala 3.3. Unfortunately
> its
> > >> not
> > >> > > > possible to get download stats from Sonatype for artifacts you
> > don't
> > >> > > > maintain, but I wouldn't say its a controversial statement that
> > the
> > >> > > amount
> > >> > > > of people that use Akka long with Scala 3 would be a tiny
> minority
> > >> (this
> > >> > > is
> > >> > > > also regarding other factors, i.e. the typical demographic of
> Akka
> > >> > > users).
> > >> > > > Ontop of this we need to take into account the delay of current
> > Akka
> > >> > > users
> > >> > > > migrating to Pekko, in other words by the time people migrate to
> > >> using
> > >> > > > Pekko the fact that its using Scala 3.3 LTS would likely be a
> non
> > >> concern
> > >> > > > at that point in time.
> > >> > > >
> > >> > > > And finally another thing to note is that even in the worst case
> > >> > > scenario,
> > >> > > > nothing is stopping users from using Scala 2 artifacts from
> within
> > >> Scala
> > >> > > 3
> > >> > > > (this is perfectly supported and has been for a while). Afaik
> the
> > >> current
> > >> > > > Scala 3 version of Akka/Pekko is not using any unique/bespoke
> > >> features of
> > >> > > > Scala 3, if true this would mean from a Scala 3 user perspective
> > >> there
> > >> > > > really isn't going to be
> > >> > > > a difference in using a Scala 2 artifact vs Scala 3 artifact.
> > >> > > >
> > >> > > > For these reasons my recommendation would be, assuming that the
> > full
> > >> > > > release of Scala 3.3 LTS is ready by the time we decide to make
> a
> > >> release
> > >> > > > that we should try and target that. For details on the current
> > >> release
> > >> > > > schedule for Scala 3.3 LTS you can read
> > >> > > >
> https://contributors.scala-lang.org/t/3-3-0-release-thread/6079/3
> > .
> > >> > > >
> > >> > > > --
> > >> > > >
> > >> > > > 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
> > >>
> > >> ---------------------------------------------------------------------
> > >> 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