# Scala 3.9.0-RC2 - Product: Scala (https://whatsnew.fyi/product/scala) - Vendor: Scala Center - Date: 2026-07-23 - Version: 3.9.0-RC2 - Original notes: https://github.com/scala/scala3/releases/tag/3.9.0-RC2 - Permalink: https://whatsnew.fyi/product/scala/releases/3.9.0-rc2 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Upgrade to Scala.js 1.22.0 - **changed** — Stop using custom fonts for Scaladoc - **changed** — Bump Scala CLI to 1.15.0 and coursier to 2.1.25-M26 - **changed** — Vendor REPL dependencies - **deprecated** — Deprecate JPath use in Quotes - **changed** — Migrate Scala CLI's using directive parser to a compiler module - **changed** — Refactor directives-parser - **changed** — Improve using directives parser - **fixed** — Fix Scaladoc snippets Show all lines and Scastie popup theme bugs - **fixed** — Do not warn on dollars in Java names - **fixed** — Don't skip generic signature for constructors with generic using parameters - **fixed** — Don't eliminate var used by anonfun - **fixed** — Erase more aliases of Unit as result type to void - **fixed** — Reset dirty unimported state after findRef - **fixed** — Fix :help regressions - **fixed** — Fix generic signature of trait val setter - **fixed** — Preserve apply result type after beta reducing through opaque proxies - **fixed** — Fix memberType for constructor params - **fixed** — Fix match-alias subtyping and wildcard appliedTo #### Backported chnages - Upgrade to Scala.js 1.22.0. [#26389](https://github.com/scala/scala3/pull/26389) - Stop using custom fonts for Scaladoc [#26393](https://github.com/scala/scala3/pull/26393) - Bump Scala CLI to 1.15.0 (was 1.14.0) and `coursier` to 2.1.25-M26 (was 2.1.25-M25) [#26432](https://github.com/scala/scala3/pull/26432) - Vendor REPL dependencies [#26433](https://github.com/scala/scala3/pull/26433) - Deprecate JPath use in Quotes [#26446](https://github.com/scala/scala3/pull/26446) - Migrate Scala CLI's using directive parser to a compiler module [#26449](https://github.com/scala/scala3/pull/26449) - Refactor `directives-parser` [#26461](https://github.com/scala/scala3/pull/26461) - Minor using directives parser improvements [#26460](https://github.com/scala/scala3/pull/26460) - Scaladoc snippets: fix Show all lines & Scastie popup theme bugs [#26165](https://github.com/scala/scala3/pull/26165) - Do not warn on dollars in Java names [#26303](https://github.com/scala/scala3/pull/26303) - Don't skip generic signature for constructors with generic `using` parameters [#26302](https://github.com/scala/scala3/pull/26302) - Don't eliminate var used by anonfun [#26360](https://github.com/scala/scala3/pull/26360) - Erase more aliases of Unit as result type to void. [#26252](https://github.com/scala/scala3/pull/26252) - Reset dirty unimported state after findRef [#26412](https://github.com/scala/scala3/pull/26412) - Fix :help regressions [#26301](https://github.com/scala/scala3/pull/26301) - Fix generic signature of trait val setter [#26374](https://github.com/scala/scala3/pull/26374) - Fixes #25754: Preserve apply result type after beta reducing through opaque proxies [#25988](https://github.com/scala/scala3/pull/25988) - Fix memberType for constructor params [#25669](https://github.com/scala/scala3/pull/25669) - Fix #25866: match-alias subtyping and wildcard appliedTo [#25981](https://github.com/scala/scala3/pull/25981) #### Contributors Thank you to all the contributors who made this release possible 🎉 According to `git shortlog -sn --no-merges 3.9.0-RC1..3.9.0-RC2` these are: ``` 10 Solal Pirelli 7 Wojciech Mazur 6 Piotr Chabelski 3 Sébastien Doeraene 1 Jamie Thompson 1 Oliver Bračevac 1 Oron Port 1 Som Snytt 1 Zieliński Patryk ```