[new release] xdg, stdune, ordering, ocamlc-loc, dyn, dune, dune-site, dune-rpc, dune-rpc-lwt, dune-private-libs, dune-glob, dune-configurator, dune-build-info, dune-action-plugin and chrome-trace (3.7.0)#23349
Merged
kit-ty-kate merged 1 commit intoocaml:masterfrom Feb 20, 2023
Conversation
…, dune-rpc, dune-rpc-lwt, dune-private-libs, dune-glob, dune-configurator, dune-build-info, dune-action-plugin and chrome-trace (3.7.0) CHANGES: - Allow running `$ dune exec` in watch mode (with the `-w` flag). In watch mode, `$ dune exec` the executed binary whenever it is recompiled. (ocaml/dune#6966, @gridbugs) - `coqdep` is now called once per theory, instead of one time per Coq file. This should significantly speed up some builds, as `coqdep` startup time is often heavy (ocaml/dune#7048, @Alizter, @ejgallego) - Add `map_workspace_root` dune-project stanza to allow disabling of mapping of workspace root to `/workspace_root`. (ocaml/dune#6988, fixes ocaml/dune#6929, @richardlford) - Fix handling of support files generated by odoc. (ocaml/dune#6913, @jonludlam) - Fix parsing of OCaml errors that contain code excerpts with `...` in them. (ocaml/dune#7008, @rgrinberg) - Pre-emptively clear screen in watch mode (ocaml/dune#6987, fixes ocaml/dune#6884, @rgrinberg) - Fix cross compilation configuration when a context with targets is itself a host of another context (ocaml/dune#6958, fixes ocaml/dune#6843, @rgrinberg) - Fix parsing of the `<=` operator in *blang* expressions of `dune` files. Previously, the operator would be interpreted as `<`. (ocaml/dune#6928, @tatchi) - Fix `--trace-file` output. Dune now emits a single *complete* event for every executed process. Unterminated *async* events are no longer written. (ocaml/dune#6892, @rgrinberg) - Fix preprocessing with `staged_pps` (ocaml/dune#6748, fixes ocaml/dune#6644, @rgrinberg) - Use colored output with MDX when Dune colors are enabled. (ocaml/dune#6462, @MisterDA) - Make `dune describe workspace` return consistent dependencies for executables and for libraries. By default, compile-time dependencies towards PPX-rewriters are from now not taken into account (but runtime dependencies always are). Compile-time dependencies towards PPX-rewriters can be taken into account by providing the `--with-pps` flag. (ocaml/dune#6727, fixes ocaml/dune#6486, @esope) - Print missing newline after `$ dune exec`. (ocaml/dune#6821, fixes ocaml/dune#6700, @rgrinberg, @Alizter) - Fix binary corruption when installing or promoting in parallel (ocaml/dune#6669, fixes ocaml/dune#6668, @edwintorok) - Use colored output with GCC and Clang when compiling C stubs. The flag `-fdiagnostics-color=always` is added to the `:standard` set of flags. (ocaml/dune#4083, @MisterDA) - Fix the parsing of decimal and hexadecimal escape literals in `dune`, `dune-package`, and other dune s-expression based files (ocaml/dune#6710, @shym) - Report an error if `dune init ...` would create a "dune" file in a location which already contains a "dune" directory (ocaml/dune#6705, @gridbugs) - Fix the parsing of alerts. They will now show up in diagnostics correctly. (ocaml/dune#6678, @rginberg) - Fix the compilation of modules generated at link time when `implicit_transitive_deps` is enabled (ocaml/dune#6642, @rgrinberg) - Allow `$ dune utop` to load libraries defined in data only directories defined using `(subdir ..)` (ocaml/dune#6631, @rgrinberg) - Format dune files when they are named `dune-file`. This occurs when we enable the alternative file names project option. (ocaml/dune#6566, @rgrinberg) - Move `$ dune ocaml-merlin -dump-config=$dir` to `$ dune ocaml merlin dump-config $dir`. (ocaml/dune#6547, @rgrinberg) - Allow compilation rules to be impacted by `(env ..)` stanzas that modify the environment or set binaries. (ocaml/dune#6527, @rgrinberg) - Coq native mode is now automatically detected by Dune starting with Coq lang 0.7. `(mode native)` has been deprecated in favour of detection from the configuration of Coq. (ocaml/dune#6409, @Alizter) - Print "Leaving Directory" whenever "Entering Directory" is printed. (ocaml/dune#6419, fixes ocaml/dune#138, @cpitclaudel, @rgrinberg) - Allow `$ dune ocaml dump-dot-merlin` to run in watch mode. Also this command shouldn't print "Entering Directory" mesages. (ocaml/dune#6497, @rgrinberg) - `dune clean` should no longer fail under Windows due to the inability to remove the `.lock` file. Also, bring the implementation of the global lock under Windows closer to that of Unix. (ocaml/dune#6523, @nojb) - Remove "Entering Directory" messages for `$ dune install`. (ocaml/dune#6513, @rgrinberg) - Stop passing `-q` flag in `dune coq top`, which allows for `.coqrc` to be loaded. (ocaml/dune#6848, fixes ocaml/dune#6847, @Alizter) - Fix missing dependencies when detecting the kind of C compiler we're using (ocaml/dune#6610, fixes ocaml/dune#6415, @emillon) - Allow `(include_subdirs qualified)` for OCaml projects. (ocaml/dune#6594, fixes ocaml/dune#1084, @rgrinberg) - Accurately determine merlin configuration for all sources selected with `copy#` and `copy_files#`. The old heuristic of looking for a module in parent directories is removed (ocaml/dune#6594, @rgrinberg) - Fix inline tests with *js_of_ocaml* and whole program compilation mode enabled (ocaml/dune#6645, @hhugo) - Fix *js_of_ocaml* separate compilation rules when `--enable=effects` ,`--enable=use-js-string` or `--toplevel` is used. (ocaml/dune#6714, ocaml/dune#6828, ocaml/dune#6920, @hhugo) - Fix *js_of_ocaml* separate compilation in presence of linkall (ocaml/dune#6832, ocaml/dune#6916, @hhugo) - Remove spurious build dir created when running `dune init proj ...` (ocaml/dune#6707, fixes ocaml/dune#5429, @gridbugs) - Allow `--sandbox` to affect `ocamldep` invocations. Previously, they were wrongly marked as incompatible (ocaml/dune#6749, @rgrinberg) - Validate the command line arguments for `$ dune ocaml top-module`. This command requires one positional argument (ocaml/dune#6796, fixes ocaml/dune#6793, @rgrinberg) - Add a `dune cache size` command for displaying the size of the cache (ocaml/dune#6638, @Alizter) - Fix dependency cycle when installing files to the bin section with `glob_files` (ocaml/dune#6764, fixes ocaml/dune#6708, @gridbugs) - Handle "Too many links" errors when using Dune cache on Windows (ocaml/dune#6993, @nojb) - Allow the `cinaps` stanza to set a custom alias. By default, if the alias is not set then the cinaps actions will be attached to both `@cinaps` and `@runtest` (ocaml/dune#6991, @rgrinberg) - Add `(using ctypes 0.3)`. When used, paths in `(ctypes)` are interpreted relative to where the stanza is defined. (ocaml/dune#6883, fixes ocaml/dune#5325, @emillon) - Auto-detect `dune-workspace` files as `dune` files in Emacs (ocaml/dune#7061, @ilankri) - Add native support for polling mode on Windows (ocaml/dune#7010, @yams-yams, @nojb)
Contributor
Author
|
And here's the final version. I expect no regressions but I'll still triage the results to make sure nothing went through. |
Merged
Contributor
Author
|
I went through the failures. If we exclude packages that do not build with dune 3.6.2, network errors etc, the only failures that need fixing are:
So this is good to go in my opinion. |
Member
|
Thanks |
|
@emillon The fiber package was not updated, is that intended? This means fiber conflicts with dyn.3.7.0 |
Member
|
@undu yes this seems to be expected: ocaml/dune#6925 |
|
I see, thanks! |
|
Fiber will be released as a separate library when @rgrinberg decides to do so. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
XDG Base Directory Specification
CHANGES:
Allow running
$ dune execin watch mode (with the-wflag). In watch mode,$ dune execthe executed binary whenever it is recompiled. (Add support for eager watch mode fordune execdune#6966,@gridbugs)
coqdepis now called once per theory, instead of one time per Coqfile. This should significantly speed up some builds, as
coqdepstartup time is often heavy (feature(coq): call coqdep once per theory dune#7048, @Alizter, @ejgallego)
Add
map_workspace_rootdune-project stanza to allow disabling ofmapping of workspace root to
/workspace_root. (Add dune-project stanza, map_workspace_root, to control workspace map… dune#6988, fixes Ocamldebug support broken in 3.6 dune#6929,@richardlford)
Fix handling of support files generated by odoc. (odoc: Put support files in their own directory dune#6913, @jonludlam)
Fix parsing of OCaml errors that contain code excerpts with
...in them.(fix(ocamlc_loc): extended excerpts dune#7008, @rgrinberg)
Pre-emptively clear screen in watch mode (fix: pre-emptively clear screen dune#6987, fixes
clear-on-rebuildshould clear the console before the initial build dune#6884, @rgrinberg)Fix cross compilation configuration when a context with targets is itself a
host of another context (fix(rules): cross compilation bug dune#6958, fixes
dune.3.6.1crashes when I try to cross-compile a little project with Esperanto dune#6843, @rgrinberg)Fix parsing of the
<=operator in blang expressions ofdunefiles.Previously, the operator would be interpreted as
<. (add failing test + fix for enabled_if with <= operator dune#6928, @tatchi)Fix
--trace-fileoutput. Dune now emits a single complete event for everyexecuted process. Unterminated async events are no longer written. (fix(metrics): output correct process metrics dune#6892,
@rgrinberg)
Fix preprocessing with
staged_pps(fix: staged_pps should work dune#6748, fixesstaged_ppswith a recentlangdirective dune#6644, @rgrinberg)Use colored output with MDX when Dune colors are enabled.
(mdx: enable colors for debugging dune#6462, @MisterDA)
Make
dune describe workspacereturn consistent dependencies forexecutables and for libraries. By default, compile-time dependencies
towards PPX-rewriters are from now not taken into account (but
runtime dependencies always are). Compile-time dependencies towards
PPX-rewriters can be taken into account by providing the
--with-ppsflag. (Fix for issue #6486 "Inconsistent ppx reporting by dune describe" dune#6727, fixes Inconsistent ppx reporting indune describe workspacedune#6486, @esope)Print missing newline after
$ dune exec. (fix(dune_console): print missing newline after dune exec dune#6821, fixes Missing newline in "dune exec" dune#6700, @rgrinberg,@Alizter)
Fix binary corruption when installing or promoting in parallel (Add version corruption testcase and fix binary corruption dune#6669, fixes
Dune corrupts ~10400 bytes of binary during artifact version substitution causing segfault dune#6668, @edwintorok)
Use colored output with GCC and Clang when compiling C stubs. The
flag
-fdiagnostics-color=alwaysis added to the:standardset offlags. (Colored messages from C/C++ compiler in C stubs dune#4083, @MisterDA)
Fix the parsing of decimal and hexadecimal escape literals in
dune,dune-package, and other dune s-expression based files (Fix sexp lexer for escaped sequences such\000followed by another digit dune#6710, @shym)Report an error if
dune init ...would create a "dune" file in a locationwhich already contains a "dune" directory (Error on "dune init" if dir exists named "dune" dune#6705, @gridbugs)
Fix the parsing of alerts. They will now show up in diagnostics correctly.
(fix(ocamlc_loc): parse alerts dune#6678, @rginberg)
Fix the compilation of modules generated at link time when
implicit_transitive_depsis enabled (fix: link time code gen + implicit transtive deps dune#6642, @rgrinberg)Allow
$ dune utopto load libraries defined in data only directoriesdefined using
(subdir ..)(fix: load rules under subdir dune#6631, @rgrinberg)Format dune files when they are named
dune-file. This occurs when we enablethe alternative file names project option. (fix: format alternative file names dune#6566, @rgrinberg)
Move
$ dune ocaml-merlin -dump-config=$dirto$ dune ocaml merlin dump-config $dir. (refactor(merlin): dump config sub command dune#6547, @rgrinberg)Allow compilation rules to be impacted by
(env ..)stanzas that modify theenvironment or set binaries. (fix: module compilation rule env dune#6527, @rgrinberg)
Coq native mode is now automatically detected by Dune starting with Coq lang
0.7.
(mode native)has been deprecated in favour of detection from theconfiguration of Coq. (feature(coq): automatic detection of native dune#6409, @Alizter)
Print "Leaving Directory" whenever "Entering Directory" is printed. (fix: print "Leaving Directory" dune#6419,
fixes Tracking paths to error locations dune#138, @cpitclaudel, @rgrinberg)
Allow
$ dune ocaml dump-dot-merlinto run in watch mode. Also this commandshouldn't print "Entering Directory" mesages. (fix: allow dump-dot-merlin in watch mode dune#6497, @rgrinberg)
dune cleanshould no longer fail under Windows due to the inability toremove the
.lockfile. Also, bring the implementation of the global lockunder Windows closer to that of Unix. (Implement flock on Windows with LockFileEx + 'dune clean' fix on Windows dune#6523, @nojb)
Remove "Entering Directory" messages for
$ dune install. (refactor: unify print dir and forbid_builds dune#6513,@rgrinberg)
Stop passing
-qflag indune coq top, which allows for.coqrcto beloaded. (feature(coq): omit -q flag during dune coq top dune#6848, fixes Dune Coq top skips loading
.coqrcdune#6847, @Alizter)Fix missing dependencies when detecting the kind of C compiler we're using
(fix: declare deps for ccomp detection dune#6610, fixes c++ compiler detection fails under --sandbox symlink dune#6415, @emillon)
Allow
(include_subdirs qualified)for OCaml projects. (feature: enable (include_subdirs qualified) dune#6594, fixes Add support for(include_subdirs qualified)dune#1084,@rgrinberg)
Accurately determine merlin configuration for all sources selected with
copy#andcopy_files#. The old heuristic of looking for a module inparent directories is removed (feature: enable (include_subdirs qualified) dune#6594, @rgrinberg)
Fix inline tests with js_of_ocaml and whole program compilation mode
enabled (Fix inline_tests with jsoo and whole_program compilation mode dune#6645, @hhugo)
Fix js_of_ocaml separate compilation rules when
--enable=effects,
--enable=use-js-stringor--toplevelis used. (fix #6679 dune#6714, Jsoo rules bug: artifacts of libraries with public names are not found dune#6828, Jsoo: recognize toplevel variant dune#6920, @hhugo)Fix js_of_ocaml separate compilation in presence of linkall (Propagate linkall to js_of_ocaml for separate compilation dune#6832, Fix jsoo linkall detection dune#6916, @hhugo)
Remove spurious build dir created when running
dune init proj ...(Prevent spurious _build directory from being created when runningdune init proj ...dune#6707,fixes "dune init project" doesn't create a dune project file, creates unnecessary _build file dune#5429, @gridbugs)
Allow
--sandboxto affectocamldepinvocations. Previously, they werewrongly marked as incompatible (fix: do not impose no_sandboxing on ocamldep dune#6749, @rgrinberg)
Validate the command line arguments for
$ dune ocaml top-module. Thiscommand requires one positional argument (fix: correctly validate argument to top-module dune#6796, fixes Crash when forgetting to pass a filename to
dune ocaml top-moduledune#6793, @rgrinberg)Add a
dune cache sizecommand for displaying the size of the cache (feature(cache): adddune cache sizecommand dune#6638,@Alizter)
Fix dependency cycle when installing files to the bin section with
glob_files(Defer computation of local_bin dune#6764, fixes Dependency cycle when usingglob_filesto install files tobinsection dune#6708, @gridbugs)Handle "Too many links" errors when using Dune cache on Windows (Unix.link: catch EMLINK also on Windows dune#6993, @nojb)
Allow the
cinapsstanza to set a custom alias. By default, if the alias isnot set then the cinaps actions will be attached to both
@cinapsand@runtest(feature(rules): custom alias for cinaps dune#6991, @rgrinberg)Add
(using ctypes 0.3). When used, paths in(ctypes)are interpretedrelative to where the stanza is defined. (ctypes 0.3: run commands in stanza directory dune#6883, fixes Ctypes binding doesn't support well local headers dune#5325, @emillon)
Auto-detect
dune-workspacefiles asdunefiles in Emacs (feature(emacs): auto-detectdune-workspacefiles asdunefiles dune#7061,@ilankri)
Add native support for polling mode on Windows (Add native polling mode support on Windows dune#7010, @yams-yams, @nojb)