Informing everyone that Scala 3.3 RC6 was just released and unless there are any problems this will be the last Scala 3.3 RC release with the proper LTS release planning to come out in around a week (see https://contributors.scala-lang.org/t/3-3-0-release-thread/6079/7?u=mdedetrich ).
On Fri, Apr 21, 2023 at 10:14 PM Matthew Benedict de Detrich < matthew.dedetr...@aiven.io> wrote: > 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 < > matthew.dedetr...@aiven.io> 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 <hepin1...@gmail.com> wrote: >> >>> Akka just bump to 3.2.2 >>> >>> 何品 >>> >>> >>> Jean-Luc Deprez <jeanluc.dep...@gmail.com> 于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 >>> > <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 >>> > > > >>> > > >>> > >>> >> >> >> -- >> >> 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 > -- 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