Skip to content

Releases: ocaml/dune

2.4.0

06 Mar 13:12
Compare
Choose a tag to compare

CHANGES:

  • Add mdx extension and stanza version 0.1 (#3094, @NathanReb)

  • Allow to make Odoc warnings fatal. This is configured from the (env ...)
    stanza. (#3029, @Julow)

  • Fix separate compilation of JS when findlib is not installed. (#3177, @nojb)

  • Add a dune describe command to obtain the topology of a dune workspace, for
    projects such as ROTOR. (#3128, @diml)

  • Add plugin linking mode for executables and the (embed_in_plugin_libraries ...) field. (#3141, @nojb)

  • Add an %{ext_plugin} variable (#3141, @nojb)

  • Dune will no longer build shared objects for stubs if
    supports_shared_libraries is false (#3225, fixes #3222, @rgrinberg)

  • Fix a memory leak in the file-watching mode (dune build -w)
    (#3220, @snowleopard and @aalekseyev)

2.3.1

24 Feb 10:51
Compare
Choose a tag to compare

CHANGES:

  • Fix versioning of artifact variables (eg %{cmxa:...}), which were introduced
    in 2.0, not 1.11. (#3149, @nojb)

  • Fix a bug introduced in 2.3.0 where dune insists on using fswatch on linux
    (even when inotifywait is available). (#3162, @aalekseyev)

  • Fix a bug causing all executables to be considered as optional (#3163, @diml)

2.3.0

15 Feb 17:33
06defff
Compare
Choose a tag to compare

CHANGES:

  • Improve validation and error handling of arguments to dune init (#3103, fixes
    #3046, @shonfeder)

  • dune init exec NAME now uses the NAME argument for private modules (#3103,
    fixes #3088, @shonfeder)

  • Avoid linear walk to detect children, this should greatly improve
    performance when a target has a large number of dependencies (#2959,
    @ejgallego, @aalekseyev, @Armael)

  • [coq] Add (boot) option to (coq.theories) to enable bootstrap of
    Coq's stdlib (#3096, @ejgallego)

  • [coq] Deprecate public_name field in favour of package (#2087, @ejgallego)

  • Better error reporting for "data only" and "vendored" dirs. Using these with
    anything else than a strict subdirectory or * will raise an error. The
    previous behavior was to just do nothing (#3056, fixes #3019, @voodoos)

  • Fix bootstrap on bytecode only switches on windows or where -j1 is set.
    (#3112, @xclerc, @rgrinberg)

  • Allow enabled_if fields in executable(s) stanzas (#3137, fixes #1690
    @voodoos)

  • Do not fail if ocamldep, ocamlmklib, or ocaml are absent. Wait for them
    to be used to fail (#3138, @rgrinberg)

  • Introduce a strict_package_deps mode that verifies that dependencies between
    packages in the workspace are specified correctly. (@rgrinberg, #3117)

  • Make sure the @all alias is defined when no dune file is present
    in a directory (#2946, fix #2927, @diml)

2.2.0

06 Feb 18:48
Compare
Choose a tag to compare

CHANGES:

  • dune test is now a command alias for dune runtest. This is to make the CLI
    less idiosyncratic (#3006, @shonfeder)

  • Allow to set menhir flags in the env stanza using the menhir_flags field.
    (#2960, fix #2924, @bschommer)

  • By default, do not show the full command line of commands executed
    by dune when dune is executed inside dune. This is to make
    integration tests more reproducible (#3042, @diml)

  • dune subst now works even without opam files (#2955, fixes #2910,
    @fangyi-zhou and @diml)

  • Hint when trying to execute an executable defined in the current directory
    without using the ./ prefix (#3041, fixes #1094, @voodoos).

  • Extend the list of modifiers that can be nested under
    with-accepted-exit-codes with chdir, setenv, ignore-<outputs>,
    with-stdin-from and with-<outputs>-to (#3027, fixes #3014, @voodoos)

  • It is now an error to have a preprocessing dependency on a ppx rewriter
    library that is not marked as (kind ppx_rewriter) (#3039, @snowleopard).

  • Fix permissions of files promoted to the source tree when using the
    shared cache. In particular, make them writable by the user (#3043,
    fixes #3026, @diml)

  • Only detect internal OCaml tools with .opt extensions. Previously, this
    detection applied to other binaries as well (@kit-ty-kate, @rgrinberg, #3051).

  • Give the user a proper error message when they try to promote into a source
    directory that doesn't exist. (#3073, fix #3069, @rgrinberg)

  • Correctly build vendored packages in -p mode. These packages were
    incorrectly filtered out before. (#3705, @diml)

  • Do not install vendored packages (#3704, @diml)

  • make now prints a message explaining the main targets available
    (#3085, fix #3078, @diml)

  • Add a byte_complete executable mode to build programs as
    self-contained bytecode programs
    (#3076, fixes #1519, @diml)

2.1.3

16 Jan 11:59
Compare
Choose a tag to compare

CHANGES:

2.1.2

08 Jan 16:22
Compare
Choose a tag to compare

CHANGES:

  • Fix a bug in the Fiber.finalize function of the concurrency monad of Dune,
    causing a race condition at the user level (#3009, fix #2958, @diml)

2.1.1

07 Jan 07:16
Compare
Choose a tag to compare

CHANGES:

  • Guess foreign archives & native archives for libraries defined using the
    META format. (#2994, @rgrinberg, @anmonteiro)

  • Fix generation of .merlin files when depending on local libraries with more
    than one source directory. (#2983, @rgrinberg)

2.1.0

21 Dec 05:30
Compare
Choose a tag to compare

CHANGES:

  • Attach cinaps stanza actions to both @runtest and @cinaps aliases
    (#2831, @NathanReb)

  • Add variables %{lib-private...} and %{libexec-private...} for finding
    build paths of files in public and private libraries within the same
    project. (#2901, @snowleopard)

  • Add --mandir option to $ dune install. This option allows to override the
    installation directory for man pages. (#2915, fixes #2670, @rgrinberg)

  • Fix dune --version. The bootstrap didn't compute the version
    correctly. (#2929, fixes #2911, @diml)

  • Do not open the log file in dune clean. (#2965, fixes #2964 and
    #2921, @diml)

  • Support passing two arguments to =, <>, ... operators in package
    dependencies so that we can have things such as (<> :os win32)
    (#2965, @diml)

2.0.1

17 Dec 06:24
Compare
Choose a tag to compare

CHANGES:

  • Delay errors raised by invalid dune-package files. The error is now raised
    only if the invalid package is treated as a library and used to build
    something. (#2972, @rgrinberg)

1.0+beta20.2

05 Dec 10:51
Compare
Choose a tag to compare

CHANGES:

  • Do not install empty .dune files to reduce the amount of warning
    when jbuilder and dune >= 2.0.0 are co-installed (@diml)