Also in case others aren't aware, I made a draft PR on Parboiled2 (which is
a direct dependency of pekko-http) against Scala 3.3-RC4 to see if there
are any potential issues. You can see it here
https://github.com/sirthias/parboiled2/pull/444.

On Fri, Apr 21, 2023 at 7:30 PM Matthew Benedict de Detrich <
[email protected]> wrote:

> On another note, Scala 3.3-RC4 just came out and assuming there are no
> problems then a full release will be made roughly end of April (see
> https://contributors.scala-lang.org/t/3-3-0-release-thread/6079/5)
>
> On Thu, Apr 20, 2023 at 5:15 PM kerr <[email protected]> wrote:
>
>> Akka just bump to 3.2.2
>>
>> 何品
>>
>>
>> Jean-Luc Deprez <[email protected]> 于2023年4月19日周三 16:00写道:
>>
>> > 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
>> > <[email protected]> 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
>> > > <[email protected]> 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 <
>> > > > [email protected]> 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 <
>> > > > > [email protected]> 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
>> > > > >> <[email protected]> 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 <
>> > [email protected]
>> > > >
>> > > > >> 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
>> > > > >> > > <[email protected]> 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:* [email protected]
>> > > > >> > > >
>> > > > >> > >
>> > > > >> >
>> > > > >> >
>> > > > >> > --
>> > > > >> >
>> > > > >> > 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:* [email protected]
>> > > > >>
>> > > > >>
>> > ---------------------------------------------------------------------
>> > > > >> To unsubscribe, e-mail: [email protected]
>> > > > >> For additional commands, e-mail: [email protected]
>> > > > >>
>> > > > >>
>> > > > >
>> > > > > --
>> > > > >
>> > > > > 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:* [email protected]
>> > > > >
>> > > >
>> > > >
>> > > > --
>> > > >
>> > > > 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:* [email protected]
>> > > >
>> > >
>> >
>>
>
>
> --
>
> 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:* [email protected]
>


-- 

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:* [email protected]

Reply via email to