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>
 |