I have published opam-minver 0.2.0 (previous versions were not released to the public). What it does is use a binary search to find the minimum passing versions of a project’s dependencies listed in its opam file and optionally writes them out to the opam file in-place. I wrote this because I was working on another project (not yet published) and got to the point of listing all the dependencies, and realizing I had no idea what versions it was compatible with. This tool finds that out automatically.
It’s pretty well polished at this point, and it has a cmdliner interface, stores its state in a json file so sessions can be resumed if need be, and it also finds the minimum compiler versions and handles split OCaml compiler bounds if, for example, a project doesn’t work specifically with early OCaml 5 versions. This could be used not only for new projects, but also to relax version bounds on any project where they haven’t been determined precisely.
Homepage and readme is here: GitHub - luminous-moose/opam-minver: Automatically determines minimum dependency versions for an opam package. · GitHub