117 lines
4.3 KiB
XML
117 lines
4.3 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 (December 14, 2014)</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-closureE</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>
|
||
|
||
</section>
|