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.
- 
Previously, Nix optimised expressions such as "${expr}"to expr. Thus it neither checked whether expr could be coerced to a string, nor applied such coercions. This meant that"${123}"evaluatued to123, 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 withpreviously 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 tryEvalfunction would catch undefined variables inside awithbut not outside. NowtryEvalnever catches undefined variables.
- 
Bash completion in nix-shellnow 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.