Nix 1.6.1 release notes
This commit is contained in:
parent
f6a8e7f4c2
commit
bb659bad81
1 changed files with 60 additions and 0 deletions
|
@ -5,6 +5,66 @@
|
||||||
<title>Nix Release Notes</title>
|
<title>Nix Release Notes</title>
|
||||||
|
|
||||||
|
|
||||||
|
<!--==================================================================-->
|
||||||
|
|
||||||
|
<section xml:id="ssec-relnotes-1.6.1"><title>Release 1.6.1 (TBA)</title>
|
||||||
|
|
||||||
|
<para>This is primarily a bug fix release. Changes of interest
|
||||||
|
are:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Nix 1.6 accidentally changed the semantics of antiquoted
|
||||||
|
paths in strings, such as <literal>"${/foo}/bar"</literal>. This
|
||||||
|
release reverts to the Nix 1.5.3 behaviour.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Previously, Nix optimised expressions such as
|
||||||
|
<literal>"${<replaceable>expr</replaceable>}"</literal> to
|
||||||
|
<replaceable>expr</replaceable>. Thus it neither checked whether
|
||||||
|
<replaceable>expr</replaceable> could be coerced to a string, nor
|
||||||
|
applied such coercions. This meant that
|
||||||
|
<literal>"${123}"</literal> evaluatued to <literal>123</literal>,
|
||||||
|
and <literal>"${./foo}"</literal> evaluated to
|
||||||
|
<literal>./foo</literal> (even though
|
||||||
|
<literal>"${./foo} "</literal> evaluates to
|
||||||
|
<literal>"/nix/store/<replaceable>hash</replaceable>-foo "</literal>).
|
||||||
|
Nix now checks the type of antiquoted expressions and
|
||||||
|
applies coercions.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Nix now shows the exact position of undefined variables. In
|
||||||
|
particular, undefined variable errors in a <literal>with</literal>
|
||||||
|
previously didn't show <emphasis>any</emphasis> position
|
||||||
|
information, so this makes it a lot easier to fix such
|
||||||
|
errors.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Undefined variables are now treated consistently.
|
||||||
|
Previously, the <function>tryEval</function> function would catch
|
||||||
|
undefined variables inside a <literal>with</literal> but not
|
||||||
|
outside. Now <function>tryEval</function> never catches undefined
|
||||||
|
variables.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Bash completion in <command>nix-shell</command> now works
|
||||||
|
correctly.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>In order to be less verbose, stack traces no longer show
|
||||||
|
calls to builtin functions.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<!--==================================================================-->
|
<!--==================================================================-->
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue