Release 0.13 (2009-11-05)
This is primarily a bug fix release. It has some new features:
-
Syntactic sugar for writing nested attribute sets. Instead of
{ foo = { bar = 123; xyzzy = true; }; a = { b = { c = "d"; }; }; }
you can write
{ foo.bar = 123; foo.xyzzy = true; a.b.c = "d"; }
This is useful, for instance, in NixOS configuration files.
-
Support for Nix channels generated by Hydra, the Nix-based continuous build system. (Hydra generates NAR archives on the fly, so the size and hash of these archives isn’t known in advance.)
-
Support
i686-linux
builds directly onx86_64-linux
Nix installations. This is implemented using thepersonality()
syscall, which causesuname
to returni686
in child processes. -
Various improvements to the
chroot
support. Building in achroot
works quite well now. -
Nix no longer blocks if it tries to build a path and another process is already building the same path. Instead it tries to build another buildable path first. This improves parallelism.
-
Support for large (> 4 GiB) files in NAR archives.
-
Various (performance) improvements to the remote build mechanism.
-
New primops:
builtins.addErrorContext
(to add a string to stack traces — useful for debugging),builtins.isBool
,builtins.isString
,builtins.isInt
,builtins.intersectAttrs
. -
OpenSolaris support (Sander van der Burg).
-
Stack traces are no longer displayed unless the
--show-trace
option is used. -
The scoping rules for
inherit (e) ...
in recursive attribute sets have changed. The expression e can now refer to the attributes defined in the containing set.