v0.1.4
New Contributors
- @brianloveswords made their first contribution in #854
- @crater2150 made their first contribution in #893
Thank you!
Improved support for IDEA IntelliJ
As of v0.1.4
using Scala CLI with IDEA IntelliJ is no longer discouraged and should be on par with metals
.
If IDEA IntelliJ is your IDE of choice, but you haven't been using it alongside Scala CLI due to its former instability, make sure to give it a try!
Also, if you nonetheless run into any issues when working with IntelliJ, be sure to report it to us.
Scala CLI now supports BSP workspace/reload
It is now possible to reload the workspace with BSP. This effectively means that if you are using an IDE with Scala CLI, any changes to your builds (including i.e. source directories, dependencies or passed options) introduced by subsequent runs of Scala CLI setup-ide
, run
and compile
commands should be picked up by your IDE automatically.
This should particularly improve the experience of using Scala CLI with IDEA IntelliJ.
This feature was added by @Gedochao in #858, #863 and #886.
Scala CLI now supports passing a JAR url as a fallback fetching method
You can now add a url=https://...
param to a dependency to use the url
as a fallback fetching method. The url will be used if the JAR can't be fetched from Maven Central.
Example usage:
scala-cli run --dependency "tabby:tabby:0.2.3,url=https://github.com/bjornregnell/tabby/releases/download/v0.2.3/tabby_3-0.2.3.jar" UsingRemoteJar.scala
or with a using directive
:
//> using lib "tabby:tabby:0.2.3,url=https://github.com/bjornregnell/tabby/releases/download/v0.2.3/tabby_3-0.2.3.jar"
import tabby.Grid
object UsingRemoteJar extends App {
println(Grid("a", "b", "c")(1, 2, 3))
}
This feature was added by @Gedochao in #875.
Scala CLI now supports smallmodulesfor
module split style for Scala.js
Scala.js option --js-module-split-style
now supports a new module split style with smallmodulesfor
(in addition to previously supported fewestmodules
and smallestmodules
). To define packages use --js-small-module-for-package
.
Example usage with directives:
//> using jsModuleSplitStyleStr "smallmodulesfor"
//> using jsSmallModuleForPackage "com.example.test", "com.example.example""
or straight from the CLI:
scala-cli package --js-module-split-style smallestmodulesfor --js-small-module-for-package "com.example.test" --js-small-module-for-package "com.example.example"
This feature was added by @lwronski in #894.
It is now possible to skip the --cli-scala-version
parameter when running an old Scala CLI version
When running an old (pre-migration to Scala 2.13) Scala CLI version (i.e. v0.1.1) it was formerly necessary to specify the Scala version --cli-scala-version
explicitly (to make it build correctly with Scala 2.12).
Thus, it is now possible to just run:
scala-cli --cli-version 0.1.1 about
This feature was added by @lwronski in #872.
Scala CLI Bloop server now ignores SIGINT
From now on when the mill or scala-cli invocation that starts the Bloop server gets interrupted by Ctrl-C (to stop a watch mode, for example), the Bloop server running in the background will ignore the interruption and just keep on running.
This feature was added in #851.
Bloop server output is kept in a file
From now on Scala CLI keeps its Bloop server output in a file.
The output can be obtained through the bloop output
command:
scala-cli bloop output
This might be useful when debugging problems with Bloop (for example, if the server fails to start or times out).
This feature was added in #853.
Notable PRs
- Send the Bloop server output to a file when possible by @alexarchambault in #853
- using directives correctly parsing Numeric and Boolean values by @zmerr in #684
- Graal scala3 by @romanowski in #830
- Add --compute-version option in publish command by @alexarchambault in #866
- Start repl with scalac options by @romanowski in #868
- Allow users to override scalac options set internally by @alexarchambault in #877
- Make sure that Either CPS on Scala 3 handle Lefts correctly by @romanowski in #888
Documentation PRs
- docs: fix examples in scala-js.md and native-images.md by @brianloveswords in #854
- Fix typos in docs by @alexarchambault in #873
- Add discord link to README.md by @lwronski in #883
- Fix quotes in shebang help by @crater2150 in #893
Other merged PRs
- Update scalafmt-core to 3.5.0 by @scala-steward in #836
- Update scala-cli.sh launcher for 0.1.3 by @github-actions in #841
- Fix regex in docs by @lwronski in #842
- Fix sorting SNAPSHOT version by @lwronski in #840
- Update bloop-config_2.13 to 1.4.19-2 by @scala-steward in #844
- Update asm to 9.3 by @scala-steward in #847
- Fix unexpected progress bars for coursier logging on CI by @alexarchambault in #839
- Update jsoniter-scala-core, ... to 2.13.12 by @scala-steward in #843
- Update scalajs-sbt-test-adapter_2.13 to 1.10.0 by @scala-steward in #845
- Fix release CI by @lwronski in #849
- Resolve latest version for --cli-version by @lwronski in #827
- Make Bloop server ignore SIGINT by @alexarchambault in #851
- Get rid of explicit /dev/null uses by @alexarchambault in #850
- Update bloop-config_2.13 to 1.4.20 by @scala-steward in #855
- Update trees_2.13 to 4.5.3 by @scala-steward in #862
- Update scalafmt-core to 3.5.1 by @scala-steward in #861
- Add support for BSP workspace/reload (reworked version of #852) by @alexarchambault and @Gedochao in #858
- Fix BSP
workspace/reload
on IntelliJ by @Gedochao in #863 - Back port of documentation changes to main by @github-actions in #876
- Update mill-main to 0.10.3 by @scala-steward in #879
- Bump actions/download-artifact from 2 to 3 by @dependabot in #880
- Update scalafmt-cli to 3.5.1 by @scala-steward in #860
- Allow for dependencies to fallback to a JAR url provided in a
url
user param by @Gedochao in #875 - Remove now unnecessary resource in native launcher by @alexarchambault in #878
- Update org.eclipse.jgit to 6.1.0.202203080745-r by @scala-steward in #882
- Update jsoniter-scala-core, ... to 2.13.13 by @scala-steward in #885
- Fix release mode and jsHeader by @lwronski in #881
- Fix Scala 3.1.nightly tests by @romanowski in #892
- Reload options on a BSP workspace/reload by @Gedochao in #886
- Launch older scala-cli version without --cli-scala-version by @lwronski in #884
- Update reflect-config.json by @alexarchambault in #895
- Add support for SmallModulesFor style by @lwronski in #894
- Update ammonite to 2.5.3 by @scala-steward in #897
- Update jsoniter-scala-core, ... to 2.13.15 by @scala-steward in #901
- Update trees_2.13 to 4.5.4 by @scala-steward in #898
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges v0.1.3...v0.1.4
these are:
25 Alexandre Archambault
15 Scala Steward
12 Piotr Chabelski
9 Łukasz Wroński
4 Krzysztof Romanowski
3 Brian J Brennan
2 github-actions[bot]
1 dependabot[bot]
1 zmerr
1 Alexander Gehrke
Full Changelog: v0.1.3...v0.1.4