@WojciechMazur what about backporting SIP-54 (multi-source extension methods) to LTS?
That is definitely out of policy for LTS. It is a language enhancement, not a bug fix. Moreover, it has a non-negligible chance of breaking someone’s source code somewhere.
This SIP really feels like a bugfix (and several issues posted as bugs are a testament to that), and the likelihood of code breaking in this case is far less than some far reaching fixes I’ve experienced in the LTS release thus far (that DID cause regressions). Something to consider.
I have no particular opinion on whether it’s appropriate to backport to 3.3–I agree it could break code–but I do think that extension methods are a toy feature not suitable for widespread use without the patch in.
So what I really don’t think would be good is messaging of “use extension methods! They’re great!” and also “Use 3.3 LTS!”.
Extension methods are great in 3.4.
Scala 3.5.0-RC2 is now available for testing.
The second RC besides bugfixes includes native binaries for the new Scala runner available for most of the popular platforms.
https://mvnrepository.com/artifact/org.scala-lang/scala3-library_3/3.5.0-RC2
Will the next release upgrade the scala-library to 2.13.14, it currently is 2.13.12
The 2.13.14 upgrade is planned for RC3
2.13.14 confirmed as included, see https://mvnrepository.com/artifact/org.scala-lang/scala3-library_3/3.5.0-RC3. Thanks.
3.5.0-RC3 is available for testing. It comes with upgrade of Scala 2 library (now it’s using 2.13.14), improvements to new Scala runner and fixes to some of false-positive warnings.
We’re preparing the 3.5.0-RC4 as well to mitigate issues found just after publishing the RC3 artifacts. They should be available soon and we’ll inform you about details in the next notification. We’re hoping it will be the last RC for the 3.5.0.
Do We have plan for Document migration steps for changed rules for given prioritisation under 3.6 · Issue #20843 · scala/scala3 · GitHub before release 3.5.0? I think the implicit resolution is a big deal for the community.
According to this comment 3.5 is currently bundled with Scala-cli 1.3.2.
I hope the final release can be bundled with the latest Scala-cli (1.4.0?) and also the latest Toolkit with latest libs (like os-lib
for example). I had issues with Toolkit even on 3.4.2, it has an older os-lib
I think.
yes, Scala 3.5.0 will use Scala CLI 1.4.0 and so default toolkit 0.4.0
OK, I think my issue was that I’m using Scala-cli in a Native project, and os.proc
was not yet supported in Native… toolkit 0.4.0
has os-lib 0.10.0
but the support was added in os-lib 0.10.2
.
I’d appreciate it if these in the Toolkit are bumped, but I understand if it’s not possible / low priority
You guys are so fast, I love the community
There are unfortunately problems with the PR. I need help from somebody from the Toolkit team.
The new release candidates 3.5.0-RC4 and 3.5.0-RC5 are now available for testing.
This version fixes problems with false-positive warnings related to new givens prioritization as well as problems with new native runners on Windows.
Version RC5 contains a fix to the changed behaviour of callbacks registered by incremental compilation in InteliJ Idea.
Sorry for being annoying, but I really believe this is an important issue to take on before release 3.5. We successfully migrated to 3.5.-RC4 with 3.6-migration flag. But it produced some hidden bugs that hard to find and some is quite serious (write wrong data to database). Of course this is our fault, but it’s quite hard to avoid.
IMHO, If We don’t have a proper documentation about how to mitigate this issue, it’ll be hard for the industry maybe a big push back as We are already “infamous” for breaking changes.
This doesn’t take away any of mine appreciation to the team for working on on this amazing language, thank you so much for this. And I know the team is very busy and documentation is not an interesting thing to do.
3.5.0-RC6 is now publicly available for testing Release 3.5.0-RC6 · scala/scala3 · GitHub
This release reverts changes introduced in Scala 3.4.2 that led to binary incompatibility of match types produced by the compiler. The same revert fixing the issue will also be available in the upcoming, yet unexpected, 3.4.3 hotfix release. The new behaviour would be restored in some next major version (probably 3.6) after being well described and probably introducing a warning for the users.
We can also confirm that we’re actively working on a document to help with migrating to the givens prioritization schema. It should become available before the 3.5.0 final release.
Scala 3.5.0-RC7 is now available for testing!
This RC contains only changes that improve and delay the introduction of new givens prioritization scheme as default. Our current plan is to introduce the new scheme in Scala 3.7. Starting from Scala 3.6, code whose behavior can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. 3.5 gives you a chance to detect if those changes affect your codebase. Running the compiler with -source 3.6
will give you warnings; with -source 3.7
or -source future
you will get the new scheme.
More details on this topic would follow in upcoming blogposts.