Is there still a dependency here on an RC package? With the focus on trying to get a release out we need to ensure that the codebase does not contain any dependencies on RC or SNAPSHOT type code.
On Mon, May 15, 2023 at 10:28 AM Matthew Benedict de Detrich <[email protected]> wrote: > 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 < > [email protected]> 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 < > > [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] > > > > > -- > > 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] >
