You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -10,57 +10,139 @@ Here's how to find and use these versions.
10
10
11
11
## Scala 3
12
12
13
-
Scala 3 nightly versions are published to Maven Central. If you know the full version number of the nightly you want to use, you can use it just like any other Scala 3 version.
13
+
Scala 3 nightly versions are published to [https://repo.scala-lang.org](https://repo.scala-lang.org). Historically, they used to be published to Maven Central. Old nightly versions of Scala 3 (all the way until `3.8.0-RC1-bin-20250822-658c8bd-NIGHTLY` in August 2025) are still available there, as well as via [https://repo.scala-lang.org](https://repo.scala-lang.org).
14
14
15
-
One quick way to get that version number is to visit [https://dotty.epfl.ch](https://dotty.epfl.ch) and look in the upper left corner.
15
+
If you know the full version number of the nightly you want to use, you can use it just like any other Scala 3 version.
16
16
17
-
Another way is to scrape Maven Central, as shown in this script: [https://raw.githubusercontent.com/VirtusLab/community-build3/master/scripts/lastVersionNightly.sc](https://raw.githubusercontent.com/VirtusLab/community-build3/master/scripts/lastVersionNightly.sc)
17
+
There are a number of ways to get that version number, as listed below.
18
18
19
-
A third way is to use [scala-cli](https://scala-cli.virtuslab.org), as follows. (Since Scala 3.5.0, the `scala` command runs `scala-cli`.)
19
+
### Scala CLI
20
20
21
-
### scala-cli
21
+
Scala CLI is the official runner of the language and has nightlies available without any extra configuration. From Scala 3.5.0 and on it's available under the `scala` command in Scala 3 installations. It can also be installed separately as `scala-cli`.
22
+
23
+
Note: The new artifactory is supported since Scala CLI v1.9.0 onwards (or `scala` installed with Scala 3.7.3 or newer).
22
24
23
25
You can run nightlies with commands such as:
24
26
25
-
scala-cli -S 3.nightly
26
-
scala-cli -S 3.3.nightly
27
+
scala -e 'println("Hello") -S 3.nightly
28
+
scala -e 'println("Hello") -S 3.3.nightly
27
29
28
-
The default command is `repl`, but all the other scala-cli subcommands such as `compile` and `run` work, too. It also works with `//>` directives in your script itself, for example:
30
+
The default command is `repl` (unless sources are passed, in which case it switches to `run`), but all the other scala-cli subcommands such as `compile` and `run` work, too. It also works with `//> using` directives in your script itself, for example:
29
31
30
32
//> using scala 3.nightly
31
33
32
34
See this [scala-cli doc page](https://scala-cli.virtuslab.org/docs/commands/compile#scala-nightlies) for details.
33
35
36
+
### Get it from the nightly website
37
+
38
+
A quick way to get that version number is to visit [https://nightly.scala-lang.org](https://nightly.scala-lang.org) and look in the upper left corner.
39
+
40
+
### Check the artifactory, directly
41
+
42
+
Another way is to scrape the artifactory, as shown in this script: [https://raw.githubusercontent.com/VirtusLab/community-build3/master/scripts/lastVersionNightly.sc](https://raw.githubusercontent.com/VirtusLab/community-build3/master/scripts/lastVersionNightly.sc)
43
+
44
+
A third way is to use [scala-cli](https://scala-cli.virtuslab.org), as follows.
45
+
46
+
### SBT
47
+
48
+
To use recent nightlies with SBT, adding the appropriate resolver to the build configuration is necessary.
Note that for older nightlies (3.8.0-RC1-bin-20250822-658c8bd-NIGHTLY and before) no such change is necessary, as they were being published to Maven Central.
56
+
57
+
Also note that SBT 1.11.5 or newer is necessary.
58
+
59
+
### Mill
60
+
61
+
To use recent nightlies with Mill, a custom resolver for the initial bootstrap of the build is needed.
Note how the custom `JvmWorkerModule` is necessary with the added repository. It is not enough to just define it as a repository for the module dependencies.
82
+
83
+
Also note that Mill 1.0.5 or newer is necessary for this.
84
+
34
85
## Scala 2.13 or 2.12
35
86
36
87
We informally refer to Scala 2 “nightly” versions, but technically it's a misnomer. A so-called “nightly” is built for every merged PR.
37
88
38
89
Scala 2 nightly versions are published to a special resolver. Unless you are using scala-cli, you'll need to add that resolver to your build configuration in order to use these versions.
For a 2.12 nightly, substitute e.g. `2.12.20` for `2.13.15`; in either case, it's the version number of the _next_ release on that branch.
47
99
48
100
For `abcd123`, substitute the first 7 characters of the SHA of the latest commit to the [2.13.x branch](https://github.com/scala/scala/commits/2.13.x) or [2.12.x branch](https://github.com/scala/scala/commits/2.12.x) that has a green checkmark. (Clicking the checkmark will show a CI job name with the whole version in its name.)
49
101
50
102
A quick way to find out the full version number of a current nightly is to use [scala-cli](https://scala-cli.virtuslab.org), as follows.
51
103
52
-
### quick version (scala-cli)
104
+
### Scala CLI
53
105
54
-
You can run nightlies with:
106
+
Scala CLI is the official runner of the language and has nightlies available without any extra configuration. From Scala 3.5.0 and on it's available under the `scala` command in Scala 3 installations. It can also be installed separately as `scala-cli`.
55
107
56
-
scala-cli -S 2.13.nightly
57
-
scala-cli -S 2.nightly # same as 2.13.nightly
58
-
scala-cli -S 2.12.nightly
108
+
Note: The new artifactory is supported since Scala CLI v1.9.0 onwards (or `scala` installed with Scala 3.7.3 or newer).
109
+
110
+
You can run nightlies with commands such as:
59
111
60
-
The default command is `repl`, but all the other scala-cli subcommands such as `compile` and `run` work, too. It also works with `//>` directives in your script itself, for example:
112
+
scala-cli -e 'println("Hello") -S 2.13.nightly
113
+
scala-cli -e 'println("Hello") -S 2.nightly # same as 2.13.nightly
114
+
scala-cli -e 'println("Hello") -S 2.12.nightly
115
+
116
+
The default command is `repl` (unless sources are passed, in which case it switches to `run`), but all the other scala-cli subcommands such as `compile` and `run` work, too. It also works with `//> using` directives in your script itself, for example:
61
117
62
118
//> using scala 2.nightly
63
119
120
+
See this [scala-cli doc page](https://scala-cli.virtuslab.org/docs/commands/compile#scala-nightlies) for details.
121
+
122
+
### Mill
123
+
124
+
To use recent nightlies with Mill, a custom resolver for the initial bootstrap of the build is needed.
Note how the custom `JvmWorkerModule` is necessary with the added repository. It is not enough to just define it as a repository for the module dependencies.
145
+
64
146
### Longer explanation
65
147
66
148
We no longer publish `-SNAPSHOT` versions of Scala 2.
@@ -69,11 +151,15 @@ But the team does publish nightly versions, each with its own fixed version numb
69
151
70
152
To tell sbt to use one of these nightlies, you need to do three things.
71
153
72
-
First, add the resolver where the nightlies are kept:
154
+
First, add the direct resolver where the nightlies are kept:
0 commit comments