1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-24 03:09:35 +01:00
nix/doc/manual/src/release-notes/rl-2.18.md
Valentin Gagarin a2fed6db9e
manual: Contributing -> Development, Hacking -> Building (#9014)
* manual: Contributing -> Development, Hacking -> Building

what's currently called "hacking" are really instructions for setting up
a development environment and compiling from source. we have
a contribution guide in the repo (which rightly focuses on GitHub
workflows), and the material in the manual is more about working
on the code itself.

since we'd otherwise have three headings that amount to "Building Nix",
this change also moves the "classic Nix" instructions to the top.

we may want to reorganise this in the future, and bring
contributor-oriented information closer to the code, but for now let's
stick to more accurate names to ease navigation.
2024-07-25 02:53:06 +00:00

2 KiB

Release 2.18 (2023-09-20)

  • Two new builtin functions, builtins.parseFlakeRef and builtins.flakeRefToString, have been added. These functions are useful for converting between flake references encoded as attribute sets and URLs.

  • builtins.toJSON now prints --show-trace items for the path in which it finds an evaluation error.

  • Error messages regarding malformed input to nix derivation add are now clearer and more detailed.

  • The discard-references feature has been stabilized. This means that the unsafeDiscardReferences attribute is no longer guarded by an experimental flag and can be used freely.

  • The JSON output for derived paths which are store paths is now a string, not an object with a single path field. This only affects nix-build --json when "building" non-derivation things like fetched sources, which is a no-op.

  • A new builtin outputOf has been added. It is part of the dynamic-derivations experimental feature.

  • Flake follow paths at depths greater than 2 are now handled correctly, preventing "follows a non-existent input" errors.

  • nix-store --query gained a new type of query: --valid-derivers. It returns all .drv files in the local store that can be used to build the output passed in argument. This is in contrast to --deriver, which returns the single .drv file that was actually used to build the output passed in argument. In case the output was substituted from a binary cache, this .drv file may only exist on said binary cache and not locally.