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-linuxbuilds directly onx86_64-linuxNix installations. This is implemented using thepersonality()syscall, which causesunameto returni686in child processes. -
Various improvements to the
chrootsupport. Building in achrootworks 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-traceoption 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.