Note that this is a milestone release, not necessarily aiming at retaining binary / source compatibility of the API with earlier versions. If you're using coursier via its API, it is recommended to stay on former versions unless you're interested in the very latest features and are ready to update the way you use the API in later versions.
New launcher URL
One notable change of this release is that the launchers of coursier are now being pushed to GitHub release pages rather than in the
master branch of the coursier git repository. The URL to download it thus changes.
Download the latest launcher at either
Download a specific version via the release assets, e.g.
--what-depends-on option to the
resolve command, to quickly know which dependencies bring a particular dependency (#997), e.g.
$ coursier resolve \ --what-depends-on org.htrace:htrace-core \ org.apache.spark:spark-sql_2.12:2.4.0 Result: └─ org.htrace:htrace-core:3.0.4 ├─ org.apache.hadoop:hadoop-common:2.6.5 │ └─ org.apache.hadoop:hadoop-client:2.6.5 │ └─ org.apache.spark:spark-core_2.12:2.4.0 │ ├─ org.apache.spark:spark-catalyst_2.12:2.4.0 │ │ └─ org.apache.spark:spark-sql_2.12:2.4.0 │ └─ org.apache.spark:spark-sql_2.12:2.4.0 └─ org.apache.hadoop:hadoop-hdfs:2.6.5 └─ org.apache.hadoop:hadoop-client:2.6.5 └─ org.apache.spark:spark-core_2.12:2.4.0 ├─ org.apache.spark:spark-catalyst_2.12:2.4.0 │ └─ org.apache.spark:spark-sql_2.12:2.4.0 └─ org.apache.spark:spark-sql_2.12:2.4.0
(Adapted from the
coursierWhatDependsOn command of sbt-coursier, itself inspired by the
whatDependsOn command of sbt-dependency-graph.)
Move the bootstrap generation logic of the
bootstrap command to a separate standalone library (
Leaking of classes from the bootstraps
Prevent classes from the coursier launcher or of the logic of coursier bootstrap to leak in apps launched via the
fetch command or bootstrap generated via the
bootstrap command (#983 -
coursier.CachePath or the classes of directories could leak in the launched application classpath.)
LDFLAGS for scala-native executable generation
- force fetching artifacts from the CLI with
--force-fetch, even if resolution failed (#980)
- fix JARs landing in the wrong classloader, when using the classloader isolation capabilities of the
- refactoring of the cache module (#984)
- switch to scala
2.12.8(#986), add support for scala
- switch to fastparse 2 (#990, still shaded so that it doesn't appear as a dependency to downstream users of coursier)
- allow to adjust the default number of parallel downloads via the
coursier.parallel-download-countJava property (#994)