Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add changelog for dune 3.9.0 #1357

Merged
merged 3 commits into from
Jul 4, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions data/changelog/dune/2023-06-30-dune-3.9.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Dune 3.9.0
date: "2023-06-30"
tags: [dune, platform, release]
changelog: |
## Added

- Include the time it takes to read/write state files when `--trace-file` is
enabled ([#7960](https://github.com/ocaml/dune/pull/7960), @rgrinberg)

- Include source tree scans in the traces produced by `--trace-file` ([#7937](https://github.com/ocaml/dune/pull/7937),
@rgrinberg)

- Add `--all` option to `dune rpc status` to show all Dune RPC servers running.
([#8011](https://github.com/ocaml/dune/pull/8011), fix [#7902](https://github.com/ocaml/dune/pull/7902), @Alizter)

- Add additional metadata to the traces provided by `--trace-file` whenever
`--trace-extended` is passed ([#7778](https://github.com/ocaml/dune/pull/7778), @rleshchinskiy)

- `$ dune describe` is now a command group, so arguments to subcommands must be
passed after subcommand itself. ([#7919](https://github.com/ocaml/dune/pull/7919), @Alizter)

- Add `dune show` command group which is an alias of `dune describe`. ([#7946](https://github.com/ocaml/dune/pull/7946),
@Alizter)

- Add `dune show env` command and make `dune printenv` an alias of it. ([#7985](https://github.com/ocaml/dune/pull/7985),
@Alizter)

- Add commands `dune show targets` and `dune show aliases` that display all the
available targets and aliases in a given directory respectively. ([#7770](https://github.com/ocaml/dune/pull/7770),
grants [#265](https://github.com/ocaml/dune/pull/265), @Alizter)

- Extensions used in `(dialect)` can contain periods (e.g., `cppo.ml`). ([#7782](https://github.com/ocaml/dune/pull/7782),
fixes [#7777](https://github.com/ocaml/dune/pull/7777), @nojb)

- The `interface` and `implementation` fields of a `(dialect)` are now optional
([#7757](https://github.com/ocaml/dune/pull/7757), @gpetiot)

- Add `(build_if)` to the `(test)` stanza. When it evaluates to false, the
executable is not built. ([#7899](https://github.com/ocaml/dune/pull/7899), fixes [#6938](https://github.com/ocaml/dune/pull/6938), @emillon)

- Allow `(include_subdirs qualified)` to be used when libraries define a
`(modules ...)` field ([#7797](https://github.com/ocaml/dune/pull/7797), fixes [#7597](https://github.com/ocaml/dune/pull/7597), @anmonteiro)

- Allow multiple globs in library's `(stdlib (internal_modules ..))`
(@anmonteiro, [#7878](https://github.com/ocaml/dune/pull/7878))

## Changed

- Do not rerun OCaml syntax files on every iteration of the watch mode. This
is too memory consuming. ([#7894](https://github.com/ocaml/dune/pull/7894), fix [#6900](https://github.com/ocaml/dune/pull/6900), @rgrinberg)

- Attach melange rules to the default alias ([#7926](https://github.com/ocaml/dune/pull/7926), @haochenx)

- Compute digests and manage sandboxes in background threads ([#7947](https://github.com/ocaml/dune/pull/7947),
@rgrinberg)

## Fixed

- Validate file extension for `$ dune ocaml top-module`. ([#8005](https://github.com/ocaml/dune/pull/8005), fixes [#8004](https://github.com/ocaml/dune/pull/8004),
@3Rafal)

- Cinaps: The promotion rules for cinaps would only offer one file at a time no
matter how many promotions were available. Now we offer all the promotions at
once ([#7901](https://github.com/ocaml/dune/pull/7901), @rgrinberg)

- Add necessary parentheses in generated opam constraints ([#7682](https://github.com/ocaml/dune/pull/7682), fixes [#3431](https://github.com/ocaml/dune/pull/3431),
@Lucccyo)

## Removed

- Remove some compatibility code for old version of dune that generated
`.merlin` files. Now dune will never remove `.merlin` files automatically
([#7562](https://github.com/ocaml/dune/pull/7562))

- In opam constraints, reject `(and)` and `(or)` with no arguments at parse
time ([#7730](https://github.com/ocaml/dune/pull/7730), @emillon)
---

The Dune team is thrilled to announce the release of Dune 3.9.0. This version ships with a host of new features and improvements, including:

- **New `dune show` Command:** This command enables you to display various pieces of information. For instance, you can use `dune show pp` to display the preprocessed output of a file or `dune show aliases [DIR]` to list the aliases available in `DIR`. Read more about the command on its manpage using `dune show --help`.
- **Improved Dialect Support:** We have rolled out several fixes related to dialect support. These changes make it easier to work with Dream's `.eml` files.
- **Introduction of `(build_if)` Toggle in `(test)` Stanza:** This new field facilitates the packaging of non-portable tests and benchmarks. If you have tests that don't build on a specific platform, you can now tell Dune not to build them on other Platforms with the `build_if` field.

Enjoy the new features and improvements incorporated into this version!