lix/doc/manual/src/release-notes
John Ericson 60b7121d2c Make the Derived Path family of types inductive for dynamic derivations
We want to be able to write down `foo.drv^bar.drv^baz`:
`foo.drv^bar.drv` is the dynamic derivation (since it is itself a
derivation output, `bar.drv` from `foo.drv`).

To that end, we create `Single{Derivation,BuiltPath}` types, that are
very similar except instead of having multiple outputs (in a set or
map), they have a single one. This is for everything to the left of the
rightmost `^`.

`NixStringContextElem` has an analogous change, and now can reuse
`SingleDerivedPath` at the top level. In fact, if we ever get rid of
`DrvDeep`, `NixStringContextElem` could be replaced with
`SingleDerivedPath` entirely!

Important note: some JSON formats have changed.

We already can *produce* dynamic derivations, but we can't refer to them
directly. Today, we can merely express building or example at the top
imperatively over time by building `foo.drv^bar.drv`, and then with a
second nix invocation doing `<result-from-first>^baz`, but this is not
declarative. The ethos of Nix of being able to write down the full plan
everything you want to do, and then execute than plan with a single
command, and for that we need the new inductive form of these types.

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-08-10 00:08:32 -04:00
..
release-notes.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.5.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.6.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-0.7.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.8.1.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.8.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.9.1.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.9.2.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.9.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.10.1.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.10.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-0.11.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.12.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-0.13.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-0.14.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.15.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-0.16.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-1.0.md Reconvert 2020-07-23 18:27:11 +02:00
rl-1.1.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.2.md Reconvert 2020-07-23 18:27:11 +02:00
rl-1.3.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.4.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-1.5.1.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.5.2.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.5.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.6.1.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-1.6.md Reconvert 2020-07-23 18:27:11 +02:00
rl-1.7.md docs+test: fix remaining installer downloads without -L (#4006) 2020-09-12 22:08:40 +02:00
rl-1.8.md Reconvert 2020-07-23 18:27:11 +02:00
rl-1.9.md Reconvert 2020-07-23 18:27:11 +02:00
rl-1.10.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.11.10.md Pandoc conversion 2020-07-23 18:26:48 +02:00
rl-1.11.md <replaceable> -> <emphasis> 2020-07-23 18:27:20 +02:00
rl-2.0.md Fix internal links 2020-07-24 15:46:16 +02:00
rl-2.1.md docs+test: fix remaining installer downloads without -L (#4006) 2020-09-12 22:08:40 +02:00
rl-2.2.md Reconvert 2020-07-23 18:27:11 +02:00
rl-2.3.md Reconvert 2020-07-23 18:27:11 +02:00
rl-2.4.md Release Notes 2.4: add --indirect no-op change 2022-01-12 23:19:15 +01:00
rl-2.5.md rl-2.5.md: Set date 2021-12-13 19:57:06 +01:00
rl-2.6.md Move rl-next.md to rl-2.5.md 2022-01-25 00:11:00 +01:00
rl-2.7.md rl-2.7.md: Fix title 2022-04-05 14:13:26 +02:00
rl-2.8.md Move rl-next.md to rl-2.8.md 2022-04-19 21:12:33 +02:00
rl-2.9.md Typo 2022-05-31 10:38:03 +02:00
rl-2.10.md Branch 2.10 release notes 2022-07-11 21:10:23 +02:00
rl-2.11.md Branch 2.11 release notes 2022-08-24 22:44:58 +02:00
rl-2.12.md doc: fix links 2022-12-13 15:49:40 +01:00
rl-2.13.md Update doc/manual/src/release-notes/rl-2.13.md 2023-01-25 08:58:41 -05:00
rl-2.14.md Release notes 2023-02-28 13:44:14 +01:00
rl-2.15.md Release notes 2023-04-11 12:40:56 +02:00
rl-2.16.md Release notes 2023-05-31 12:38:05 +02:00
rl-2.17.md doc: clarify release notes about nested attribute merges 2023-07-25 16:09:56 +02:00
rl-next.md Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00