v0.1.16
This release consists mainly of updates, fixes, and various enhancements of existing features.
Enhancements
Specifying javac options via using directives
javac options can now be added via using directives, like
//> using javacOpt "source", "1.8", "target", "1.8"
Pressing enter in watch mode proceeds to run / compile / test / … again
In watch mode (using the -w
or --watch
option), pressing Enter when Scala CLI is watching for changes makes it run again what it's supposed to be doing (compiling, running, running tests, or packaging, etc.) This is inspired by Mill's behaviour in watch mode, which supports the same feature.
Added by @alexarchambault in #1451
Installation via Scoop on Windows
Scala CLI can now be installed via Scoop on Windows, with a command such as
scoop install scala-cli
Added by @nightscape in #1416, thanks to him!
Actionable diagnostics in Metals
Scala CLI should now send text edit suggestions with some of its diagnostics, via BSP, so that editors
can suggest those edits to users. This should work in upcoming versions of Metals in particular.
Other
- Add
--scalapy-version
option by @alexarchambault in #1397
Fixes
Fixes in Scala Native binaries caching
When running a sequence of commands such as
$ scala-cli run --native .
$ scala-cli package --native . -o my-app
Scala CLI should cache a Scala Native binary during the first command, so that the second command can just re-use it, rather than generating a binary again. This also fixes the re-use of compilation artifacts between both commands, so that the Scala CLI project isn't re-compiled during the second command either.
Fixed by @alexarchambault in #1406
Accept more scalac options without escaping
Scala CLI now accepts options such as -release
, -encoding
, -color
, -feature
, -deprecation
and -nowarn
, without requiring them to be escaped by -O
. It also accepts --scalac-verbose
, which is equivalent to -O -verbose
(increases scalac verbosity). Lastly, it warns when -release
and / or -target:<target>
are inconsistent with --jvm
.
Fix --java-option
and --javac-option
handling in package
sub-command
--java-option
and --javac-option
should now be accepted and handled properly in the package
sub-command.
Fix wrong file name when publising Scala.js artifacts locally
The publish local
sub-command used to publish Scala.js artifacts with a malformed suffix. This is now fixed.
Fix spurious stack traces in the publish
and publish local
sub-commands
The publish
and publish local
commands could print spurious stack traces when run with non-default locales, using native Scala CLI binaries. This is now fixed.
Fixed by @romanowski in #1423
Make run --python --native
work from Python virtualenv
Using both --native
and --python
in the run
sub-command should work fine from Python virtualenv.
Fixed by @kiendang in #1399, thanks to him!
Documentation / help updates
- Dump scala 2 version in docs by @lwronski in #1408
- Ensure the the
repl
& default sub-commands respect group help options by @Gedochao in #1417 - Remove stray
_
typo by @armanbilge in #1385 - Add docs on how to install scala-cli for M1 by @lwronski in #1431
- Debugging cookbook by @wleczny in #1441
Updates / maintainance
- Update scala-cli.sh launcher for 0.1.15 by @github-actions in #1401
- Revert scalafmt fix by @lwronski in #1402
- Bump respective Scala versions to
2.12.17
&2.13.9
and Ammonite to2.5.4-33-0af04a5b
by @Gedochao in #1405 - Turn off running tests in PR for M1 runner by @lwronski in #1403
- Bump VirtusLab/scala-cli-setup from 0.1.14.1 to 0.1.15 by @dependabot in #1414
- Bump coursier/setup-action from f883d08305acbc28e5e5363bf5ec086397627021 to 1.2.1 by @dependabot in #1415
- Tweak the release procedure by @Gedochao in #1426
- Update case-app_2.13 to 2.1.0-M17 & scala-cli-signing to v0.1.10 by @lwronski in #1427
- Automate choco package deploy by @wleczny in #1412
- Generate pkg package for m1 by @lwronski in #1410
- Re-enable gif tests by @alexarchambault in #1436
- Bump Scala 2.13.x to 2.13.10 & Ammonite to 2.5.5 by @Gedochao in #1437
- Remove mill-scala-cli stuff from build by @alexarchambault in #1433
- Add support for BSP's
buildTarget/outputPaths
and update bsp4j to 2… by @lwronski in #1439 - Update bsp4j to 2.1.0-M3 by @lwronski in #1444
- Update scala-packager to 0.1.29 and hardcode upgradeCodeGuid by @lwronski in #1446
- Refactor
ScalaCommand
to enforce respecting help options by @Gedochao in #1440 - Address compilation warnings by @alexarchambault in #1452
- Update coursier to 2.1.0-M7 by @alexarchambault in #1447
- Update bloop to 1.5.4-sc-3 by @alexarchambault in #1454
New Contributors
- @nightscape made their first contribution in #1416
- @kiendang made their first contribution in #1399
Full Changelog: v0.1.15...v0.1.16