diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 3f2d742e788..cf99aca58c0 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -213,6 +213,30 @@ runTests {
};
+# ATTRSETS
+
+ # code from the example
+ testRecursiveUpdateUntil = {
+ expr = recursiveUpdateUntil (path: l: r: path == ["foo"]) {
+ # first attribute set
+ foo.bar = 1;
+ foo.baz = 2;
+ bar = 3;
+ } {
+ #second attribute set
+ foo.bar = 1;
+ foo.quz = 2;
+ baz = 4;
+ };
+ expected = {
+ foo.bar = 1; # 'foo.*' from the second set
+ foo.quz = 2; #
+ bar = 3; # 'bar' from the first set
+ baz = 4; # 'baz' from the second set
+ };
+ };
+
+
# GENERATORS
# these tests assume attributes are converted to lists
# in alphabetical order
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index d527984f5ef..d831f851446 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -278,6 +278,8 @@ inherit (pkgs.nixos {
lib.traceCallXml has been deprecated. Please complain
if you use the function regularly.
+
+
The attribute lib.nixpkgsVersion has been deprecated in
favor of lib.version. Please refer to the discussion in
@@ -285,6 +287,13 @@ inherit (pkgs.nixos {
for further reference.
+
+
+ lib.recursiveUpdateUntil was not acting according to its
+ specification. It has been fixed to act according to the docstring, and a
+ test has been added.
+
+
The module for has two new options now: