Welcome new maintainers of opam repository, and introducing Obi

No, not by default, the best on the user side is still to try to get the latest possible version of everything.
See here for the changes, which were performance-oriented but shouldn’t change the end results.

You can, however, try to install lowest bounds by maximising, instead of minimising, the count[version-lag,changed] criterion. Note that mccs doesn’t perform well with maximisations, though. aspcud is still an option for such cases. Since the criteria format is annoyingly different, see opam config report --solver aspcud for the defaults. The criteria you want would be something along the lines of -count(removed),-sum(request,version-lag),-count(down),-count(changed),+sum(changed,version-lag). for installing mirage-clock on an empty 4.04.2 switch, for example, this gives me:

  ∗  install ocamlbuild    0.9.1     [required by fmt]
  ∗  install conf-m4       1         [required by ocamlfind]
  ∗  install ocamlfind     1.6.2     [required by jbuilder]
  ∗  install jbuilder      1.0+beta9 [required by mirage-clock]
  ∗  install fmt           0.7.0     [required by mirage-device]
  ∗  install mirage-device 1.1.0     [required by mirage-clock]
  ∗  install mirage-clock  1.3.0     

instead of

  ∗  install ocamlbuild    0.11.0     [required by fmt]
  ∗  install conf-m4       1          [required by ocamlfind]
  ∗  install result        1.2        [required by fmt]
  ∗  install uchar         0.0.2      [required by fmt]
  ∗  install ocamlfind     1.7.3      [required by jbuilder]
  ∗  install topkg         0.9.1      [required by fmt]
  ∗  install jbuilder      1.0+beta14 [required by mirage-clock]
  ∗  install fmt           0.8.4      [required by mirage-device]
  ∗  install mirage-device 1.1.0      [required by mirage-clock]
  ∗  install mirage-clock  1.3.0      
1 Like