- Add sub dependencies.
- Fix intersection of ranges during parsing.
- Do not override locked deps.
- Change "lock" to "the lock" in failure message.
- Raise when parsing intersected ranges.
- Skip unselected optionals during solving.
- Add support for package repositories (repos). Repos are the package source, so that if two packages with the same name but different repos are derived they will cause conflict.
HexSolver.run/5expects lists of maps instead of tuples in thedependenciesandlockedparameters.HexSolver.run/5returns{:ok, %{package() => {Version.t(), repo()}}for for the success case instead of{:ok, %{package() => Version.t()}}.
Initial version.