Skip to content

Releases: coursier/coursier

v2.0.1

08 Oct 14:07
70c187f
Compare
Choose a tag to compare

Changes

  • Add support for compressed prebuilt binaries when installing apps (see the sbtn app descriptor for an example)

v2.0.0

02 Oct 13:38
Compare
Choose a tag to compare

No changes since 2.0.0-RC6-27.

v2.0.0-RC6-27

01 Oct 09:22
Compare
Choose a tag to compare
v2.0.0-RC6-27 Pre-release
Pre-release

Changes

  • Add support for the arm and aarch64 JVM architectures in the java and java-home commands (#1849, thanks to @matsluni)
  • Build native launchers with GraalVM 20.1.0 Java 11 (former coursier versions used GraalVM 19.3.1 Java 8)
  • Add --jvm-index option to the java / java-home / setup commands, allowing to pass a custom JVM index URL, also accepting aliases such as jabba (current default) and cs (supporting less JVM flavors, but more up-to-date)

Other

  • coursier now uses GitHub actions for its CI, rather than Travis CI and Appveyor
  • The switch to GraalVM 20.1.0 and GitHub actions fixes the generation of native launchers on the CI, which should be shipped as GitHub release assets again (which was broken in 2.0.0-RC6-25 and 2.0.0-RC6-26)

v2.0.0-RC6-26

11 Sep 10:22
146b50b
Compare
Choose a tag to compare
v2.0.0-RC6-26 Pre-release
Pre-release

Changes

  • Allow to set Java properties for coursier itself via -J-D in the native launcher (this can be useful for http proxies in particular)
  • Read the {http,https}.proxyUser and {http,https}.proxyPassword Java properties, set up proxy authentication accordingly

Updates

  • Bump directories-jvm (better powershell.exe detection, use pwsh.exe from Powershell >= 6.0 if needed)

v2.0.0-RC6-25

21 Aug 12:50
9c9eaa5
Compare
Choose a tag to compare
v2.0.0-RC6-25 Pre-release
Pre-release

Changes

  • Keep info.* attributes as properties when parsing ivy.xml files (these attributes can include scaladoc links in particular, fixed in #1820, thanks to @eed3si9n)
  • Keep licenses distribution and comments when parsing POM files (#1827, thanks to @ckipp01)
  • API: use simulacrum to generate helpers for our stub type classes

Fixes

  • Update to the latest main branch of directories-jvm, which fixes possible issues around UTF-8 BOM handling and powershell profiles, on Windows, when computing the location of the coursier cache and config directories.

v2.0.0-RC6-24

31 Jul 00:25
ffe6d4d
Compare
Choose a tag to compare
v2.0.0-RC6-24 Pre-release
Pre-release

Fixes

  • Fix handling of version intervals in JSON report (dependencies with a version interval as version had empty dependencies).
  • Ensure latest.stable doesn't match milestones or alpha / beta versions.
  • Accept space characters as separator in COURSIER_REPOSITORIES, so that Ivy repositories with different metadata and artifact patterns can be used.
  • Fix update and list command on Windows.

Enhancements

  • Don't print empty line when the result of the fetch command is empty.
  • In the java and java-home commands, don't re-download JVM index when not necessary. (If the cached index has a matching JVM, it's used straightaway, and the index is not updated. Pass --update to force updating the index.)
  • Add aliases for GCS repositories (gcs, gcs-eu, gcs-asia)

v2.0.0-RC6-23

08 Jul 20:50
3dfe874
Compare
Choose a tag to compare
v2.0.0-RC6-23 Pre-release
Pre-release
  • Fix possible IllegalArgumentException: toMillis not allowed error, that can sometimes happen with infinite TTLs (which became the default from the CLI in 2.0.0-RC6-22 when an application rather than Maven coordinates is passed)

v2.0.0-RC6-22

07 Jul 15:45
55ee3c6
Compare
Choose a tag to compare
v2.0.0-RC6-22 Pre-release
Pre-release

Changes

Drop support for legacy cache location ~/.coursier/cache

From version 2.0.0-RC6-14 up to 2.0.0-RC6-21, the coursier CLI prints a warning if the legacy cache location (pre Nov 2017),

~/.coursier/cache

is being used, pointing to cache-migration to help migrate to the new cache location.. Support for ~/.coursier/cache is now dropped altogether.

New configuration directory on macOS

The configuration directory changed from

~/Library/Preferences/Coursier

to

~/Library/Application Support/Coursier

The latter is more correct per the Apple documentation, see the discussion here for more details.

The former location might be deprecated in a late future. Files there are still accepted for the time being.

Fixes

Concurrency issues

  • Work around rare "Resource deadlock avoided" errors
  • Wait for concurrent downloads when downloading things from bootstraps, instead of loudly failing

Other issues

  • Don't crash if the cache directory is a symbolic link
  • Don't crash when printing zsh completions from the native launcher
  • Accept JDK archives not putting files under Contents/Home on macOS, so that cs java --jvm adopt:1.10.0-2 -version now works.
  • Fix handling of 1. prefix in JVM versions, which was faulty in some cases, so that cs java --jvm openjdk:10 -version now works, in particular.

New features

New get command

Prints the path of a file in the coursier cache, downloading it if necessary. Use like

$ cs get https://repo1.maven.org/maven2/io/get-coursier/coursier-cli_2.12/2.0.0-RC6-21/coursier-cli_2.12-2.0.0-RC6-21.jar
/Users/alexandre/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/coursier-cli_2.12/2.0.0-RC6-21/coursier-cli_2.12-2.0.0-RC6-21.jar

Prefer local JVMs over latest ones from the JVM index

In the java and java-home commands, when passing short versions like adopt:11 or graalvm:20, if a valid JVM matching that version is already unpacked locally, it is used straightaway. In particular, if a newer matching version is available per the JVM index, the local one is still preferred. Pass --update to force using the latest matching version from the index (former behavior).

Less superfluous network requests with applications, and managed JVMs

In the java and java-home commands, if a valid JVM is available locally, it is used straightaway (see previous section), and no attempt is made to update the index. Previously, the index was updated if the last check was older than the TTL (24 hours by default). The index is now only checked when --update is passed.

When passing applications to the resolve, fetch, launch, or bootstrap commands, like cs launch scala, the TTL now defaults to Inf (infinite). That means that if all the necessary files to start an application are in the cache, it is launched straightaway, even if a newer version could have been downloaded. Pass an explicit TTL value to recover the former behavior, like cs launch scala --ttl 24h.

v2.0.0-RC6-21

04 Jun 00:48
3f310ca
Compare
Choose a tag to compare
v2.0.0-RC6-21 Pre-release
Pre-release
  • Slightly less secure defaults for credentials (those passed via --credentials and --credentials-file now don't require https by default, and are automatically tried when getting an authentication error on their host)
  • Allow to read JVM option files upon startup in bootstraps (pass --jvm-option-file .jvmopts to the bootstrap command to have the bootstrap read .jvmopts if it exists)

v2.0.0-RC6-20

02 Jun 08:43
a692a6e
Compare
Choose a tag to compare
v2.0.0-RC6-20 Pre-release
Pre-release
  • Add jcenter repository alias (use like cs resolve -r jcenter …)
  • Install vanilla sbt-launcher by default in cs setup, rather than the non-standard coursier-based sbt-launcher