From fd8d30f6ed4e8fdc39c99b367522918dc4d3e401 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 9 Sep 2025 16:06:59 +0200 Subject: [PATCH] Add announcement for 3.7.3 release --- _data/scala-releases.yml | 4 +-- _downloads/2025-09-09-3.7.3.md | 10 ++++++ _posts/2025-09-09-release-notes-3.7.3.md | 39 ++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 _downloads/2025-09-09-3.7.3.md create mode 100644 _posts/2025-09-09-release-notes-3.7.3.md diff --git a/_data/scala-releases.yml b/_data/scala-releases.yml index 9d25c07d0..c602ffcdd 100644 --- a/_data/scala-releases.yml +++ b/_data/scala-releases.yml @@ -1,7 +1,7 @@ - category: current_version title: Current 3.7.x release - version: 3.7.2 - release_date: August 1, 2025 + version: 3.7.3 + release_date: September 9, 2025 - category: current_version title: Current 3.3.x LTS release version: 3.3.6 diff --git a/_downloads/2025-09-09-3.7.3.md b/_downloads/2025-09-09-3.7.3.md new file mode 100644 index 000000000..7b693b3eb --- /dev/null +++ b/_downloads/2025-09-09-3.7.3.md @@ -0,0 +1,10 @@ +--- +title: Scala 3.7.3 +start: 9 September 2025 +layout: downloadpage +release_version: 3.7.3 +release_date: "September 9, 2025" +permalink: /download/3.7.3.html +license: Apache License, Version 2.0 +api_docs: https://www.scala-lang.org/api/3.7.3/ +--- diff --git a/_posts/2025-09-09-release-notes-3.7.3.md b/_posts/2025-09-09-release-notes-3.7.3.md new file mode 100644 index 000000000..83ff3f5f0 --- /dev/null +++ b/_posts/2025-09-09-release-notes-3.7.3.md @@ -0,0 +1,39 @@ +--- +category: release +permalink: /news/3.7.3/ +title: "Scala 3.7.3 is now available!" +by: Wojciech Mazur, VirtusLab +--- +Scala 3.7.3 is now available! + +## Highlights of the release + +### Warn when an explicit `using` argument clouse with defaults shadows `given` in the scope [#23559](https://github.com/scala/scala3/pull/23559) + +If a call supplies any `using` argument explicitly, `given` search is not performed for the remaining params in that clause. If a remaining param has a default, that default is used, even if a compatible `given` is in scope. This behaviour could have been confusing for users and lead to unexpected problems at runtime. +The compiler now reports a warning when default argument would be used instead of given defined in the scope. +```scala +def f(using x: X, y: Y = defaultY) = ??? +given Y = ??? +f(using x = X()) // warns: y = defaultY +``` + +This change also adds new flag `-Wrecurse-with-default` to emit warning when a method calls itself using a default argument instead of forwarding the current value + +### Bump Scala CLI to v1.9.0 + - Supports the new Scala 3 nightly Maven repository, + - Can be used to test Scala 3.8 nightly releases, + - See the [Scala CLI changelog](https://github.com/VirtusLab/scala-cli/releases/tag/v1.9.0) for additional details + +### The new Maven repository for Scala 3 nightly releases + + Scala 3 nightly releases are no longer published to Maven Central, these can now be found in dedicated `https://repo.scala-lang.org/artifactory/maven-nightlies` repository. + + sbt 1.11.5 or later users can use a helper function to reference new repository in their builds + ```scala + resolvers += Resolver.scalaNightlyRepository + ``` + + + +For a full list of changes and contributor credits, please refer to the [release notes](https://github.com/scala/scala3/releases/tag/3.7.3).