2020-07-22 21:17:48 +00:00
|
|
|
# Release 1.6.1 (2013-10-28)
|
|
|
|
|
|
|
|
This is primarily a bug fix release. Changes of interest are:
|
|
|
|
|
|
|
|
- Nix 1.6 accidentally changed the semantics of antiquoted paths in
|
|
|
|
strings, such as `"${/foo}/bar"`. This release reverts to the Nix
|
|
|
|
1.5.3 behaviour.
|
|
|
|
|
2020-07-23 12:28:05 +00:00
|
|
|
- Previously, Nix optimised expressions such as `"${expr}"` to *expr*.
|
|
|
|
Thus it neither checked whether *expr* could be coerced to a string,
|
2020-07-22 21:17:48 +00:00
|
|
|
nor applied such coercions. This meant that `"${123}"` evaluatued to
|
|
|
|
`123`, and `"${./foo}"` evaluated to `./foo` (even though `"${./foo}
|
|
|
|
"` evaluates to `"/nix/store/hash-foo "`). Nix now checks the type
|
|
|
|
of antiquoted expressions and applies coercions.
|
|
|
|
|
|
|
|
- Nix now shows the exact position of undefined variables. In
|
|
|
|
particular, undefined variable errors in a `with` previously didn't
|
|
|
|
show *any* position information, so this makes it a lot easier to
|
|
|
|
fix such errors.
|
|
|
|
|
|
|
|
- Undefined variables are now treated consistently. Previously, the
|
|
|
|
`tryEval` function would catch undefined variables inside a `with`
|
|
|
|
but not outside. Now `tryEval` never catches undefined variables.
|
|
|
|
|
|
|
|
- Bash completion in `nix-shell` now works correctly.
|
|
|
|
|
|
|
|
- Stack traces are less verbose: they no longer show calls to builtin
|
|
|
|
functions and only show a single line for each derivation on the
|
|
|
|
call stack.
|
|
|
|
|
|
|
|
- New built-in function: `builtins.typeOf`, which returns the type of
|
|
|
|
its argument as a string.
|