Home Explore Blog Models CI



nix

1st chunk of `doc/manual/source/release-notes/rl-0.13.md`
6de3fe97f446befbabc92a34826d85ebd1f82d5904e9e7ff000000010000073e
# 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 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 `--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.

Title: Nix Release 0.13 Notes (2009-11-05)
Summary
This document outlines the features and improvements introduced in Nix Release 0.13, dated 2009-11-05. While primarily a bug fix release, it includes several new features such as syntactic sugar for nested attribute sets, support for Hydra-generated Nix channels, and the ability to run `i686-linux` builds on `x86_64-linux` systems. Other enhancements include improved `chroot` support, better parallelism by avoiding blocks on already-building paths, support for large files (> 4 GiB) in NAR archives, performance improvements to remote builds, and new primops. Additionally, it adds OpenSolaris support, changes stack trace display to require the `--show-trace` option, and modifies scoping rules for `inherit (e) ...` in recursive attribute sets.