Update release notes

This commit is contained in:
Eelco Dolstra 2014-10-29 16:18:39 +01:00
parent 722bd041ce
commit 1683fffd09

View file

@ -8,6 +8,11 @@
<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><command>nix-env</command> selectors are now regular
expressions. For instance, you can do
@ -18,6 +23,42 @@ $ nix-env -qa '.*zip.*'
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
@ -26,6 +67,46 @@ $ nix-env -qa '.*zip.*'
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>