Skip to content

Releases: ocaml/dune

3.16.0

17 Jun 09:04
e4380ff
Compare
Choose a tag to compare

CHANGES:

Added

  • allow libraries with the same (name ..) in projects as long as they don't
    conflict during resolution (via enabled_if). (#10307, @anmonteiro,
    @jchavarri)

  • dune describe pp now finds the exact module and the stanza it belongs to,
    instead of guessing the name of the preprocessed file. (#10321, @anmonteiro)

  • Print the result of dune describe pp with the respective dialect printer.
    (#10322, @anmonteiro)

  • Add new flag --context to dune ocaml-merlin, which allows to select a
    Dune context when requesting Merlin config. Add dune describe contexts
    subcommand. Introduce a field generate_merlin_rules for contexts declared
    in the workspace, that allows to optionally produce Merlin rules for other
    contexts besides the one selected for Merlin (#10324, @jchavarri)

  • melange: add include paths for private library .cmj files during JS
    emission. (#10416, @anmonteiro)

  • dune ocaml-merlin: communicate additional directives SOURCE_ROOT,
    UNIT_NAME (the actual name with wrapping) and INDEX with the paths to the
    index(es). (#10422, @voodoos)

  • Add a new alias @ocaml-index that uses the ocaml-index binary to generate
    indexes that can be read by tools such as Merlin to provide project-wide
    references search. (#10422, @voodoos)

  • merlin: add optional (merlin_reader CMD) construct to (dialect) stanza to
    configure a merlin reader (#8567, @andreypopp)

Changed

  • melange: treat private libraries with (package ..) as public libraries,
    fixing an issue where import paths were wrongly emitted. (#10415,
    @anmonteiro)

  • install .glob files for Coq theories too (#10602, @ejgallego)

Fixed

  • Don't try to document non-existent libraries in doc-new target (#10319, fixes
    #10056, @jonludlam)

  • Make dune-site's load_all function look for META files so that it
    doesn't fail on empty directories in the plugin directory (#10458, fixes
    #10457, @shym)

  • Fix incorrect warning for libraries defined inside non-existant directories
    using (subdir ..) and used by executables using dune-build-info (#10525,
    @rgrinberg)

  • Don't try to take build lock when running coq top --no-build (#10547, fixes
    #7671, @lzy0505)

  • Make sure to truncate dune's lock file after locking and unlocking so that
    users cannot observe incorrect pid's (#10575, @rgrinberg)

  • mdx: link mdx binary with byte_complete. This fixes (libraries) with
    foreign archives on Linux. (#10586, fixes #10582, @anmonteiro)

  • virtual libraries: fix an issue where linking an executable involving several
    virtual libries would cause an error. (#10581, fixes #10460, @rgrinberg)

3.16.0~alpha2

11 Jun 15:01
0c0076d
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Correctly declare dependencies of indexes so that they are rebuilt when
    needed. (#10623, @voodoos)

3.16.0~alpha1

05 Jun 13:50
9ae295e
Compare
Choose a tag to compare

CHANGES:

Added

  • allow libraries with the same (name ..) in projects as long as they don't
    conflict during resolution (via enabled_if). (#10307, @anmonteiro,
    @jchavarri)

  • dune describe pp now finds the exact module and the stanza it belongs to,
    instead of guessing the name of the preprocessed file. (#10321, @anmonteiro)

  • Print the result of dune describe pp with the respective dialect printer.
    (#10322, @anmonteiro)

  • Add new flag --context to dune ocaml-merlin, which allows to select a
    Dune context when requesting Merlin config. Add dune describe contexts
    subcommand. Introduce a field generate_merlin_rules for contexts declared
    in the workspace, that allows to optionally produce Merlin rules for other
    contexts besides the one selected for Merlin (#10324, @jchavarri)

  • melange: add include paths for private library .cmj files during JS
    emission. (#10416, @anmonteiro)

  • dune ocaml-merlin: communicate additional directives SOURCE_ROOT,
    UNIT_NAME (the actual name with wrapping) and INDEX with the paths to the
    index(es). (#10422, @voodoos)

  • Add a new alias @ocaml-index that uses the ocaml-index binary to generate
    indexes that can be read by tools such as Merlin to provide project-wide
    references search. (#10422, @voodoos)

  • merlin: add optional (merlin_reader CMD) construct to (dialect) stanza to
    configure a merlin reader (#8567, @andreypopp)

Changed

  • melange: treat private libraries with (package ..) as public libraries,
    fixing an issue where import paths were wrongly emitted. (#10415,
    @anmonteiro)

  • install .glob files for Coq theories too (#10602, @ejgallego)

Fixed

  • Don't try to document non-existent libraries in doc-new target (#10319, fixes
    #10056, @jonludlam)

  • Make dune-site's load_all function look for META files so that it
    doesn't fail on empty directories in the plugin directory (#10458, fixes
    #10457, @shym)

  • Fix incorrect warning for libraries defined inside non-existant directories
    using (subdir ..) and used by executables using dune-build-info (#10525,
    @rgrinberg)

  • Don't try to take build lock when running coq top --no-build (#10547, fixes
    #7671, @lzy0505)

  • Make sure to truncate dune's lock file after locking and unlocking so that
    users cannot observe incorrect pid's (#10575, @rgrinberg)

  • mdx: link mdx binary with byte_complete. This fixes (libraries) with
    foreign archives on Linux. (#10586, fixes #10582, @anmonteiro)

3.15.3

24 May 15:13
55da8f9
Compare
Choose a tag to compare

CHANGES:

Fixed

3.15.2

23 Apr 09:55
c28817c
Compare
Choose a tag to compare

CHANGES:

Fixed

  • If no directory targets are defined, then do not evaluate enabled_if
    (#10442, @rgrinberg)

  • Fix a bug where Coq projects were being rebuilt from scratch each time the
    dependency graph changed. (#10446, fixes #10149, @Alizter)

3.15.1

17 Apr 14:08
5eb7bb0
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Fix overflow in sendfile stubs (copy of large files could fail or end with
    truncated files) (#10333, @tonyfettes)

  • Fix crash when a rule with a directory target is disabled with enabled_if
    (#10382, fixes #10310, @gridbugs)

  • melange: remove all restrictions around virtual libraries in Melange. They
    may be used as otherwise in libraries and executables. (#10412, @anmonteiro)

  • spawn: fix compatibility with RHEL7 (#10428, @emillon)

3.15.0

03 Apr 09:36
8118ddb
Compare
Choose a tag to compare

CHANGES:

Added

  • Add link flags to to ocamlmklib for ctypes stubs (#8784, @frejsoya)

  • Remove some unnecessary limitations in the expansions of percent forms in
    install stanza. For example, the %{env:..} form can be used to select files
    to be installed. (#10160, @rgrinberg)

  • Allow artifact expansion percent forms (%{cma:..}, %{cmo:..}, etc.) in
    more contexts. Previously, they would be randomly forbidden in some fields.
    (#10169, @rgrinberg)

  • Allow %{inline_tests} in more contexts (#10191, @rgrinberg)

  • Remove limitations on percent forms in the (enabled_if ..) field of
    libraries (#10250, @rgrinberg)

  • Support dialects in dune describe pp (#10283, @emillon)

  • Allow defining executables or melange emit stanzas with the same name in the
    same folder under different contexts. (#10220, @rgrinberg, @jchavarri)

Fixed

  • coq: Delay Coq rule setup checks so OCaml-only packages can build in hybrid
    Coq/OCaml projects when coqc is not present. Thanks to @vzaliva for the
    test case and report (#9845, fixes #9818, @rgrinberg, @ejgallego)

  • Fix conditional source selection with select on bigarray in OCaml 5
    (#10011, @moyodiallo)

  • melange: fix inconsistency in virtual library implementation. Concrete
    modules within a virtual library can now refer to its virtual modules too
    (#10051, fixes #7104, @anmonteiro)

  • melange: fix a bug that would cause stale import paths to be emitted when
    moving source files within (include_subdirs ..) (#10286, fixes #9190,
    @anmonteiro)

  • Dune file formatting: output utf8 if input is correctly encoded (#10113,
    fixes #9728, @moyodiallo)

  • Fix expanding dependencies and locks specified in the cram stanza.
    Previously, they would be installed in the context of the cram test, rather
    than the cram stanza itself (#10165, @rgrinberg)

  • Fix bug with dune exec --watch where the working directory would always be
    set to the project root rather than the directory where the command was run
    (#10262, @gridbugs)

  • Regression fix: sign executables that are promoted into the source tree
    (#10263, fixes #9272, @emillon)

  • Fix crash when decoding dune-package for libraries with (include_subdirs qualified) (#10269, fixes #10264, @emillon)

Changed

3.15.0~alpha2

29 Mar 16:44
64b0437
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Backport #10327: fix a regression in dune install not performing artifact
    substitution.

3.15.0~alpha1

26 Mar 13:19
75eac84
Compare
Choose a tag to compare

CHANGES:

Added

  • Add link flags to to ocamlmklib for ctypes stubs (#8784, @frejsoya)

  • Remove some unnecessary limitations in the expansions of percent forms in
    install stanza. For example, the %{env:..} form can be used to select files
    to be installed. (#10160, @rgrinberg)

  • Allow artifact expansion percent forms (%{cma:..}, %{cmo:..}, etc.) in
    more contexts. Previously, they would be randomly forbidden in some fields.
    (#10169, @rgrinberg)

  • Allow %{inline_tests} in more contexts (#10191, @rgrinberg)

  • Remove limitations on percent forms in the (enabled_if ..) field of
    libraries (#10250, @rgrinberg)

  • Support dialects in dune describe pp (#10283, @emillon)

  • Allow defining executables or melange emit stanzas with the same name in the
    same folder under different contexts. (#10220, @rgrinberg, @jchavarri)

Fixed

  • coq: Delay Coq rule setup checks so OCaml-only packages can build in hybrid
    Coq/OCaml projects when coqc is not present. Thanks to @vzaliva for the
    test case and report (#9845, fixes #9818, @rgrinberg, @ejgallego)

  • Fix conditional source selection with select on bigarray in OCaml 5
    (#10011, @moyodiallo)

  • melange: fix inconsistency in virtual library implementation. Concrete
    modules within a virtual library can now refer to its virtual modules too
    (#10051, fixes #7104, @anmonteiro)

  • melange: fix a bug that would cause stale import paths to be emitted when
    moving source files within (include_subdirs ..) (#10286, fixes #9190,
    @anmonteiro)

  • Dune file formatting: output utf8 if input is correctly encoded (#10113,
    fixes #9728, @moyodiallo)

  • Fix expanding dependencies and locks specified in the cram stanza.
    Previously, they would be installed in the context of the cram test, rather
    than the cram stanza itself (#10165, @rgrinberg)

  • Fix bug with dune exec --watch where the working directory would always be
    set to the project root rather than the directory where the command was run
    (#10262, @gridbugs)

  • Regression fix: sign executables that are promoted into the source tree
    (#10263, fixes #9272, @emillon)

  • Fix crash when decoding dune-package for libraries with (include_subdirs qualified) (#10269, fixes #10264, @emillon)

Changed

3.14.2

12 Mar 15:24
b19f6df
Compare
Choose a tag to compare

CHANGES:

Fixed

  • fix compilation on non-glibc systems due to signal.h not being pulled in
    spawn stubs. (#10256, @emillon)