<commit_before>unreleased
----------

- Change the layout of build artifacts inside _build. The new layout enables
  optimizations that depend on the presence of `.cmx` files of private modules
  (#1676 @bobot)

- Fix merlin handling of private module visibility (#1653 @bobot)

- unstable-fmt: use boxes to wrap some lists (#1608, fix #1153, @emillon,
  thanks to @rgrinberg)

- skip directories when looking up programs in the PATH (#1628, fixes
  #1616, @diml)

- Use `lsof` on macOS to implement `--stats` (#1636, fixes #1634, @xclerc)

- Generate `dune-package` files for every package. These files are installed and
  read instead of `META` files whenever they are available (#1329, @rgrinberg)

- Fix preprocessing for libraries with `(include_subdirs ..)` (#1624, fix #1626,
  @nojb, @rgrinberg)

- Do not generate targets for archive that don't match the `modes` field.
  (#1632, fix #1617, @rgrinberg)

- When executing actions, open files lazily and close them as soon as
  possible in order to reduce the maximum number of file descriptors
  opened by Dune (#1635, #1643, fixes #1633, @jonludlam, @rgrinberg,
  @diml)

- Reimplement the core of Dune using a new generic memoization system
  (#1489, @rudihorn, @diml)

- Replace the broken cycle detection algorithm by a state of the art
  one from [this paper](https://doi.org/10.1145/2756553) (#1489,
  @rudihorn)

- Get the correct environment node for multi project workspaces (#1648,
  @rgrinberg)

- Add `dune compute` to call internal memoized functions (#1528,
  @rudihorn, @diml)

- Add `--trace-file` option to trace dune internals (#1639, fix #1180, @emillon)

- Add `--no-print-directory` (borrowed from GNU make) to suppress
  `Entering directory` messages. (#1668, @dra27)

- Remove `--stats` and track fd usage in `--trace-file` (#1667, @emillon)

- Add virtual libraries feature and enable it by default (#1430 fixes #921,
  @rgrinberg)

- Fix handling of Control+C in watch mode (#1678, fixes #1671, @diml)

- Look for jsoo runtime in the same dir as the `js_of_ocaml` binary
  when the ocamlfind package is not available (#1467, @nobj)

- Make the `seq` package available for OCaml >= 4.07 (#1714, @rgrinberg)<commit_msg>Fix typo in CHANGES<commit_after>unreleased
----------

- Change the layout of build artifacts inside _build. The new layout enables
  optimizations that depend on the presence of `.cmx` files of private modules
  (#1676 @bobot)

- Fix merlin handling of private module visibility (#1653 @bobot)

- unstable-fmt: use boxes to wrap some lists (#1608, fix #1153, @emillon,
  thanks to @rgrinberg)

- skip directories when looking up programs in the PATH (#1628, fixes
  #1616, @diml)

- Use `lsof` on macOS to implement `--stats` (#1636, fixes #1634, @xclerc)

- Generate `dune-package` files for every package. These files are installed and
  read instead of `META` files whenever they are available (#1329, @rgrinberg)

- Fix preprocessing for libraries with `(include_subdirs ..)` (#1624, fix #1626,
  @nojb, @rgrinberg)

- Do not generate targets for archive that don't match the `modes` field.
  (#1632, fix #1617, @rgrinberg)

- When executing actions, open files lazily and close them as soon as
  possible in order to reduce the maximum number of file descriptors
  opened by Dune (#1635, #1643, fixes #1633, @jonludlam, @rgrinberg,
  @diml)

- Reimplement the core of Dune using a new generic memoization system
  (#1489, @rudihorn, @diml)

- Replace the broken cycle detection algorithm by a state of the art
  one from [this paper](https://doi.org/10.1145/2756553) (#1489,
  @rudihorn)

- Get the correct environment node for multi project workspaces (#1648,
  @rgrinberg)

- Add `dune compute` to call internal memoized functions (#1528,
  @rudihorn, @diml)

- Add `--trace-file` option to trace dune internals (#1639, fix #1180, @emillon)

- Add `--no-print-directory` (borrowed from GNU make) to suppress
  `Entering directory` messages. (#1668, @dra27)

- Remove `--stats` and track fd usage in `--trace-file` (#1667, @emillon)

- Add virtual libraries feature and enable it by default (#1430 fixes #921,
  @rgrinberg)

- Fix handling of Control+C in watch mode (#1678, fixes #1671, @diml)

- Look for jsoo runtime in the same dir as the `js_of_ocaml` binary
  when the ocamlfind package is not available (#1467, @nojb)

- Make the `seq` package available for OCaml >= 4.07 (#1714, @rgrinberg)
{'fraction_non_alphanumeric': 0.10758057194734454, 'fraction_numerical': 0.06218792555605992, 'mean_word_length': 4.019362186788155, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1001584', 'n_tokens_mistral': 1658, 'n_tokens_neox': 1421, 'n_words': 600}