aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/release-notes/rl-next.md
blob: a38305fde68d33fc4ea8e485251de08be6dc6352 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Release X.Y (202?-??-??)

* A new function `builtins.readFileType` is available. It is similar to
  `builtins.readDir` but acts on a single file or directory.

* In flakes, the `.outPath` attribute of a flake now always refers to the
  directory containing the `flake.nix`. This was not the case for when
  `flake.nix` was in a subdirectory of e.g. a git repository.
  The root of the source of a flake in a subdirectory is still available in
  `.sourceInfo.outPath`.

* The `builtins.readDir` function has been optimized when encountering not-yet-known
  file types from POSIX's `readdir`. In such cases the type of each file is/was
  discovered by making multiple syscalls. This change makes these operations
  lazy such that these lookups will only be performed if the attribute is used.
  This optimization affects a minority of filesystems and operating systems.

* In derivations that use structured attributes, you can now use `unsafeDiscardReferences`
  to disable scanning a given output for runtime dependencies:
  ```nix
  __structuredAttrs = true;
  unsafeDiscardReferences.out = true;
  ```
  This is useful e.g. when generating self-contained filesystem images with
  their own embedded Nix store: hashes found inside such an image refer
  to the embedded store and not to the host's Nix store.

  This requires the `discard-references` experimental feature.