8000 Releases · ocaml/dune · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: ocaml/dune

3.18.2

29 Apr 13:09
7b971c8
Compare
Choose a tag to compare

CHANGES:

  • fix compatibility with ocaml.5.4.0 by avoiding shadowing sigwinch (@nojb,
    #11639)

3.18.1

15 Apr 15:40
3660ac8
Compare
Choose a tag to compare

CHANGES:

  • fix: pass pkg-config (extra) args in all pkgconfig invocations. A missing
    --personality flag would result in pkgconf not finding libraries in some
    contexts. (#11619, @MisterDA)

3.18.0

03 Apr 09:05
a6da88b
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Support HaikuOS: don't call execve since it's not allowed if other pthreads
    have been created. The fact that Haiku can't call execve from other threads
    than the principal thread of a process (a team in haiku jargon), is a
    discrepancy to POSIX and hence there is a bug about
    it
    . (@Sylvain78, #10953)
  • Fix flag ordering in generated Merlin configurations (#11503, @voodoos, fixes
    ocaml/merlin#1900, reported by @vouillon)

Added

  • Add (format-dune-file <src> <dst>) action. It provides a replacement to
    dune format-dune-file command. (#11166, @nojb)
  • Allow the --prefix flag when configuring dune with ocaml configure.ml.
    This allows to set the prefix just like $ dune install --prefix. (#11172,
    @rgrinberg)
  • Allow arguments starting with + in preprocessing definitions (starting with
    (lang dune 3.18)). (@amonteiro, #11234)
  • Support for opam (maintenance_intent ...) in dune-project (#11274, @art-w)
  • Validate opam maintenance_intent (#11308, @art-w)
  • Support not in package dependencies constraints (#11404, @art-w, reported
    by @hannesm)

Changed

  • Warn when failing to discover root due to reads failing. The previous
    behavior was to abort. (@KoviRobi, #11173)
  • Use shorter path for inline-tests artifacts. (@hhugo, #11307)
  • Allow dash in dune init project name (#11402, @art-w, reported by @saroupille)
  • On Windows, under heavy load, file delete operations can sometimes fail due to
    AV programs, etc. Guard against it by retrying the operation up to 30x with a
    1s waiting gap (#11437, fixes #11425, @MSoegtropIMC)
  • Cache: we now only store the executable permission bit for files (#11541,
    fixes #11533, @ElectreAAS)
  • Display negative error codes on Windows in hex which is the more customary
    way to display NTSTATUS codes (#11504, @MisterDA)

3.18.0~alpha0

31 Mar 15:47
f6c8a1b
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Support HaikuOS: don't call execve since it's not allowed if other pthreads
    have been created. The fact that Haiku can't call execve from other threads
    than the principal thread of a process (a team in haiku jargon), is a
    discrepancy to POSIX and hence there is a bug about
    it
    . (@Sylvain78, #10953)
  • Fix flag ordering in generated Merlin configurations (#11503, @voodoos, fixes
    ocaml/merlin#1900, reported by @vouillon)

Added

  • Add (format-dune-file <src> <dst>) action. It provides a replacement to
    dune format-dune-file command. (#11166, @nojb)
  • Allow the --prefix flag when configuring dune with ocaml configure.ml.
    This allows to set the prefix just like $ dune install --prefix. (#11172,
    @rgrinberg)
  • Allow arguments starting with + in preprocessing definitions (starting with
    (lang dune 3.18)). (@amonteiro, #11234)
  • Support for opam (maintenance_intent ...) in dune-project (#11274, @art-w)
  • Validate opam maintenance_intent (#11308, @art-w)
  • Support not in package dependencies constraints (#11404, @art-w, reported
    by @hannesm)

Changed

  • Warn when failing to discover root due to reads failing. The previous
    behavior was to abort. (@KoviRobi, #11173)
  • Use shorter path for inline-tests artifacts. (@hhugo, #11307)
  • Allow dash in dune init project name (#11402, @art-w, reported by @saroupille)
  • On Windows, under heavy load, file delete operations can sometimes fail due to
    AV programs, etc. Guard against it by retrying the operation up to 30x with a
    1s waiting gap (#11437, fixes #11425, @MSoegtropIMC)
  • Cache: we now only store the executable permission bit for files (#11541,
    fixes #11533, @ElectreAAS)
  • Display negative error codes on Windows in hex which is the more customary
    way to display NTSTATUS codes (#11504, @MisterDA)

3.17.2

23 Jan 14:19
fedec66
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Fix a crash in the Melange rules that would prevent compiling public library
    implementations of virtual libraries. (@anmonteiro, #11248)
  • Pass melange.emit's compile_flags to the JS emission phase. (@anmonteiro, #11252)
  • Disallow private implementations of public virtual libs in melange mode. (@anmonteiro, #11253)
  • Wasm_of_ocaml: fix the execution of tests in a sandbox. (#11304, @vouillon)

3.17.1

17 Dec 16:54
12010a0
Compare
Choose a tag to compare

CHANGES:

Fixed
  • When a library declares (no_dynlink), then the .cmxs file for it
    is no longer built. (#11176, @nojb)

  • Fix bug that could result in corrupted file copies by Dune, for example when
    using the copy_files# stanza or the copy# action. (@nojb, #11194, fixes
    #11193)

  • Remove useless error message when running $ dune subst in empty projects.
    (@rgrinberg, #11204, fixes #11200)

3.17.0

27 Nov 17:46
af1f424
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Show the context name for errors happening in non-default contexts.
    (#10414, fixes #10378, @jchavarri)

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

  • Don't depend on coq-stdlib being installed when expanding variables
    of the coq.version family (#10631, fixes #10629, @gares)

  • Error out if no files are found when using copy_files. (#10649, @jchavarri)

  • Re_export dune-section private library in the dune-site library stanza,
    in order to avoid failure when generating and building sites modules
    with implicit_transitive_deps = false. (#10650, fixes #9661, @MA0100)

  • Expect test fixes: support multiple modes and fix dependencies when there is
    a custom runner (#10671, @vouillon)

  • In a (library) stanza with (extra_objects) and (foreign_stubs), avoid
    double linking the extra object files in the final executable.
    (#10783, fixes #10785, @nojb)

  • Map (re_export) library dependencies to the exports field in META files,
    and vice-versa. This field was proposed in to
    https://discuss.ocaml.org/t/proposal-a-new-exports-field-in-findlib-meta-files/13947.
    The field is included in Dune-generated META files only when the Dune lang
    version is >= 3.17.
    (#10831, fixes #10830, @nojb)

  • Fix staged pps preprocessors on Windows (which were not working at all
    previously) (#10869, fixes #10867, @nojb)

  • Fix dune describe when an executable is disabled with enabled_if.
    (#10881, fixes #10779, @moyodiallo)

  • Fix an issue where C stubs would be rebuilt whenever the stderr of Dune was
    redirected. (#10883, fixes #10882, @nojb)

  • Fix the URL opened by the command dune ocaml doc. (#10897, @gridbugs)

  • Fix the file referred to in the error/warning message displayed due to the
    dune configuration version not supporting a particular configuration
    stanza in use. (#10923, @H-ANSEN)

  • Fix enabled_if when it uses env variable. (#10936, fixes #10905, @moyodiallo)

  • Fix exec -w for relative paths with --root argument (#10982, @gridbugs)

  • Do not ignore the (locks ..) field in the test and tests stanza
    (#11081, @rgrinberg)

  • Tolerate files without extension when generating merlin rules.
    (#11128, @anmonteiro)

Added

  • Make Merlin/OCaml-LSP aware of "hidden" dependencies used by
    (implicit_transitive_deps false) via the -H compiler flag. (#10535, @voodoos)

  • Add support for the -H flag (introduced in OCaml compiler 5.2) in dune
    (requires lang versions 3.17). This adaptation gives
    the correct semantics for (implicit_transitive_deps false).
    (#10644, fixes #9333, ocsigen/tyxml#274, #2733, #4963, @MA0100)

  • Add support for specifying Gitlab organization repositories in source
    stanzas (#10766, fixes #6723, @H-ANSEN)

  • New option to control jsoo sourcemap generation in env and executable stanza
    (#10777, fixes #10673, @hhugo)

  • One can now control jsoo compilation_mode inside an executable stanza
    (#10777, fixes #10673, @hhugo)

  • Add support for specifying default values of the authors, maintainers, and
    license stanzas of the dune-project file via the dune config file. Default
    values are set using the (project_defaults) stanza (#10835, @H-ANSEN)

  • Add names to source tree events in performance traces (#10884, @jchavarri)

  • Add codeberg as an option for defining project sources in dune-project
    files. For example, (source (codeberg user/repo)). (#10904, @nlordell)

  • dune runtest can now run individual tests with dune runtest mytest.t
    (#11041, @Alizter).

  • Wasm_of_ocaml support (#11093, @vouillon)

  • Add a coqdep_flags field to the coq field of the env stanza, and to the coq.theory stanza, allowing to configure coqdep flags.
    (#11094, @rlepigre)

Changed

  • Remove all remnants of the experimental patch-back-source-tree. (#10771,
    @rgrinberg)

  • Change the preset value for author and maintainer fields in the
    dune-project file to encourage including emails. (#10848, @punchagan)

  • Tweak the preset value for tags in the dune-project file to hint at topics
    not having a special meaning. (#10849, @punchagan)

  • Change some colors to improve readability in light-mode terminals
    (#10890, @gridbugs)

  • Forward the linkall flag to jsoo in whole program compilation as well (#10935, @hhugo)

  • Configurator uses pkgconf as pkg-config implementation when available
    and forwards it the target of ocamlc -config. (#10937, @pirbo)

  • Enable Dune cache by default. Add a new Dune cache setting
    enabled-except-user-rules, which enables the Dune cache, but excludes
    user-written rules from it. This is a conservative choice that can avoid
    breaking rules whose dependencies are not correctly specified. This is the
    current default. (#10944, #10710, @nojb, @ElectreAAS)

  • Do not add dune dependency in dune-project when creating projects with
    dune init proj. The Dune dependency is implicitely added when generating
    opam files (#11129, @Leonidas-from-XIV)

3.17.0~alpha0

25 Nov 15:18
fd1c74a
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Show the context name for errors happening in non-default contexts.
    (#10414, fixes #10378, @jchavarri)

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

  • Don't depend on coq-stdlib being installed when expanding variables
    of the coq.version family (#10631, fixes #10629, @gares)

  • Error out if no files are found when using copy_files. (#10649, @jchavarri)

  • Re_export dune-section private library in the dune-site library stanza,
    in order to avoid failure when generating and building sites modules
    with implicit_transitive_deps = false. (#10650, fixes #9661, @MA0100)

  • Expect test fixes: support multiple modes and fix dependencies when there is
    a custom runner (#10671, @vouillon)

  • In a (library) stanza with (extra_objects) and (foreign_stubs), avoid
    double linking the extra object files in the final executable.
    (#10783, fixes #10785, @nojb)

  • Map (re_export) library dependencies to the exports field in META files,
    and vice-versa. This field was proposed in to
    https://discuss.ocaml.org/t/proposal-a-new-exports-field-in-findlib-meta-files/13947.
    The field is included in Dune-generated META files only when the Dune lang
    version is >= 3.17.
    (#10831, fixes #10830, @nojb)

  • Fix staged pps preprocessors on Windows (which were not working at all
    previously) (#10869, fixes #10867, @nojb)

  • Fix dune describe when an executable is disabled with enabled_if.
    (#10881, fixes #10779, @moyodiallo)

  • Fix an issue where C stubs would be rebuilt whenever the stderr of Dune was
    redirected. (#10883, fixes #10882, @nojb)

  • Format long lists in s-expressions to fill the line instead of formatting
    them in a vertical way (#10892, fixes #10860, @nojb)

  • Fix the URL opened by the command dune ocaml doc. (#10897, @gridbugs)

  • Fix the file referred to in the error/warning message displayed due to the
    dune configuration version not supporting a particular configuration
    stanza in use. (#10923, @H-ANSEN)

  • Fix enabled_if when it uses env variable. (#10936, fixes #10905, @moyodiallo)

  • Fix exec -w for relative paths with --root argument (#10982, @gridbugs)

  • Do not ignore the (locks ..) field in the test and tests stanza
    (#11081, @rgrinberg)

  • Tolerate files without extension when generating merlin rules.
    (#11128, @anmonteiro)

Added

  • Make Merlin/OCaml-LSP aware of "hidden" dependencies used by
    (implicit_transitive_deps false) via the -H compiler flag. (#10535, @voodoos)

  • Add support for the -H flag (introduced in OCaml compiler 5.2) in dune
    (requires lang versions 3.17). This adaptation gives
    the correct semantics for (implicit_transitive_deps false).
    (#10644, fixes #9333, ocsigen/tyxml#274, #2733, #4963, @MA0100)

  • Add support for specifying Gitlab organization repositories in source
    stanzas (#10766, fixes #6723, @H-ANSEN)

  • New option to control jsoo sourcemap generation in env and executable stanza
    (#10777, fixes #10673, @hhugo)

  • One can now control jsoo compilation_mode inside an executable stanza
    (#10777, fixes #10673, @hhugo)

  • Add support for specifying default values of the authors, maintainers, and
    license stanzas of the dune-project file via the dune config file. Default
    values are set using the (project_defaults) stanza (#10835, @H-ANSEN)

  • Add names to source tree events in performance traces (#10884, @jchavarri)

  • Add codeberg as an option for defining project sources in dune-project
    files. For example, (source (codeberg user/repo)). (#10904, @nlordell)

  • dune runtest can now run individual tests with dune runtest mytest.t
    (#11041, @Alizter).

  • Wasm_of_ocaml support (#11093, @vouillon)

  • Add a coqdep_flags field to the coq field of the env stanza, and to the coq.theory stanza, allowing to configure coqdep flags.
    (#11094, @rlepigre)

Changed

  • Remove all remnants of the experimental patch-back-source-tree. (#10771,
    @rgrinberg)

  • Change the preset value for author and maintainer fields in the
    dune-project file to encourage including emails. (#10848, @punchagan)

  • Tweak the preset value for tags in the dune-project file to hint at topics
    not having a special meaning. (#10849, @punchagan)

  • Change some colors to improve readability in light-mode terminals
    (#10890, @gridbugs)

  • Forward the linkall flag to jsoo in whole program compilation as well (#10935, @hhugo)

  • Configurator uses pkgconf as pkg-config implementation when available
    and forwards it the target of ocamlc -config. (#10937, @pirbo)

  • Enable Dune cache by default. Add a new Dune cache setting
    enabled-except-user-rules, which enables the Dune cache, but excludes
    user-written rules from it. This is a conservative choice that can avoid
    breaking rules whose dependencies are not correctly specified. This is the
    current default. (#10944, #10710, @nojb, @ElectreAAS)

  • Do not add dune dependency in dune-project when creating projects with
    dune init proj. The Dune dependency is implicitely added when generating
    opam files (#11129, @Leonidas-from-XIV)

3.16.1

30 Oct 14:05
3c2b57b
Compare
Choose a tag to compare

CHANGES:

Fixed

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 th 8132 e 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)

0