Skip to content

Releases: tarides/opam-monorepo

0.4.0

11 Sep 10:27
2798f46
Compare
Choose a tag to compare

CHANGES:

Added

Changed

  • Canonicalize the URLs of the OPAM dev-repo fields to be able to detect more
    semantically equivalent URLs, this should reduce the risk of build failures
    due to duplicate code pulled (#118, #365 @TheLortex, @Leonidas-from-XIV)

  • Simple the error message printed when dependencies don't use dune as their
    build system. The opam-0install diagnostic message is no longer printed in
    this case and the message has been reformatted and reworded to make the
    salient information easier to see. (#384, @gridbugs)

  • Encode dev-repo constraints in the opam solver - this allows to resolve
    more involved version constraints that were failing before (#396, @samoht)

Deprecated

Fixed

  • Error in case where multiple packages with different dev-repo fields would be
    placed in the same duniverse directory (#377, @gridbugs)

  • Fix a failure when using opam-monorepo with an opam 2.2 root
    (#379, @kit-ty-kate)

  • Fix assertion failure when prefix of "lock" subcommand is used (#381,
    @gridbugs)

  • Treat packages without build commands as virtual only if also lack install
    commands, as some non-virtual packages might only have install commands.
    (#376 @Leonidas-from-XIV, @gridbugs)

  • Improve the ordering of package candidates by putting broken packages at
    then end of the list (#395, #397, @samoht)

Removed

Security

0.3.6

03 May 09:40
5123379
Compare
Choose a tag to compare

CHANGES:

Added

Changed

  • Canonicalize the URLs of the OPAM dev-repo fields to be able to detect more
    semantically equivalent URLs, this should reduce the risk of build failures
    due to duplicate code pulled (#118, #365 @TheLortex, @Leonidas-from-XIV)

  • Simple the error message printed when dependencies don't use dune as their
    build system. The opam-0install diagnostic message is no longer printed in
    this case and the message has been reformatted and reworded to make the
    salient information easier to see. (#384, @gridbugs)

Fixed

  • Error in case where multiple packages with different dev-repo fields would be
    placed in the same duniverse directory (#377, @gridbugs)

  • Fix a failure when using opam-monorepo with an opam 2.2 root
    (#379, @kit-ty-kate)

  • Fix assertion failure when prefix of "lock" subcommand is used (#381,
    @gridbugs)

  • Treat packages without build commands as virtual only if also lack install
    commands, as some non-virtual packages might only have install commands.
    (#376 @Leonidas-from-XIV, @gridbugs)

0.3.5

21 Dec 15:05
edf8ddf
Compare
Choose a tag to compare

CHANGES:

Changed

  • Treat packages with no build commands as if they can be built with dune (#355,
    @gridbugs)

Fixed

  • Fix resolving refs of locally pinned repositories (#326, #332, @hannesm,
    @Leonidas-from-XIV)
  • Read the compiler flag from OPAM metadata thus classifying more packages
    correctly as base packages (#328, @Leonidas-from-XIV)
  • Fix bug where dev repo urls ending with a "/" would result in
    opam monorepo pull placing package source code directly inside the duniverse
    directory instead of in a subdirectory of the duniverse directory (#359,
    @gridbugs)

0.3.4

21 Nov 13:41
e7239aa
Compare
Choose a tag to compare

CHANGES:

Added

Fixed

  • Enable locking of packages with depexts even with uninitialized system
    package manager state (#322, @Leonidas-from-XIV)
  • Fix a bug where pull would crash if the lock file contained no package to
    vendor (#321, @NathanReb)
  • Display a better error message when the depext command fails when getting the
    status of the packages (#258, #323, @RyanGibb, @Julow)
  • Take archive-mirrors from the global opam configuration into account to
    allow more local caches (#337, @hannesm)
  • Log at WARN level when opam-monorepo chooses a source for a package that
    doesn't match the package's version (#352, @reynir)

0.3.3

13 Jun 09:25
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Fix a bug that caused --add-opam-provided and --opam-provided to be
    ignored by the solver. (#314, @NathanReb)

0.3.2

09 Jun 15:40
Compare
Choose a tag to compare

CHANGES:

Added

  • Add a --minimal-update flag to lock to generate a lockfile
    with minimum dependency changes from a previous lockfile. (#305,
    @NathanReb)
  • Add command line options to complement or overwrite x-opam-monorepo-*
    fields. (#307, @NathanReb)
  • Save the lock CLI arguments in x-opam-monorepo-cli-args when generating a
    lock file. (#309, @NathanReb)

0.3.1

16 May 14:04
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Do not add opam-provided packages into pin-depends and duniverse
    directories anymore, thus stop pulling packages that should be installed via
    Opam (#302, @Leonidas-from-XIV)

0.3.0

20 Apr 15:38
Compare
Choose a tag to compare

CHANGES:

Added

  • Add opam extensions x-opam-monorepo-opam-repositories and
    x-opam-monorepo-global-opam-vars to make lock fully reproducible.
    (#250, #253, @NathanReb)
  • Show an error message when the solver can't find any version that satisfies
    the requested version constraint in the user's OPAM file (#215, #248, #290
    @Leonidas-from-XIV)
  • Allow packages to be marked as being provided by Opam and not to be pulled by
    opam-monorepo. To control this a new optional Opam file field,
    x-opam-monorepo-opam-provided is introduced. Its value is a list of package
    names that are to be excluded from being pulled (#234, @Leonidas-from-XIV)
  • Show an error message when the OCaml version of the lock file does not match
    the OCaml version of the switch (#267, #268, @Leonidas-from-XIV)
  • Generate a duniverse/README.md file to explain the basics of
    opam-monorepo in the vendored directory (#272, #274, @Leonidas-from-XIV)
  • Add a --prefer-cross-compile flag for the solver to select cross-compiling
    versions of packages when available. This is determined through the presence
    of the "cross-compile" tag in the opam metadata.

Changed

  • Bump lockfile version to 0.3 (#285, @NathanReb)
  • Mark packages to be pulled by opam-monorepo with the vendor variable so
    using OPAM with opam install --deps-only --locked . will not install
    packages that will be installed with opam-monorepo pull (#237,
    @Leonidas-from-XIV)

Fixed

  • Fix a bug where a package which had a single version that built with dune and got selected by the solver
    would be reported has having no version building with dune. (#245, @Leonidas-from-XIV)
  • Fix the solver so it does not select beta versions of the compiler unless
    forced to by version constraints or --ocaml-version. (#269, @NathanReb)

Removed

0.2.7

23 Nov 08:43
Compare
Choose a tag to compare

CHANGES:

Added

  • Add a list subcommand to list the duniverse packages in the lockfile
    (#217, @samoht)

Changed

  • Only warn users about missing dune-ports repo in OPAM switch if no solution
    can be found due to packages not building with dune (#210, @Leonidas-from-XIV)
  • Rename the --repo option to --root to make it more
    straightforward that this is referring to the project root (#218, @samoht)
  • Improve the wording of the lockfile selection log (#222, @NathanReb)
  • Display the full solver error with --verbose (#229, @emillon)

Fixed

  • Better errors for opam-monorepo depext, especially for non-interactive
    shells (#216, @samoht)
  • Properly detect all opam packages defined in the current repository, preventing it
    from later pulling duplicates into the duniverse if they were part of the target packages
    dependencies. (#203, @Leonidas-from-XIV)
  • Properly report missing dune-project file when trying to determine the
    to-be-genrated lockfile name (#227, @NathanReb)

0.2.6

19 Oct 14:27
Compare
Choose a tag to compare

CHANGES:

Added

  • Add a depext subcommand to install the external system dependencies listed
    in lock file (#207, @samoht)
  • Add the --keep-git-dir flag to the pull command that can be used to keep
    the [.git] directory after pulling the vendored sources. (#160, @rizo)

Fixed

  • Fix tool name in generated dune file so that it does not refer to the tool as
    duniverse (#206, @emillon)