106 lines
2.8 KiB
XML
106 lines
2.8 KiB
XML
<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.13">
|
||
|
||
<title>Release 0.13 (2009-11-05)</title>
|
||
|
||
<para>This is primarily a bug fix release. It has some new
|
||
features:</para>
|
||
|
||
<itemizedlist>
|
||
|
||
<listitem>
|
||
<para>Syntactic sugar for writing nested attribute sets. Instead of
|
||
|
||
<programlisting>
|
||
{
|
||
foo = {
|
||
bar = 123;
|
||
xyzzy = true;
|
||
};
|
||
a = { b = { c = "d"; }; };
|
||
}
|
||
</programlisting>
|
||
|
||
you can write
|
||
|
||
<programlisting>
|
||
{
|
||
foo.bar = 123;
|
||
foo.xyzzy = true;
|
||
a.b.c = "d";
|
||
}
|
||
</programlisting>
|
||
|
||
This is useful, for instance, in NixOS configuration files.</para>
|
||
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>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.)</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Support <literal>i686-linux</literal> builds directly on
|
||
<literal>x86_64-linux</literal> Nix installations. This is
|
||
implemented using the <function>personality()</function> syscall,
|
||
which causes <command>uname</command> to return
|
||
<literal>i686</literal> in child processes.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Various improvements to the <literal>chroot</literal>
|
||
support. Building in a <literal>chroot</literal> works quite well
|
||
now.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>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.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Support for large (> 4 GiB) files in NAR archives.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Various (performance) improvements to the remote build
|
||
mechanism.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>New primops: <varname>builtins.addErrorContext</varname> (to
|
||
add a string to stack traces — useful for debugging),
|
||
<varname>builtins.isBool</varname>,
|
||
<varname>builtins.isString</varname>,
|
||
<varname>builtins.isInt</varname>,
|
||
<varname>builtins.intersectAttrs</varname>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>OpenSolaris support (Sander van der Burg).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Stack traces are no longer displayed unless the
|
||
<option>--show-trace</option> option is used.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>The scoping rules for <literal>inherit
|
||
(<replaceable>e</replaceable>) ...</literal> in recursive
|
||
attribute sets have changed. The expression
|
||
<replaceable>e</replaceable> can now refer to the attributes
|
||
defined in the containing set.</para>
|
||
</listitem>
|
||
|
||
</itemizedlist>
|
||
|
||
</section>
|