1.1.0-M14
This post describes the most notables changes of coursier 1.1.0-M14
.
Mirrors
coursier got support for mirrors, kind of like Maven has. Mirrors allow to substitute some repositories for others. This can be useful with internal Maven repositories mirroring Maven Central for example. In that case, you'd prefer requests to go to that mirror rather than to Maven Central.
Mirrors are automatically picked from the API (unless explicitly disabled) and the CLI.
They can be configured via configuration files, namely
~/.config/coursier/mirror.properties
on Linux, and
~/Library/Preferences/Coursier/mirror.properties
on OS X.
For example, these settings allow to replace Maven Central with JCenter
jcenter.from=https://repo1.maven.org/maven2
jcenter.to=https://jcenter.bintray.com
Mirrors should be described in more detail in the coursier documentation in a later time.
New ways of passing credentials
The CLI and API of coursier now accepts credentials via the environment,
via Java properties, or configuration files.
These are described in more detail in the
dedicated documentation page.
Beware that some details may change a bit before the release of 2.0.0
final.
Refactoring
Redirections
HTTP redirections are now handled by some custom code, rather than by
java.net.HttpURLConnection
. (This introduced some regressions, now fixed
in subsequent releases.) This allows a more refined handling of credentials
when redirections happen (credentials can be stripped, or added if their
settings allow it, in particular).
This should also allow users to more finely tune whether credentials should be sent upfront, without waiting for a 403 Unauthorized response (to be added to the dedicated documentation page).
Parsers
Most parsers were moved in dedicated objects under the coursier.parse
namespace. That includes DependencyParser
, ModuleParser
, and
RepositoryParser
in particular.
High level API
The new high level API kept evolving / getting refined.
Fixes
XML errors
A regression in the code handling XML, since 1.1.0-12
,
giving SAXParseException
, was fixed.