diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 5379eadef8..df0e396b6e 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -26,7 +26,10 @@ irreversible. + + + nix-env usability improvements: @@ -66,26 +69,6 @@ irreversible. - Berkeley DB 4.4’s process registry feature is used - to recover from crashed Nix processes. - - - - A performance issue has been fixed with the - referer table, which stores the inverse of the - references table (i.e., it tells you what store - paths refer to a given path). Maintaining this table could take a - quadratic amount of time, as well as a quadratic amount of Berkeley - DB log file space (in particular when running the garbage collector) - (NIX-23). - - Nix now catches the TERM and - HUP signals in addition to the - INT signal. So you can now do a killall - nix-store without triggering a database - recovery. - - New language features: @@ -111,13 +94,13 @@ irreversible. Multi-line string literals. String concatenations can now involve - derivations, as in the example above — - "--with-freetype2-library=" + freetype + "/lib". - This was not previously possible because we need to register - that a derivation that uses such a string is dependent on - freetype. The evaluator now properly - propagates this information. Consequently, the subpath operator - (~) has been deprecated. + derivations, as in the example "--with-freetype2-library=" + + freetype + "/lib". This was not previously possible + because we need to register that a derivation that uses such a + string is dependent on freetype. The + evaluator now properly propagates this information. + Consequently, the subpath operator (~) has + been deprecated. Default values of function arguments can now refer to other function arguments; that is, all arguments are in @@ -128,10 +111,62 @@ irreversible. TODO: domain checks (r5895). --> + Lots of new builtin primitives, such as + functions for list manipulation and integer arithmetic. See the + manual for a complete list. All primops are now available in + the set builtins, allowing one to test for + the availability of primop in a backwards-compatible + way. + - + + + New commands nix-pack-closure and + nix-unpack-closure than can be used to easily + transfer a store path with all its dependencies to another machine. + Very convenient whenever you have some package on your machine and + you want to copy it somewhere else. + + + XML support: + + + + nix-env -q --xml prints the + installed or available packages in an XML representation for + easy processing by other tools. + + nix-instantiate --eval-only + --xml prints an XML representation of the resulting + term. (The new flag forces ‘deep’ + evaluation of the result, i.e., list elements and attributes are + evaluated recursively.) + + In Nix expressions, the primop + builtins.toXML converts a term to an XML + representation. This is primarily useful for passing structured + information to builders. + + + + + + + You can now unambigously specify which derivation to + build or install in nix-env, + nix-instantiate and nix-build + using the / flags, which + takes an attribute name as argument. (Unlike symbolic package names + such as subversion-1.4.0, attribute names in an + attribute set are unique.) For instance, a quick way to perform a + test build of a package in Nixpkgs is nix-build + pkgs/top-level/all-packages.nix -A + foo. nix-env -q + --attr shows the attribute names corresponding to each + derivation. + If the top-level Nix expression used by nix-env, nix-instantiate or @@ -142,26 +177,53 @@ irreversible. value can be used to specify function arguments on the command line. - TODO: proxy support. + + nix-install-package --url + URL allows a package to be + installed directly from the given URL. - New commands nix-pack-closure and - nix-unpack-closure than can be used to easily - transfer a store path with all its dependencies to another machine. - Very convenient whenever you have some package on your machine and - you want to copy it somewhere else. - bsdiff updated - 4.3. + Nix now works behind an HTTP proxy server; just set + the standard environment variables http_proxy, + https_proxy, ftp_proxy or + all_proxy appropriately. Functions such as + fetchurl in Nixpkgs also respect these + variables. - TODO: --attr / -A flags in - nix-env/nix-instantiate/nix-build. Also nix-env -qa - --attr. nix-build -o symlink allows the symlink to the build result to be named something other than result. + + + + + Platform support: + + + + Support for 64-bit platforms, provided a suitably + patched ATerm library is used. Also, files larger than 2 + GiB are now supported. + + Added support for Cygwin (Windows, + i686-cygwin), Mac OS X on Intel + (i686-darwin) and Linux on PowerPC + (powerpc-linux). + + Users of SMP and multicore machines will + appreciate that the number of builds to be performed in parallel + can now be specified in the configuration file in the + build-max-jobs setting. + + + + + + Garbage collector improvements: @@ -188,14 +250,38 @@ irreversible. --gc). This is an easy way to get rid of all old packages in the Nix store. + nix-store now has an + operation to delete specific paths + from the Nix store. It won’t delete reachable (non-garbage) + paths unless is + specified. + - New command nix-store --delete to - delete specific paths from the Nix store. It won’t delete reachable - (non-garbage) paths unless is - specified. + + Berkeley DB 4.4’s process registry feature is used + to recover from crashed Nix processes. + + + + A performance issue has been fixed with the + referer table, which stores the inverse of the + references table (i.e., it tells you what store + paths refer to a given path). Maintaining this table could take a + quadratic amount of time, as well as a quadratic amount of Berkeley + DB log file space (in particular when running the garbage collector) + (NIX-23). + + Nix now catches the TERM and + HUP signals in addition to the + INT signal. So you can now do a killall + nix-store without triggering a database + recovery. + + bsdiff updated + 4.3. Substantial performance improvements in expression evaluation and nix-env -qa, all thanks to - - XML support: - - - - nix-env -q --xml prints the - installed or available packages in an XML representation for - easy processing by other tools. - - nix-instantiate --eval-only - --xml prints an XML representation of the resulting - term. (The new flag forces ‘deep’ - evaluation of the result, i.e., list elements and attributes are - evaluated recursively.) - - In Nix expressions, the primop - builtins.toXML converts a term to an XML - representation. This is primarily useful for passing structured - information to builders. - - - - - - Nix source distributions are a lot smaller now since we no longer include a full copy of the Berkeley DB source distribution (but only the bits we need). - Support for 64-bit platforms, provided suitably - patched ATerm library is used. Also, files larger than 2 GiB - are now supported. - - Users of SMP and multicore machines will appreciate - that the number of builds to be performed in parallel can now be - specified in the configuration file in the - build-max-jobs setting. - - Added support for Cygwin (Windows, - i686-cygwin) and Mac OS X on Intel - (i686-darwin). - - TODO: nix-push - --target. + Header files are now installed so that external + programs can use the Nix libraries.