Skip to content

v0.1.4

Compare
Choose a tag to compare
@Gedochao Gedochao released this 19 Apr 12:50
· 2555 commits to main since this release
65e47cf

New Contributors

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

Documentation PRs

Other merged PRs

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