mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-11 13:48:55 +00:00
1.9 KiB
1.9 KiB
The mix
manager uses Renovate's implementation of Elixir SemVer to evaluate update ranges.
The mix
package manager itself is used to keep the lock file up-to-date.
The following depTypes
are currently supported by the mix
manager :
prod
: all dependencies by defaultdev
: dependencies with:only
option not containing:prod
Default rangeStrategy=auto
behavior
Renovate's default rangeStrategy
is "auto"
.
Here's how "auto"
works with the mix
manager:
Version type | New version | Old range | New range after update | What Renovate does |
---|---|---|---|---|
Complex range | 1.7.2 |
< 1.7.0 or ~> 1.7.1 |
< 1.7.0 or ~> 1.7.2 |
Widen range to include the new version. |
Simple range | 0.39.0 |
<= 0.38.0 |
<= 0.39.0 |
If update outside current range: widens range to include the new version. |
Exact version constraint | 0.13.0 |
== 0.12.0 |
== 0.13.0 |
Replace old version with new version. |
Recommended rangeStrategy
for apps and libraries
For applications, we recommend using rangeStrategy=pin
.
This pins your dependencies to exact versions, which is generally considered best practice for apps.
For libraries, use rangeStrategy=widen
with version ranges in your mix.exs
.
This allows for greater compatibility with other projects that may use your library as a dependency.