<section xmlns="http://docbook.org/ns/docbook"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      version="5.0"
      xml:id="ssec-relnotes-0.16">

<title>Release 0.16 (2010-08-17)</title>

<para>This release has the following improvements:</para>

<itemizedlist>

  <listitem>
    <para>The Nix expression evaluator is now much faster in most
    cases: typically, <link
    xlink:href="http://www.mail-archive.com/nix-dev@cs.uu.nl/msg04113.html">3
    to 8 times compared to the old implementation</link>.  It also
    uses less memory.  It no longer depends on the ATerm
    library.</para>
  </listitem>

  <listitem>
    <para>
      Support for configurable parallelism inside builders.  Build
      scripts have always had the ability to perform multiple build
      actions in parallel (for instance, by running <command>make -j
      2</command>), but this was not desirable because the number of
      actions to be performed in parallel was not configurable.  Nix
      now has an option <option>--cores
      <replaceable>N</replaceable></option> as well as a configuration
      setting <varname>build-cores =
      <replaceable>N</replaceable></varname> that causes the
      environment variable <envar>NIX_BUILD_CORES</envar> to be set to
      <replaceable>N</replaceable> when the builder is invoked.  The
      builder can use this at its discretion to perform a parallel
      build, e.g., by calling <command>make -j
      <replaceable>N</replaceable></command>.  In Nixpkgs, this can be
      enabled on a per-package basis by setting the derivation
      attribute <varname>enableParallelBuilding</varname> to
      <literal>true</literal>.
    </para>
  </listitem>

  <listitem>
    <para><command>nix-store -q</command> now supports XML output
    through the <option>--xml</option> flag.</para>
  </listitem>

  <listitem>
    <para>Several bug fixes.</para>
  </listitem>

</itemizedlist>

</section>
