From dacbe53fb7dab0ac1e7901147cf71d98a5369493 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 1 May 2025 20:48:42 +0200 Subject: [PATCH 01/10] Add Scala 3.7.0 release blog post --- _data/scala-releases.yml | 6 +- _downloads/2025-05-07-3.7.0.md | 10 + _posts/2025-05-07-release-notes-3.7.0.md | 452 +++++++++++++++++++++++ resources/img/scala-3.7-launch.png | Bin 0 -> 147274 bytes 4 files changed, 465 insertions(+), 3 deletions(-) create mode 100644 _downloads/2025-05-07-3.7.0.md create mode 100644 _posts/2025-05-07-release-notes-3.7.0.md create mode 100644 resources/img/scala-3.7-launch.png diff --git a/_data/scala-releases.yml b/_data/scala-releases.yml index 31ee6ab4c..16f30b4b0 100644 --- a/_data/scala-releases.yml +++ b/_data/scala-releases.yml @@ -1,7 +1,7 @@ - category: current_version - title: Current 3.6.x release - version: 3.6.4 - release_date: March 7, 2025 + title: Current 3.7.x release + version: 3.7.0 + release_date: May 7, 2025 - category: current_version title: Current 3.3.x LTS release version: 3.3.5 diff --git a/_downloads/2025-05-07-3.7.0.md b/_downloads/2025-05-07-3.7.0.md new file mode 100644 index 000000000..3b00aac94 --- /dev/null +++ b/_downloads/2025-05-07-3.7.0.md @@ -0,0 +1,10 @@ +--- +title: Scala 3.7.0 +start: 7 May 2025 +layout: downloadpage +release_version: 3.7.0 +release_date: "May 7, 2025" +permalink: /download/3.7.0.html +license: Apache License, Version 2.0 +api_docs: https://www.scala-lang.org/api/3.7.0/ +--- diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md new file mode 100644 index 000000000..09e583435 --- /dev/null +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -0,0 +1,452 @@ +--- +category: release +permalink: /news/3.7.0/ +title: "Scala 3.7.0 released!" +by: Wojciech Mazur, VirtusLab +--- + +![Scala 3.7]({{ site.baseurl }}/resources/img/scala-3.7-launch.png) + +We're excited to announce the release of Scala 3.7.0 — a significant minor release that brings stabilized SIPs, powerful new features, expanded platform support, and notable improvements to tooling and compatibility. + +# What’s new in Scala 3.7? + +## Stabilised SIPs + +### [SIP-52: Binary APIs](https://docs.scala-lang.org/sips/binary-api.html) + +Scala 3.7.0 stabilizes the @publicInBinary annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevent generation of redundant accessors required by inlining mechanism. + +Inline methods are always inlined at their call sites. If they refer to members not visible outside their defining scope, the compiler generates accessor methods. The accessors are not subject to binary compatibility, these might be emitted differently by newer versions of compiler or eventually removed. +The `@publicInBinary` annotation addresses this by emitting those members as public in bytecode, while maintaining restricted source-level visibility. + This allows the compiler to refer to the original non-private member without the need to create additional accessors. + +```scala +object api: + class Service: + private[api] def implementation(): Unit = println("Executing old API") + inline def use() = implementation() + // generated by compiler, accessed in `use()` + // def api$Service$$inline$implementation(): Unit = implementation() + + class Consumer: + inline def consume() = api.Service().implementation() + // generated by compiler, accessed in `consume()` + // def inline$implementation$i1(x$0: api$Service) = x$0.implementation() + + @scala.annotation.publicInBinary + private[api] var isActive: Boolean = false + inline def isStale = !isActive +``` + +The new annotation also resolves a long-standing issue with the inability to invoke a private constructor of a class from inlined methods. Now by annotating the constructor with `@publicInBinary` you are allowed to access it directly from inlined methods. + +```scala +import scala.annotation.publicInBinary + +class Printer @publicInBinary private(id: Int) +object Printer: + inline def create(): Printer = new Printer(42) // Not allowed previously +``` + +SIP-52 has also introduced the linting flag `-WunstableInlineAccessors` which detects and emits warnings for all unstable accessors generated for inline methods. This flag has been available since Scala 3.4.0. We highly recommend its usage of users' codebases, especially in the case of public libraries. + +### [SIP-58: Named Tuples](https://docs.scala-lang.org/sips/named-tuples.html) + +Named Tuples introduced as experimental in Scala 3.5 are now a stable feature. +Named tuples are a convenient lightweight way to return multiple results from a function or to model the data using tuples while allowing you to use meaningful names for its fields. + +```scala +@main def meaningfullReturnTypes = + extension [T](seq: Seq[T]) + inline def partitionBy(predicate: PartialFunction[T, Boolean]): (matching: Seq[T], unmatched: Seq[T]) = + seq.partition(predicate.unapply(_).getOrElse(false)) + + List( + (x = 1, y = 0), + (x = 2, y = 3), + ( 3, 0,), + ).partitionBy: + case (x = x, y = 0) => x < 5 + .matching.map(_.x) + .foreach(println) + + val measurements = List[(location: String, value: Double)]( + ("Lousanne", 8.05), + ("London", 21), + ("Rome", 37.0), + ) + val average = measurements.map(_.value).sum / measurments.size +``` + +What's more, this feature also enhances other existing features - it is now possible to match on subset of case class fields by referring to its fields by name. By doing so you no longer need to specify a long list of wildcard selectors for each field of a large case class. + +```scala +@main def selectiveClassExtractors = + type Timestamp = Long + type OrderId = String + type ItemId = Long + + case class Order( + id: OrderId, + createdAt: Timestamp, + shippedAt: Option[Timestamp] = None, + deliveredAt: Option[Timestamp] = None, + itemIds: List[ItemId] = Nil + ) + + val orders = List.empty[Order] + val selected = orders.collect: + case Order(id = s"special-${internalId}", shippedAt = None) => internalId + case Order(id = orderId, itemIds = items) if items.size > 5 => orderId +``` + +Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you compute structural types without the need for macros! +The `Selectable` trait now has a `Fields` type member that can be instantiated to a named tuple. + +```scala +class QueryResult[T](rawValues: Map[String, Any]) extends Selectable: + type Fields = NamedTuple.Map[NamedTuple.From[T], Option] + def selectDynamic(fieldName: String) = rawValues.get(fieldName) + +case class Release(version: String, issues: List[String]) + +@main def Test = + val query: QueryResult[Release] = QueryResult(Map("version" -> "3.7.0")) + val version: Option[String] = query.version + assert(query.version.contains("3.7.0")) + assert(query.issues.isEmpty) +``` + +## Preview SIPs + +### Preview features + +Scala 3.7 introduces the concept of `preview` features — fully implemented and SIP-approved, but potentially subject to small refinements. +New Scala language features or standard library APIs are initially introduced as experimental, but once they become fully implemented and accepted by the [SIP](https://docs.scala-lang.org/sips/) these can become a `preview` feature. + +Preview language features and APIs are guaranteed to be standardized in some next Scala minor release, but allow the compiler team to introduce small, possibly binary incompatible, changes based on the community feedback. +These can be used by early adopters who can accept the possibility of binary compatibility breakage. For instance, preview features could be used in some internal tool or application. On the other hand, preview features are discouraged in publicly available libraries. + +All preview features can be enabled using `-preview` flag passed to the compiler. More information about preview features can be found in [preview definitions guide](https://docs.scala-lang.org/scala3/reference/preview/overview.html) + +### [SIP-62: For comprehension improvements](https://docs.scala-lang.org/sips/better-fors.html) + +The first introduced preview feature is [SIP-62 - `Better Fors`](https://docs.scala-lang.org/sips/better-fors.html) originally introduced in Scala 3.6 as an experimental. +A major user-facing improvement introduced by this SIP is the ability to start a for-comprehension block with aliases. +It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. + +```scala +//> using options -preview +//> using scala 3.7 +@main def betterFors = + for + a = 1 + b <- Some(2) + c <- Option.when(a < 5)(10) + yield b * c +``` + +We encourage users to try out this feature which is likely going to be stabilised in Scala 3.8. + +## New experimental SIPs + +### [SIP-61: Unroll Default Arguments for Binary Compatibility](https://docs.scala-lang.org/sips/unroll-default-arguments.html) + +Scala case classes were for a long time avoided when defining a public API since each change to the list of their fields affected their binary compatibility. This was typically observed whenever a new field was added to the case class primary constructor, even if it was defined with a default value to resolve source compatibility problems. Even though binary compatibility issues were typically detected when using [MiMa](https://github.com/lightbend/mima), you were still required to manually create shim methods to match the old signatures of the methods. + +The `@unroll` annotation is going to eliminate this long-standing issue. This annotation lets you add additional parameters to method `def`s, `class` constructors, or `case class`es, without breaking binary compatibility. `@unroll` works by generating “unrolled” or “telescoping” forwarders, ensuring your code will maintain binary compatibility as new default parameters and fields are added over time. + +```scala +//> using scala 3.7 +//> using options -experimental + +import scala.annotation.unroll + +case class Product( + name: String, + price: BigDecimal, + @unroll description: Option[String] = None, +){ + // generated by compiler: + // def this(name: String, price: BigDecimal) = this(name, price) + // def copy(name: String, price: BigDecimal) = this(name, price) +} + +object Factory: + def processOrder( + products: List[Product], + @unroll quantity: Int = 1, + @unroll discount: Int = 0 + ): Unit = ??? + + // generated by the compiler: + // def processOrder(products: List[Product]): Unit = processOrder(products) + // def processOrder(products: List[Product], quantity: Int): Unit = processOrder(products, quantity) +``` + +More details can be found in [`@unroll` reference](https://docs.scala-lang.org/scala3/reference/experimental/unrolled-defs.html) + +### [SIP-68: Reference-able Package Objects](https://github.com/scala/improvement-proposals/pull/100) + +One limitation with `package object`s is that we cannot currently assign them to values directly even though it is possible for normal `object`s. The workaround is to use a special ".`package`" accessor, but this is ugly and non-obvious. Or one could use a normal `object`, which is not always possible. + +SIP-68: Reference-able Package Object drops this limitation, by automatically referring to package object value whenever it's assigned to a variable. + +```scala +//> using scala 3.7 +//> using options -experimental + +package my.pkg +import scala.language.experimental.packageObjectValues + +package object releases: + val `3.7` = "3.7.0" + +@main def referencablePkgObject = + val versions = my.pkg.releases + val oldStyle = my.pkg.releases.`package` + println(versions.`3.7`) +``` + +For more details visit the [reference page](https://docs.scala-lang.org/scala3/reference/experimental/package-object-values.html) of this feature. + +## Other notable changes + +### New scheme for given prioritization + +In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we've announced upcoming changes to givens, due to their peculiar problem with prioritization. Under the old rules, the compiler always tried to select the instance with the most specific subtype of the requested type. Under the new rules, it would change to always selecting the instance with the most general subtype that satisfies the context-bound. +Starting from Scala 3.7 compiled would use the new behaviour by default. +Running the compiler with `-source:3.5` will allow you to temporarily keep using the old rules. +Under `-source:3.7-migration`, code whose behaviour differs between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the new rules will still be applied. + +For the detailed motivation of changes with examples of code that will be easier to write and understand, see our recent blog post - [Upcoming Changes to Givens in Scala 3.7]({{ site.baseurl }}/2024/08/19/given-priority-change-3.7.html). + +### Expression Compiler is now part of Scala 3 compiler [#22597](https://github.com/scala/scala3/pull/22597) + +The expression compiler powers the debug console in Metals and the IntelliJ Scala plugin, enabling the evaluation of arbitrary Scala expressions at runtime (even macros). The expression compiler produces class files that can be loaded by tooling to compute the evaluation output. +Previously expression compiler was developed independently from the Scala compiler inside [scalacenter/scala-debug-adapter](https://github.com/scalacenter/scala-debug-adapter) repository and was cross-published for every Scala release. +Starting with Scala 3.7 the expression compiler has been migrated to the main [scala/scala3](https://github.com/scala/scala3) repository and become an integral part of Scala toolchain. This change would allow users to use expression compiler with nightly versions of the compiler as well and it would ease the maintenance and releasing process for the compiler team. + +### Presentation Compiler: Show inferred type on holes in hover [#21423](https://github.com/scala/scala3/pull/21423) + +The presentation compiler is a specialized instance of the Scala compiler that runs interactively in IDEs or LSPs, providing immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. +Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As the results presented compiler can now show the users the expected type of expression when hovering over holes. + +### Quotes API changes + +Scala 3.7 introduces changes to the experimental subset of Quotes API. One notable addition is the `apply` methods to import selectors ([#22457](https://github.com/scala/scala3/pull/22457)), simplifying the construction of import statements within macros. This feature streamlines the generation of import trees, making macro code more concise and readable.​ + +Another advancement is the experimental `summonIgnoring` method ([#22417](https://github.com/scala/scala3/pull/22417)). It allows developers to summon implicit instances while excluding specific instances of givens from the search. It's particularly useful in complex derivation scenarios where certain implicit should be disregarded to prevent conflicts or unintended resolutions.​ It might be used to provide a custom implementation of macro only in cases where a user-defined variant of implicit is defined. + +```scala +//> using options -experimental + +import scala.quoted.* + +trait ExcludedType +trait Show[T]: + def show(): Unit + +object Show { + implicit transparent inline def auto[T]: Show[T] = ${ autoImpl[T] } + + private def autoImpl[T: Type](using Quotes): Expr[Show[T]] = + import quotes.reflect.* + Expr.summonIgnoring[Show[ExcludedType]]( + // Ignore implicits produced by these symbols: + Symbol.classSymbol("Show").companionModule.methodMember("auto")* + ) match + case Some(instance) => + // User provided their own instance of `Show[ExcludedType]` - use it + '{ + new Show[T]: + def show(): Unit = + println(s"Show[${${ Expr(TypeRepr.of[T].show) }}] including user defined Show[ExcludedType]:") + $instance.show() + } + case None => + // No user-defined implicit for `Show[ExcludedType]` beside `Show.auto` + '{ + new Show[T]: + def show(): Unit = + println(s"Show[${${ Expr(TypeRepr.of[T].show) }}]") + } +} +``` + +Furthermore, the `Quotes.newClass` method has been extended to support class parameters, flags, privateWithin, and annotations ([#21880](https://github.com/scala/scala3/pull/21880)). This enhancement enables the dynamic creation of classes with constructors, access modifiers, and annotations, providing greater control over generated code structures. + +### Improvements to `-Wunused` and `-Wconf` [#20894](https://github.com/scala/scala3/pull/20894) + +Scala 3.7 introduces a significant enhancement to its linting mechanism by revamping the `CheckUnused` compiler phase. Previously, developers encountered false-positive warnings when importing givens, particularly when they were defined in shared traits across multiple objects. This issue often led to unnecessary code restructuring or the disabling of linting checks.​ + +The updated implementation leverages the `MiniPhase` API, aligning the linting process more closely with the compiler's contextual understanding. This change ensures that the compiler accurately identifies genuinely unused imports, thereby reducing misleading warnings. +Additionally, the update introduces support for `-Wunused:patvars`, enabling warnings for unused pattern variables. +Changes also enhance the `-Wconf` option to allow origin-based filtering `-Wconf:origin=full.path.selector` as in Scala 2. That allows, for example, to exclude certain blessed imports from warnings, or to work around false positives: + +```scala +-Wconf:origin=scala.util.chaining.given:s +``` + +These improvements collectively provide developers with more precise and configurable linting tools, enhancing code quality and maintainability.​ + +### Implicit parameters now warn at call site without `using` keyword [#22441](https://github.com/scala/scala3/pull/22441) + +As part of Scala's ongoing migration from the older implicit syntax to the newer, clearer given and using syntax, Scala 3.7 introduces a change regarding method calls involving implicit parameters. Now, explicitly providing arguments to methods defined with implicit parameters without the `using` keyword emits a compiler warning at the call site. This adjustment reduces ambiguity inherent in Scala 2 syntax, where it was unclear whether an explicitly provided argument was intended for an implicit parameter or for the apply method of the resulting object. + +```scala +trait Config +object Config: + def default: Config = ??? + +def implicitBased(implicit config: Config) = ??? +def givenBased(using Config) = ??? + +@main def explicitImplicits = + implicitBased(Config.default) // warning: Implicit parameters should be provided with a `using` clause. + implicitBased(using Config.default) // recommended + + givenBased(Config.default) // error: Would not compile without `using`` + givenBased(using Config.default) +``` + +Scala 3.7 provides an automated migration path for existing codebases through the compiler flags -rewrite -source:3.7-migration, which automatically inserts the recommended `using` keywords, streamlining the transition to the new syntax. + +### Scala 3 unblocked on Android [#22632](https://github.com/scala/scala3/pull/22632) + +Scala 3.7 brings a crucial fix that enhances its compatibility with the Android platform. Previously, developers faced issues when compiling Scala 3 code for Android due to the Android Runtime (ART) enforcing stricter type constraints on lambda expressions compared to the standard Java Virtual Machine (JVM). Specifically, ART requires that the return type of a Single Abstract Method (SAM) interface be a primitive type or explicitly boxed, a condition not mandated by the JVM.​ + +The update addresses this by modifying the Scala compiler to box the return type of native instantiated methods when the SAM's return type isn't primitive. This change ensures that lambda expressions conform to ART's expectations, preventing runtime errors on Android devices. By aligning the compiler's behaviour with ART's requirements, the Scala 3 development for the Android platform should be unblocked, although it might require recompiling existing libraries using Scala 3.7 or the upcoming Scala 3.3 LTS version containing a backported fix. + +### Minimal support for dependant case classes [#21698](https://github.com/scala/scala3/pull/21698) + +Starting with Scala 3.7, developers can now define case classes with dependent fields, marking a notable improvement in expressiveness and type safety. This allows fields within a case class to depend on other constructor parameters via path-dependent types. One use case is encoding a configuration system where each setting has a distinct value type determined by the setting itself. + +```scala +case class ConfigEntry(option: Setting, default: option.Value): + def value(using Context): option.Value = option.userDefined.getOrElse(default) + +trait Context +trait Setting(val name: String): + type Value + def userDefined(using Context): Option[Value] = None + +class StringSetting(name: String) extends Setting(name): + override type Value = String + +class IntSetting(name: String) extends Setting(name): + override type Value = Int + + +@main def DependantCaseClasses = + given Context = new {} + val settings = List[ConfigEntry]( + ConfigEntry(StringSetting("docs.page"), "https://docs.scala-lang.org/"), + ConfigEntry(IntSetting("max.threads"), 32) + ) +``` + +This enhancement simplifies type-safe heterogeneous collections and makes it easier to express advanced design patterns previously requiring workarounds or more verbose type definitions. + +### Dependency updates + +#### Scala 2 Standard Library + +Scala 3 now defaults to the [Scala 2.13.16](https://github.com/scala/scala/releases/tag/v2.13.16) Standard Library. Be mindful of breaking changes and deprecations introduced since 2.13.15: + +* On the empty string, `.tail` and `.init` now throw (instead of returning the empty string) [#10851](https://github.com/scala/scala/pull/10851) +* Do not use `rangeHash` when `rangeDiff` is 0 [#10912](https://github.com/scala/scala/pull/10912) +* Deprecate `collection.mutable.AnyRefMap` [#10862](https://github.com/scala/scala/pull/10862) + +#### Scala.js + +Scala.js has been updated from version 1.16.0 to 1.19.0. Libraries published using Scala 3.7 must use Scala.js 1.19.0 or later. Key improvements include: + +* Native support for JavaScript `async/await`, through `js.async { ... }` and `js.await(...)` +* Small code size improvements for the JavaScript target when using SAM lambdas. +* For Wasm only: support for the JavaScript Promise Integration feature (JSPI). + +Please refer to Scala.js changelogs for more details: + +* [Scala.js 1.17.0](https://www.scala-js.org/news/2024/09/28/announcing-scalajs-1.17.0) +* [Scala.js 1.18.1](https://www.scala-js.org/news/2025/01/09/announcing-scalajs-1.18.1) +* [Scala.js 1.18.2](https://www.scala-js.org/news/2025/01/23/announcing-scalajs-1.18.2) +* [Scala.js 1.19.0](https://www.scala-js.org/news/2025/04/21/announcing-scalajs-1.19.0) + +#### Scala CLI + +Scala runner has been updated and uses now Scala CLI 1.7.1. +The new Scala runner uses `scalafmt` binaries built using Scala Native for `fmt` subcommand, this change can improve the performance of formatting Scala sources. It also includes experimental support for running `scalafix` rules using `scala fix` subcommand. + +Please refer to Scala CLI changelogs for more details: + +* [Scala CLI 1.6.0](https://github.com/VirtusLab/scala-cli/releases/tag/v1.6.0) +* [Scala CLI 1.6.1](https://github.com/VirtusLab/scala-cli/releases/tag/v1.6.1) +* [Scala CLI 1.7.0](https://github.com/VirtusLab/scala-cli/releases/tag/v1.7.0) +* [Scala CLI 1.7.1](https://github.com/VirtusLab/scala-cli/releases/tag/v1.7.1) + +# What’s next? + +With the final release of Scala 3.7.0, the first patch version—Scala 3.7.0-RC1—has already been made available. This release includes additional fixes and improvements introduced after the branch cutoff. + +Looking ahead, you can expect two more patch releases before Scala 3.8, which is scheduled for release in September this year. The goal for Scala 3.8 is to be the last minor version before the next Long-Term Support (LTS) release, Scala 3.9, which is planned for early next year. + +The Scala compiler team aims to finalize all major changes in 3.8, followed by a soft feature freeze and a stabilization period. This ensures a smooth transition for users and maximizes the stability of the compiler and tooling ecosystem ahead of the LTS release. + + +# Contributors + +Thank you to all the contributors who made this release possible 🎉 + +According to `git shortlog -sn --no-merges 3.6.4..3.7.0` these are: + +``` + 63 Martin Odersky + 47 Som Snytt + 33 Adrien Piquerez + 32 Hamza Remmal + 29 Wojciech Mazur + 19 aherlihy + 19 kasiaMarek + 16 Jan Chyb + 13 Dale Wijnand + 11 Kacper Korban + 10 EnzeXing + 9 Sébastien Doeraene + 7 Guillaume Martres + 7 Matt Bovel + 7 Oliver Bračevac + 7 noti0na1 + 5 HarrisL2 + 5 Jamie Thompson + 5 dependabot[bot] + 4 Joel Wilsson + 4 Piotr Chabelski + 4 Seth Tisue + 3 Roman Janusz + 3 anna herlihy + 2 David Hua + 2 Tomasz Godzik + 2 Yichen Xu + 1 Alec Theriault + 1 Daisy Li + 1 Daniel Thoma + 1 Dmitrii Naumenko + 1 Felix Herrmann + 1 He-Pin(kerr) + 1 João Ferreira + 1 Jędrzej Rochala + 1 Katarzyna Marek + 1 Kenji Yoshida + 1 Natsu Kagami + 1 Niklas Fiekas + 1 Rocco Mathijn Andela + 1 Vadim Chelyshov + 1 adpi2 + 1 fan-tom + 1 philwalk + 1 rochala +``` + +For a full list of changes and contributor credits, please refer to the [release notes](https://github.com/scala/scala3/releases/tag/3.7.0). diff --git a/resources/img/scala-3.7-launch.png b/resources/img/scala-3.7-launch.png new file mode 100644 index 0000000000000000000000000000000000000000..11e285dab1cd3384f11be3de878d4a36e725a671 GIT binary patch literal 147274 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 literal 0 HcmV?d00001 From bc9d3acb46d759ebd3e5c73fbd1190175adeb5bf Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 1 May 2025 20:51:33 +0200 Subject: [PATCH 02/10] Fix formatting --- _posts/2025-05-07-release-notes-3.7.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 09e583435..33238a7a9 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -72,10 +72,10 @@ Named tuples are a convenient lightweight way to return multiple results from a .foreach(println) val measurements = List[(location: String, value: Double)]( - ("Lousanne", 8.05), - ("London", 21), - ("Rome", 37.0), - ) + ("Lousanne", 8.05), + ("London", 21), + ("Rome", 37.0), + ) val average = measurements.map(_.value).sum / measurments.size ``` From ddc5ac05247840a9bdb9faccb67761b957a54cc9 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 1 May 2025 23:38:55 +0200 Subject: [PATCH 03/10] Address review suggestions --- _posts/2025-05-07-release-notes-3.7.0.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 33238a7a9..24b682436 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -65,14 +65,14 @@ Named tuples are a convenient lightweight way to return multiple results from a List( (x = 1, y = 0), (x = 2, y = 3), - ( 3, 0,), + ( 3, 0), ).partitionBy: case (x = x, y = 0) => x < 5 .matching.map(_.x) .foreach(println) val measurements = List[(location: String, value: Double)]( - ("Lousanne", 8.05), + ("Lausanne", 8.05), ("London", 21), ("Rome", 37.0), ) @@ -169,7 +169,7 @@ case class Product( @unroll description: Option[String] = None, ){ // generated by compiler: - // def this(name: String, price: BigDecimal) = this(name, price) + // def this(name: String, price: BigDecimal) = this(name, price, default$1) // def copy(name: String, price: BigDecimal) = this(name, price) } @@ -181,8 +181,8 @@ object Factory: ): Unit = ??? // generated by the compiler: - // def processOrder(products: List[Product]): Unit = processOrder(products) - // def processOrder(products: List[Product], quantity: Int): Unit = processOrder(products, quantity) + // def processOrder(products: List[Product]): Unit = processOrder(products, default$1, default$2) + // def processOrder(products: List[Product], quantity: Int): Unit = processOrder(products, quantity, default$2) ``` More details can be found in [`@unroll` reference](https://docs.scala-lang.org/scala3/reference/experimental/unrolled-defs.html) @@ -233,6 +233,13 @@ Starting with Scala 3.7 the expression compiler has been migrated to the main [s The presentation compiler is a specialized instance of the Scala compiler that runs interactively in IDEs or LSPs, providing immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As the results presented compiler can now show the users the expected type of expression when hovering over holes. +```scala +def someMethod(count: Int, label: String): Unit = ??? +someMethod(???, ???) +``` + +Given the code snippet above hovering on the first placeholder would now provide information for Metals that `Int` is required, similarlly hovering on second `???` placehold would result in hint about missing argument of `String` type. + ### Quotes API changes Scala 3.7 introduces changes to the experimental subset of Quotes API. One notable addition is the `apply` methods to import selectors ([#22457](https://github.com/scala/scala3/pull/22457)), simplifying the construction of import statements within macros. This feature streamlines the generation of import trees, making macro code more concise and readable.​ @@ -319,7 +326,7 @@ Scala 3.7 brings a crucial fix that enhances its compatibility with the Android The update addresses this by modifying the Scala compiler to box the return type of native instantiated methods when the SAM's return type isn't primitive. This change ensures that lambda expressions conform to ART's expectations, preventing runtime errors on Android devices. By aligning the compiler's behaviour with ART's requirements, the Scala 3 development for the Android platform should be unblocked, although it might require recompiling existing libraries using Scala 3.7 or the upcoming Scala 3.3 LTS version containing a backported fix. -### Minimal support for dependant case classes [#21698](https://github.com/scala/scala3/pull/21698) +### Minimal support for dependent case classes [#21698](https://github.com/scala/scala3/pull/21698) Starting with Scala 3.7, developers can now define case classes with dependent fields, marking a notable improvement in expressiveness and type safety. This allows fields within a case class to depend on other constructor parameters via path-dependent types. One use case is encoding a configuration system where each setting has a distinct value type determined by the setting itself. @@ -339,7 +346,7 @@ class IntSetting(name: String) extends Setting(name): override type Value = Int -@main def DependantCaseClasses = +@main def DependentCaseClasses = given Context = new {} val settings = List[ConfigEntry]( ConfigEntry(StringSetting("docs.page"), "https://docs.scala-lang.org/"), @@ -394,7 +401,6 @@ Looking ahead, you can expect two more patch releases before Scala 3.8, which is The Scala compiler team aims to finalize all major changes in 3.8, followed by a soft feature freeze and a stabilization period. This ensures a smooth transition for users and maximizes the stability of the compiler and tooling ecosystem ahead of the LTS release. - # Contributors Thank you to all the contributors who made this release possible 🎉 From 14e8064c03cacacbc0e44aae19e1ef0bbf4d1e02 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Fri, 2 May 2025 12:29:05 +0200 Subject: [PATCH 04/10] Apply suggestions from reviewers --- _posts/2025-05-07-release-notes-3.7.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 24b682436..0068cfd20 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -230,21 +230,21 @@ Starting with Scala 3.7 the expression compiler has been migrated to the main [s ### Presentation Compiler: Show inferred type on holes in hover [#21423](https://github.com/scala/scala3/pull/21423) -The presentation compiler is a specialized instance of the Scala compiler that runs interactively in IDEs or LSPs, providing immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. -Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As the results presented compiler can now show the users the expected type of expression when hovering over holes. +The presentation compiler is a specialized instance of the Scala compiler that runs interactively and can be used by IDEs or language servers such as Metals. It provides immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. +Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As a result, presentation compiler can now show the users the expected type of expression when hovering over so called `type holes`. ```scala def someMethod(count: Int, label: String): Unit = ??? someMethod(???, ???) ``` -Given the code snippet above hovering on the first placeholder would now provide information for Metals that `Int` is required, similarlly hovering on second `???` placehold would result in hint about missing argument of `String` type. +Given the code snippet above hovering on the first placeholder would now provide information for Metals that `Int` is required, similarly hovering on second `???` placeholder would result in hint about missing argument of `String` type. ### Quotes API changes -Scala 3.7 introduces changes to the experimental subset of Quotes API. One notable addition is the `apply` methods to import selectors ([#22457](https://github.com/scala/scala3/pull/22457)), simplifying the construction of import statements within macros. This feature streamlines the generation of import trees, making macro code more concise and readable.​ +Scala 3.7 introduces changes to the experimental subset of Quotes API. One notable addition is the `apply` methods to import selectors ([#22457](https://github.com/scala/scala3/pull/22457)), allowing to dynamically construct import statements within macros. This feature can be especially useful when summoning implicit instances in the generated code, as it allows to add additional instances to the search​. -Another advancement is the experimental `summonIgnoring` method ([#22417](https://github.com/scala/scala3/pull/22417)). It allows developers to summon implicit instances while excluding specific instances of givens from the search. It's particularly useful in complex derivation scenarios where certain implicit should be disregarded to prevent conflicts or unintended resolutions.​ It might be used to provide a custom implementation of macro only in cases where a user-defined variant of implicit is defined. +Another advancement is the experimental `summonIgnoring` method ([#22417](https://github.com/scala/scala3/pull/22417)). It allows developers to summon implicit instances while excluding specific instances of givens from the search. It's particularly useful in complex derivation scenarios where certain implicit should be disregarded to prevent conflicts or unintended resolutions.​ It might be used to provide a custom implementation of macro only in cases where a user-defined variant of implicit is available, while avoiding recursively re-calling the macro method. ```scala //> using options -experimental @@ -282,7 +282,7 @@ object Show { } ``` -Furthermore, the `Quotes.newClass` method has been extended to support class parameters, flags, privateWithin, and annotations ([#21880](https://github.com/scala/scala3/pull/21880)). This enhancement enables the dynamic creation of classes with constructors, access modifiers, and annotations, providing greater control over generated code structures. +Furthermore, the experimental `Symbol.newClass` method has been extended to support class parameters, flags, privateWithin, and annotations ([#21880](https://github.com/scala/scala3/pull/21880)). This enhancement enables the dynamic creation of classes with constructors, access modifiers, and annotations, providing greater control over generated code structures. With those changes included, we are planning to stabilize this method (and `ClassDef.apply`) soon. ### Improvements to `-Wunused` and `-Wconf` [#20894](https://github.com/scala/scala3/pull/20894) From 457a5ff7d3616b561f79bcc6e5eb3730a594b2c7 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sat, 3 May 2025 16:31:04 +0200 Subject: [PATCH 05/10] Apply review suggestions --- _posts/2025-05-07-release-notes-3.7.0.md | 112 +++++++++++++---------- 1 file changed, 63 insertions(+), 49 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 0068cfd20..cfe0d50dc 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -13,11 +13,13 @@ We're excited to announce the release of Scala 3.7.0 — a significant minor rel ## Stabilised SIPs +The [Scala Improvement Process (SIP)](https://docs.scala-lang.org/sips/) is how language changes and additions are made. + ### [SIP-52: Binary APIs](https://docs.scala-lang.org/sips/binary-api.html) -Scala 3.7.0 stabilizes the @publicInBinary annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevent generation of redundant accessors required by inlining mechanism. +For library maintainers, Scala 3.7.0 stabilizes the `@publicInBinary` annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevent generation of redundant accessors required by inlining mechanism. -Inline methods are always inlined at their call sites. If they refer to members not visible outside their defining scope, the compiler generates accessor methods. The accessors are not subject to binary compatibility, these might be emitted differently by newer versions of compiler or eventually removed. +Inline methods are always inlined at their call sites. If they refer to members not visible outside their defining scope, the compiler generates accessor methods. The accessors are not subject to binary compatibility; they might be emitted differently by newer versions of compiler or eventually removed. The `@publicInBinary` annotation addresses this by emitting those members as public in bytecode, while maintaining restricted source-level visibility. This allows the compiler to refer to the original non-private member without the need to create additional accessors. @@ -65,7 +67,6 @@ Named tuples are a convenient lightweight way to return multiple results from a List( (x = 1, y = 0), (x = 2, y = 3), - ( 3, 0), ).partitionBy: case (x = x, y = 0) => x < 5 .matching.map(_.x) @@ -79,20 +80,16 @@ Named tuples are a convenient lightweight way to return multiple results from a val average = measurements.map(_.value).sum / measurments.size ``` -What's more, this feature also enhances other existing features - it is now possible to match on subset of case class fields by referring to its fields by name. By doing so you no longer need to specify a long list of wildcard selectors for each field of a large case class. +What's more, this feature also enhances existing features. For example, it is now possible to match on a subset of case class fields by name. By doing so you no longer need to specify a long list of wildcard selectors for each field of a large case class. ```scala @main def selectiveClassExtractors = - type Timestamp = Long - type OrderId = String - type ItemId = Long - case class Order( - id: OrderId, - createdAt: Timestamp, - shippedAt: Option[Timestamp] = None, - deliveredAt: Option[Timestamp] = None, - itemIds: List[ItemId] = Nil + id: String, + createdAt: OffsetDateTime, + shippedAt: Option[OffsetDateTime] = None, + deliveredAt: Option[OffsetDateTime] = None, + itemIds: List[String] = Nil ) val orders = List.empty[Order] @@ -101,7 +98,7 @@ What's more, this feature also enhances other existing features - it is now poss case Order(id = orderId, itemIds = items) if items.size > 5 => orderId ``` -Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you compute structural types without the need for macros! +Last, but not least, named tuples are opening a new technique in metaprogramming by letting you compute structural types without the need for macros! The `Selectable` trait now has a `Fields` type member that can be instantiated to a named tuple. ```scala @@ -118,23 +115,21 @@ case class Release(version: String, issues: List[String]) assert(query.issues.isEmpty) ``` -## Preview SIPs - -### Preview features +## Preview features -Scala 3.7 introduces the concept of `preview` features — fully implemented and SIP-approved, but potentially subject to small refinements. -New Scala language features or standard library APIs are initially introduced as experimental, but once they become fully implemented and accepted by the [SIP](https://docs.scala-lang.org/sips/) these can become a `preview` feature. +Scala 3.7 introduces the concept of `preview` features — fully implemented and SIP-approved, but potentially subject to small refinements before becoming stable. +New Scala language features or standard library APIs are initially introduced as experimental, but once they become fully implemented and accepted by the [SIP](https://docs.scala-lang.org/sips/) these can become a "preview" feature. -Preview language features and APIs are guaranteed to be standardized in some next Scala minor release, but allow the compiler team to introduce small, possibly binary incompatible, changes based on the community feedback. -These can be used by early adopters who can accept the possibility of binary compatibility breakage. For instance, preview features could be used in some internal tool or application. On the other hand, preview features are discouraged in publicly available libraries. +Preview language features and APIs are guaranteed to be standardized in some future Scala minor release, but allow the compiler team to introduce small, possibly binary incompatible, changes based on community feedback. +These can be used by early adopters who can accept the possibility of binary compatibility breakage. For instance, preview features could be used in an application or internal tool. On the other hand, preview features are discouraged in publicly available libraries. -All preview features can be enabled using `-preview` flag passed to the compiler. More information about preview features can be found in [preview definitions guide](https://docs.scala-lang.org/scala3/reference/preview/overview.html) +All preview features can be enabled together using the new `-preview` compiler option. More information about preview features can be found in [preview definitions guide](https://docs.scala-lang.org/scala3/reference/preview/overview.html) ### [SIP-62: For comprehension improvements](https://docs.scala-lang.org/sips/better-fors.html) -The first introduced preview feature is [SIP-62 - `Better Fors`](https://docs.scala-lang.org/sips/better-fors.html) originally introduced in Scala 3.6 as an experimental. -A major user-facing improvement introduced by this SIP is the ability to start a for-comprehension block with aliases. -It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. +The first preview feature is [SIP-62 - `Better Fors`](https://docs.scala-lang.org/sips/better-fors.html), originally added to Scala 3.6 as experimental. +A major user-facing improvement introduced by this SIP is the ability to start a for-comprehension block with assignment (for example, `a = 1`). +It also introduces changes to how some `for` comprehensions are desugared by the compiler, avoiding redundant calls, for better code. ```scala //> using options -preview @@ -143,19 +138,38 @@ It also introduces changes to how your code is desugared by the compiler, leadin for a = 1 b <- Some(2) - c <- Option.when(a < 5)(10) - yield b * c + c = a * b + yield c +``` + +The code above previously required `a` to be defined outside the for-comprehension block. Additionally, it was introducing redundant allocations and method calls to correctly handle possible `if` guards. In result it would have desugared to following code: + +```Scala + Some(2) + .map { b => + val c = a * b + (b, c) + }.map { case (b, c) => c } +``` + +With SIP-52 the same snippet would be desugared to simpler and more efficent code: + +```Scala + Some(2).map { b => + val c = a * b + c + } ``` We encourage users to try out this feature which is likely going to be stabilised in Scala 3.8. -## New experimental SIPs +## New experimental features ### [SIP-61: Unroll Default Arguments for Binary Compatibility](https://docs.scala-lang.org/sips/unroll-default-arguments.html) -Scala case classes were for a long time avoided when defining a public API since each change to the list of their fields affected their binary compatibility. This was typically observed whenever a new field was added to the case class primary constructor, even if it was defined with a default value to resolve source compatibility problems. Even though binary compatibility issues were typically detected when using [MiMa](https://github.com/lightbend/mima), you were still required to manually create shim methods to match the old signatures of the methods. +Some library maintainers have long avoided case classes in public APIs, since any change to their fields affected binary compatibility. This was typically observed whenever a new field was added to the case class primary constructor, even if it was defined with a default value to resolve source compatibility problems. Though such binary incompatibilities were detected by [MiMa](https://github.com/lightbend/mima), avoiding them required manually creating shim methods to match the old signatures. -The `@unroll` annotation is going to eliminate this long-standing issue. This annotation lets you add additional parameters to method `def`s, `class` constructors, or `case class`es, without breaking binary compatibility. `@unroll` works by generating “unrolled” or “telescoping” forwarders, ensuring your code will maintain binary compatibility as new default parameters and fields are added over time. +The `@unroll` annotation will eliminate this long-standing issue. This annotation lets you add additional parameters to method `def`s, `class` constructors, or `case class`es, without breaking binary compatibility. `@unroll` works by generating unrolled or “telescoping” forwarders, ensuring your code will remain binary compatible as new default parameters and fields are added over time. ```scala //> using scala 3.7 @@ -189,9 +203,9 @@ More details can be found in [`@unroll` reference](https://docs.scala-lang.org/s ### [SIP-68: Reference-able Package Objects](https://github.com/scala/improvement-proposals/pull/100) -One limitation with `package object`s is that we cannot currently assign them to values directly even though it is possible for normal `object`s. The workaround is to use a special ".`package`" accessor, but this is ugly and non-obvious. Or one could use a normal `object`, which is not always possible. +One limitation with `package object`s is that we cannot directly refer to them as values, even though that is possible for normal `object`s. Such references can already be made with a special ".`package`" accessor, but this is ugly and non-obvious. Or one could use a normal `object`, which is not always possible. -SIP-68: Reference-able Package Object drops this limitation, by automatically referring to package object value whenever it's assigned to a variable. +The SIP drops this limitation, allowing such direct references. ```scala //> using scala 3.7 @@ -206,31 +220,31 @@ package object releases: @main def referencablePkgObject = val versions = my.pkg.releases val oldStyle = my.pkg.releases.`package` - println(versions.`3.7`) + println(versions eq oldStyle) // prints true ``` -For more details visit the [reference page](https://docs.scala-lang.org/scala3/reference/experimental/package-object-values.html) of this feature. +For more details visit the [reference page](https://docs.scala-lang.org/scala3/reference/experimental/package-object-values.html) for this feature. ## Other notable changes ### New scheme for given prioritization -In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we've announced upcoming changes to givens, due to their peculiar problem with prioritization. Under the old rules, the compiler always tried to select the instance with the most specific subtype of the requested type. Under the new rules, it would change to always selecting the instance with the most general subtype that satisfies the context-bound. -Starting from Scala 3.7 compiled would use the new behaviour by default. +In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we announced upcoming changes to givens, to improve their prioritization. Under the old rules, the compiler always tried to select the instance with the most specific subtype of the requested type. Under the new rules, it always selects the instance with the most general subtype that satisfies the context bound. +Starting with Scala 3.7, the compiler uses the new behavior by default. Running the compiler with `-source:3.5` will allow you to temporarily keep using the old rules. Under `-source:3.7-migration`, code whose behaviour differs between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the new rules will still be applied. -For the detailed motivation of changes with examples of code that will be easier to write and understand, see our recent blog post - [Upcoming Changes to Givens in Scala 3.7]({{ site.baseurl }}/2024/08/19/given-priority-change-3.7.html). +For detailed motivation of the changes, with examples of code that will be easier to write and understand, see our 2024 blog post - [Upcoming Changes to Givens in Scala 3.7]({{ site.baseurl }}/2024/08/19/given-priority-change-3.7.html). ### Expression Compiler is now part of Scala 3 compiler [#22597](https://github.com/scala/scala3/pull/22597) The expression compiler powers the debug console in Metals and the IntelliJ Scala plugin, enabling the evaluation of arbitrary Scala expressions at runtime (even macros). The expression compiler produces class files that can be loaded by tooling to compute the evaluation output. Previously expression compiler was developed independently from the Scala compiler inside [scalacenter/scala-debug-adapter](https://github.com/scalacenter/scala-debug-adapter) repository and was cross-published for every Scala release. -Starting with Scala 3.7 the expression compiler has been migrated to the main [scala/scala3](https://github.com/scala/scala3) repository and become an integral part of Scala toolchain. This change would allow users to use expression compiler with nightly versions of the compiler as well and it would ease the maintenance and releasing process for the compiler team. +Starting with Scala 3.7 the expression compiler has been migrated to the main [scala/scala3](https://github.com/scala/scala3) repository and become an integral part of Scala toolchain. This change allows users to use the expression compiler with nightly versions of the compiler as well, easing the maintenance and release process for the compiler team. ### Presentation Compiler: Show inferred type on holes in hover [#21423](https://github.com/scala/scala3/pull/21423) -The presentation compiler is a specialized instance of the Scala compiler that runs interactively and can be used by IDEs or language servers such as Metals. It provides immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. +The presentation compiler is a special mode of the Scala compiler that runs interactively and is used by IDEs and language servers such as Metals. It provides immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As a result, presentation compiler can now show the users the expected type of expression when hovering over so called `type holes`. ```scala @@ -238,7 +252,7 @@ def someMethod(count: Int, label: String): Unit = ??? someMethod(???, ???) ``` -Given the code snippet above hovering on the first placeholder would now provide information for Metals that `Int` is required, similarly hovering on second `???` placeholder would result in hint about missing argument of `String` type. +Given the code snippet above, hovering on either placeholder will hint about the expected type (`Int` and `String`, respectively). ### Quotes API changes @@ -300,7 +314,7 @@ These improvements collectively provide developers with more precise and configu ### Implicit parameters now warn at call site without `using` keyword [#22441](https://github.com/scala/scala3/pull/22441) -As part of Scala's ongoing migration from the older implicit syntax to the newer, clearer given and using syntax, Scala 3.7 introduces a change regarding method calls involving implicit parameters. Now, explicitly providing arguments to methods defined with implicit parameters without the `using` keyword emits a compiler warning at the call site. This adjustment reduces ambiguity inherent in Scala 2 syntax, where it was unclear whether an explicitly provided argument was intended for an implicit parameter or for the apply method of the resulting object. +As part of Scala's ongoing migration from `implicit` to the newer, clearer `given` and `using`, Scala 3.7 introduces a change regarding method calls involving implicit parameters. Now, explicitly providing arguments to methods defined with `implicit` warns if the call site doesn't say `using`. This adjustment reduces ambiguity inherent in Scala 2 syntax, where it was unclear whether an explicitly provided argument was intended for an implicit parameter or for the apply method of the resulting object. ```scala trait Config @@ -322,13 +336,13 @@ Scala 3.7 provides an automated migration path for existing codebases through th ### Scala 3 unblocked on Android [#22632](https://github.com/scala/scala3/pull/22632) -Scala 3.7 brings a crucial fix that enhances its compatibility with the Android platform. Previously, developers faced issues when compiling Scala 3 code for Android due to the Android Runtime (ART) enforcing stricter type constraints on lambda expressions compared to the standard Java Virtual Machine (JVM). Specifically, ART requires that the return type of a Single Abstract Method (SAM) interface be a primitive type or explicitly boxed, a condition not mandated by the JVM.​ +Scala 3.7 brings a crucial fix that enhances its compatibility with the Android platform. Previously, developers faced issues when compiling Scala 3 code for Android due to the Android Runtime (ART) enforcing stricter type constraints on lambdas than the standard Java Virtual Machine (JVM). Specifically, ART requires that the return type of a Single Abstract Method (SAM) interface be a primitive type or explicitly boxed, a condition not mandated by the JVM.​ The update addresses this by modifying the Scala compiler to box the return type of native instantiated methods when the SAM's return type isn't primitive. This change ensures that lambda expressions conform to ART's expectations, preventing runtime errors on Android devices. By aligning the compiler's behaviour with ART's requirements, the Scala 3 development for the Android platform should be unblocked, although it might require recompiling existing libraries using Scala 3.7 or the upcoming Scala 3.3 LTS version containing a backported fix. -### Minimal support for dependent case classes [#21698](https://github.com/scala/scala3/pull/21698) +### Support for dependent case classes [#21698](https://github.com/scala/scala3/pull/21698) -Starting with Scala 3.7, developers can now define case classes with dependent fields, marking a notable improvement in expressiveness and type safety. This allows fields within a case class to depend on other constructor parameters via path-dependent types. One use case is encoding a configuration system where each setting has a distinct value type determined by the setting itself. +Case classes may now have dependent fields, improving expressiveness and type safety. This allows fields within a case class to depend on other constructor parameters via path-dependent types. One use case is encoding a configuration system where each setting has a distinct value type determined by the setting itself. ```scala case class ConfigEntry(option: Setting, default: option.Value): @@ -360,7 +374,7 @@ This enhancement simplifies type-safe heterogeneous collections and makes it eas #### Scala 2 Standard Library -Scala 3 now defaults to the [Scala 2.13.16](https://github.com/scala/scala/releases/tag/v2.13.16) Standard Library. Be mindful of breaking changes and deprecations introduced since 2.13.15: +Scala 3 now uses the [Scala 2.13.16](https://github.com/scala/scala/releases/tag/v2.13.16) standard library. Be mindful of these breaking changes and deprecations since 2.13.15: * On the empty string, `.tail` and `.init` now throw (instead of returning the empty string) [#10851](https://github.com/scala/scala/pull/10851) * Do not use `rangeHash` when `rangeDiff` is 0 [#10912](https://github.com/scala/scala/pull/10912) @@ -383,8 +397,8 @@ Please refer to Scala.js changelogs for more details: #### Scala CLI -Scala runner has been updated and uses now Scala CLI 1.7.1. -The new Scala runner uses `scalafmt` binaries built using Scala Native for `fmt` subcommand, this change can improve the performance of formatting Scala sources. It also includes experimental support for running `scalafix` rules using `scala fix` subcommand. +The Scala runner has been updated to Scala CLI 1.7.1. +The new Scala runner uses `scalafmt` binaries built using Scala Native for `fmt` subcommand. This change can improve the performance of formatting Scala sources. It also includes experimental support for running `scalafix` rules using `scala fix` subcommand. Please refer to Scala CLI changelogs for more details: @@ -395,9 +409,9 @@ Please refer to Scala CLI changelogs for more details: # What’s next? -With the final release of Scala 3.7.0, the first patch version—Scala 3.7.0-RC1—has already been made available. This release includes additional fixes and improvements introduced after the branch cutoff. +With the final release of Scala 3.7.0, the first patch version—Scala 3.7.1-RC1—has already been made available. This release includes additional fixes and improvements introduced after the branch cutoff. -Looking ahead, you can expect two more patch releases before Scala 3.8, which is scheduled for release in September this year. The goal for Scala 3.8 is to be the last minor version before the next Long-Term Support (LTS) release, Scala 3.9, which is planned for early next year. +Looking ahead, you can expect at least two more patch releases before Scala 3.8, which is scheduled for September 2025. The goal for Scala 3.8 is to be the last minor version before the next Long-Term Support (LTS) release, Scala 3.9, which is planned for early 2026. The Scala compiler team aims to finalize all major changes in 3.8, followed by a soft feature freeze and a stabilization period. This ensures a smooth transition for users and maximizes the stability of the compiler and tooling ecosystem ahead of the LTS release. From e994aa45a28b41104613d309938f1cba5d6cdfc9 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sat, 3 May 2025 17:07:53 +0200 Subject: [PATCH 06/10] Add note about `using` at callsite in Scala 2 --- _posts/2025-05-07-release-notes-3.7.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index cfe0d50dc..0b5d8da53 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -333,6 +333,7 @@ def givenBased(using Config) = ??? ``` Scala 3.7 provides an automated migration path for existing codebases through the compiler flags -rewrite -source:3.7-migration, which automatically inserts the recommended `using` keywords, streamlining the transition to the new syntax. +Users of Scala 2 can introduce the `using` syntax at callsite into their codebase as well. The implicit based example above would successfully compile when using at least Scala 2.12.17 or Scala 2.13.9 without any additional flags. ### Scala 3 unblocked on Android [#22632](https://github.com/scala/scala3/pull/22632) From 8f90c57f39f0a93e339a76bebb1b5cb78fab7a1a Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sat, 3 May 2025 17:11:30 +0200 Subject: [PATCH 07/10] Clenaup Scala.js section --- _posts/2025-05-07-release-notes-3.7.0.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 0b5d8da53..5acfc35bd 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -383,12 +383,8 @@ Scala 3 now uses the [Scala 2.13.16](https://github.com/scala/scala/releases/tag #### Scala.js -Scala.js has been updated from version 1.16.0 to 1.19.0. Libraries published using Scala 3.7 must use Scala.js 1.19.0 or later. Key improvements include: - -* Native support for JavaScript `async/await`, through `js.async { ... }` and `js.await(...)` -* Small code size improvements for the JavaScript target when using SAM lambdas. -* For Wasm only: support for the JavaScript Promise Integration feature (JSPI). - +Scala.js has been updated from version 1.16.0 to 1.19.0. +Libraries published using Scala 3.7 must use Scala.js 1.19.0 or later. Please refer to Scala.js changelogs for more details: * [Scala.js 1.17.0](https://www.scala-js.org/news/2024/09/28/announcing-scalajs-1.17.0) From 986a872a73f4cfb9c66f97bfea69d215d5e28ef9 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sat, 3 May 2025 17:17:14 +0200 Subject: [PATCH 08/10] Reorder NamedTuples with publicInBinary --- _posts/2025-05-07-release-notes-3.7.0.md | 77 ++++++++++++------------ 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 5acfc35bd..4dc0363c2 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -15,47 +15,10 @@ We're excited to announce the release of Scala 3.7.0 — a significant minor rel The [Scala Improvement Process (SIP)](https://docs.scala-lang.org/sips/) is how language changes and additions are made. -### [SIP-52: Binary APIs](https://docs.scala-lang.org/sips/binary-api.html) - -For library maintainers, Scala 3.7.0 stabilizes the `@publicInBinary` annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevent generation of redundant accessors required by inlining mechanism. - -Inline methods are always inlined at their call sites. If they refer to members not visible outside their defining scope, the compiler generates accessor methods. The accessors are not subject to binary compatibility; they might be emitted differently by newer versions of compiler or eventually removed. -The `@publicInBinary` annotation addresses this by emitting those members as public in bytecode, while maintaining restricted source-level visibility. - This allows the compiler to refer to the original non-private member without the need to create additional accessors. - -```scala -object api: - class Service: - private[api] def implementation(): Unit = println("Executing old API") - inline def use() = implementation() - // generated by compiler, accessed in `use()` - // def api$Service$$inline$implementation(): Unit = implementation() - - class Consumer: - inline def consume() = api.Service().implementation() - // generated by compiler, accessed in `consume()` - // def inline$implementation$i1(x$0: api$Service) = x$0.implementation() - - @scala.annotation.publicInBinary - private[api] var isActive: Boolean = false - inline def isStale = !isActive -``` - -The new annotation also resolves a long-standing issue with the inability to invoke a private constructor of a class from inlined methods. Now by annotating the constructor with `@publicInBinary` you are allowed to access it directly from inlined methods. - -```scala -import scala.annotation.publicInBinary - -class Printer @publicInBinary private(id: Int) -object Printer: - inline def create(): Printer = new Printer(42) // Not allowed previously -``` - -SIP-52 has also introduced the linting flag `-WunstableInlineAccessors` which detects and emits warnings for all unstable accessors generated for inline methods. This flag has been available since Scala 3.4.0. We highly recommend its usage of users' codebases, especially in the case of public libraries. ### [SIP-58: Named Tuples](https://docs.scala-lang.org/sips/named-tuples.html) -Named Tuples introduced as experimental in Scala 3.5 are now a stable feature. +Named Tuples, introduced as experimental in Scala 3.5, are now a stable feature. Named tuples are a convenient lightweight way to return multiple results from a function or to model the data using tuples while allowing you to use meaningful names for its fields. ```scala @@ -115,6 +78,44 @@ case class Release(version: String, issues: List[String]) assert(query.issues.isEmpty) ``` +### [SIP-52: Binary APIs](https://docs.scala-lang.org/sips/binary-api.html) + +For library maintainers, Scala 3.7.0 stabilizes the `@publicInBinary` annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevent generation of redundant accessors required by inlining mechanism. + +Inline methods are always inlined at their call sites. If they refer to members not visible outside their defining scope, the compiler generates accessor methods. The accessors are not subject to binary compatibility; they might be emitted differently by newer versions of compiler or eventually removed. +The `@publicInBinary` annotation addresses this by emitting those members as public in bytecode, while maintaining restricted source-level visibility. + This allows the compiler to refer to the original non-private member without the need to create additional accessors. + +```scala +object api: + class Service: + private[api] def implementation(): Unit = println("Executing old API") + inline def use() = implementation() + // generated by compiler, accessed in `use()` + // def api$Service$$inline$implementation(): Unit = implementation() + + class Consumer: + inline def consume() = api.Service().implementation() + // generated by compiler, accessed in `consume()` + // def inline$implementation$i1(x$0: api$Service) = x$0.implementation() + + @scala.annotation.publicInBinary + private[api] var isActive: Boolean = false + inline def isStale = !isActive +``` + +The new annotation also resolves a long-standing issue with the inability to invoke a private constructor of a class from inlined methods. Now by annotating the constructor with `@publicInBinary` you are allowed to access it directly from inlined methods. + +```scala +import scala.annotation.publicInBinary + +class Printer @publicInBinary private(id: Int) +object Printer: + inline def create(): Printer = new Printer(42) // Not allowed previously +``` + +SIP-52 has also introduced the linting flag `-WunstableInlineAccessors` which detects and emits warnings for all unstable accessors generated for inline methods. This flag has been available since Scala 3.4.0. We highly recommend its usage of users' codebases, especially in the case of public libraries. + ## Preview features Scala 3.7 introduces the concept of `preview` features — fully implemented and SIP-approved, but potentially subject to small refinements before becoming stable. From fedb6d46e08b96c4461c311075dc1ae3d3cd564e Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Wed, 7 May 2025 09:57:13 +0200 Subject: [PATCH 09/10] Apply reviewers suggestions --- _posts/2025-05-07-release-notes-3.7.0.md | 68 +++++++++++++++++++++--- 1 file changed, 60 insertions(+), 8 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 4dc0363c2..3cf607054 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -237,13 +237,13 @@ Under `-source:3.7-migration`, code whose behaviour differs between new and old For detailed motivation of the changes, with examples of code that will be easier to write and understand, see our 2024 blog post - [Upcoming Changes to Givens in Scala 3.7]({{ site.baseurl }}/2024/08/19/given-priority-change-3.7.html). -### Expression Compiler is now part of Scala 3 compiler [#22597](https://github.com/scala/scala3/pull/22597) +### Expression Compiler is now part of Scala 3 compiler ([#22597](https://github.com/scala/scala3/pull/22597)) The expression compiler powers the debug console in Metals and the IntelliJ Scala plugin, enabling the evaluation of arbitrary Scala expressions at runtime (even macros). The expression compiler produces class files that can be loaded by tooling to compute the evaluation output. Previously expression compiler was developed independently from the Scala compiler inside [scalacenter/scala-debug-adapter](https://github.com/scalacenter/scala-debug-adapter) repository and was cross-published for every Scala release. Starting with Scala 3.7 the expression compiler has been migrated to the main [scala/scala3](https://github.com/scala/scala3) repository and become an integral part of Scala toolchain. This change allows users to use the expression compiler with nightly versions of the compiler as well, easing the maintenance and release process for the compiler team. -### Presentation Compiler: Show inferred type on holes in hover [#21423](https://github.com/scala/scala3/pull/21423) +### Presentation Compiler: Show inferred type on holes in hover ([#21423](https://github.com/scala/scala3/pull/21423)) The presentation compiler is a special mode of the Scala compiler that runs interactively and is used by IDEs and language servers such as Metals. It provides immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As a result, presentation compiler can now show the users the expected type of expression when hovering over so called `type holes`. @@ -299,7 +299,7 @@ object Show { Furthermore, the experimental `Symbol.newClass` method has been extended to support class parameters, flags, privateWithin, and annotations ([#21880](https://github.com/scala/scala3/pull/21880)). This enhancement enables the dynamic creation of classes with constructors, access modifiers, and annotations, providing greater control over generated code structures. With those changes included, we are planning to stabilize this method (and `ClassDef.apply`) soon. -### Improvements to `-Wunused` and `-Wconf` [#20894](https://github.com/scala/scala3/pull/20894) +### Improvements to `-Wunused` and `-Wconf` ([#20894](https://github.com/scala/scala3/pull/20894)) Scala 3.7 introduces a significant enhancement to its linting mechanism by revamping the `CheckUnused` compiler phase. Previously, developers encountered false-positive warnings when importing givens, particularly when they were defined in shared traits across multiple objects. This issue often led to unnecessary code restructuring or the disabling of linting checks.​ @@ -313,7 +313,7 @@ Changes also enhance the `-Wconf` option to allow origin-based filtering `-Wconf These improvements collectively provide developers with more precise and configurable linting tools, enhancing code quality and maintainability.​ -### Implicit parameters now warn at call site without `using` keyword [#22441](https://github.com/scala/scala3/pull/22441) +### Implicit parameters now warn at call site without `using` keyword ([#22441](https://github.com/scala/scala3/pull/22441)) As part of Scala's ongoing migration from `implicit` to the newer, clearer `given` and `using`, Scala 3.7 introduces a change regarding method calls involving implicit parameters. Now, explicitly providing arguments to methods defined with `implicit` warns if the call site doesn't say `using`. This adjustment reduces ambiguity inherent in Scala 2 syntax, where it was unclear whether an explicitly provided argument was intended for an implicit parameter or for the apply method of the resulting object. @@ -336,13 +336,13 @@ def givenBased(using Config) = ??? Scala 3.7 provides an automated migration path for existing codebases through the compiler flags -rewrite -source:3.7-migration, which automatically inserts the recommended `using` keywords, streamlining the transition to the new syntax. Users of Scala 2 can introduce the `using` syntax at callsite into their codebase as well. The implicit based example above would successfully compile when using at least Scala 2.12.17 or Scala 2.13.9 without any additional flags. -### Scala 3 unblocked on Android [#22632](https://github.com/scala/scala3/pull/22632) +### Scala 3 unblocked on Android ([#22632](https://github.com/scala/scala3/pull/22632)) Scala 3.7 brings a crucial fix that enhances its compatibility with the Android platform. Previously, developers faced issues when compiling Scala 3 code for Android due to the Android Runtime (ART) enforcing stricter type constraints on lambdas than the standard Java Virtual Machine (JVM). Specifically, ART requires that the return type of a Single Abstract Method (SAM) interface be a primitive type or explicitly boxed, a condition not mandated by the JVM.​ The update addresses this by modifying the Scala compiler to box the return type of native instantiated methods when the SAM's return type isn't primitive. This change ensures that lambda expressions conform to ART's expectations, preventing runtime errors on Android devices. By aligning the compiler's behaviour with ART's requirements, the Scala 3 development for the Android platform should be unblocked, although it might require recompiling existing libraries using Scala 3.7 or the upcoming Scala 3.3 LTS version containing a backported fix. -### Support for dependent case classes [#21698](https://github.com/scala/scala3/pull/21698) +### Support for dependent case classes ([#21698](https://github.com/scala/scala3/pull/21698)) Case classes may now have dependent fields, improving expressiveness and type safety. This allows fields within a case class to depend on other constructor parameters via path-dependent types. One use case is encoding a configuration system where each setting has a distinct value type determined by the setting itself. @@ -372,6 +372,54 @@ class IntSetting(name: String) extends Setting(name): This enhancement simplifies type-safe heterogeneous collections and makes it easier to express advanced design patterns previously requiring workarounds or more verbose type definitions. +Be aware of some pattern matching limitations for dependent case classes - the types of the extracted components are currently approximated to their non-dependent upper-bound: + +```scala +trait A: + type B <: AnyRef + +case class CC(a: A, b: a.B) +object Test: + def foo(cc: CC) = cc match + case CC(a, b) => + // `a` has type `A` + // `b` has type `AnyRef` instead of the more precise `a.B` +``` + +### REPL: bring dependencies in with `:jar` ([#22343](https://github.com/scala/scala3/pull/22343)) + +It is now possible to bring new dependencies to an already running REPL session with the `:jar` command. It is effectively the equivalent of Scala 2’s `:require`. + +For example, for a given simple example: + +```scala +// example.scala +object Message: + val hello = "Hello" +``` + +After packaging it into a JAR: + +```bash +scala package example.scala --power --library +# Compiling project (Scala 3.7.0, JVM (24)) +# Compiled project (Scala 3.7.0, JVM (24)) +# Wrote example.jar +``` + +It's possible to bring it into a running REPL session like this: + +```scala +Welcome to Scala 3.7.0(23.0.1, Java OpenJDK 64-Bit Server VM). +Type in expressions for evaluation. Or try :help. + +scala> :jar example.jar +Added 'example.jar' to classpath. + +scala> Message.hello +val res0: String = Hello +``` + ### Dependency updates #### Scala 2 Standard Library @@ -396,7 +444,11 @@ Please refer to Scala.js changelogs for more details: #### Scala CLI The Scala runner has been updated to Scala CLI 1.7.1. -The new Scala runner uses `scalafmt` binaries built using Scala Native for `fmt` subcommand. This change can improve the performance of formatting Scala sources. It also includes experimental support for running `scalafix` rules using `scala fix` subcommand. + +Notable changes include: + +* The `fmt` sub-command now uses `scalafmt` binaries built with Scala Native. This change can improve the performance of formatting Scala sources. +* (⚡️ experimental) Support for running `scalafix` rules has been added to the `fix` sub-command. Please refer to Scala CLI changelogs for more details: @@ -407,7 +459,7 @@ Please refer to Scala CLI changelogs for more details: # What’s next? -With the final release of Scala 3.7.0, the first patch version—Scala 3.7.1-RC1—has already been made available. This release includes additional fixes and improvements introduced after the branch cutoff. +With the final release of Scala 3.7.0, the first patch version [3.7.1-RC1](https://github.com/scala/scala3/releases/tag/3.7.1-RC1) has already been made available. This release includes additional fixes and improvements introduced after the branch cutoff. Looking ahead, you can expect at least two more patch releases before Scala 3.8, which is scheduled for September 2025. The goal for Scala 3.8 is to be the last minor version before the next Long-Term Support (LTS) release, Scala 3.9, which is planned for early 2026. From a5696e66b982062c50e2662f56971157d722fa08 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Wed, 7 May 2025 12:35:48 +0200 Subject: [PATCH 10/10] Apply review suggestions --- _posts/2025-05-07-release-notes-3.7.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2025-05-07-release-notes-3.7.0.md b/_posts/2025-05-07-release-notes-3.7.0.md index 3cf607054..c980d2959 100644 --- a/_posts/2025-05-07-release-notes-3.7.0.md +++ b/_posts/2025-05-07-release-notes-3.7.0.md @@ -80,7 +80,7 @@ case class Release(version: String, issues: List[String]) ### [SIP-52: Binary APIs](https://docs.scala-lang.org/sips/binary-api.html) -For library maintainers, Scala 3.7.0 stabilizes the `@publicInBinary` annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevent generation of redundant accessors required by inlining mechanism. +For library maintainers, Scala 3.7.0 stabilizes the `@publicInBinary` annotation, introduced experimentally in Scala 3.4. This annotation ensures binary compatibility when inline methods access non-public members and prevents generation of redundant accessors required by inlining mechanism. Inline methods are always inlined at their call sites. If they refer to members not visible outside their defining scope, the compiler generates accessor methods. The accessors are not subject to binary compatibility; they might be emitted differently by newer versions of compiler or eventually removed. The `@publicInBinary` annotation addresses this by emitting those members as public in bytecode, while maintaining restricted source-level visibility. @@ -271,7 +271,7 @@ trait Show[T]: def show(): Unit object Show { - implicit transparent inline def auto[T]: Show[T] = ${ autoImpl[T] } + transparent inline given auto[T]: Show[T] = ${ autoImpl[T] } private def autoImpl[T: Type](using Quotes): Expr[Show[T]] = import quotes.reflect.*