|
| 1 | +--- |
| 2 | +title: 3.20.0 |
| 3 | +tags: |
| 4 | +- dune |
| 5 | +- platform |
| 6 | +authors: |
| 7 | +- maiste |
| 8 | +contributors: |
| 9 | +changelog: |
| 10 | +versions: |
| 11 | +unstable: false |
| 12 | +ignore: false |
| 13 | +github_release_tags: |
| 14 | +- 3.20.0 |
| 15 | +--- |
| 16 | + |
| 17 | +<p>CHANGES:</p> |
| 18 | +<h3>Fixed</h3> |
| 19 | +<ul> |
| 20 | +<li> |
| 21 | +<p>Stop re-running cram tests after promotion when it's not necessary (<a href="https://github.com/ocaml/dune/pull/11994" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3210431036" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11994" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11994/hovercard">#11994</a>,<br> |
| 22 | +<a href="https://github.com/rgrinberg" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rgrinberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rgrinberg</a>)</p> |
| 23 | +</li> |
| 24 | +<li> |
| 25 | +<p>fix: <code>$ dune subst</code> should not fail when adding the version field in opam<br> |
| 26 | +files (<a href="https://github.com/ocaml/dune/pull/11801" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3063804350" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11801" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11801/hovercard">#11801</a>, fixes <a href="https://github.com/ocaml/dune/issues/11045" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2618406584" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11045" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/11045/hovercard">#11045</a>, <a href="https://github.com/btjorge" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/btjorge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@btjorge</a>)</p> |
| 27 | +</li> |
| 28 | +<li> |
| 29 | +<p>Kill all processes in the process group after the main process has<br> |
| 30 | +terminated; in particular this avoids background processes in cram tests to<br> |
| 31 | +stick around after the test finished (<a href="https://github.com/ocaml/dune/pull/11841" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3085978774" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11841" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11841/hovercard">#11841</a>, fixes <a href="https://github.com/ocaml/dune/issues/11820" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3071829964" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11820" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/11820/hovercard">#11820</a>, <a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a>,<br> |
| 32 | +<a href="https://github.com/Leonidas-from-XIV" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Leonidas-from-XIV/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Leonidas-from-XIV</a>)</p> |
| 33 | +</li> |
| 34 | +</ul> |
| 35 | +<h3>Added</h3> |
| 36 | +<ul> |
| 37 | +<li> |
| 38 | +<p><code>(tests)</code> stanzas now generate aliases with the test name. To run<br> |
| 39 | +<code>(test (name a))</code> you can do <code>dune build @runtest-a</code>. (<a href="https://github.com/ocaml/dune/pull/11558" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2941205485" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11558" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11558/hovercard">#11558</a>, grants part of <a href="https://github.com/ocaml/dune/issues/10239" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2176052272" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/10239" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/10239/hovercard">#10239</a>,<br> |
| 40 | +<a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a>)</p> |
| 41 | +</li> |
| 42 | +<li> |
| 43 | +<p>Inline test libraries now produce aliases <code>runtest-name_of_lib</code><br> |
| 44 | +allowing users to run specific inline tests as <code>dune build @runtest-name_of_lib</code>. (<a href="https://github.com/ocaml/dune/pull/11109" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2647389393" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11109" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11109/hovercard">#11109</a>, partially fixes <a href="https://github.com/ocaml/dune/issues/10239" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2176052272" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/10239" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/10239/hovercard">#10239</a>, <a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a>)</p> |
| 45 | +</li> |
| 46 | +<li> |
| 47 | +<p>feature: <code>$ dune subst</code> use version from <code>dune-project</code> when no version<br> |
| 48 | +control repository has been detected (<a href="https://github.com/ocaml/dune/pull/11801" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3063804350" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11801" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11801/hovercard">#11801</a>, <a href="https://github.com/btjorge" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/btjorge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@btjorge</a>)</p> |
| 49 | +</li> |
| 50 | +<li> |
| 51 | +<p>Allow <code>dune exec</code> to run concurrently with another instance of dune in watch<br> |
| 52 | +mode (<a href="https://github.com/ocaml/dune/pull/11840" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3085391423" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11840" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11840/hovercard">#11840</a>, <a href="https://github.com/gridbugs" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gridbugs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@gridbugs</a>)</p> |
| 53 | +</li> |
| 54 | +<li> |
| 55 | +<p>Introduce <code>%{os}</code>, <code>%{os_version}</code>, <code>%{os_distribution}</code>, and <code>%{os_family}</code><br> |
| 56 | +percent forms. These have the same values as their opam counterparts.<br> |
| 57 | +(<a href="https://github.com/ocaml/dune/pull/11863" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3089526279" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11863" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11863/hovercard">#11863</a>, <a href="https://github.com/rgrinberg" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rgrinberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rgrinberg</a>)</p> |
| 58 | +</li> |
| 59 | +<li> |
| 60 | +<p>Introduce option <code>(implicit_transitive_deps false-if-hidden-includes-supported)</code><br> |
| 61 | +that is equivalent to <code>(implicit_transitive_deps false)</code> when <code>-H</code> is<br> |
| 62 | +supported by the compiler (OCaml >= 5.2) and equivalent to<br> |
| 63 | +<code>(implicit_transitive_deps true)</code> otherwise. (<a href="https://github.com/ocaml/dune/pull/11866" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3090696070" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11866" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11866/hovercard">#11866</a>, fixes <a href="https://github.com/ocaml/dune/issues/11212" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2742029498" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11212" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/11212/hovercard">#11212</a>, <a href="https://github.com/nojb" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nojb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@nojb</a>)</p> |
| 64 | +</li> |
| 65 | +<li> |
| 66 | +<p>Add <code>dune describe location</code> for printing the path to the executable that<br> |
| 67 | +would be run (<a href="https://github.com/ocaml/dune/pull/11905" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142481034" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11905" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11905/hovercard">#11905</a>, <a href="https://github.com/gridbugs" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gridbugs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@gridbugs</a>)</p> |
| 68 | +</li> |
| 69 | +<li> |
| 70 | +<p><code>dune runtest</code> can now understand absolute paths as well as run tests in<br> |
| 71 | +specific build contexts (<a href="https://github.com/ocaml/dune/pull/11936" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3166075219" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11936" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11936/hovercard">#11936</a>, <a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a>).</p> |
| 72 | +</li> |
| 73 | +<li> |
| 74 | +<p>Added 'empty' alias which contains no targets. (<a href="https://github.com/ocaml/dune/pull/11556" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2940502529" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11556" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11556/hovercard">#11556</a> <a href="https://github.com/ocaml/dune/pull/11952" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3192406600" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11952" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11952/hovercard">#11952</a> <a href="https://github.com/ocaml/dune/pull/11955" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3196247769" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11955" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11955/hovercard">#11955</a> <a href="https://github.com/ocaml/dune/pull/11956" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3196252254" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11956" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11956/hovercard">#11956</a>,<br> |
| 75 | +grants <a href="https://github.com/ocaml/dune/issues/4161" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="794580017" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/4161" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/4161/hovercard">#4161</a>, <a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a> and <a href="https://github.com/rgrinberg" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rgrinberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rgrinberg</a>)</p> |
| 76 | +</li> |
| 77 | +<li> |
| 78 | +<p>Allow <code>dune promote</code> to properly run while a watch mode server is running<br> |
| 79 | +(<a href="https://github.com/ocaml/dune/pull/12010" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3222646779" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/12010" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/12010/hovercard">#12010</a>, <a href="https://github.com/ElectreAAS" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ElectreAAS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@ElectreAAS</a>)</p> |
| 80 | +</li> |
| 81 | +<li> |
| 82 | +<p>Add <code>--alias</code> and <code>--alias-rec</code> flags as an alternative to the <code>@@</code> and <code>@</code><br> |
| 83 | +syntax in the command line (<a href="https://github.com/ocaml/dune/pull/12043" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3244321832" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/12043" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/12043/hovercard">#12043</a>, fixes <a href="https://github.com/ocaml/dune/issues/5775" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1247307886" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/5775" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/5775/hovercard">#5775</a>, <a href="https://github.com/rgrinberg" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rgrinberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rgrinberg</a>)</p> |
| 84 | +</li> |
| 85 | +<li> |
| 86 | +<p>Added a <code>(timeout <float>)</code> field to the <code>(cram)</code> stanza to specify per-test<br> |
| 87 | +time limits. Tests exceeding the timeout are terminated with an error.<br> |
| 88 | +(<a href="https://github.com/ocaml/dune/pull/12041" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3240614512" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/12041" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/12041/hovercard">#12041</a>, <a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a>)</p> |
| 89 | +</li> |
| 90 | +</ul> |
| 91 | +<h3>Changed</h3> |
| 92 | +<ul> |
| 93 | +<li> |
| 94 | +<p>Format long lists in s-expressions to fill the line instead of<br> |
| 95 | +formatting them in a vertical way (<a href="https://github.com/ocaml/dune/pull/10892" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2510846429" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/10892" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/10892/hovercard">#10892</a>, fixes <a href="https://github.com/ocaml/dune/issues/10860" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2496685323" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/10860" data-hovercard-type="issue" data-hovercard-url="/ocaml/dune/issues/10860/hovercard">#10860</a>, <a href="https://github.com/nojb" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nojb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@nojb</a>)</p> |
| 96 | +</li> |
| 97 | +<li> |
| 98 | +<p>Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more<br> |
| 99 | +performant and difficult to break than MD5 (<a href="https://github.com/ocaml/dune/pull/11735" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034266541" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11735" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11735/hovercard">#11735</a>, <a href="https://github.com/rgrinberg" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rgrinberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rgrinberg</a>, <a href="https://github.com/Alizter" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alizter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@Alizter</a>)</p> |
| 100 | +</li> |
| 101 | +<li> |
| 102 | +<p>Print a warning when <code>dune build</code> runs over RPC (<a href="https://github.com/ocaml/dune/pull/11833" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3082206602" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11833" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11833/hovercard">#11833</a>, <a href="https://github.com/gridbugs" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gridbugs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@gridbugs</a>)</p> |
| 103 | +</li> |
| 104 | +<li> |
| 105 | +<p>Stop emitting empty module group wrapper <code>.js</code> file in <code>melange.emit</code><br> |
| 106 | +(<a href="https://github.com/ocaml/dune/pull/11987" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207102714" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11987" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11987/hovercard">#11987</a>, fixes <a href="https://github.com/ocaml/dune/pull/11986" class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207089388" data-permission-text="Title is private" data-url="https://github.com/ocaml/dune/issues/11986" data-hovercard-type="pull_request" data-hovercard-url="/ocaml/dune/pull/11986/hovercard">#11986</a>, <a href="https://github.com/anmonteiro" class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anmonteiro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@anmonteiro</a>)</p> |
| 107 | +</li> |
| 108 | +</ul> |
0 commit comments