Release 0.13 (November 5, 2009) 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 on x86_64-linux Nix installations. This is implemented using the personality() syscall, which causes uname to return i686 in child processes. Various improvements to the chroot support. Building in a chroot 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 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.