diff --git a/CHANGES.md b/CHANGES.md index 60fa0bde372..d29ee5777a6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,181 @@ -Unreleased ----------- +3.21.0~alpha4 (2025-12-14) +--------------------------- -If you're a contributor, please include your CHANGES entry in a `$PR_NUMBER.md` -file in either `doc/changes/{added|changed|fixed}/`. At release time, it will -be incoporated into the changelog properly. +### Fixed + +- Fix `include_subdirs qualified` incorrectly picking the furthest module + instead of the closest when resolving module name ambiguities. (#12587, + @ElectreAAS and @Alizter) + +- Fix: include the module alias in the transitive dependency closure with + `(include_subdirs qualified)`. (#12299, @anmonteiro) + +- Improve error messages for invalid version formats containing non-ASCII + characters. Previously, non-ASCII characters in version strings (e.g., `(lang + dune è)` or `(using menhir π3.14)`) would fail with a generic "Invalid file" + error. Now they display a clear message: "Invalid atom: contains non-ASCII + character(s). Atoms must only contain ASCII characters." The fix is + implemented at the lexer level, providing consistent error handling across all + s-expression parsing. (#12844, fixes #12836, @benodiwal) + +- Pass private modules with -H when this is available (#12666, @rgrinberg) + +- Allow multiple modules in `(modules_flags ...)`, in `coq.theory` (#12733, @rlepigre) + +- Improve error message for invalid version formats in both `(lang dune ...)` and + `(using extension ...)` declarations. Changes "Atom of the form NNN.NNN expected" + to "Invalid version. Version must be two numbers separated by a dot." (#12833, @benodiwal) + +- Fix crash when running `dune build @check` on a library with virtual modules. + (#12644, fixes #12636, @Alizter) + +- Provide a more informative error message when `(pkg enabled)` is put in + `dune-project` instead of `dune-workspace`. (#12802, fixes #12801, + @benodiwal) + +- Improve error message when invalid version strings are used in `dune-project` + files. Non-ASCII characters and malformed versions now show a helpful hint + with an example of the correct format. (#12794, fixes #12751, @benodiwal) + +- Stop hiding the `root_module` from the include path (#12239, @rgrinberg) + +- Allow `$ dune init` to work on absolute paths (#12601, fixes #7806, + @rgrinberg) + +- `(include_subdirs qualified)`: Add missing alias dependency to module group. + (#12530, @anmonteiro) + +- Add Melange compilation to the `@all` alias in libraries (#12628, + @anmonteiro) + +- Fix greedy version location in lang declarations. Previously, error locations for + invalid lang versions would span multiple bytes for multi-byte UTF-8 characters, + causing carets to appear misaligned and seemingly include the closing + parenthesis. Now, error locations for ASCII strings show the full length (e.g., + "Ali" shows `^^^`), while non-ASCII strings show only the first byte (e.g., "è" + shows `^`) to avoid multi-byte character display issues. (#12869, fixes #12806, + @benodiwal) + +- melange support: don't emit empty JavaScript modules for generated module + aliases. (#12464, @anmonteiro) + +### Added + +- (Experimental): Introduce the `library_parameter` stanza. It allows users to + declare a parameter when using the OxCaml compiler. + (#11963, implements #12084, @maiste) + + +- Added the ability to scroll horizontally in TUI. (#12386, @Alizter) + +- Feature: Include shell command that was executed when a cram test has + occurred in the error message (#12307, @rgrinberg) + +- support expanding variables in `(promote (into ..))` (#12832, fixes #12742, + @anmonteiro) + +- Add support for `%{cmt:...}` and `%{cmti:...}` variables to reference + compiled annotation files (.cmt and .cmti) containing typed abstract syntax + trees with location and type information. (#12634, grants #12633, @Alizter) + +- Add `$ dune describe tests` to describe the tests in the workspace + (@Gromototo, #12545, fixes #12030) + +- Add `argv`, the process environment, and the dune version to the config event + in the trace (#12909, @rgrinberg) + +- Allow `dune runtest` to properly run while a watch mode server is running. + (#12473, grants #8114, @gridbugs and @ElectreAAS) + +- Use copy-on-write (COW) when copying files on filesystems that support it + (Btrfs, ZFS, XFS, etc), under Linux. (#12074, fixes #12071, @nojb) + +- Add support for Tangled ATproto-based code repositories (#12197, @avsm) + +- Add support for instantiating OxCaml parameterised libraries. + (#12561, @art-w) + +- Add a `(conflict_markers error|ignore)` option to the cram stanza. When + `(conflict_markers error)` is set, the cram test will fail in the presence of + conflict markers. Git, diff3 and jujutsu conflict markers are detected. + (#12538, #12617, #12655, fixes #12512, @rgrinberg, @Alizter) + +- Introduce a `%{ppx:lib1+..+libn}` stanza to make it possible to refer to ppx + executables built by dune. This is useful for writing tests (#12711, + @rgrinberg) + +- Introduce a `(dir ..)` field on packages defined in the `dune-project`. This + field allows to associate a directory with a particular package. This makes + dune automatically filter out all stanzas in this directory and its + descendants with `--only-packages`. All users are recommended to switch to + using this field. (#12614, fixes #3255, @rgrinberg) + +- Add support for `DUNE_ROOT` environment variable, similar to the existing + `--root` CLI parameter. (fixes #12399 @sir4ur0n) + +- Introduce an `unused-libs` alias to detect unused libraries. + (#12623, fixes #650, @rgrinberg) + +- Add `--files` flag to `dune describe opam-files` to print only the names of + the opam files line by line. (#9793, @reynir and @Alizter) + +- `dune exec` now accepts absolute paths inside the workspace. + (#12094, @Alizter) + +- Add `coqdoc_header` and `coqdoc_footer` fields to the `coq` field of the + `env` stanza, and to the `coq.theory` stanza, allowing to configure a + custom header or footer respectively in the HTML output of `coqdoc`. + (#11131, @rlepigre) + +- Allow `dune fmt` to properly run while a watch mode server is running. + Note that the `--preview` flag is not supported in this mode. + (#12064, @ElectreAAS) + +- Support for generating `_CoqProject` files for `coq.theory` stanzas. + (#11752, @rlepigre) + +- Added `(files)` stanza, similar to `(dirs)` to control which files are visible + to Dune on a per-directory basis. (#12879, @nojb) +- Add support for %{ocaml-config:ox} (#12236, @jonludlam) + +- Introduce `dune promotion show` command to display the contents of corrected + files that are ready for promotion. This allows users to preview changes + before running `dune promote`. The command accepts file arguments to show + specific files, or displays all promotable files when called without + arguments. (#12669, fixes #3883, @MixiMaxiMouse) +- New `(lang rocq)` build mode for Rocq 9.0 and later. This new mode + is very similar to the existing `(lang coq)`, except that it doesn't + need the `coq*` compatibility wrappers. As of today `(lang rocq)` + doesn't support yet composed builds with Rocq itself, this will be + added later. `(lang coq)` is deprecated, development is frozen, and + will be removed at some point in the future. (#12035, @ejgallego, + @lysxia, fixes #11572) + +### Changed + +- Don't run `ocamldep` to compute false dependencies on the `root_module` + (#12227, @rgrinberg) + +- `dune format-dune-file` now uses the syntax version of the Dune project that + contains the file being formatted (if any) instead of using the latest version + available, which remains the default if there is no Dune project in scope. + (#11865, @nojb) + +- Persistent DB and process events have been slightly modified. Persistent + DB events have more concise names and job events always include full + information. (#12867, @rgrinberg) + +- Removed the `--trace-extended` flag. Its functionality is always enabled when + tracing is active (#12908, @rgrinberg) + +- The `test/dune` file generated by `dune init proj` now depends on the project library. (#12791, @shonfeder) + +- Starting with version 3.21 of the Dune language, Dune no longer changes the + default set of compiler warnings. For users that would like to keep the old + behaviour, the variable `%{dune-warnings}` can be used in an `(env)` stanza in + a top-level Dune file: `(env (dev (flags :standard %{dune-warnings})))`. + (#12766, @nojb) +- Fix: stop generating `cmt` files for cinaps binaries (#12530, @rgrinberg) 3.20.2 (2025-09-02) ------------------- diff --git a/doc/changes/added/11131.md b/doc/changes/added/11131.md deleted file mode 100644 index be7371d2bb6..00000000000 --- a/doc/changes/added/11131.md +++ /dev/null @@ -1,4 +0,0 @@ -- Add `coqdoc_header` and `coqdoc_footer` fields to the `coq` field of the - `env` stanza, and to the `coq.theory` stanza, allowing to configure a - custom header or footer respectively in the HTML output of `coqdoc`. - (#11131, @rlepigre) diff --git a/doc/changes/added/11752.md b/doc/changes/added/11752.md deleted file mode 100644 index 448ef294b6e..00000000000 --- a/doc/changes/added/11752.md +++ /dev/null @@ -1,2 +0,0 @@ -- Support for generating `_CoqProject` files for `coq.theory` stanzas. - (#11752, @rlepigre) diff --git a/doc/changes/added/11963.md b/doc/changes/added/11963.md deleted file mode 100644 index 12b51097d15..00000000000 --- a/doc/changes/added/11963.md +++ /dev/null @@ -1,4 +0,0 @@ -- (Experimental): Introduce the `library_parameter` stanza. It allows users to - declare a parameter when using the OxCaml compiler. - (#11963, implements #12084, @maiste) - diff --git a/doc/changes/added/12035.md b/doc/changes/added/12035.md deleted file mode 100644 index 72a4e56ac01..00000000000 --- a/doc/changes/added/12035.md +++ /dev/null @@ -1,7 +0,0 @@ -- New `(lang rocq)` build mode for Rocq 9.0 and later. This new mode - is very similar to the existing `(lang coq)`, except that it doesn't - need the `coq*` compatibility wrappers. As of today `(lang rocq)` - doesn't support yet composed builds with Rocq itself, this will be - added later. `(lang coq)` is deprecated, development is frozen, and - will be removed at some point in the future. (#12035, @ejgallego, - @lysxia, fixes #11572) diff --git a/doc/changes/added/12064.md b/doc/changes/added/12064.md deleted file mode 100644 index 0df4bf62aea..00000000000 --- a/doc/changes/added/12064.md +++ /dev/null @@ -1,3 +0,0 @@ -- Allow `dune fmt` to properly run while a watch mode server is running. - Note that the `--preview` flag is not supported in this mode. - (#12064, @ElectreAAS) diff --git a/doc/changes/added/12074.md b/doc/changes/added/12074.md deleted file mode 100644 index 16ae6417519..00000000000 --- a/doc/changes/added/12074.md +++ /dev/null @@ -1,2 +0,0 @@ -- Use copy-on-write (COW) when copying files on filesystems that support it - (Btrfs, ZFS, XFS, etc), under Linux. (#12074, fixes #12071, @nojb) diff --git a/doc/changes/added/12094.md b/doc/changes/added/12094.md deleted file mode 100644 index 6e2c283442b..00000000000 --- a/doc/changes/added/12094.md +++ /dev/null @@ -1,2 +0,0 @@ -- `dune exec` now accepts absolute paths inside the workspace. - (#12094, @Alizter) diff --git a/doc/changes/added/12197.md b/doc/changes/added/12197.md deleted file mode 100644 index 233afe37daf..00000000000 --- a/doc/changes/added/12197.md +++ /dev/null @@ -1 +0,0 @@ -- Add support for Tangled ATproto-based code repositories (#12197, @avsm) diff --git a/doc/changes/added/12236.md b/doc/changes/added/12236.md deleted file mode 100644 index 480c45a1245..00000000000 --- a/doc/changes/added/12236.md +++ /dev/null @@ -1 +0,0 @@ -- Add support for %{ocaml-config:ox} (#12236, @jonludlam) diff --git a/doc/changes/added/12307.md b/doc/changes/added/12307.md deleted file mode 100644 index 230bafc0a6f..00000000000 --- a/doc/changes/added/12307.md +++ /dev/null @@ -1,2 +0,0 @@ -- Feature: Include shell command that was executed when a cram test has - occurred in the error message (#12307, @rgrinberg) diff --git a/doc/changes/added/12386.md b/doc/changes/added/12386.md deleted file mode 100644 index 2c87a3626c8..00000000000 --- a/doc/changes/added/12386.md +++ /dev/null @@ -1 +0,0 @@ -- Added the ability to scroll horizontally in TUI. (#12386, @Alizter) diff --git a/doc/changes/added/12438.md b/doc/changes/added/12438.md deleted file mode 100644 index a6d83f07bba..00000000000 --- a/doc/changes/added/12438.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add support for `DUNE_ROOT` environment variable, similar to the existing - `--root` CLI parameter. (fixes #12399 @sir4ur0n) diff --git a/doc/changes/added/12473.md b/doc/changes/added/12473.md deleted file mode 100644 index 4ab3bcb3b47..00000000000 --- a/doc/changes/added/12473.md +++ /dev/null @@ -1,2 +0,0 @@ -- Allow `dune runtest` to properly run while a watch mode server is running. - (#12473, grants #8114, @gridbugs and @ElectreAAS) diff --git a/doc/changes/added/12538.md b/doc/changes/added/12538.md deleted file mode 100644 index 066a32d0cb8..00000000000 --- a/doc/changes/added/12538.md +++ /dev/null @@ -1,4 +0,0 @@ -- Add a `(conflict_markers error|ignore)` option to the cram stanza. When - `(conflict_markers error)` is set, the cram test will fail in the presence of - conflict markers. Git, diff3 and jujutsu conflict markers are detected. - (#12538, #12617, #12655, fixes #12512, @rgrinberg, @Alizter) diff --git a/doc/changes/added/12545.md b/doc/changes/added/12545.md deleted file mode 100644 index 48c6dda4e84..00000000000 --- a/doc/changes/added/12545.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add `$ dune describe tests` to describe the tests in the workspace - (@Gromototo, #12545, fixes #12030) diff --git a/doc/changes/added/12561.md b/doc/changes/added/12561.md deleted file mode 100644 index 8511e96baff..00000000000 --- a/doc/changes/added/12561.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add support for instantiating OxCaml parameterised libraries. - (#12561, @art-w) diff --git a/doc/changes/added/12614.md b/doc/changes/added/12614.md deleted file mode 100644 index b33a8739771..00000000000 --- a/doc/changes/added/12614.md +++ /dev/null @@ -1,5 +0,0 @@ -- Introduce a `(dir ..)` field on packages defined in the `dune-project`. This - field allows to associate a directory with a particular package. This makes - dune automatically filter out all stanzas in this directory and its - descendants with `--only-packages`. All users are recommended to switch to - using this field. (#12614, fixes #3255, @rgrinberg) diff --git a/doc/changes/added/12623.md b/doc/changes/added/12623.md deleted file mode 100644 index 2ced155cd9a..00000000000 --- a/doc/changes/added/12623.md +++ /dev/null @@ -1,2 +0,0 @@ -- Introduce an `unused-libs` alias to detect unused libraries. - (#12623, fixes #650, @rgrinberg) diff --git a/doc/changes/added/12634.md b/doc/changes/added/12634.md deleted file mode 100644 index aa031ef02d4..00000000000 --- a/doc/changes/added/12634.md +++ /dev/null @@ -1,3 +0,0 @@ -- Add support for `%{cmt:...}` and `%{cmti:...}` variables to reference - compiled annotation files (.cmt and .cmti) containing typed abstract syntax - trees with location and type information. (#12634, grants #12633, @Alizter) diff --git a/doc/changes/added/12669.md b/doc/changes/added/12669.md deleted file mode 100644 index 70d9032660f..00000000000 --- a/doc/changes/added/12669.md +++ /dev/null @@ -1,5 +0,0 @@ -- Introduce `dune promotion show` command to display the contents of corrected - files that are ready for promotion. This allows users to preview changes - before running `dune promote`. The command accepts file arguments to show - specific files, or displays all promotable files when called without - arguments. (#12669, fixes #3883, @MixiMaxiMouse) \ No newline at end of file diff --git a/doc/changes/added/12711.md b/doc/changes/added/12711.md deleted file mode 100644 index 845a7891df9..00000000000 --- a/doc/changes/added/12711.md +++ /dev/null @@ -1,3 +0,0 @@ -- Introduce a `%{ppx:lib1+..+libn}` stanza to make it possible to refer to ppx - executables built by dune. This is useful for writing tests (#12711, - @rgrinberg) diff --git a/doc/changes/added/12832.md b/doc/changes/added/12832.md deleted file mode 100644 index bd94daabaea..00000000000 --- a/doc/changes/added/12832.md +++ /dev/null @@ -1,2 +0,0 @@ -- support expanding variables in `(promote (into ..))` (#12832, fixes #12742, - @anmonteiro) diff --git a/doc/changes/added/12879.md b/doc/changes/added/12879.md deleted file mode 100644 index a3764e828a2..00000000000 --- a/doc/changes/added/12879.md +++ /dev/null @@ -1,2 +0,0 @@ -- Added `(files)` stanza, similar to `(dirs)` to control which files are visible - to Dune on a per-directory basis. (#12879, @nojb) \ No newline at end of file diff --git a/doc/changes/added/12908.md b/doc/changes/added/12908.md deleted file mode 100644 index e9c4b141223..00000000000 --- a/doc/changes/added/12908.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add `argv`, the process environment, and the dune version to the config event - in the trace (#12909, @rgrinberg) diff --git a/doc/changes/added/9793.md b/doc/changes/added/9793.md deleted file mode 100644 index afafb109de8..00000000000 --- a/doc/changes/added/9793.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add `--files` flag to `dune describe opam-files` to print only the names of - the opam files line by line. (#9793, @reynir and @Alizter) diff --git a/doc/changes/changed/11865.md b/doc/changes/changed/11865.md deleted file mode 100644 index bc585957c2a..00000000000 --- a/doc/changes/changed/11865.md +++ /dev/null @@ -1,4 +0,0 @@ -- `dune format-dune-file` now uses the syntax version of the Dune project that - contains the file being formatted (if any) instead of using the latest version - available, which remains the default if there is no Dune project in scope. - (#11865, @nojb) diff --git a/doc/changes/changed/12227.md b/doc/changes/changed/12227.md deleted file mode 100644 index ea4633f5b06..00000000000 --- a/doc/changes/changed/12227.md +++ /dev/null @@ -1,2 +0,0 @@ -- Don't run `ocamldep` to compute false dependencies on the `root_module` - (#12227, @rgrinberg) diff --git a/doc/changes/changed/12350.md b/doc/changes/changed/12350.md deleted file mode 100644 index 885574d534a..00000000000 --- a/doc/changes/changed/12350.md +++ /dev/null @@ -1 +0,0 @@ -- Fix: stop generating `cmt` files for cinaps binaries (#12530, @rgrinberg) diff --git a/doc/changes/changed/12766.md b/doc/changes/changed/12766.md deleted file mode 100644 index 7a9368e9e5e..00000000000 --- a/doc/changes/changed/12766.md +++ /dev/null @@ -1,5 +0,0 @@ -- Starting with version 3.21 of the Dune language, Dune no longer changes the - default set of compiler warnings. For users that would like to keep the old - behaviour, the variable `%{dune-warnings}` can be used in an `(env)` stanza in - a top-level Dune file: `(env (dev (flags :standard %{dune-warnings})))`. - (#12766, @nojb) \ No newline at end of file diff --git a/doc/changes/changed/12791.md b/doc/changes/changed/12791.md deleted file mode 100644 index 3fa852c7461..00000000000 --- a/doc/changes/changed/12791.md +++ /dev/null @@ -1 +0,0 @@ -- The `test/dune` file generated by `dune init proj` now depends on the project library. (#12791, @shonfeder) diff --git a/doc/changes/changed/12867.md b/doc/changes/changed/12867.md deleted file mode 100644 index 7e109e474c5..00000000000 --- a/doc/changes/changed/12867.md +++ /dev/null @@ -1,3 +0,0 @@ -- Persistent DB and process events have been slightly modified. Persistent - DB events have more concise names and job events always include full - information. (#12867, @rgrinberg) diff --git a/doc/changes/changed/12908.md b/doc/changes/changed/12908.md deleted file mode 100644 index 7bfdf89618c..00000000000 --- a/doc/changes/changed/12908.md +++ /dev/null @@ -1,2 +0,0 @@ -- Removed the `--trace-extended` flag. Its functionality is always enabled when - tracing is active (#12908, @rgrinberg) diff --git a/doc/changes/fixed/12239.md b/doc/changes/fixed/12239.md deleted file mode 100644 index dc8f09925ce..00000000000 --- a/doc/changes/fixed/12239.md +++ /dev/null @@ -1 +0,0 @@ -- Stop hiding the `root_module` from the include path (#12239, @rgrinberg) diff --git a/doc/changes/fixed/12299.md b/doc/changes/fixed/12299.md deleted file mode 100644 index 1818fe2f55b..00000000000 --- a/doc/changes/fixed/12299.md +++ /dev/null @@ -1,2 +0,0 @@ -- Fix: include the module alias in the transitive dependency closure with - `(include_subdirs qualified)`. (#12299, @anmonteiro) diff --git a/doc/changes/fixed/12464.md b/doc/changes/fixed/12464.md deleted file mode 100644 index c23a8ec33ad..00000000000 --- a/doc/changes/fixed/12464.md +++ /dev/null @@ -1,2 +0,0 @@ -- melange support: don't emit empty JavaScript modules for generated module - aliases. (#12464, @anmonteiro) diff --git a/doc/changes/fixed/12530.md b/doc/changes/fixed/12530.md deleted file mode 100644 index e16b065db57..00000000000 --- a/doc/changes/fixed/12530.md +++ /dev/null @@ -1,2 +0,0 @@ -- `(include_subdirs qualified)`: Add missing alias dependency to module group. - (#12530, @anmonteiro) diff --git a/doc/changes/fixed/12587.md b/doc/changes/fixed/12587.md deleted file mode 100644 index 144f4ca3165..00000000000 --- a/doc/changes/fixed/12587.md +++ /dev/null @@ -1,3 +0,0 @@ -- Fix `include_subdirs qualified` incorrectly picking the furthest module - instead of the closest when resolving module name ambiguities. (#12587, - @ElectreAAS and @Alizter) diff --git a/doc/changes/fixed/12601.md b/doc/changes/fixed/12601.md deleted file mode 100644 index a759773b8ab..00000000000 --- a/doc/changes/fixed/12601.md +++ /dev/null @@ -1,2 +0,0 @@ -- Allow `$ dune init` to work on absolute paths (#12601, fixes #7806, - @rgrinberg) diff --git a/doc/changes/fixed/12628.md b/doc/changes/fixed/12628.md deleted file mode 100644 index 4196fcb2390..00000000000 --- a/doc/changes/fixed/12628.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add Melange compilation to the `@all` alias in libraries (#12628, - @anmonteiro) diff --git a/doc/changes/fixed/12644.md b/doc/changes/fixed/12644.md deleted file mode 100644 index f7f8b66725e..00000000000 --- a/doc/changes/fixed/12644.md +++ /dev/null @@ -1,2 +0,0 @@ -- Fix crash when running `dune build @check` on a library with virtual modules. - (#12644, fixes #12636, @Alizter) diff --git a/doc/changes/fixed/12666.md b/doc/changes/fixed/12666.md deleted file mode 100644 index 2c646774c48..00000000000 --- a/doc/changes/fixed/12666.md +++ /dev/null @@ -1 +0,0 @@ -- Pass private modules with -H when this is available (#12666, @rgrinberg) diff --git a/doc/changes/fixed/12733.md b/doc/changes/fixed/12733.md deleted file mode 100644 index 35d4acadfac..00000000000 --- a/doc/changes/fixed/12733.md +++ /dev/null @@ -1 +0,0 @@ -- Allow multiple modules in `(modules_flags ...)`, in `coq.theory` (#12733, @rlepigre) diff --git a/doc/changes/fixed/12794.md b/doc/changes/fixed/12794.md deleted file mode 100644 index e6359412a24..00000000000 --- a/doc/changes/fixed/12794.md +++ /dev/null @@ -1,3 +0,0 @@ -- Improve error message when invalid version strings are used in `dune-project` - files. Non-ASCII characters and malformed versions now show a helpful hint - with an example of the correct format. (#12794, fixes #12751, @benodiwal) diff --git a/doc/changes/fixed/12802.md b/doc/changes/fixed/12802.md deleted file mode 100644 index 5eed559026d..00000000000 --- a/doc/changes/fixed/12802.md +++ /dev/null @@ -1,3 +0,0 @@ -- Provide a more informative error message when `(pkg enabled)` is put in - `dune-project` instead of `dune-workspace`. (#12802, fixes #12801, - @benodiwal) diff --git a/doc/changes/fixed/12833.md b/doc/changes/fixed/12833.md deleted file mode 100644 index f49efbfdd9a..00000000000 --- a/doc/changes/fixed/12833.md +++ /dev/null @@ -1,3 +0,0 @@ -- Improve error message for invalid version formats in both `(lang dune ...)` and - `(using extension ...)` declarations. Changes "Atom of the form NNN.NNN expected" - to "Invalid version. Version must be two numbers separated by a dot." (#12833, @benodiwal) diff --git a/doc/changes/fixed/12844.md b/doc/changes/fixed/12844.md deleted file mode 100644 index 056d09f16a7..00000000000 --- a/doc/changes/fixed/12844.md +++ /dev/null @@ -1,7 +0,0 @@ -- Improve error messages for invalid version formats containing non-ASCII - characters. Previously, non-ASCII characters in version strings (e.g., `(lang - dune è)` or `(using menhir π3.14)`) would fail with a generic "Invalid file" - error. Now they display a clear message: "Invalid atom: contains non-ASCII - character(s). Atoms must only contain ASCII characters." The fix is - implemented at the lexer level, providing consistent error handling across all - s-expression parsing. (#12844, fixes #12836, @benodiwal) diff --git a/doc/changes/fixed/12869.md b/doc/changes/fixed/12869.md deleted file mode 100644 index cb27912341b..00000000000 --- a/doc/changes/fixed/12869.md +++ /dev/null @@ -1,7 +0,0 @@ -- Fix greedy version location in lang declarations. Previously, error locations for - invalid lang versions would span multiple bytes for multi-byte UTF-8 characters, - causing carets to appear misaligned and seemingly include the closing - parenthesis. Now, error locations for ASCII strings show the full length (e.g., - "Ali" shows `^^^`), while non-ASCII strings show only the first byte (e.g., "è" - shows `^`) to avoid multi-byte character display issues. (#12869, fixes #12806, - @benodiwal) diff --git a/dune-file b/dune-file index 06cf0e9bb73..b8cc58ddc2f 100644 --- a/dune-file +++ b/dune-file @@ -44,6 +44,12 @@ (rule (copy dune-private-libs.opam.template chrome-trace.opam.template)) +(rule + (copy dune-private-libs.opam.template fs-io.opam.template)) + +(rule + (copy dune-private-libs.opam.template top-closure.opam.template)) + (env (_ (flags :standard %{dune-warnings} -alert -unstable) diff --git a/fs-io.opam b/fs-io.opam index d08c6471fd4..7a1f215c27c 100644 --- a/fs-io.opam +++ b/fs-io.opam @@ -14,8 +14,12 @@ depends: [ "ocaml" {>= "4.08"} "odoc" {with-doc} ] +dev-repo: "git+https://github.com/ocaml/dune.git" +x-maintenance-intent: ["none"] build: [ ["dune" "subst"] {dev} + ["rm" "-rf" "vendor/csexp"] + ["rm" "-rf" "vendor/pp"] [ "dune" "build" @@ -24,9 +28,6 @@ build: [ "-j" jobs "@install" - "@runtest" {with-test} "@doc" {with-doc} ] ] -dev-repo: "git+https://github.com/ocaml/dune.git" -x-maintenance-intent: ["none"] diff --git a/top-closure.opam b/top-closure.opam index 40c90972820..1df2d10d7c9 100644 --- a/top-closure.opam +++ b/top-closure.opam @@ -13,8 +13,12 @@ depends: [ "ocaml" {>= "4.08"} "odoc" {with-doc} ] +dev-repo: "git+https://github.com/ocaml/dune.git" +x-maintenance-intent: ["none"] build: [ ["dune" "subst"] {dev} + ["rm" "-rf" "vendor/csexp"] + ["rm" "-rf" "vendor/pp"] [ "dune" "build" @@ -23,9 +27,6 @@ build: [ "-j" jobs "@install" - "@runtest" {with-test} "@doc" {with-doc} ] ] -dev-repo: "git+https://github.com/ocaml/dune.git" -x-maintenance-intent: ["none"] diff --git a/vendor/ocaml-lmdb/lmdb_stubs.c b/vendor/ocaml-lmdb/lmdb_stubs.c index 8097521268a..15914c4a2d9 100644 --- a/vendor/ocaml-lmdb/lmdb_stubs.c +++ b/vendor/ocaml-lmdb/lmdb_stubs.c @@ -17,6 +17,8 @@ #ifdef _WIN32 #include +#elif defined(__FreeBSD__) +#include #else #include #endif diff --git a/vendor/ocaml-lmdb/mdb.c b/vendor/ocaml-lmdb/mdb.c index 56ccd405c81..3e3f529b98c 100644 --- a/vendor/ocaml-lmdb/mdb.c +++ b/vendor/ocaml-lmdb/mdb.c @@ -5851,7 +5851,7 @@ mdb_env_close0(MDB_env *env, int excl) /* Clearing readers is done in this function because * me_txkey with its destructor must be disabled first. * - * We skip the reader mutex, so we touch only + * We skip the the reader mutex, so we touch only * data owned by this process (me_close_readers and * our readers), and clear each reader atomically. */ diff --git a/vendor/update-ocaml-lmdb.sh b/vendor/update-ocaml-lmdb.sh index 810365feedf..d42db26e2ac 100755 --- a/vendor/update-ocaml-lmdb.sh +++ b/vendor/update-ocaml-lmdb.sh @@ -1,6 +1,6 @@ #!/bin/sh -version=6bcf6fe35167efc44b15bf14a909fb2fd53de923 +version=2a73ea2016d6af88931d01f7b2e60800adfc2003 lmdb_version=14d6629bc8a9fe40d8a6bee1bf71c45afe7576b6 set -e -o pipefail