123 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
	
		
			4.7 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-1.8">
 | ||
| 
 | ||
| <title>Release 1.8 (2014-12-14)</title>
 | ||
| 
 | ||
| <itemizedlist>
 | ||
| 
 | ||
|   <listitem><para>Breaking change: to address a race condition, the
 | ||
|   remote build hook mechanism now uses <command>nix-store
 | ||
|   --serve</command> on the remote machine. This requires build slaves
 | ||
|   to be updated to Nix 1.8.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Nix now uses HTTPS instead of HTTP to access the
 | ||
|   default binary cache,
 | ||
|   <literal>cache.nixos.org</literal>.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para><command>nix-env</command> selectors are now regular
 | ||
|   expressions. For instance, you can do
 | ||
| 
 | ||
| <screen>
 | ||
| $ nix-env -qa '.*zip.*'
 | ||
| </screen>
 | ||
| 
 | ||
|   to query all packages with a name containing
 | ||
|   <literal>zip</literal>.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para><command>nix-store --read-log</command> can now
 | ||
|   fetch remote build logs. If a build log is not available locally,
 | ||
|   then ‘nix-store -l’ will now try to download it from the servers
 | ||
|   listed in the ‘log-servers’ option in nix.conf. For instance, if you
 | ||
|   have the configuration option
 | ||
| 
 | ||
| <programlisting>
 | ||
| log-servers = http://hydra.nixos.org/log
 | ||
| </programlisting>
 | ||
| 
 | ||
| then it will try to get logs from
 | ||
| <literal>http://hydra.nixos.org/log/<replaceable>base name of the
 | ||
| store path</replaceable></literal>. This allows you to do things like:
 | ||
| 
 | ||
| <screen>
 | ||
| $ nix-store -l $(which xterm)
 | ||
| </screen>
 | ||
| 
 | ||
|   and get a log even if <command>xterm</command> wasn't built
 | ||
|   locally.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>New builtin functions:
 | ||
|   <function>attrValues</function>, <function>deepSeq</function>,
 | ||
|   <function>fromJSON</function>, <function>readDir</function>,
 | ||
|   <function>seq</function>.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para><command>nix-instantiate --eval</command> now has a
 | ||
|   <option>--json</option> flag to print the resulting value in JSON
 | ||
|   format.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para><command>nix-copy-closure</command> now uses
 | ||
|   <command>nix-store --serve</command> on the remote side to send or
 | ||
|   receive closures. This fixes a race condition between
 | ||
|   <command>nix-copy-closure</command> and the garbage
 | ||
|   collector.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Derivations can specify the new special attribute
 | ||
|   <varname>allowedRequisites</varname>, which has a similar meaning to
 | ||
|   <varname>allowedReferences</varname>. But instead of only enforcing
 | ||
|   to explicitly specify the immediate references, it requires the
 | ||
|   derivation to specify all the dependencies recursively (hence the
 | ||
|   name, requisites) that are used by the resulting
 | ||
|   output.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>On Mac OS X, Nix now handles case collisions when
 | ||
|   importing closures from case-sensitive file systems. This is mostly
 | ||
|   useful for running NixOps on Mac OS X.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>The Nix daemon has new configuration options
 | ||
|   <option>allowed-users</option> (specifying the users and groups that
 | ||
|   are allowed to connect to the daemon) and
 | ||
|   <option>trusted-users</option> (specifying the users and groups that
 | ||
|   can perform privileged operations like specifying untrusted binary
 | ||
|   caches).</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>The configuration option
 | ||
|   <option>build-max-jobs</option> now defaults to the number of
 | ||
|   available CPU cores.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Build users are now used by default when Nix is
 | ||
|   invoked as root. This prevents builds from accidentally running as
 | ||
|   root.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Nix now includes systemd units and Upstart
 | ||
|   jobs.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Speed improvements to <command>nix-store
 | ||
|   --optimise</command>.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Language change: the <literal>==</literal> operator
 | ||
|   now ignores string contexts (the “dependencies” of a
 | ||
|   string).</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Nix now filters out Nix-specific ANSI escape
 | ||
|   sequences on standard error. They are supposed to be invisible, but
 | ||
|   some terminals show them anyway.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Various commands now automatically pipe their output
 | ||
|   into the pager as specified by the <envar>PAGER</envar> environment
 | ||
|   variable.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>Several improvements to reduce memory consumption in
 | ||
|   the evaluator.</para></listitem>
 | ||
| 
 | ||
| </itemizedlist>
 | ||
| 
 | ||
| <para>This release has contributions from Adam Szkoda, Aristid
 | ||
| Breitkreuz, Bob van der Linden, Charles Strahan, darealshinji, Eelco
 | ||
| Dolstra, Gergely Risko, Joel Taylor, Ludovic Courtès, Marko Durkovic,
 | ||
| Mikey Ariel, Paul Colomiets, Ricardo M.  Correia, Ricky Elrod, Robert
 | ||
| Helgesson, Rob Vermaas, Russell O'Connor, Shea Levy, Shell Turner,
 | ||
| Sönke Hahn, Steve Purcell, Vladimír Čunát and Wout Mertens.</para>
 | ||
| 
 | ||
| </section>
 |